一、程序阅读填空题
1.
inta,b,c,d,m,n;
a=b=C=d=m=n=0;
if((m=a==b)||(n=c==d)){
a=b=c=d=3;
}
printf("%d,%d",m,n);
请写出输出结果 1,0
注:①对于这个题在编译器上面是要报错的,其原因是变量C并没有定义
【变量先定义再使用】
②该题要特别注意运算符的优先级
【 单目乘除位关系,逻辑三目后赋值 】
2.
inta=5;
a-=a*a;
printf("a=%d\n",a);
输出结果 a=-20
注:①该题需注意运算符的使用方法,以及运算符的优先级(对于该内容可查看上题的注释)
3.
inta,b,c,d=0;
a=b=c=2;
d=(a++)+(++b)+(++c);
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
输出结果 a=3,b=3,c=3,d=8
注:该题同样是要注意运算符的使用方法和优先级(但该使用了小括号,减轻了本题的难度)
【 ()优先级处于第一梯队 】
4.
floaty=0;
floatx=1.0;
y=x+5/2;
printf("y=%.3f\n",y);
输出结果:
注:①本题我就做错了,错点就是弄错了运算符/的作用,注意对于C来说,
【/是整除】
②还需要注意的是类型的转换
③例如:%m.nf 以指定输出的精度,输出的数据占m列,其中包括n为小数
基本型%f 不指定输出数据的长度,由系统根据数据的实际情况决定数据所占的列数
5.
inti,j;
for(i=6;i;i--){//蕴含的条件是i>0
for(j=0;j<6;j++){
//循环体内代码省略
}
}
输出内层循环执行的次数 36
可以替换成下面的程序
inti,j,k=0;
for(i=6;i;i--){
for(j=0;j<6;j++){
k++;
}
}
printf("循环体内循环的次数:%d\n",k);