求几道C语言题的答案3
来源:百度知道 编辑:UC知道 时间:2024/05/06 07:58:00
{ int i,s=0;
for(i=0;j<4;j++)
{ if(i==3) s+=b[i][i-3];else s+=b[i][i]; }
return s; }
int main( )
{ int a[4][4]={{1,2,3,4},{0,2,4,6},{1,4,7,2},{3,2,1,0}};
printf(“%d\n”,fun(a));
return(0);}
A. 12
B. 14
C.
11
D. 13
2.单选题: 在C语言中,while语句后的一对圆括号中,用以决定是否循环的表达式( )。
A. 可以是任意表达式
B. 只能是关系表达式
C. 只能是逻辑表达式
D. 只能是逻辑表达式或关系表达式
3.单选题: 分析程序结果。
int main()
{float t,s=0.0; int i=1;
t=0;
do { s= s+t; t=1.0/(i*i); i++; }
while(i<=2);
printf(“%f ”,s);
return(0); }
A. 1.5
B. 2.0
C.
1.0
D. 1.25
4.单选题: 以下程序的输出结果为( )。
int main( )
{ int i=010;
printf("%d,%d\n",++i,i++);
1.D 题目中j应该为i,可能是笔误.当i=0时,s=s+a[0][0]=0+1=1;当i=1时,s=s+a[1][1]=1+2=3;当i=2时,s=s+a[2][2]=3+7=10;当i=3时,s=s+a[3][0]=10+3=13.
2.A While(1+3)这个是成立的,里面的表达式是算术表达式,这样下面选项就不攻自破了.
3.C 运行过程是:s=s+t=0.0+0.0=0.0;t被附值为1.0/(i*i)的值,此时i==1,t就是1.0,i自加1,i的值变为2.while(i<=2)判断为真再执行一次do后语句.s=s+t=0.0+1.0=1.0;t=0.25;i自加1,值变为3.while判断为假,跳出语句.
4.C 整型变量i初始化为010,这是个八进制表示形式.转化为十进制值为8.printf输出语句各变量输出是按照从右到左的方式输出,也就是先输出i++的值,(%d是使变量的值按照十进制的形式输出)后面那个就是8,同时i的值自加为9,再输出++i的值,先自加1,变为10输出.
5.C 这里要注意的是含参数的宏定义,把参数一成不变地代进去,象该题D(a+b)*c,把a+b代替x,表达式就是a+b*a+b*c=4+5*4+5*2=34;如果你要得到(a+b)*(a+b)*c这种格式的话,在宏定义时就要改为#define D(x) (x)*(x)
6.A 这是概念性问题.找书看就知道了.
7.D x?a=b这个条件表达式就是当x为真时,值是a,假时为b 而x!=0这个关系表达式,就是当x不等于0时,为真.
8.D 指针变量p还没有指向一个确定的整型变量,不能附值.
9.B 规定的格式 就是将字符串的首地址附给p.
10.A 这题和第三题类似,就是在do后语句中,顺序变了.基本思路一样.
不错