您好,欢迎访问三七文档
1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。x=(i=4,j=16,k=32)A)4B)16C)32D)522.下列四组选项中,均不是C语言关键字的选项是。A)defineIFtypeB)getccharprintfC)includecasescanfD)whilegopow3.下列四组选项中,均是不合法的用户标识符的选项是。A)WP_0doB)b-agotointC)floatla0_AD)-123abcTEMP4.下列四组选项中,均是合法转义字符的选项是。A)‘\”’‘\\’‘\n’B)‘\’‘\017’‘\”’C)‘\018’‘\f’‘xab’D)‘\\0’‘\101’‘xlf’5.下面正确的字符常量是。A)“c”B)‘\\’’C)‘’D)‘K’6.以下叙述不正确的是。A)在C程序中,逗号运算符的优先级最低B)在C程序中,MAX和max是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.已知i,j,k为int型变量,若从键盘输入:1,2,3回车,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是A)scanf(%2d,%2d,%2d,i,j,k);B)scanf(%d%d%d,&i,&j,&k);C)scanf(%d,%d,%d,&i,&j,&k);D)scanf(i=%d,j=%d,k=%d,&i,&j,&k);8.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是。if(xy)z=x;x=y;y=z;A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,y=30,z=10D)x=20,y=30,z=209.以下程序的运行结果是。main(){intm=5;if(m++5)printf(“%d\n”,m);else;printf(“%d\n”,m--);}A)4B)5C)6D)710.执行下面程序段后,变量a,b,c的值分别是多少:intx=10,y=9;inta,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;11.以下程序段运行的结果是:intx=1,y=0;switch(x){case1:switch(y){case0:printf(“*1*\n”);break;case1:printf(“*2*\n”);break;}case2:printf(“*3*\n”);}12.有以下程序main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf(“%d,%d,%d\n”,i,j,k);}执行后输出结果是:A.1,1,2B.2,2,1C.2,2,2D.2,2,313.若运行时给变量输入12,则以下程序的运行结果是:main(){intx,y;scanf(“%d”,&x);y=x12?x+10:x-12;printf(“%d\n”,y);}A.0B.22C.12D.1014.设x,y,z,t都为整形变量,有以下语句x=y=z=1;t=++x||++y&&++z;则执行这个语句后t的值为:A.2B.1C.0D.不定值15.若有定义语句:intx=3,y=2,z=1;表达式:z*=(xy?++x:y++)的值是:A.4B.0C.1D.316.下列程序的运行结果是:main(){intx=-9,y=5,z=8;if(xy)if(y0)z=0;elsez+=1;printf(“%d\n”,z);}A.6B.7C.8D.917.有如下程序:main(){floatx=2.0,y;if(x0.0)y=0.0;elseif(x10.0)y=1.0/x;elsey=1.0;printf(“%f\n”,y);}该程序的输出结果是:A.0.000000B.0.250000C.0.500000D.1.00000018.运行下面程序,从键盘输入字母H,则输出结果是:#includestdio.hmain(){charch;ch=getchar();switch(ch){case‘H’:printf(“Hello!\n”);case‘G’:printf(“Goodmorning!\n”);defalut:printf(“Bye_Bye!\n”);}}A.Hello!B.Hello!Goodmorning!C.Hello!D.Hello!Goodmorning!Bye_Bye!Bye_Bye!循环:1..下面的程序的输出结果是:main(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break:}}printf(“%d\n”,m);}A.1B.2C.3D.42.若有如下语句intx=3;do{printf(%d\n,x-=2);}while(!(--x));则上面程序段______.a)输出的是1b)输出的是1和-2c)输出的是3和0d)是死循环3.下面程序段的运行结果是_______.i=1;s=3;do{s+=i++;if(s%7==0)continue;else++i;}while(s15);printf(%d,i);4.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是for(i=5;i;i--)for(j=0;j4;j++){...}A)20B)25C)24D)305.以下程序的输出结果是main(){inta,b;for(a=1,b=1;a=100;a++){if(b=10)break;if(b%5==1){b+=5;continue;}}printf(%d\n,a);}A)101B)6C)4D)36.以下程序的输出结果是()。#includestdio.hmain(){inti;for(i=1;i=5;i++)if(i%2)printf(*);elsecontinue;printf(#);printf($\n);}A)***#$B)#*#*#*$C)*#*#*#$D)**#*$7.阅读以下程序:main(){intx;for(x=5;x0;x--)if(x--5)printf(%d,,x);elseprintf(%d,,x++);}程序运行后的输出结果是()。A)4,3,1B)4,3,1,C)5,4,2D)5,3,1,8.以下程序:main(){inti;for(i=1;i=5;i++){if(i%2)printf(“*”);elsecontinue;printf(“#”);}printf(“$\n”);}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$函数部分:1.以下正确的说法是_________.建立函数的目的之一是a)提高程序的执行效率b)提高程序的可读性c)减少程序的篇幅d)减少程序文件所占内存2.以下正确的函数定义形式是________.a)doublefun(intx,inty)b)doublefun(intx;inty)c)doublefun(intx,inty);d)doublefun(intx,y);3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为______.A)地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)由用户指定传递方式4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是______.a)floatb)intc)longd)double下面函数调用语句含有实参的个数为func((exp1,exp2),(exp3,exp4,exp5));A)1B)2C)4D)55.以下程序的运行结果是_____.#includestdio.hmain(){inta=1,b=2,c;c=max(a,b);printf(maxis%d\n,c);}max(intx,inty){intx;z=(xy)?x:y;return(z);}6.以下程序的运行结果是________.inta=5;intb=7;main(){inta=4,b=5,c;c=plus(a,b);printf(A+B=%d\n,c);}plus(intx,inty){intz;z=x+y;return(x);}编译预处理:以下程序的运行结果是________.#defineMIN(x,y)(x)(y)?(x):(y)main(){inti=10,j=15,k;k=10*MIN(i,j);printf(%d\n,k);}a)10b)15c)100d)150若有宏定义如下:#defineX5#defineYX+1#defineZY*X/2则执行以下printf语句后,输出结果是_______.inta;a=Y;printf(%d\n,Z);printf(%d\n,--a);a)7b)12c)12d)76655
本文标题:C语言习题
链接地址:https://www.777doc.com/doc-5184046 .html