C语言基础题及参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1/36第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是:A。A.函数B.函数和过程C.超文本过程D.子程序2.一个C语言程序总是从B开始执行。A.主过程B.主函数C.子程序D.主程序3.C语言的程序一行写不下时,可以D。A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.以下叙述不正确的是:C。A.在C程序中,语句之间必须要用分号;分隔B.若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C.在C程序中,无论是整数还是实数都能正确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是D。A.ABCB.abcC.a_bcD.ab.c6.下列字符串是标识符的是:。?A._HJB.9_studentC.longD.LINE17.以下说法中正确的是:C。A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须放在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是:B。A.‘\2’B.C.‘3’D.‘\483’9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。intk,a,b;unsignedlongw=5;doublex=1.422;A.x%(-3)B.W+=-2C.k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以D形式存放。A.原码B.BCD码C.反码D.ASCII码11.若有定义:inta=7;floatx=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是:A。2/36A.2.500000B.2.750000C.3.500000D.0.00000012.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为:D。A.floatB.charC.intD.double13.以下D是不正确的转义字符。A.'\\'B.'\'C.'081'D.'\0'14.若x为int型变量,则执行以下语句后,x的值为B。x=6;x+=x-=x*x;A.36B.-60C.60D.-2415.字符串\\\ABC\\\的长度是D。A.11B.7C.5D.3二、填空题1.一个函数由两部分组成,它们是语句和。2.一个C源程序至少包含一个主函数,即main()。3.设inta=12;则表达式a/=a+a的值是0。4.表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是表达式和表达式,两个表达式执行完的结果分别是18和18,x值分别是18和3。5.在C语言中,实数有两种表示形式,即float和double。6.在C语言中,运算符的优先级最小的是,运算符。3/36第二单元顺序程序设计一、选择题1.若m为float型变量,则执行以下语句后的输出为C。m=1234.123;printf(%-8.3f\n,m);printf(%10.3f\n,m);A.1234.123B.1234.123C.1234.123D.-1234.1231234.1231234.1231234.123001234.1232.若x,y,z均为int型变量,则执行以下语句后的输出为A。x=(y=(z=10)+5)-5;10,15,10printf(x=%d,y=%d,z=%d\n,x,y,z);y=(z=x=0,x+10);0,10,0printf(x=%d,y=%d,z=%d\n,x,y,z);A.X=10,Y=15,Z=10B.X=10,Y=10,Z=10X=0,Y=10,Z=0X=0,Y=10,Z=10C.X=10,Y=15,Z=10D.X=10,Y=10,Z=10X=10,Y=10,Z=0X=0,Y=10,Z=03.若x是int型变量,y是float型变量,所用的scanf调用语句格式为:scanf(x=%d,y=%f,&x,&y);则为了将数据10和66.6分别赋给x和y,正确的输入应是:A。A.x=10,y=66.6回车B.1066.6回车C.10回车66.6回车D.x=10回车y=66.6回车4.已知有变量定义:inta;charc;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是:B。A.30’b’回车B.30b回车C.30回车b回车D.30b回车5.已知有变量定义:doublex;longa;要给a和x输入数据,正确的输入语句是。若要输出a和x的值,正确的输出语句C。A.scanf(“%d%f”,&a,&x);B.scanf(“%ld%f”,&a,&x);printf(“%d,%f”,a,x);printf(“%ld,%f”,a,x);C.scanf(“%ld%lf”,&a,&x);D.scanf(“%ld%lf”,&a,&x);printf(“%ld,%lf”,a,x);printf(“%ld,%f”,a,x);6.若有定义doublex=1,y;则以下的语句执行的结果是C。y=x+3/2;printf(“%f”,y);A.2.500000B.2.5C.2.000000D.27.若a为整型变量,则以下语句C。4/36a=-2L;printf(%d\n,a);A.赋值不合法B.输出为不确定的值C.输出值为-2D.输出值为2二、读程序写结果1.main(){intx,y;scanf(%2d%*2d%ld,&x,&y);printf(%d\n,x+y);}执行时输入:12345672.main(){intx=4,y=0,z;x*=3+2;printf(%d,x);x*=y=z=4;printf(%d,x);}3.main(){floatx;inti;x=3.6;i=(int)x;printf(x=%f,i=%d,x,i);}4.main(){inta=2;a%=4-1;printf(%d,,a);a+=a*=a-=a*=3;printf(%d,a);}5.main(){intx=02,y=3;printf(x=%d,y=%%d,x,y);}6.main(){charc1=’6’,c2=’0’;printf(%c,%c,%d,%d\n,c1,c2,c1-c2,c1+c2);}7.main(){intx,y,z;x=y=1;z=++x-1;5/36printf(%d,%d\n,x,z);z+=y++;printf(%d,%d\n,y,z);}三、填空题1.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以输出,也能以输出。2.%-ms表示如果串长小于m,则在m列范围内,字符串向靠,补空格。3.printf函数的“格式控制”包括两部分,它们是和。4.编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。#includestdio.hvoidmain(){floatl,w;printf(“pleaseinputlengthandwidthoftherectangle\n”);scanf(“%f%f”,&l,&w);area=;girth=;}5.编写程序,输入一个数字字符(‘0’~‘9’)存入变量c,把c转换成它所对应的整数存入n,如:字符‘0’所对应的整数就是0。请填空。voidmain(){charc;;printf(“pleaseinputachar:\n”);c=;n=;printf(,c,n);}6/36第三单元选择程序设计一、选择题1.若x=0,y=3,z=3,以下表达式值为0的是A.!xB.xy?1:0C.x%2&&y==zD.y=x||z/32.以下运算符中优先级最低的运算符为,优先级最高的为。A.&&B.!C.!=D.||E.?:F.==3.若w=1,x=2,y=3,z=4,则条件表达式wx?w:yz?y:z的结果为。A.4B.3C.2D.14.若w,x,z均为int型变量,则执行以下语句后的输出为。w=3;z=7;x=10;printf(%d\n,x10?x+100:x-10);printf(%d\n,w++||z++);printf(%d\n,!wz);printf(%d\n,w&&z);A.0B.1C.0D.01111110011105.分析以下程序,下列说法正确的是。main(){intx=5,a=0,b=0;if(x=a+b)printf(****\n);elseprintf(####\n);}A.有语法错,不能通过编译B.通过编译,但不能连接C.输出****D.输出####6.分析以下程序,下列说法正确的是。main(){intx=5,a=0,b=3;if(x=a+b)printf(****\n);elseprintf(####\n);}A.有语法错,不能通过编译B.通过编译,但不能连接C.输出****D.输出####7.分析以下程序,下列说法正确的是。main()7/36{intx=0,a=0,b=0;if(x=a+b)printf(****\n);elseprintf(####\n);}A.有语法错,不能通过编译B.通过编译,但不能连接C.输出****D.输出####8.分析以下程序,下列说法正确的是。main(){intx=0,a=0,b=0;if(x==a+b)printf(****\n);elseprintf(####\n);}A.有语法错,不能通过编译B.通过编译,但不能连接C.输出****D.输出####二、读程序写结果1.includestdio.hmain(){inta=-1,b=4,k;k=(a++=0)&&(!(b--=0));printf(%d,%d,%d\n,k,a,b);}2.main(){intx=4,y=0,z;x*=3+2;printf(%d,x);x*=(y==(z=4));printf(%d,x);}3.main(){intx,y,z;x=3;y=z=4;printf(%d,(x=z=x)?1:0);printf(%d,z=y&&y=x);}4.main(){intx=1,y=1,z=10;if(z0)if(y0)x=3;8/36elsex=5;printf(%d\t,x);if(z=y0)x=3;elseif(y==0)x=5;elsex=7;printf(%d\t,x);printf(%d\t,z);}5.main(){charx=‘B’;switch(x){case‘A’:printf(“ItisA.”);case‘B’:printf(“ItisB.”);case‘C’:printf(“ItisC.”);default:printf(“other.”);}}6.main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf(a=%d,b=%d\n,a,b);}三、填空题1.若a=5,b=6,c=7,d=8,则表达式d=a/2&&b==c||!a的值为2.定义intx=10,y,z;执行y=z=x;x=y==z后,变量x的值为。3.分段函数:输入x,计算y值,输出y,其中:x0y=2x+3x=0,y=0x0,y=(x+7)/3#includestdio.hmain()9/36{intx,y;scanf(%d,&x);if(x0)(1);(2)y=0;(3)y=(x+7)/3;printf(“%d”,y);}4.由键盘输入三个数,计算以这三个数为边长的三角形面积。(1)main(){(2);printf(Pleaseenter3reals:\n);scanf(%f%f%f,&a,&b,&c);if((3)){s=(

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功