《C语言程序设计》第3章作业.doc
窗体顶端C语言程序设计第3章作业 布置日期:2012-2-23 截止日期:2012-3-1一、单选题 (每小题6分,共96分) 1、已知:int a,b;对于下列if语句,正确的描述是_。if(a=b) printf("A is equal to Bn"); 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<y)x+;y+; 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("*0*");break; case 1: printf("*1*");break; case 2: printf("*2*");break; A、*0* B、*0*2* C、*0*1*2* D、有语法错误 9、下面程序运行结果为_。#include void main()int a=2,b=-1,c=2;if(a<b)if(b<0)c=0;else c+=1;printf("%dn",c); 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("%d",a);else printf("%d",b);printf("%d",c); 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",x) 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 "stdio.h"int main(void) double x, y; printf("Enter x:"); x=-3; if (x < 0) y = 0; else if (x <= 15) y = 4 * x / 3; else y = 2.5 * x - 10.5; printf("f(%.2f) = %.2fn", x, y); 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 窗体底端