您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言习题1-7答案
2011级《C语言程序设计》作业一姓名:班级:学号:一、选择题1、一个C程序的执行是从(A)。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2、下面四个选项中,合法的用户标识符是(D)A)P_#$B)2haC)gotoD)_ab3、要把整数67523赋与整型变量I,则应说明I的类型是(B)A)intB)longC)shortD)unsigned4、已知intI;floatf;正确的表达式是(D)A)(intf)%IB)int(f)%IC)int(f%I)D)(int)f%I5、判断char型变量c1是否为小写字母的正确表达式是(D)A)’a’=c1=’z’B)(c1=a)&&(c1=z)C)98=c1&&123=c1D)c1=’a’&&c1=’z’6、执行以下语句后b的值为(B)。inta=5,b=6,w=1,x=2,y=3,z=4;b=(a=wx)&&(b=yz);A)6B)0C)1D)47、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是(C)。A)inta=b=c=5;B)inta,b,c=5;C)inta=5,b=5,c=5;D)a=b=c=5;8、已知:chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是(D)A)intB)charC)floatD)double9、已知字母A的ASCII码为65,以下程序段的输出结果是(C)charc1=’A’,c2=’Y’;printf(″%d,%d″,c1,c2);A)65,90B)A,YC)65,89D)输出格式不合法10、阅读以下程序,当输入数据的形式为:25,13,10CR,正确的输出结果为(D)。(“CR”表示回车)main(){intx,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值11、以下错误的if语句是(C)A)if(xy);B)if(x==y)x+=y;C)if(x!=y)scanf(“%d”,&x)elsescanf(“%d”,&y)D)if(xy){x++;y++;}12、阅读以下程序:main(){intx;scanf(“%d”,&x);if(x--5)printf(“%d\n”,x);elseprintf(“%d\n”,x++);}程序运行后,如果从键盘上输入5,则输出结果是(B)A、3B、4C、5D、613、若intI=10;执行下列程序后,变量I的正确结果是(D)switch(I){case9:I+=1;case10:I+=1;case11:I+=1;default:I+=1;}A)10B)11C)12D)132011级《C语言程序设计》作业二姓名:班级:学号:14、C语言中while与do---while语句的主要区别是(A)A)do---while的循环体至少无条件执行一次B)do---while允许从外部转到循环体内C)do---while的循环体不能是复合语句15、以下的for循环(B)for(x=0,y=100;(y!=123)&&(x=3);x++);A)执行3次B)执行4次C)循环次数不定D)是无限循环16、执行”for(i=1;i++4;);”后,变量i的值为(C)A)3B)4C)5D)不定17、以下程序段(C)x=-2;do{x=x*x;}while(!x);A是死循环B循环执行两次C循环执行一次D有语法错误18、设x和y均为int型变量,则执行下面循环后,y的值为(C)。for(y=1,x=1;y=50;y++){if(x==10)break;if(x%2==1){x+=5;continue;}x-=3;}A)2B)4C)6D)819、以下程序的输出结果是(C)main(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j3;j++){if(j%3)continue;x++;}x++;}printf(“x=%d\n”,x);}x=4B)x=8C)x=6D)x=1220、以下程序的输出结果(D)main(){intx=10,y=10,I;for(I=0;x8;y=++I)printf(“%d,%d”,x--,y);}A)10,19,2B)9,87,6C)10,99,0D)10,109,121、以下正确的描述是(B)。在C语言程序中:A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义和函数的调用均可以嵌套22、以下正确的说法是(B)。建立函数的目的之一是:A)提高程序的执行效率B)提高程序的可读性C)减少程序的篇幅D)减少程序文件所占内存23、以下正确的说法是(B)。A)用户若需调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义C)系统根本不允许用户重新定义标准库函数D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调2011级《C语言程序设计》作业三姓名:班级:学号:24、下列定义不正确的是(C)A)#definePI3.141592B)#defineS354C)intmax(intx,inty);D)staticcharc;25、下列程序运行结果是(A)#defineP3#defineS(a)P*a*amain(){intar;ar=S(3+5);printf(“%d”,ar);}A)192B)29C)27D)2526、C语言程序中每个语句和数据定义的最后必须有一个(A)A分号B逗号C空格D冒号27、C语言的简单数据类型包括(D)A)整型、实型、逻辑型B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型D)整型、实型、字符型28、数学关系式x≤y≤z可用C语言的表达式表示为(A)A)(x=y)&&(y=z)B)(x=y)and(y=z)C)(x=y=z)D)(x=y)&(yz)29、要使以下程序的输出结果为4,则a和b应满足的条件是(A)main(){ints,t,a,b;scanf(“%d%d”,&a,&b);s=t=1;if(a0)s=s+1;if(ab)t=s+t;elseif(a==b)t=5;elset=2*s;printf(“%d\n”,t);}A)a0并且abB)a0并且abC)a0并且abD)a0并且ab30、下面程序的输出结果为(B)main(){inti;for(i=100;i200;i++){if(i%5==0)continue;printf(“%d\n”,i);break;}}A)100B)101C)无限循环D)无输出结果31、设整型变量a为5,使b不为2的表达式是(C)。A.b=a/2B.b=6-(――a)C.b=a%2D.b=a3?2:132、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与(C)组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if33、以下程序的输出结果是(D)。intx=10,y=10;printf(“%d%d\n”,x――,――y);A.1010B.99C.910D.10934、选出下列标识符中不是合法的标识符的是(D)。A.hot_doB.cat1C._priD.2ab35、设有如下定义:intx=10,y=3,z;则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是(D)。A.1B.0C.4D.336、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(C)。intx;scanf(“%d”,&x);if(x++5)printf(“%d”,x);elseprintf(“%d\n”,x--);A.7和5B.6和3C.7和4D.6和437、执行intx=2,y=3;后表达式x=(y==3)的值是(B)A)0B)1C)2D)338、在循环结构的循环体中执行break语句,其作用是(C)A)结束本次循环,进行下次循环B)继续执行break语句之后的循环体中各语句C)跳出该循环体,提前结束循环D)终止程序运行39、对for(表达式1;;表达式3)可理解为(B)A)for(表达式1;0;表达式3)B)for(表达式1;1;表达式3)C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)2011级《C语言程序设计》作业四姓名:班级:学号:40、若i、j均为整型变量,则以下循环(D)for(i=0,j=-1;j=1;i++,j++)printf(“%d,%d\n“,i,j);A)循环体只执行一次B)循环体一次也不执行C)判断循环结束的条件不合法D)是无限循环41、设j为int型变量,则下面for循环语句的执行结果是(B)for(j=10;j3;j--){if(j%3)j--;--j;--j;printf(“%d“,j);}A)63B)74C)62D)7342、设intx=1,y=1;表达式(!x++||y——)的值是(B)A.0B.1C.2D.-143、main(){intn;(n=6*4,n+6),n*2;printf(“n=%d\n”,n);}此程序的输出结果是(B)A.30B.24C.60D.4844、设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是(C)A.0B.4C.-4D.245、(C)程序段的功能是将变量u、s中的最大值赋给变量t.A.if(us)t=u;t=s;B.t=u;if(t)t=s;C.if(us)t=s;elset=u;D.t=s;if(u)t=u;46、下列程序段的输出结果是(A).voidmain(){intk;for(k=1;k5;k++〉{if(k%2!=0)printf(“#”);elseprintf(“*”);}}A.#*#*B.*#*#C.##D.以上都不对47、能正确表示a和b同时为正或同时为负的逻辑表达式是(D).A.(a=0||b=0)&&(a0||b0)B.(a=0&&b=0)&&(a0&&b0)C.(a+b0)&&(a+b=0)D.a*b048、C语言中,合法的字符型常数是(A).A.‘A’B.“A”C.65D.A49、若变量c为char类型,能正确判断出c为小写字母的表达式是(D).A.‘a’=c=‘z’B.(c=‘a’)||(c=‘z’)C.(‘a’=c)and(‘z’=c)D.(c=‘a’)&&(c=‘z’)50、设有定义:longx=-123456L;则以下能够正确输出变量x值的语句是(B).A.printf(“x=%d\n”,x)B.printf(“x=%ld\n”,x)C.printf(“x=%8dl\n”,x)D.printf(“x=%LD\n”,x);51、指出下面正确的输入语句(B).A.scanf(“a=b=%d”,&a,&b);B.scanf(“%d,%d”,&a,&b);C.scanf(“%c”,c);D.scanf(“%f%d\n”,&f);52、Break语句的正确的用法是(B)。A.无论在任何情况下,都中断程序的执行,退出到系统下一层。B.在多重循环中,只能退出最靠近的那一层循环语句。C.跳出多重循环。D.只能修改控制变量。53、为表示关系x≥y≥z,应使用C语言表达式(A)A.(x=y)&&(y=z)B.(x=y)AND(y=z)C.(x=y=z)D.(x=z)&(y=z)54、以下可以作为C语言合法整
本文标题:C语言习题1-7答案
链接地址:https://www.777doc.com/doc-2907820 .html