ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:34.62KB ,
资源ID:11987380      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11987380.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计第17章选择填空习题及答案.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计第17章选择填空习题及答案.docx

1、C语言程序设计第17章选择填空习题及答案习 题 一一、选择题1C程序的基本单位是( A)。A函数 B文件 C语句 D字符2C程序中的变量(B )。A不用说明 B先说明后引用C先引用后说明 D引用和说明顺序无关3变量的说明在(B )。A执行语句之后 B执行语句之前C执行语句当中 D位置无关4C语言是一种( C)。A机器语言 B符号语言C高级语言 D面向对象的语言二、填空题1一个C程序总是从 主函数 开始执行。2结构化程序由 顺序 、 选择 、 循环 三种基本结构构成。3一个C程序只有一个名为 main 的主函数。4C程序中的每个语句以 分号 结束。5C程序中,函数由 函数首部 和 函数体 组成。

2、6每个基本结构有 一个 入口和 一个 出口,没有 死循环 和 死语句 。7算法是 计算机解决问题所依据的步骤。习 题 二一、选择题1下列数据中属于字符串常量的是( B)。AABC BABC Cabc DA2在计算机内存中,n占用的字节数是( C)。A4 B3 C1 D23字符串ABC在内存中占用的字节数是( D)。A6 B8 C3 D44在C语言中,合法的长整型常数是 ( B)。A B0L C0. D2.654e115char型常量在内存中存放的是( A)。AASCII代码值 BBCD代码值C十进制代码值 D内码值6下列各项中正确的标识符是( D)。A?bb Ba=8 C b. Db_47下列

3、不正确的转义字符是( D)。A B 0 C D0x48设整型变量a、b的值均为5,则表达式(m=n=a+)/(n=b-2)的值为( B)。A0 B1 C2 D39设a的值为5,执行下列语句后,b的值不为2的是( C)。Ab=a/2 Bb=6-(-a) Cb=a%2 Db=(float)a/210执行语句x=(a=3,b=a-)后,x、a、b的值依次是( C)。A3,3,2 B3,2,2 C3,2,3 D2,3,211设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是( D)。A3 B0 C9 D-1212在下列运算符中,优先级最高的是( B)。A& B% C= D=13

4、设整型变量a的值为3,则计算表达式a-a后,表达式的值为(B)。A1 B0 C2 D表达式出错14设整型变量a、b、c的值均为2,表达式a-b+c+的结果是( C)。A6 B9 C2 D表达式出错15若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( D)。A1 B2.5 C2 D2.016下列表达式中符合C语言语法的赋值表达式是( C)。Aa=4+b+c=a+8 Ba=4+b+=a+8 Ca=(4+b,b+,a+8) Da=4+b,c=a+817若有以下定义:char a;int b;float c;double d;,则表达式a*b+d-c的值的类型为( D)。Ain

5、t Bfloat Cchar Ddouble二、填空题1在内存中存储A要占 2 个字节,存储A要占 1 个字节。2符号常量的定义方法是 #define 常量名 常量 。3无符号基本整型的数据类型符为 unsigned int双精度实型数据类型符为 double ,字符型数据类型符为 char 。4十进制数673的二进制、八进制和十六进值数分别为 、 2412 和 2A1 。5在C语言中,书写八进制数时必须加前缀 0 ;书写十六进制数时必须加前缀 0x 。6在微机上,int型、short型、long型、float型和double型数据一般在内存中分别占 2 字节、 2 字节、 4 字节、 4 字

6、节和 8 字节。7设有下列运算符:=,其中优先级最高的是 + ,优先级最低的是 & 。8设x、y为int型变量,且x=1,y=2,则表达式1.0+x/y的值为 1.0 。9设整型变量x、y、z均为5,则: 执行x-=y-z后,x的值为 5 。 执行x%=y+z后,x的值为 5 。10数学式的C语言表达式为 a/b*c) 。三、简答题1字符常量与字符串常量有什么区别?2对于Turbo C系统来说,char型变量与int型变量在内存中存储数据的区别是什么?3整型变量可细分为哪六类?4什么是一个实型数据的规范化指数形式?5设x=3.5,a=5,y=6.7,求算术表达式x+a%3*(int)(x+y)

