《C语言程序设计》第3章作业
布置日期:2012-2-23 截止日期:2012-3-1
交作业 一、 单选题 (每小题6分,共96分)
1、已知:int a,b;对于下列if语句,正确的描述是______。 if(a=b) printf(\
A、在编译时,C编译程序能指出该语句有语法错误 B、在编译时,C编译程序不能指出该语句有语法错误 C、没有语法错误,但不能得到正确结果 D、以上选择都不对
2、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式是______。
A、a<>0 B、!a C、a=0 D、a
3、以下错误的if语句是______。
A、if(x>y); B、if(x==y)x+=y; C、if(x!=y)scanf( D、if(x 4、C语言对嵌套if语句的规定是:else总是与______配对。 A、与之前最近的if B、第一个if C、缩进位置相同的if D、其之前最近的且尚为配对的if 5、在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是______。 A、if(a)s1;else s2; B、if(a==0)s2;else s1; C、if(a!=0)s1;else s2; D、if(a==0)s1;else s2; 6、若有下面程序片段,则输出结果为______。 int k=-3; if(k<0)printf(\else printf(\ A、#### B、&&&& C、####&&&& D、有语法错误,无法运行。 7、若int i=10;执行下列程序后,变量i的正确结果是______。 switch(i) { case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A、10 B、11 C、12 D、13 8、设有说明语句:int a=1,b=0;则执行以下语句后输出为______。 switch(a) { case 1: switch(b) { case 0: printf(\ case 1: printf(\ } case 2: printf(\} A、**0** B、**0****2** C、**0****1****2** D、有语法错误 9、下面程序运行结果为______。 #include void main() {int a=2,b=-1,c=2; if(a printf(\} A、0 B、1 C、2 D、3 10、#include void main() {int a=1,b=2,c=3; if(a>b) if(a>c)printf(\else printf(\printf(\} A、1 B、2 C、3 D、以上三个答案均有错误 11、对if语句中表达式的类型,下面正确的描述是_________。 A、必须是关系表达式 B、必须是关系表达式或逻辑表达式 C、必须是关系表达式或算术表达式 D、可以是任意表达式 12、多重if_else语句嵌套使用时,寻找与else配套的if方法是_________。 A、缩排位置相同的if B、其上最近的if C、下面最近的if D、同行上的if 13、以下错误的if语句是_________。 A、if(x>y) z=x; B、if(x==y) z=0; C、if(x!=y) printf(\ D、if(x>y) x++;y--; 14、以下判断两个字符串相等的正确方法是_________。 A、if(str1=str2) B、if(str1==str2) C、if(strcpy(str1,str2)=0) D、if(strcmp(str1,str2)==0) 15、执行下面程序的正确结果是_________。 # include \int main(void) double x, y; { printf(\ x=-3; if (x < 0){ y = 0; } else if (x <= 15){ y = 4 * x / 3; } else{ y = 2.5 * x - 10.5; } printf(\ return 0; } A、0 B、0.0 C、0.00 D、0.0000 16、对于条件表达式(k)?(i++):(i--)来说,其中的表达式k为真时等价于________。 A、k==0 B、k==1 C、k!=0 D、k!=1