C语言基础练习题(含答案).pdf
《C语言基础练习题(含答案).pdf》由会员分享,可在线阅读,更多相关《C语言基础练习题(含答案).pdf(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言基础练习题(含答案)第 一 章C语言基础知识2第 一 章 C 语言基础知识1.1 选择题1.以下不是C 语言的特点的是()oA、语言简洁紧凑B、能够编制出功能复杂的程序C、C 语言可以直接对硬件操作D、C 语言移植性好2.下列字符序列中,不可用作C 语言标识符的是()oA.abcl23B.no.lC._123_D.-_ok3.正确的C 语 言 标 识 符 是()oA._buy_2B.2_buyC.?_buyD.buy?4.请选出可用作C 语言用户标识符的一组标识符()oA.voidB.a3_b3 C.ForD.2adefine_123-abcDOWORDIFCasesizeof5.卜列符
2、号中,不属于转义字符的是()oA.WB.0 xAAC.tD.06.不属于C 语言关键字的是()oA.intB.breakC.whileD.character7.是 C 语言提供的合法关键字的是()oA.FloatB.signed第 一 章 C语言基础知识 3 C integer8.以下不能定义为用户标示符的是()oA.scanf B.V oidD.int9.一个C 程序是由()oA.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成D.CharC._3com_10.C 语言程序的基本单位是()oA.程序行 B.语句 C.函数D.字符11.下列说法中,错误的是()
3、oA.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12.以下说法中正确的是()oA.C 语言程序总是从第一个定义的函数开始执行B.在 C 语言程序中,要调用的函数必须在main()函数中定义C.C 语言程序总是从main。函数开始执行D.C 语言程序中的main()函数必须放在程序的开始部分13.C 编译程序是()。A.C 程序的机器语言版本第 一 章 C语言基础知识 4 14.15.16.B.
4、一组机器语言指令C.将 C 源程序编译成目标程序D.由制造厂家提供的一套应用软件以下选项中,合法的用户标识符是()oA.long B._2abc C.3dmax D.A.dat以下选项中,合法的实型常数是()oA.5E2.0 B.E-3 C.2E0 D.1.3E已知大写字母A 的 ASCII码值是6 5,小写字母a 的 ASCII码是9 7,则用八进制表示的字符常量,10是()oA.字符A B.字符a C.字符c常量17.以下选项中,合法转义字符的选项是()。A.B.018 C.,xab18.以下选项中,正确的字符常量是()oA.F B.C.W19.以下选项中可作为C 语言合法整数的是A.10
5、110B B.0386 C.OXffa20.下列变量定义中合法的是A.short _a=l-.le-l;B.double b=l+5e2.5;C.long do=0 xfdaL;D.float 2_and=l-e-3;21.与数学式子壬对应的C 语言表达式是()02x-lD.非法的D.abczD.,D.x2a2A.9*xAn/(2*x-l)B.9*x*n/(2*x-l)C.9*pow(x,n)*(l/(2*x-l)D.9*pow(n,x)/(2*x-1)22.若有代数式当,则不正确的C 语言表达式是()ocd第 一 章C语言基础知识A.a/c/d*b*3 5 B.3*a*b/c/dC.3*a*
6、b/c*d23.已知各变量的类型说明如下:int m=8,n,a,b;unsigned long w=10;double x=3.14,y=0.12;则以下符合C 语言语法的表达式是()oA.a+=a-=(b=2)*(a=8)C.x%324.以下符合C 语言语法的赋值表达式是()oD.a*b/d/c*3B.n=n*3=18D.y=float(m)A.a=9+b+c=d+9B.a=(9+b,c=d+9)C.a=9+b,b+,c+9D.a=9+b+=c+92 5.已知字母A 的 ASCII码为十进制数6 5,且 S 为字符型,则执行语句S=,A,+,6 J,3%后,S 中的值为()oA.DB.68
7、C.不确定的值D.rCr26.在 C 语言中,要求运算数必须是整型的运算符是()oA./B.+C.*=D.%27.若有说明语句:char s=,72,;则变量s()。A.包含一个字符B.包含两个字符Q 包含三个字符D.说明不合法,s 的值不确定28.若 有 定 义:int m=7;float x=2.5,y=4.7;则 表 达 式第 一 章C语言基础知识6 x+m%3*(int)(x+y)%2/4 的值是(A.2.500000B.2.750000C.3.500000D.0.00000029.在 C 语言中,char型数据在内存中的存储形式是()。A.补码B.反码C.原码D.ASCH 码30.设
8、变量x 为 float类型,m 为 int类型,则以下能实现将x 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。A.x=(x*100+0.5)/100.0B.m=x*100+0.5,x=m/100.0C.x=x*100+0.5/100.0D.x=(x/100+0.5)*100.03 1.表达式13/3*sqrt(16.0)/8的数据类型是()。A.intB.floatC.doubleD.不确定32.设以下变量均为int类型,则值不等于7 的表达式是()oA.(m=n=6,m+n,m+1)B.(m=n=6,m+n,n+1)C.(m=6,m+1,n=6,m+n)D.(m=6,m+
9、1,n=m,n+1)33.假设所有变量均为整型,则表达式(x=2,y=5,y+,x+y)的值是()o第 一 章C语言基础知识 7A.7 B.8 C 6 D.23 4.已知s 是字符型变量,下面不正确的赋值语句是()oA.s=012;B.s=u+v;C.s=T+2;D.s=l+2;35.已知s 是字符型变量,下面正确的赋值语句是()oA.s=*abc;B.s=r 08,;C.s=,xde,;D.s=;36.若有以下定义,则正确的赋值语句是()oint x,y;float z;A.x=l,y=2,B.x=y=100C.x+;D.x=int(z);37.设 x、y 均为float型变量,则不正确的赋
10、值语句是(A.+x;B.x*=y-2;C.y=(x%3)/10;D.x=y=0;38.下前语句中符合C 语言的赋值语句是()oA.a=7+b+c=a+7;B.a=7+b+=a+7;C.a=7+b,b+,a+7D.a=7+b,c=a+7;39.putchar函数可以向终端输出一个()。A.整型变量表达式值。B.字符串第 一 章C语言基础知识8 C.实型变量值。D.字符或字符型变量值。40.以下程序段的输出结果是()。int a=12345;printf(2dxli,a);A.12B.34C.12345D.提示出错、无结果41.若 x 和 y 均定义为in t型,z 定义为double型,以下不合
11、法的 scanf。函数调用语句为()oA.scanf(d%lx,%le,&x,&y,&z);B.scanf(2d*%d%lf ,&x,&y,&z);C.scanf(x%*d%o,&x,&y);Do scanf(%x%o%6.2P,&x,&y,&z);42.有如下程序段:int xl,x2;char yl,y2;scanf(d%c%d%c,&xl,&yl,&x2,&y2);若要求x l、x2、y l、y2的值分别为10、20、A、B,正确的数据输入是()o(注:口代表空格)A.10A u 20BB.10 u A20BC.10 uAu20u BD.10A20uB43.若 变 量 已 正 确 说 明
12、 为 flo a t类 型,要 通 过 语 句scanf(f%f%r,&a,&b,&c);给 a 赋予 10.0,b 赋予 22.0,c 赋予3 3.0,不正确的输入形式为()0A.10v回车,第 一 章C语言基础知识 9B.10.0,22.0,33.0v 回车22 V 回车,33C.10,0v回车,D.10 22V 回车22.0 33.0V 回车 33b)&(n=cd)后n 的值为(B)oA.1 B.2 C.3 D.43.设 x、y 和 z 都是int类型变量,且 x=3,y=4,z=5,则下面的表达式中,值为0 的表达式为(D)。A.X,&yz B.x=yC.x|y+z&y-z D.!(x
13、y)&!z|l)4.为了避免嵌套的if-else语句的二义性,C 语言规定else总是与(C)组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if5.逻辑运算符两侧运算对象的数据类型(D)。A.只能是0 或 1B.只能是0 或非0 正数C.只能是整型或字符型数据第二章选择结构 20 D.可以是任何类型的数据6.以下关于运算符优先顺序的描述中正确的是(C)。A.关系运算符 算术运算符 赋值运算符v 逻辑与运算符B.逻辑与运算符 关系运算符v 算术运算符 赋值运算符C.赋值运算符v 逻辑与运算符 关系运算符 算术运算符D.算术运算符 关系运算
14、符 赋值运算符v 逻辑与运算符7.下列运算符中优先级最高的是(C)。A.B.&C.+D.!=8.选择出合法的if语 句(设 intx,a,b,c;)(A)。A.if(a=b)c+;B.if(a=b)c+;C.if(ab)c+;D.if(a=b)c+;9.能正确表示“当 x 的取值在-58,-40 和 40,58 范围内为真,否则为假”的表达式是(C)。A.(x=-58)&(x=40)&(x=-58)|(x=40)|(x=-58)&(x=40)&(x=-58)|(x=40)|(x=58)10.判断char型变量s 是否为小写字母的正确表达式是(C)。A.z ar=f af)&(s=r aA)&(
15、s=r)D.(f af=s)11.若希望当X的值为奇数时,表达式的值为“真”,X的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(C)oA.x%2=l B.!(x%2=0)C.!(x%2)D.x%2第二章选择结构 21 1 2.已知 x=45,y=,a,,z=0;则表达式(x=z&yv,z,|!y)的值是(C)oA.0B.语法错C.1D.“假”1 3.指出下列程序段所表示的逻辑关系是(B)。if(ab)if(c=d)x=10;)elsex=-10;A.x=10a Z?且 c w dB.x=10a hC.10a b且 c=d-10a b且 c w dD.10a 人且c=d-10c手
16、d-1 x 0计算出y 值 的 是(C)。A.if(x0)y=l;else if(x=0)y=0;else y=-1;B.y=0;if(x0)y=l;else if(x=0)if(x0)y=l;第二章选择结构 22 else y=-1;D.if(x=0)if(x0)y=l;else y=0;else y=-1;15.执行以下语句后,y 的值为(A)。int x,y,z;x=y=z=O;+x|+y&+z;A.0 B.1 C.2D.不确定值16.已知int a=l,b=2,c=3;以下语句执行后a,b,c的值是(B)。if(ab)c=a;a=b;b=c;A.a=l,b=2,c=3 B.a=2,b=
17、3,c=3C.a=2,b=3,c=l D.a=2,b=3,c=217.请阅读以下程序:该 程 序(C)。#include stdio.hmain()int x=-10,y=5,z=0;if(x=y+z)printf(*n);else printf($n);)A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出*D.输出$18.以下程序的运行结果是(C)。#include stdio.hmain()第二章选择结构 23 int a=l;if(a+l)printf(,%dn/,a);else printf(,%dn,5 a);)A.0 B.1 C.2D.31 9.当 a=l,b=2,c=
18、4,d=3时,执行完下面一段程序后x 的值是(B)oif(ab)if(cd)x=l;elseif(ac)if(b d w 均为int类型变量,则执行下面语句后的w值 是(A)oa=l;b=2;c=3;d=4;w=(ab)?a:b;w=(wc)?w:c;w=(wb?ac?a:c:b);D.23.)A.5不确定B.4C.6若 a b cl c2 x、y 均为整型变量,正确的switch语句是(D)oA.switch(a+b);casey=a-b;break;casex=a*d;break;1:y=a+b;break;B.switch a case cl:0:y=a-b;case c2:break;
19、)C.switch(a*a+b*b)case 3:default:x=a+b;)D.switch(a-b)default:y=a*b;break;case 1:y=a+b;break;x=a+b;break;case 3:y=b-a;break;11:y=a-b;break;)case 3:case 10:case2 4.执行下列程序,输入为3 的数出结果是(C)。#include stdio.hmain()第二章选择结构 25 int k;scanf(d,&k);switch(k)case 1:printf(dn,k+);case 2:printf(dn,k+);case 3:k+);cas
20、e 4:printf(dn,k+);break;default:printf(,Full!nz,);)A.3 B.4 C.3D.4542 5.假定等级和分数有以下对应关系:等级:A 分数:85100等级:B 分数:6084等级:C 分数:60以下对于等级grade输出相应的分数区间,能够完成该功能的程序 段 是(D)。A.switch(grade)case Az:printf(85-100n);case B:printf(,60-84n);case z Cz:priutf(v60n);default:printfCgrade is error!n,/);)B.switch(grade)case
21、 Az:printf(85-100n);第二章选择结构 26 break;case z Bz:printf(60-84n);case,。:printf(,60n,/);default:printfCgrade is error!n,/);)C.switch(grade)case,A,:printf(85-100n);break;case B7:printf(,60-84n);break;case C:printf(60n);default:printf(z,grade is error!n,/);)D.switch(grade)case z Cz:printf(,60n,/);break;ca
22、se B :printf(,60-84n);break;default:printfCgrade is error!n);break;case,A,:printf(85-100n);)2 6.有如下程序,写出该执行结果(C)。#include stdio.hmain()(float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;第二章选择结构 27 printf(fn,y);)A.0.000000 B,0.250000 C.0.500000D.1.00000027.以下程序的运行结果是(C)。#include stdio.hmai
23、n()(int a=2,b=-l,c=2;if(ab)if(b50)printf(d,a);if(a40)printf(d ,a);if(a30)printf(d,a);)2.设 intx=9,y=8;表达式x=y+l的结果是1。3.定义 intx,y;执行 y=(x=l,+x,x+2);后,y 的值是_ 4。4.定义 int x=10,y,z;执行 y=z=x;x=y=z;后,x 的结果是 1。5.设 int a=l,b=2,c,d?e;执行c=(-a+)+(+b);d=(b)+(+a)-a;e=(a/(+b)-(a/(a);请问a,b,c,d,e的结果是:23 23 0。6.设 int a
24、=2,b=3,c,d,e,f;执行c=(a+=-b);第二章选择结构 30 d=(a=+b);e=(a-!=b);f=(+ab-);请问 a,b,c,d,e,f 的结果是:_3 2 1 1 0 07.以下程序的运行结果是_ 2 0 0 o#include stdio.hmain()(int a,b,c,s,w,t;s=w=t=0;a=-1;b=3;c=3;if(c0)s=a+b;if(a0)if(c0)w=a-b;else t=c;printf(z,%d%d%d,s,w,t);)8.以下程序的运行结果是_100 o#include stdio.hmain()(int a,b,c,de;a=c=
25、l;b=20;d=100;if(!a)d=d+;else if(!b)if(d)d=d;else d=d;第二章选择结构31 printf(,%dnn,/,d);)9.以下程序的运行结果是_6 250(换行)5100 o#include stdiohmain()(int a,b=250,c;if(c=b)0)a=4;else if(b=0)a=5;else a=6;printf(,t%dt%dn,a,c);if(c=(b=0)a=5;printf(,t%dt%dn,?a,c);if(a=c=b)a=4;printf(,t%dt%dn,a,c);)1 0.下面程序根据以下函数关系,对输入的每个x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 练习题 答案
限制150内