7、%2/4的值。6设a=2,b=3,x=4.5,y=1.6,求表达式(float)(a+b)/2+(int)x%inty的值。 7设整型变量a=12,写出下列表达式运算后a的值。 a*=2+5 a/=a+a a+=a-=a*=a8写出下列程序的运行结果。main() char c1=A,c2=B,c3=C,c4=101,c5=h42;printf(A%cb%ct%ctbcn,c1,c2,c3);printf(tb%c%c,c4,c5);结果:AAbB C abc AB9写出下面程序的运行结果。main() int i,j,m,n;i=5;j=6;m=+i;n=-j;printf(%d,%d,%d

8、,%d,i,j,m,n);结果:6,5,6,5习 题 三一、选择题1printf()函数输出实数时,使用的格式字符是(C)。A%d B%c C%f D%o2下面变量说明中(C)是正确的。Achar:a ,b ,c; Bchar a;b;c; Cchar a , b , c; Dchar a,b ,c3putchar()函数可以向终端输出一个(D )。A整型变量表达式值 B实型变量值 C字符串 D字符或字符型变量值4阅读以下程序,当输入数据的形式为:25,13,10CR,正确的输出结果为( D )。main() int x,y,z;scanf(%d%d%d,&x,&y,&z);printf(x+

9、y+z=%dn, x+y+z); Ax+y+z=48 Bx+y+z=35 Cx+z=35 D不确定值5以下说法正确的是( D )。A. 输入项可以是一个实型常量B. 只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d,b=%d);C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f);D. 当输入数据时,必须指明变量的地址,如scanf(%f,&f);6以下能正确地定义整型变量a、b和c并为其赋初值5的语句是(C )。Aint a=b=c=5; Bint a,b,c=5;Cint a=5,b=5,c=5; Da=b=c=5;7已知ch是字

10、符型变量,下面正确的赋值语句是(B )。Ach=a+b; Bch=xff; Cch=08; Dch=;8设x、y均为float型变量,则以下不合法的赋值语句是( B )。A+x; By=(x%2)/10; Cx*=y+8; Dx=y=0;9以下格式符中,不能用来输入实型数的是( B )Af Be(E) Cg(G) Dx10. 若float num=123.456,以%+10.4d的格式输出,结果正确的是( B )A123. B 123.4560 C123.4560 D+123.4560二、填空题1以下程序的输出结果是 x=1 y=2 *sum*=3 10 squaredis :100 。mai

11、n() int x=1,y=2;printf(x=%d y=%d *sum*=%dn,x,y,x+y);printf(10 squared is :%dn,10*10);2以下程序的输出结果是 a=325 x= 3.14 。main() int a=325;double x=3.;printf(a=%2d x=%7.2fn,a,x);3假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空:a+=b ; b=a-b ;a-=b ;4若x为int型变量,则执行以下语句后x的值是 -14 。x=7;x+=x-=x+x;5C语句可以分为五类,含 7 种控制语句、 声明 语句

12、、 表达式 语句、空语句和复合语句。6赋值语句是由 赋值表达式 加上一个分号构成。7a=12,n=5,表达式a%=(n%=2)值是 0 。8有一个输入函数scanf(%d,k);则不能使float类型变量k得到正确数值的原因是 k前无& 和 %d与k的类型不一致 。9putchar()函数可以向终端输出一个 字符 。10已有定义int i,j;float x;为将-10赋给 i,12赋给 j,410.34赋给x,则对应以下scanf()函数调用语句的数据输入形式是 -12 C 410.34 。scanf(%o%x%e,&i,&j,&x);11pirntf()函数中用到格式符%5s,其中数字5表

13、示输出的字符串占5列,如果字符串长度大于5,则 按实际宽度输出 。12使用getchar()和putchar()函数必须在源程序中加 #includestdio.h 。习 题 四一、选择题1执行下面的程序段后,b的值为( B )。int x=35;char z=A;int b;b=(x&15)&(zb)(n-cd)后n的值为( B )。A.1 B2 C3 D43若k是int型变量,且有下面的程序段,输出结果是( A )。K=3;if(k=0) printf(#);else printf(&);A# B&C#& D有语法错误,无输出结果4设A、B和C都是int型变量,且A=3,B=4,C=5,则

14、下面表达式中值为0的达式是( D )。 AA&B BA=BCAB+CB D!(AB)&!C1)5阅读程序: #includestdio.hmain() float x,y;scanf(f,&x);if(x0.0) y=0.0;else if(x5.0)&(x!=2.0)y=1.0(x+2.0);else if(x10.0) y=1.0x;else y=10.0;printf(fn,y);若运行时从键盘上输入2.0,则上面程序的输出结果是( C )A0. B0. C0. D1.6阅读程序:#includestdio.hmain() int x=1,y=0,a=0,b=0;switch(x) ca

