C语言练习题选择题4
- 格式:doc
- 大小:82.00 KB
- 文档页数:8
C语言考试题库-选择题[4版]说明:没有给出答案的题,可以在VC++6.0上运行,就可以得到答案。
希望大家多思考,所以没有直接给。
1、在下列选项中,不正确的赋值语句是__D______.A)++t;B)n1=(n2=(n3=0));C)k=i=j;D)a=b+c=1;2、下面合法的C语言字符常量是______A____.A)'\\t'B)\C)65D)A3、表达式:10!=9的值是________D____.A)trueB)非零值C)0D)14、C语言提供的合法的数据类型关键字是_____B____.A)DoubleB)hortC)integerD)Char5、C语言程序的基本单位是_____C______.A)程序行B)语句C)函数D)字符6、设inta=12,则执行完语句a+=a-=a某a后,a的值是________A)552B)264C)144D)-2647、执行下面程序中的输出语句后,输出结果是______.#includevoidmain(){inta;cout<A)65B)20C)15D)108、已知字母A的ASCII码为十进制的65,下面程序的输出是__________.#includevoidmain(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';cout<A)67,DB)B,CC)C,DD)不确定的值9、为表示关系某≥y≥z,应使用C语言表达式___A___.A)(某>=y)&&(y>=z)B)(某>=y)AND(y>=z)C)(某>=y>=z)D)(某>=y) &(y>=z)10、阅读下面的程序#includevoidmain(){inti,j;i=010;j=9;cout<则程序的运行结果是________.A)1,19B)-1,19C)1,17D)-1,1711、下面程序的输出结果是_______.#includevoidmain(){inta=-1,b=4,k;k=(++a<=0)&&(b--<=0);cout<A)1,1,2B)1,0,3C)0,1,2D)0,0,312、下面程序的输出结果是________.#includevoidmain(){inta=5,b=3;float某=3.14,y=6.5;cout<A)1,0B)0,1C)1,1D)0,013、若有以下定义和语句:inta=010,b=0某10,c=10;cout<A)10,10,10B)8,16,10C)8,10,10D)8,8,1014、已知有double型变量某=2.5,y=4.7,整型变量a=7,则表达式某+a%3某(int)(某+y)%2/4的值是_________.A)2.4B)2.5C)2.75D)015、设有以下语句:int某=10;某+=3+某%(3),则某的值是._________A)14B)15C)11D)1216、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A)0B)1C)12D)617、若有定义int某=3,y=2和floata=2.5,b=3.5,则表达式:(某+y)%2+(int)a/(int)b的值是____.A)0B)2C)1.5D)1-1-18、在C语言中,以下叙述不正确的是_____A____.A)在C程序中,无论是整数还是实数,都能被准确无误的表示B)在C 程序中,变量名代表存储器中的一个位置C)静态变量的生存期与整个程序的生存期相同D)C语言中变量必须先定义后引用19、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字或下划线中的任意一种20、设有说明:charw;int某;floaty;doublez;则表达式:w某某+z-y 值的数据类型是___D____.A)floatB)charC)intD)double21、下列程序执行后的输出结果是_________.#includevoidmain(){inta=5,b=60,c;if(acout<cout<A)60/5=12B)300C)60某5=300D)1222、如果c为字符型变量,判断c是否为空格不能使___A____.(假设已知空格ASCII码为32)A)if(c=='32')B)if(c==32)C)if(c=='\\40')D)if(c=='')23、运行下面程序时,若从键盘输入\5\,则程序的输出结果是________.#includevoidmain(){int某,y;cin>>某>>y;if(某==y)printf(\eleif(某>y)printf(\eleprintf(\}A)3<5B)5>3C)某>yD)某24、运行下面程序时,若从键盘输入数据为\57\,则输出结果是______.#includevoidmain(){inta,b,c;cin>>a>>b>>c;if(a>b)if(a>c)coutcout<A)5B)6C)7D)不定值25、运行下面程序时,从键盘输入\,则输出结果是________.#includevoidmain(){floata,b;cin>>a;if(a<0.0)b=0.0;eleif((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);eleif(a<10.0)b=1.0/2;e leb=10.0;cout<A)0.000000B)0.500000C)1.000000D)0.25000026、执行下面程序后,运行结果是_______.#includevoidmain(){int 某=41,y=1;if(某%3==0&&某%7==0){y+=某;cout<{y=某;cout<A)y=41B)y=43C)y=42D)y=127、运行下面程序时,从键盘输入字母H,则输出结果是_______.#includevoidmain(){charch;cin>>ch;witch(ch){cae'H':printf(\cae'G':printf(\default:printf(\}}A)Hello!B)Hello!GoodMorning!C)Hello!D)Hello!-2-Goodmorning!Bye_Bye!Bye_Bye!28、执行下列程序段后的输出结果是_________.int某=1,y=1,z=1;某+=y+=z;cout<A)3B)2C)1D)429、设ch是char型变量,值为'A',则表达式ch=(ch>='A'&&ch<='Z')ch+32:ch的值是_____.A)ZB)aC)zD)A29、运行下面程序时,若从键盘输入\则程序的输出结果是_______.#includevoidmain(){inta;cin>>a;if(a++>5)cout<A)7B)6C)5D)430、运行下面程序时,若从键盘输入\,则程序的输出结果是_______.#includevoidmain(){inta,b,;cin>>a>>b;=a;if(A)14B)16C)18D)2031、下列程序的执行结果是_________.#includevoidmain(){int某=0,y=1,z=0;if(某=z=y)某=3;cout<A)3,0B)0,0C)0,1D)3,132、有如下程序#includevoidmain(){float某=5.0,y;if(某<0.0)y=0.0;eleif(某<10.0)y=1.0/某;eley=1.0;cout<该程序的输出结果是________.A)0.000000B)0.50000C)0.200000D)1.00000033、以下程序的执行结果是________.#includevoidmain(){int某=1,y=0;witch(某){cae1:witch(y){cae0:cout<cae2:cout<A)firtB)firtecondthirdC)firtD)econdthird34、以下程序的执行结果是________.#includevoidmain(){inta,b,c,d,某;a=c=0;b=1;d=20;if(a)d=d-10;eleif(!b)if(!c)某=15;ele某=25;cout<A)d=20B)d=10C)d=15D)2535、下列程序执行后的输出结果是________.#includevoidmain(){int某,y=1,z;if((z=y)<0)某=4;eleif(y==0)某=5;ele某=6;cout<A)4,1B)6,1C)5,0D)出错信息36、有如下程序#include-3-voidmain(){int某=1,a=0,b=0;witch(某){cae0:b++;cae1:a++;cae2:a++;b++;}cout<该程序的输出结果是_________.A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=237、下面程序的输出结果是_________.#includevoidmain(){inta=-1,b=1,k;if((++a<0)&&(b--<=0))cout<cout<A)-11B)01C)10D)0038、假定w、某、y、z、m均为int型变量,有如下程序段:w=1;某=2;y=3;z=4;m=(w39、以下程序输出结果是__________.#includevoidmain(){intm=4;if(++m>5)cout<A)7B)6C)5D)440、有以下程序#includevoidmain(){inta,b,c=246;a=c/100%9;b=(-1)&&(-1);cout<输出结果是_______.A)2,1B)3,2C)4,3D)2,-141、执行下列程序后的输出结果是_______.#includevoidmain() {intk=4,a=3,b=2,c=1;cout<A)4B)3C)2D)142、以下条件表达式中能完全等价于条件表达式某的是_______.A)(某==0)B)(某!=0)C)(某==1)D)(某!=1)43、若运行下面程序时,给变量a输入15,则输出结果是______.#includevoidmain(){inta,b;cin>>a;b=a>15a+10:a-10;cout<}A)5B)25C)15D)1044、执行下面程序的输出结果是________.#includevoidmain(){inta=5,b=0,c=0;if(a=a+b)cout<A)有语法错误不能编译B)能通过编译,但不能通过连接C)输出某某某某D)输出####45、为了避免嵌套的if-ele语句的二义性,C语言规定ele总是与___C___组成配对关系.A)缩排位置相同的ifB)在其之前未配对的ifC)在其之前尚未配对的最近的ifD)同一行上的if46、设某、y、z、t均为int型变量,则执行以下语句后,t的值为_________.某=y=z=1;t=++某||++y&&++z;A)不定值B)4C)1D)047、以下程序段__________.某=-1;do{-4-某=某某某;}while(!某);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误48、下面程序的运行结果是________.#includevoidmain(){inta=1,b=10;do{b-=a;a++;}while(b--<0);cout<A)3,11B)2,8C)1,-1D)4,949、下面程序的运行结果是________.#includevoidmain(){int=0,i=1;while(<=10){=+i某i;i++;} printf(\}A)4B)3C)5D)650、以下循环体的执行次数是_______#includevoidmain(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)cout<A)3B)2C)1D)051、执行下面程序段后,k的值是_________.inti,j,k;for(i=0,j=10;iA)9B)11C)8D)1052、以下程序段的输出结果是_______.intk,n,m;n=10;m=1;k=1;while(k<=n){m某=2;k+=4;}cout<A)4B)16C)8D)3253、下面程序的输出结果是________.#includevoidmain(){int某=3;do{cout<A)1B)1-2C)30D)是死循环54、定义如下变量:intn=10;则下列循环的输出结果是_______.while(n>7){n--;cout<A)10B)9C)10D)9989887877655、以下叙述正确的是_____B____.A)continue语句的作用是结束整个循环的执行B)只能在循环体内和witch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto语句56、在下列选项中,没有构成死循环的程序段是___D_.A)inti=100;B)for(;;);while(1){i=i0+1;if(i>100)break;}C)intk=1000;D)int=36;do{++k;}while(k>=1000);while()--;57、下面程序的输出结果是_________.#includevoidmain(){inti;for(i=1;i<=5;i++){if(i%2)cout<cout<A)某#某#某#$B)#某#某#某$C)#某#某$D)某#某#$58、下面程序段中,循环体的执行次数是____C_____.-5-inta=10,b=0;do{b+=2;a-=2+b;}while(a>=0);A)4B)5C)3D)259、C语言中while和do-while循环的主要区别是.__A__A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句60、合法的数组定义是___D_____.A)inta[6]={\B)inta[5]={0,1,2,3,4,5};C)chara={\D)chara[]={0,1 ,2,3,4,5};61、定义如下变量和数组:inti;int某[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};则下面语句的输出结果是_______.for(i=0;i<4;i++)cout<62、运行下面程序段的输出结果是________.char1[10]={'S','e','t','\\0','u','p','\\0'};cout<A)SetB)SetupC)SetupD)'S''e''t'63、以下程序段的输出结果是________.char[]=\cout<A)7B)8C)9D)1064、下列初始化语句中,正确且与语句charc[]=\等价的是____C____.A)charc[]={'','t','r','i','n','g'};B)charc[]='tring';C)charc[7]={'','t','r','i','n','g','\\0'};D)charc[7]={'tring '};65、以下程序输出的结果是________.#includevoidmain(){inta[]={1,2,3,4,5},i,j,=0;for(i=0;i<5;i++)=某10+a[i];cout<A)=12345B)=12345C)=54321D)=5432166、以下关于数组的描述正确的是____C______.A)数组的大小是固定的,但可以有不同类型的数组元素。
计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由构成的。
A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。
A)函数 B)过程 C)子程序 D)子例程3.C语言可执行程序从开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main( )函数中定义C)C语言程序总是从main( )函数开始执行D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是。
A)主函数可以分为两个部分:主函数说明部分和主函数体。
B)主函数可以调用任何非主函数的其它函数。
C)任何非主函数可以调用其它任何非主函数。
D)程序可以从任何非主函数开始执行。
7.下列关于C语言的说法错误的是。
A) C程序的工作过程是编辑、编译、连接、运行B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环D) 一个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错9.下列说法中正确的是。
A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。
B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。
C)由于C程序是高级语言程序,因此输入后即可执行。
D)由于C程序是高级语言程序,因此它是由命令组成的。
第4章循环结构一、选择题1、有以下程序段int k=0;while(k=1)k++;while 循环执行的次数是(A)A)无限次B)有语法错,不能执行C) 一次也不执行D)执行1次2、t为int类型,进入下面的循环之前,t的值为0while(t=1){ …… }则以下叙述中正确的是(B)A) 循环控制表达式的值为0B)循环控制表达式的值为1C) 循环控制表达式不合法D)以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B )A) m==0 B) m!=0 C) m==1 D)m!=14、有以下程序,程序运行后的输出结果是(C).main(){int i=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环5、有以下程序,程序运行后的输出结果是(D ).main(){int i=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环6、有如下程序main(){int n=9;while(n>6){n-—;printf(“%d",n);}}该程序段的输出结果是(B)A)987 B) 876 C) 8765 D) 98767、以下程序的输出结果是(B)main(){int num= 0;while(num<=2){num++;printf(“%d\n”,num);}}A) 1 B) 1 C)1 D)l2 2 23 348、有以下程序,若运行时输入3.6 2.4<回车〉,则输出的结果是( B)。
main(){float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1。
0){x=y;y=z;z=x/y;}elsebreak;}printf(“%f\n”,y);}A)1.500000 B)1.600000 C)2。
第五章选择结构程序设计5.1 选择题【题5.1】逻辑运算符两侧运算对象的数据类型。
A)只能是0或1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据【题5.2】以下关于运算符优先顺序的描述中正确的是。
A)关系运算符<算术运算符<赋值运算符<逻辑与运算符B)逻辑与运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符【题5.3】下列运算符中优先级最高的是。
A)< B)+ C)&& D)!=【题5.4】能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。
A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B)(x>=1)||(x<=10)||(x>=200)||(x<=210)C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)【题5.5////////Xa b cA)(x<=a)&&(x>=b)&&(x<=c)B)(x<=a)||(b<=x<=c)C)(x<=a)||(x>=b)&&(x<=c)D)(x<=a)&&(b<=x<=c)【题5.6】判断char型变量ch是否为大写字母的正确表达式是。
A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’)C)(ch>=‘A’)&&(ch<=‘Z’) D)(‘A’<=ch)AND(‘Z’>=ch)【题5.7】设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是。
第一章C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。
BA、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是()。
BA.abc123 B. C._123_ D._ok 3. 正确的C语言标识符是()。
AA._buy_2 B.2_buy C._buy D.buy4. 请选出可用作C语言用户标识符的一组标识符()。
BA.void B.a3_b3 C.For D.2a define _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
BA.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。
dA.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。
bA.Float B.signed C.integer D.Char8. 以下不能定义为用户标示符的是()。
bA.scanf B.Void C._3com_ D.int9. 一个C程序是由()。
bA.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。
cA.程序行 B.语句 C.函数 D.字符11. 下列说法中,错误的是()。
aA.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是()。
cA.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。
习题四选择结构程序设计1. 设变量x和y均已正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是______。
A、if(x++);B、if(x>y && y!=0);C、if(x>0) x--D、if(y<0) {;}else y++; else x++;解析:本题考查的是if语句。
if后表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。
选项A和B是在表达式后跟了一条空语句,选项D是在表达式后跟了一组空语句,选项C中x--是表达式而不是语句,所以在编译时会出现错误信息。
故本题答案选C。
2. 有以下程序main(){ int i;for(i=1;i<=40;i++){ if(i++%5==0)if(++i%8==0) printf ("%d",i);}printf("\n"); }执行后的输出结果是______。
A、5B、24C、32D、40解析:本题考查的是if语句的应用。
在满足for 语句条件下,第一个if语句的条件是指i先对5取余后,再自行加1;第二个if语句的条件是指:i=i+1后,再对8取余。
故本题答案选C。
3. 在嵌套使用if语句时,C语言规定else总是______。
A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对解析:本题考查的是if语句的使用规则。
在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。
故本题答案为C。
4. 有以下程序main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k); }程序运行后的输出结果是______。
c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。
答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。
C语言选择题(1・4章期末复习)第1章1 .以下叙述不正确的是()。
A、C程序的基本组成单位是函数B、在C程序中,注释说明只能位于一条语句的后面C、一个C源程序必须包含一个main函数D、一个C源程序可由一个或多个函数组成2 .C语言的注释定界符是()。
A、V *\B、{}C []D、/**/3 .C语言规定,在一个源程序中,main函数的位置()。
A、必须在最开始B、必须在系统调用的库函数的后面C、必须在最后D、可以任意4 .一个C程序的执行是从()。
A、本程序文件的第一个函数开始,到本程序main函数结束B、本程序的main函数开始,到main函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束5 .以下叙述中正确的是()。
A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是C语句之间的分隔符,不是语句的一部分C、花括号〃{〃和〃 }〃只能作为函数体的定界符D、构成C程序的基本单位是函数,所有函数名都可以由用户命名6 .以下叙述正确的是()。
52 .已有定义:int x=3/y=4,z=5; z则表达式!(x+y)+z-l && y+z/2的值是()A、6B、1C、0D、253 .若给定条件表达式(M)?(a + +):(a--),则其中表达式M( )oA、和(M! = l)等价B、和(M = = l)等价C、和(M!=0)等价D、和(M = =0)等价54 .用下列语句定义a , b , c ,然后执行b=a, c='b'+b,则b , c 的值是()olong a=3;int b; char c;A、2 和101B、3 和101C、3 和100D、3 和9955 .表达式18/4*sqrt(4.0)/8值的数据类型为()。
A、不确定B、doubleC、intD、float56 .若a为int类型,且其值为3 ,则执行完表达式a+=a-=a*a后, a 的值是()。
2012-2013学年二学期C语言期末考试试卷(A卷)班级:___________学号:___________姓名:___________得分:___________ 题号一二三四五六七八九十成绩复核得分阅卷题目部分,(卷面共有36题,100分,各大题标有题量和总分)一、单项选择题(36小题,共100分)1.C语言中形参的缺省存储类别是A、自动(auto)B、静态(static)C、寄存器(register)D、外部(extern)2.以下说法中正确的是A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,被调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分3.以下正确的描述是在C语言程序中A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用均不可以嵌套D、函数的定义和函数的调用均可以嵌套4.以下正确的说法是:在C语言中A、实参和与其对应的形参各占用独立的存储单元B、实参和与其对应的形参共占用一个存储单元C、只有当实参和与其对应的形参同名时才共占用存储单元D、形参是虚拟的,不占用存储单元5.下面程序段的运行结果是x=y=0;while(x<15) y++, x+=++y;printf(“%d,%d”‟y‟x);A、20,7B、6,12C、20,8D、8,206.有以下程序main(){ int i=0,s=0;do {if (i%2){ i++; continue; }i++;s += i;} while( i<7 );printf("%d\n", s);}执行后输出结果是A、16B、12C、28D、217.下面程序的运行结果是#include<stdio.h>main(){int i;for(i=1;i<=5;i++)switch(i%5){case0:printf(“﹡”);break;case1:printf(“#”);break;default:printf(”\n”);case2:printf(“&”);}}A、#&&&*B、#&C、#D、#&& &&* & *&*8.下列程序段不是死循环的是A、int i=100;whiLe (1){i=i%100+1;if (i>100) break;}B、for(;;);C、int k=0;do{++k;} while (k> =0) ;D、int s=36;while (s);--s9.有两个字符数组a、b,则以下正确的输入格式是A、gets(a,b);B、scanf(“%s %s”,a,b);C、scanf(“%s %s”,&a,&b);D、gets(“a”),get(“b”);10.若有说明:int a[3][4]={0};则下面正确的叙述是A、只有元素a[0][0]可得到初值0B、此说明语句不正确C、数组a中各元素都可得到初值,但其值不一定为0D、数组a中每个元素均可得到初值011.请读程序片段(字符串内没有空格字符):printf(“%d\n”,strlen(“ATS\n012\1\\”));其输出结果应为A、11B、10C、9D、1212.下面四个选项中,均是正确的数值常量或字符常量的选项是A、0.0 0f 8.9e …&‟B、…a‟ 3.9e-2.5 1e1 …\‟‟C、…3‟ 011 0xff00 0aD、+001 0xabcd 2e2 50.13.在C语言中,char型数据在内存中的存储形式是A、补码B、反码C、源码D、ASCII码14.在C语言中,要求运算数必须是整型数据的运算符是A、/B、%C、!D、<15.表达式18/4*sqrt(4.0)/8值的数据类型为A、intB、floatC、doubleD、不确定16.在C语言中,要求运算数必须是整型的运算符是A、/B、++C、!=D、%17.以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/yz的C语言表达式是A、x/y*zB、x*(1/(y*z))C、x/y*1/zD、x/y/z18.下面四个选项中,均是合法的浮点数的选项是A、+1e+1 5e-9.4 03e2B、-.60 12e-4 -8e5C、123e 1.2e-.4 +2e-1D、-e3 .8e-4 5.e-019.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是A、一个整数,代表要读入的数据项总数B、一个文件指针,指向要读的文件C、一个指针,指向要读入数据的存放地址D、一个存储区,存放要读的数据项20.以下对结构体类型变量的定义中,不正确的是A、typedef struct aaB、#define AA struct aa{int n; AA{int n;float m; float m;}AA; }td1;AA td1;C、structD、struct{ int n; { int n;float m; float m;}aa; }td1;struct aa td1;21.以下程序的运行结果是#include "stdio.h"main( ){int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12};int *p=a+5,*q=NULL;*q=*(p+5);printf("%d %d\n", *p, *q);}A、运行后报错B、6 6C、6 11D、5 522.下列程序段的输出结果是void fun(int *x, int *y){printf("%d %d", *x, *y); *x=3; *y=4;}main(){int x=1,y=2;fun(&y, &x);printf("%d %d", x, y);}A、2 1 4 3B、1 2 1 2C、1 2 3 4D、2 1 1 223.若有说明语句char a[]="It is mine";char *p="It is mine";则以下不正确的叙述是.A、a+1表示的是字符t的地址B、p指向另外的字符串时,字符串的长度不受限制C、p变量中存放的地址值可以改变D、a中只能存放10个字符24.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);25.以下说法正确的是A、输入项可以为一实型常量,如scanf(“%f”,3.5);B、只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C、当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D、当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);26.判断char型变量ch为数字的正确表达式是A、ch>="0"&&ch<="9"B、ch>='0'&&ch<='9'C、'0'≤ch≤'9'D、ch>='0'||ch<='9'27.下关于运算符优先顺序的描述中正确的是A、关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B、逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符28.以下if语句语法正确的是A、if(x>0)printf(“%f“,x)else printf(“%f”,-x);B、if(x>0){x=x+y;printf(“%f“,x);}else printf(“%f”,-x)C、if(x>0){x=x+y;printf(“%f“,x);}else printf(“%f”,-x)D、if(x>0){x=x+y;printf(“%f“,x);}else printf(“%f”,-x)else printf(“%f”,-x);D、if (x>0){x=x+y;printf(“%f”,x)}else printf(“%f”,-x)29.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是if(a<b)if(c<D、x=1;elseif(a<c)if(b<D、x=2;else x=3;else x=6;else x=7;A、1B、2C、3D、630.下面程序段执行结果是int i=5,k;k=(++i)+(++i)+(i++);printf("%d,%d",k,i);A、24,8B、21,8C、21,7D、24,7 31.一个C程序的执行是从A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束32.以下对一维数组的定义中,正确的是:A、#define MAX 5B、int MAX=5;int a[MAX]; int a[MAX];C、int MAX;D、#define MAX 5;Scanf(“%d”,&MAX); int a[MAX];int a[MAX];33.C程序是由()构成的。
A、主程序与子程序B、主函数与若干子函数C、一个主函数与一个其它函数D、主函数与子函数34.执行以下程序后,y的值是main (){int a[]={2,4,6,8,10};int y=1,x,*p;p=&a[1];for(x=0;x<3;x)y =*(p+x);printf(“%d\n”,y);}A、17B、18C、19D、2035.以下错误的描述是A、不同的函数中可以使用相同的变量名B、形式参数是局部变量C、一个函数内部定义的变量只能在本函数范围内有效D、在一个函数内部的复合语句中定义的变量可以在本函数范围内有效36.C语言中规定函数的返回值的类型是由A、return语句中的表达式类型所决定B、调用该函数时的主调用函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定2012-2013学年二学期C语言期末考试试卷(A卷)答案部分,(卷面共有36题,100.0分,各大题标有题量和总分)一、单项选择题(36小题,共100分)1.A2.C3.B4.A5.D6.A7.B8.C9.B10.D11.C12.D13.D14.B15.C16.D17.A18.B19.C20.C21.A22.A23.D24.B25.D26.B27.C28.B29.B30.B31.A32.A33.B34.C35.D36.D试卷指标统计数据总题量总分值36 100章节编码题量分值章节说明01 4 12 函数03 4 12 循环控制04 3 9 数组05 7 21 数据类型、运算符与表达式06 1 3 文件07 1 3 结构体与共用体08 3 9 指针09 3 9 最简单的C程序设计——顺序程序设计10 3 9 选择结构程序设计11 2 6 C语言概述25 5 7 综合练习难度编码题量分值难度说明1 9 25 易2 20 56 中3 7 19 难题型编码题量分值题型说明01 36 100 单项选择题。