急!要自考C语言,请教大家几个基本的编程题目

[复制链接]
查看11 | 回复3 | 2011-1-3 23:28:50 | 显示全部楼层 |阅读模式
希望大家能简单的写出解题步骤。分数有限,只能给这么多了。谢谢好心人。
1.设char c=′A′;int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是(
)
A.0和1 B.1和0
C.1和65D.2和66
2.设typedef char STRING[255];STRING*s;,则s是(
)
A.字符数组 B.字符变量
C.字符指针数组 D.字符指针变量
3.变量定义并初始化正确的是(
)
A.int a=l,*p=a; B.int a=2,p=*a;
C.int a=3,p=&a; D.int a=4,*p=&a;
4.使用递归函数计算n!(n=0,1,2,,3,....)的是(
)
A. fac(int n) B. fac(int n)
{int i,f=- 1;{
if(n==0) return 1;
if(n==0‖n==1) return 1;
else for(i=1 ;iage
C.*p.ageD.(*p).age
6.设int a[2]={1,2},*p=a;,则*p是(
)
A.元素a[0]的值 B.元素a[0]的地址
C.元素a[1]的值 D.元素a[1]的地址
7.设int a=1,b=2,m=2,n=2;,执行表达式(m=a0;i--,);后,变量i的值是___________。
11.设int x,y;,循环语句for(x=0,y=0;(y!=10)&&(x<5);x++);执行的次数是______。
12.设int x=3;,执行语句printf((x%2)?("**%d\n"):("##%d\n"),x);后,输出结果是__________。
13.设char s[3]="AB",*p=s;,则*(p+2)的值是_______。

回复

使用道具 举报

千问 | 2011-1-3 23:28:50 | 显示全部楼层
1. B!C就是0;&&语句j=!c已经为零,即真值已经为负,则后面i++不执行。故i=1,j=0;2.C 先看*说明s是指针,再看STRING说明s指向的是一个字符型数组。3.D.int a=4,*p=&a。 这个要怎么解释啊?*其实是告诉p是指针,应该理解为(int*)p,故a要加上取地址符。4.选项看不懂。能排过版吗?5.C(.的优先级比*高)6.B.元素a[0]的地址 .即为p=a,数组名即为数组首地址,就是a[0]地址。7. 1 a<b值为1,m=a<b值为1,故||后)++n不执行8. 4 x<y值为0,则表达式值为x++;即49.
1 -2 (x-=2值为1,则--x值为0,!(--x)为
回复

使用道具 举报

千问 | 2011-1-3 23:28:50 | 显示全部楼层
1L的回答挺好的 第四个选B1、B2、C
3 、 D 4、B 5 、 C6、B7 、 1
8 、4 9 、1-2
10、 011、5
12、**3 13、0
回复

使用道具 举报

千问 | 2011-1-3 23:28:50 | 显示全部楼层
1、B 2、C3D4B5C6B7 18 49 (前面4个空格)110 011 512 **313 0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行