15、se 1:switch(y) case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;printf(a=d,b=dn,a,b);上面程序输出结果是( A )。Aa=2,b=l Ba=l,b=l Ca=l,b=0 Da=2,b=27下面程序的输出是(C )。main( ) int a=1,b=4,k;k=(a+=0)&(!(b-=y)&(y=z) B(x=y)AND(y=z)C(x=y=z) D(x=y)&(y=z)9若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( D )。Aa0 B!a Ca=0 Da10若有以下定

16、义:float x; int a,b;则正确的switch语句是(D )。Aswitch(x)case 1.0:printf(*n);case2.0:printf(*n);Bswitch(x)case 1,2:printf(*n);case 3:printf(*n);Cswitch(a+B) case 1:printf(n);case 1+2:printf(*n);Dswitch(a+b);case 1:printf(*n);case 2:printf(*n);11.下列语句中,错误的是(C )。Awhile(a=b)a+; Bwhile(0); Cdo Ddo printf(“okn”);

17、x+;while(x=5) while(-x=0); 12. 执行语句:for(i=1;i+8;y=+i)printf(%d %d,x-,y);A10 1 9 2 B9 8 7 6 C10 9 9 0 D10 10 9 114. 以下for语句的循环次数为:( B )。int i=0,j=0;for(;!j&i=5;i+)j+;A5次 B1次 C6次 D无限多次15. 以下程序段中内嵌循环共被执行的次数为:( A )for(i=5;i;i-)for(j=0;jA&ch=Z)? (ch+32):ch该表达式的值是 A 。2若已知a=10,b=20,则表达式“!ab”的值为 1 。3已知a=10,

18、b=20,c=30,则表达式a=25&b-=2&c+?printf(*a=d,b=d,C=dn,a,b,c):printf(#a=d,b=d,C=dn,a,b,c);的值为 #a=10,b=19,c=30 。4下面程序的输出结果是 0,0,4 。main() int a=-1,b=4,k; k=(+a=0);printf(dddn,k,a,b);5假定所有变量均已正确说明,下列程序段运行后,x的值是 4 。a=b=c=0; x=35; if(!a) x-;else if(b); if(c) x=3;else x=4;6若执行下面的程序时,从键盘上输入3和4,则输出结果是 3 。main( )

19、int a,b,s;scanf(dd,&a,&b);s=a;if(a&b) printf(dn,s); else printf(dn,s-);7以下程序的输出结果是 x=11,i=11 。main() int x=1,i=1;for(;x=10)break;if(x%2!=1)x+=3;continue;x-=1;printf(x=%d,i=%dn,x,i); 8以下程序的输出结果是 i=9,j=10 。main() int i=10,j=0;doj=j+i; i-;while(ij);printf(i=%d,j=%dn,i,j);9以下程序的输出结果是 35 。main() int m=7,

20、n=5,i=1;doif(i%m=0)if(i%n=0)printf(“%dn”,i);break;i+;while(i!=0);10以下程序的输出结果是 1,-2 。main() int x=3;doprintf(%d,x-=2);while(!(-x);11以下程序的输出结果是 i=4,j=6 。main() int i,j; for(i=0;i5;i+) for(j=1;j10;j+) if(j=6) break; if(i3)break;printf(i=%d,j=%dn,i,j);习 题 五一、选择题1下列为一维数组初始化时, 正确的是( D ).Aint a 1,3,5,7,9,1

21、5; Bint a5 ;Cint a55*3; Dint a50;2下列一维数组说明中,正确的是( A ).A#define M 10 Bint m;float sM; scanf(“%d”,&m);float am;Cint m=10, am; Dint a ;3若要将2,4,6,8存入数组a中,不正确的是( C ).Aint a4=2,4,6,8; Bint a =2,4,6,8;Cint a4; a=2,4,6,8; Dint a4; a0=2;a1=4,a2=6;a3=8;4若有说明: int a55; 则对数组元素的正确引用是( C ).Aa3+23 Ba0,3 Ca41+2 Da

22、25下列二维数组初始化中,错误的是( A ).Aint a2 =3,4,5; Bint a3=2,3,4,5,6,7;Cint a33=0; Dint a54=1,2,2,3,3,4,4,5;6若有以下数组定义: char ch=book_120n; 则数组ch的存储长度是(D )。A7 B.8 C.9 D.107以下程序段的输出结果是( A ).char str8=a,b,c,d,0,y,z,0;printf(%s,str);Aabcd Babcd yz Cabcdyz D出错8设有如下定义: char s120=tianjin, s210=beijing;执行语句:strcpy(s1+4,

23、s2); printf(%s,s1);后,输出结果是( B ).Atian Btianbeijing Ctianjinbeijing Dtianbeij9合法的数组定义是( B )Aint a string; Bint a 0, 1, 2, 3, 4, 5;Cchar astring; Dchar a 0, 1, 2, 3, 4, 5;10若有以下说明,则数值为4的表达式是( D )int a12=1,2,3,4,5,6,7,8,9,10,11,12;char c=a,d,g;Aag-c Ba4 Cad-c Dad-c11.下列语句中,正确的是( D )Achar a3 =abc, I; Bc

24、har a 3abc, I;Cchar a3 = a, I; Dchar a 3abc, I;12.设有如下定义,则正确的叙述为( C )char x=abcdefg;char y=a,b,c,d,e,f,g;A数组x和数组y等价 B数组x和数组y的长度相同C数组x的长度大于数组y的长度 D数组x的长度小于数组y的长度二、填空题1设有定义语句“int a34=1, 2, 3”,则a11值为 0 ,a21的值为 0 。2执行“int b5= , a 3=1, 2, 3, 4, 5, 6”后,b4= 0 ,a12= 6 。3下面程序的功能是输出数组s中最大元素的下标,请填空。 main() int k,p;int s=1,-9,7,2,-10,3;for(p=0,k=p;psk) printf(%dn,k);4下面程序的功能是将一个字符串str的内容颠倒过来,请填空。#includestring.hmain () int i,j, k ;char str =

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1