C语言程序设计综合习题.docx
- 文档编号:7953685
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:34
- 大小:46.99KB
C语言程序设计综合习题.docx
《C语言程序设计综合习题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计综合习题.docx(34页珍藏版)》请在冰豆网上搜索。
C语言程序设计综合习题
C语言综合练习题
1.C语言的程序一行写不下时,可以(C)。
A.用逗号换行B.用分号换行C.在任一分隔符或空格处换行D.用回车符换行
2.下述表达式中,(D)可以正确表示x<=0或x>=1的关系。
A.0<=x<=1B.x<=0ORx>=1C.x<=0&&x>=1D.x<=0||x>=1
3.若执行下面的程序时,从键盘上输入3和4,则输出结果是(B)。
main(){
inta,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a
s=s*s;
printf("%d\n",s);
}
A.14B.16C.18D.20
4.以下程序的运行结果是(B)
main()
{inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d",a,b);}
A)6,1B)2,1C)6,0D)2,0
5.阅读以下程序,当输入数据的形式为:
25,13,10
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+y+z=38D)不确定值
6.判断char型变量ch是否为大写字母的正确表达式为(C)
A)'A'<=ch<='Z'B)(ch>='A')&(ch<='Z')
C)(ch>='A')&&(ch<='Z')D)(ch>='A')AND(ch<='Z')
7.能正确表示“当x的取值在[1,10]或[200,210]范围内为真,否则为假”的表达式是(C)
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)
8.设有程序段:
intk=10;
while(k=0)k=k-1;
则下面描述正确的是(C)
A)while循环执行10次B)循环是无限循环
C)循环语句一次也不执行D)循环体语句执行一次
9.在C语言中,引用数组元素时,其数组下标的数据类型允许是(C)
A)整型常量B)整型表达式
C)整型常量或整型表达式D)任何类型的表达式
10.下述语句中,(B)中的if语句是错误的。
A.if(x>y);B.if(x==y)elsex+y;
C.if(x!
=y)scanf("%d",&x);D.if(x 11.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是(B) if(x>y) 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=20 12.下述程序的输出结果为(B)。 voidmain(){ inta=9; a+=a-=a+a; printf("%d\n",a); } A.18B.-18C.9D.9 13、以下程序的输出结果是(D) main() {intx=10,y=10; printf("%d%d\n",x--,--y); } A.1010B.99C.910D.109 14.设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D) A)'x'&&'y'B)x||y+z&&y-zC)x<=yD)! ((x z||1) 15.下面程序段的运行结果是(C) intn=0; while(n++<=2);printf("%d",n); A.2B.3C.4D.有语法错误 16.执行下列程序的结果是(A)。 main(){ floatx=1.0,y; y=++x*++x; printf("%f\n",y);} A.9.000000B.6.000000C.1.000000D.程序有错误 17.在下列各m的值中,能使m%3==2&&m%5==3&&m%7==2(B) A)8B)23C)17D)6 18.能正确表示a和b同时为正或同时为负的逻辑表达式是(D) A)(a>=0‖b>=0)&&(a<0‖b<0)B)(a>=0&&b>=0)&&(a<0&&b<0) C)(a+b>0)&&(a+b<=0)D)a*b>0 19.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是(B)。 A.0至255B.0至65535C.-32768至32767D.-256至255 20.以下叙述正确的是(A)。 A.C语言本身没有输入输出语句 B.C程序的每行中只能写一条语句 C.在C程序中,main函数必须位于程序的最前面 D.在对一个C程序进行编译的过程,可发现注释中的拼写错误 21.以下程序的输出结果是(D)。 main() {intx=10,y=10; printf("%d%d\n",x--,--y);} A.1010B.99C.910D.109 22.在C语言中,要求参加运算的数必须是整数的运算符是(C)。 A./B.! C.%D.== 23.有如下定义的变量和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(D)。 inta1,a2;charc1,c2; scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2); A.10□20AB C.10□20 24.下面的程序(D)。 main(){ intx=0,y=0,z=0; if(x=y+z)printf("****"); elseprintf("####");} A.有语法错误不能通过编译B.输出**** C.可以通过编译,但是不能通过连接,因而不能运行D.输出#### 25、若有数学公式 ,其正确的C语言表达式是(A)。 A.sqrt(fabs(cos(x*3.14/180)))B.sqrt(fabs(cos(x*π/180))) C.sqrt(|cos(x)|)D.sqrt(|cos(x*3.14/180)|) 26.已知字母a的ASCII码为97,下面的程序输出是()。 voidmain(D){ charc1,c2; c1='a'+'6'-'2'; c2='a'+'6-'3'; printf("%c,%d\n",c2,c1);} A.输出格式有误不能通过编译B.d,eC.100,101D.d,101 27.以下不正确的if语句是(D)。 A.if(x C.if(x! =y)x++;elsey++;D.if(x>y)&&(x! =1){x++;y++;} 28.若有说明inti,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为(D) A.30B.60C.320D.900 29.若有说明: inta[3][4]={0};则下面正确的叙述是(D) A)只有元素a[0][0]可得到初值0B)此说明语句不正确 C)数组a中每个元素都可以得到初始值,但其值不一定为0 D)数组a中每个元素都可得到初值0 30.若有说明语句: inta[][3]={1,2,3,4,5,6,7,};则a数组第一维的大小是(B) A)2B)3C)4D)无确定的值 31.设i和x都是int类型,则for语句的循环体(C)。 for(i=0,x=0;i<10&&x! =287;i++) scanf("%d",&x); A.执行10次B.至少执行9次C.最多执行10次D.可能一次也不执行 32.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是(B) if(a if(c else if(a if(b elsex=3; elsex=6; elsex=7; A)1B)2C)3D)4 33、设有以下程序段 intx=0,s=0; while(! x! =0)s+=++x; printf("%d",s); 则(B) A)运行程序段后输出0B)运行程序段后输出1 C)程序段中的控制表达式是非法的D)程序段执行无限次 34.以下不是无限循环的语句为(C) A)while (1){x++;} B)for(;;x++=i); C)for(y=0,x=1;x>++y;x=i++)i=x; D)for(i=10;;i--)sum+=i; 35.以下的程序输出的结果是(A)。 voidmain(){ inti; for(i=0;i<=5;i++){ if(i%2)putchar('<'); elsecontinue; putchar('>');} putchar('#');} A.<><><>#B.><><><#C.<><>#D.><><# 36、下面程序的输出是(C) main() {inty=0; while(y--); printf("y=%d\n",y); } A)y=0B)while构成无限循环C)y=-1D)y=1 37、以下能正确计算1*2*3…*10的程序段是(C) A)do{i=1;s=1;s=s*i;i++;}while(i<=10); B)do{i=1;s=0;s=s*i;i++;}while(i<=10); C)i=1;s=1;do{s=s*i;i++;}while(i<=10); D)i=1;s=0;do{s=s*i;i++;}while(i<=10); 38、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为(C) #include main() {intv1=0,v2=0; charch; while((ch=getchar())! ='#') switch(ch) {case'a': case'h': v1++; default: v2++; } printf("%d,%d\n",v1,v2); } A)2,3B)3,5C)2,5D)5,2 39、有如下程序 main() {inti,sum=0; for(i=1;i<=3;sum++)sum+=i; printf("%d\n",sum); } 该程序的执行结果是(C) A)6B)3C)死循环D)0 40、以下程序的功能是计算: s=1+1/2+1/3+……+1/10 main() {intn;floats s=1.0; for(n=10;n>1;n--) s=s+1/n; printf("%6.4f\n",s); } 程序运行后输出结果错误,导致错误结果的程序行是(C) A)s=1.0;B)for(n=10;n>1;n--)C)s=s+1/n;D)printf("%6.4f\n",s); 41.以下能正确计算1×2×3×…×49×50的程序段是(C) A.i=1;s=0;B.i=1;s=1; do{do{ s=s*i;s=s*i; i++;i++; }while(i<=50);}while(i<50); C.i=1;s=1;D.i=1;s=1; do{i++;do{i++; s=s*i;s=s*i; }while(i<=50);}while(i<50); 42.printf("%4.3f\n",12345.12345);输出为(C) A.1234B.12345C.12345.123D.123456.124 43.以下程序段(C) x=-1; do{x=x*x;}while(! x); A)是死循环B)循环执行二次C)循环执行一次D)有语法错误 44.以下的程序输出的结果是(B)。 voidmain(){ inti,j,x=0; for(i=1;i<=2;i++){ x++; for(j=0;j<=3;j++){ if(j%2)continue; x++;} x++;} printf("x=%d\n",x);} A.x=4B.x=8C.x=6D.x=12 45、下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。 main() {intm=0,n=0;charc; while((C)! ='\n') {if(c>='A'&&c<='Z')m++; if(c>='a'&&c<='z')n++; } printf("%d\n",m n: m); } A)c=gets()B)getchar()C)c=getchar()D)scanf("%c",c) 46.以下关于运算符优先顺序的描述中正确的是(C) A)关系运算符<算术运算符<赋值运算符<逻辑运算符 B)逻辑运算符<关系运算符<算术运算符<赋值运算符 C)赋值运算符<逻辑运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑运算符 47.下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环,请选择填空。 #include main() {inta,max=0; scanf("%d",&a); while(B)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 综合 习题