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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言程序的设计习题与上机的指南答案.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言程序的设计习题与上机的指南答案.doc

1、 第一部分习题篇 第一章C语言概述 一.单选题 1.以下说法中正确的是(C)。 A)C语言程序总是从第一个函数开始执行 B)在C语言程序中,要调用函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言中的main()函数必须放在程序的开始部分 2.一个C语言程序是由(B)。 A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 3.C语言规定,在一个源程序中,main函数的位置(C)。 A)必须在最开始 B

2、必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 4.以下叙述不正确的是(D)。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释只能位于一条语句的后面 5.下列关于C语言的说法不正确的是(D)。 A)C语言既有高级语言的功能,也具有低级语言的一些功能 B)C语言中的一条执行语句都必须用分号结束 C)注释可以出现在程序中任意合适的地方 D)include命令行后面必须加分号 6.用C语言编写的代码程序(B)。 A)可以立即执行 B)是一个源程序 C

3、经过编译即可执行 D)经过编译解释才能执行 7.用高级语言(如C语言)编写的程序称为(A) A)源程序 B)目标程序 C)可执行程序 D)编译程序 8.一个函数的组成有(A)。 A)函数首部和函数体 B)函数名和函数的声明部分 C)主函数和子函数 D)声明部分和执行部分 9.在C语言中,用来表示“取地址”的符号是(B)。 A)# B)& C)* D)@ 10.C语言是计算机高级语言,它适合于作为系统描述语言,它(A)。 A)既可用来写系统软件,也可用来写应用软件 B)只能写系统软件,不能用来写应用软件 C)不能写

4、系统软件,只能用来写应用软件 D)既不能写系统软件,也不能写应用软件 二.填空题 1.C语言用函数作为程序的模块单位,便于实现程序的模块化。 2.C语言允许直接访问物理地址,能进行位操作。 3.用C语言编写的程序,每一个语句和数据定义的结尾必须要有一个分号。 4.每个C程序中必须有一个main()函数。 5.C程序中的函数体由{}括起来。 6.C程序中的“\n”表示在程序运行中换行。 7.C程序中,“/*……*/”表示注释部分。 8.C程序中,一个函数由函数首部和函数体组成。 9.一个C程序总是从main()函数开始执行的,不论该函数在整个程序中的位置如何。 10.在纸

5、上编好一个C源程序后,要经过编辑、编译、连接、运行这几个步骤进行上机运行。 三.判断题 1.C语言不具有低级语言的特性。(错) 2.C语言之所以也被称为中级语言,是因为它比高级语言的功能要少,而比低级语言的功能多。(错) 3.C语言与其他高级语言一样具有结构化的控制语句。(对) 4.C语言允许直接访问物理地址。(对) 5.每一个C程序必须有一个main函数。(对) 6.C程序的语句最后应有一个分号。(对) 7.C程序中的main函数必须放在整个程序的最前头。(错) 8.计算机高级语言对源程序进行翻译有两种方式:编译和解释。(对) 四.编程题 1.编写一个C程序,输出以下信

6、息: ************ Iamastudent. ************ #include /*包含头文件,为了使用printf和scanf语句,注意句末无分号*/ void main() { printf(“***********\n”); /*\n的作用相当于回车*/ printf(“Iamastudent.\n”); printf(“***********\n”); } 2.编写一个C程序,输入a、b两个数,输出其的数。(只用一个主函数) #include void main() { inta,b; pri

7、ntf(“Please input a,b:\n”); scanf(“%d,%d”,&a,&b); /*注意输入两个数之间用逗号分隔*/ if(a>b) printf(“%d”,a); else printf(“%d”,b); } 3.编写一个C程序,输入a、b、c三个数,输出其中最大数。(只用一个主函数) #include void main() { int a,b,c,max; printf(“Please input a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(a

8、 /*max用于保存a,b中比较大的数*/ if(max

9、bc是两个不同的变量 C)若a和b类型一样,在执行了赋值表达式a=b后,b中的值将放入a中,而b的值不变 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数据 4.设有intx=8,表达式x++*1/3的值是(A)。 A)2 B)3 C)8 D)9 5.若m,x,y,z都是整型变量,则计算表达式m=(x=5,y=10,z=25)执行后,m的值为(C)。 A)5 B)10 C)25 D)40 6.设变量i是int类型,f是float型,d是double 型,执行表达式5+’i’-f*d,其结果的数据类型为(B)

10、 A)int型 B)double 型 C)float型 D)非法表达式 7.设变量i是int类型,执行语句i=’A’+2.5后,正确的叙述是(C)。 A)i的值是字符D B)i的值是字符A的ASCII值加上2.5 C)i的值是字符A的ASCII值加上2 D)非法表达式 8.下列是用户自定义标识符的是(B)。 A)int B)_xy C)2xy D)3-xy 9.下面与x=y++完全等价的表达式是(A)。 A)x=y,y=y+1 B)x=x+1,y=x C)x=++y D)x+=y+1 10.已知各变量的类型说明如下:

11、int k,a,b; long w=8; floatx=2.56; 以下不符合C语言语法的表达式是(A)。 A)x%5 B)w-=5 C)k=(a=8,b=6,a-b) D)a+=a-=(b=2)*(a=5) 11.运行以下程序段时编译出错,其原因是(D)。 char c1='a',c2='123'; printf("%c,%d\n",c1,c2); A)字符串要用"123"表示 B)'123'只能赋值给字符数组 C)c2是字符变量,不能用%d格式输出 D)c2是字符变量,只能赋以字符常量 12.若定义float a;,现要从键盘输入a数据,其整数位为3位

12、小数位为2位,则选用(A)。 A)scanf("%6f",&a); B)scanf("%5.2f",a); C)scanf("%6.2f",&a); D)scanf("%f",a); 13.若定义double t;,则表达式t=1,t+5,++t的值为(B)。 A)1.0 B)2.0 C)6.0 D)7.0 14.已知各变量的类型说明如下,则C语言中错误的表达式是(A)。 int k,a,b; unsigned long w=5; double x=1.42; A)x%(-3) B)w+=2 C)k=(a=2,b=3,a+b)

13、 D)a+=a-=(b=4*(a=3)) 15.以下程序段的运行结果是(C)。 int a=0,b=0,c=0; if(a&&++b)c++; printf("%d,%d\n",b,c); A)1,1 B)1,0C)0,0D)0,1 二.填空题 1.在C语言中,一个float 型数据在在中所占的字节数为4,一个double 型数据在在中所占的字节数是8。 2.下面程序的输出结果是28。 main() { int a=2,b=3,c=4; a*=16+(b++)-(++c); printf(“%d”,a); } 3.下面程序的输出结果是5。 main(

14、) { int x=17,y=26; printf(“%d”,y/=(x%=6)); } 4.执行下面程序段后,c3中的值是0。 int c1=1,c2=2,c3; c3=1.0/c2*c1; 5.进行下列变量定义后,表达式a*b+d-c的类型是double 。 char a; int b; float c; double d; 6.下面程序的输出结果是8,10。 main() { int x=010,y=10; printf(“%d,%d\n”,x,y); } 7.下面程序的输出结果是12。 main() { int x=3,

15、y=5; printf(“%d\n”,x=(x--)*(--y)); } 8.已知字母A的ASCII码是十进制数65,设c为字符型变量,则表达式c=’A’+’5’-’2’的值为D或68。 9.下面程序的输出结果是52。 main() { int x=065; printf(“%d\n”,--x); / } 10.下面程序的输出结果是25,21,37。 main() { int a,b,c; a=25; b=025; c=0x25 printf(“%d,%d,%d\n”,a,b,c); } 11.下面程序的输出结果

16、是48。 main() { int x=0110; printf(“%x\n”,x); } 12.下面程序的输出结果是20200.000000。 main() { char c; int n=100; float f=10; double x; x=f*=n/=(c=5); printf(“%d%f\n”,n,x); } 13.写出下面程序的运行结果。(请用∪表示空格) main() { char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’; printf(“a%c∪b%c\tc%c\tabc\n”,c1,

17、c2,c3); printf(“\t\b%c∪%c\n”,c4,c5); } 程序的运行结果是:aa∪bb∪∪∪cc∪∪∪∪∪∪abc A∪N 14.下面程序的运行结果是9,11,9,10。 main() { int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d\n”,i,j,m,n); } 15.以下程序的运行结果是11.50。 #include void main() { int i=5,j=9; float x=2.3,y=4.5; printf("%8.2f

18、\n",i%(int )(x+y)*j/2/3+y); } 三.判断题 1.C语言中,字符常量可以用单引号或双引号括起来。(错) 2.C语言中,字符常量只能包含一个常量(字符)。(对) 3.在C语言中,字符串常量隐含处理成以‘\0’结尾。(对) 4.下面程序段的输出结果是9。(错) int a=9; printf(“%o\n”,a);(注意:%o中的o是字母o,不是数字0) 5.C语言中,用户所定义的标识符允许使用关键字。(错) 6.C语言中,用户所定义的标识符中,大、小字母代表不同标识。(对) 7.C语言中,符号常量的值在程序运行过程中可以改变。(错) 8.C语言中,

19、不要求对程序中所用到的变量进行强制定义。(错) 9.C语言中,一个整数如果其值在-323768~32767围,认为它是int 型,只能赋值给int 型变量。(错) 10.设一个C系统的float 型有效数字是7位,则超过7位数的运算是不准确的。(对) 四.计算题 1.求下面表达式的值。 1)x+a%3*(int )(x+y)%2/4设x=2.5,a=7,y=4.7 第1步:(int )(x+y)=(int )(7.2)=7 第2步:a%3*7%2/4=7%3*7%2/4=1*7%2/4=1/4=0 第3步:x+0=x=2.5(计算机显示为2.500000) 2)(float

20、)(a+b)/2+(int )x%(int )y设a=2,b=3,x=3.5,y=2.5 第1步:(float )(a+b)/2=(float )(2+3)/2=(float )(5)/2=5.0/2=2.5 第2步:(int )x%(int )y=(int )(3.5)%(int )(2.5)=3%2=1 第3步:2.5+1=3.5(计算机显示为3.500000) 2.写出下面赋值表达式运算后a的值,设原来a=12,n=5。 1)a+=a a=a+a=12+12=24 2)a-=2 a=a-2=12-2=10 3)a*=2+3 a=a*(2+3)=12*5=60 4)a/=a

21、a a=a/(a+a)=12/24=0注意a是整型 5)a%=(n%=2)已知:n=5a=0 6)a+=a-=a*=a从右向左解:a=a*a=144;a=a-a=0;a=a+a=0 五.编程题 1.要将“China”译成密码,规律是:用原来的字母后面第4个字母代替原来的字母。例如,“A”用字母“E”来替代。因此,“China”应译为“Glmre”。编程:用赋初值的方法使c1.c2.c3.c4.c5这五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,这五个变量分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。 #include void m

22、ain() { char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’; c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4; printf(“passwordis%c%c%c%c%c\n”,c1,c2,c3,c4,c5); } 运行结果:passwordisGlmre 也可以用循环和数组: #include void main() { char c[]={“China”}; printf(“password is“); for(int i=0;i<=4,i++) printf(“%c”,c[i]

23、4); printf(“\n”); } 2.请编程,要求用赋初值的方法使c1.c2这两个变量的值分别为97和98,然后分别按整型和字符型输出。 #include void main() { char c1=97,c2=98; printf(“%d,%d\n”,c1,c2); printf(“%c,%c\n”,c1,c2); } 3.编写程序,从键盘输入三个单精度数a、b、c,计算总和、平均值、x=a2+b2+c2的值,并计算x平方根的值。所有运行数据保留三位小数,第四位四舍五入。 #include #include

24、> void main() { double a,b,c,total,average,square,squareroot; printf("请输入三个单精度实数:"); scanf("%f%f%f",&a,&b,&c); total=a+b+c; average=total/3.0; square=a*a+b*b+c*c; squareroot=sqrt(square); printf("三个数的和=%-15.3f,三个数的平均值=%-15.3f\n",total,average); printf("三个数的平方和x=%.3f,x的平方根=%.3f\n",square,s

25、quareroot); } 运行结果: 请输入三个单精度实数:1.234.567.89 三个数的和=13.680,三个数的平均值=4.560 三个数的平方和x=84.559,x的平方根=9.196 4.输入三角形的三个边长,计算并输出三角形的面积。 #include #include void main() { float a,b,c,k,area; printf("请输入三角形三条边的边长:"); scanf("%f%f%f",&a,&b,&c); if((a+b<=c)||(a+c<=b)||(b+c<=a)) print

26、f("您输入的三条边无法构成三角形。\n"); else { k=(a+b+c)/2; area=sqrt(k*(k-a)*(k-b)*(k-c)); /*函数sqrt(x)是求x的平方根*/ printf("该三角形的面积是%6.2f\n",area); } } 5.输入两个长整型数,输出它们(整数除的)商和余数。 #include void main() { long a1,a2,a3,a4; printf("请输入两个整数:"); scanf("%ld%ld",&a1,&a2); a3=a1/a2; a4=a1%a2; printf

27、"两数进行整数除的商是%ld,余数是%ld\n",a3,a4); } 运行结果: 请输入两个整数:654321789 两数进行整数除的商是829,余数是240 6.输入两个整数,输出它们(实数除)的商,并输出商的第二位小数位(例如:15/8.0=1.875,1.875的第二位小数位是7)。 #include void main() { int a,b,c; float f; printf("请输入两个整数:"); scanf("%d%d",&a,&b); f=1.0*a/b; c=(int )(f*100)%10; printf("两数进行

28、实数除,商是%f,商的第二位小数位是%d\n",f,c); } 运行结果: 请输入两个整数:158 两数进行实数除,商是1.875000,商的第二位小数位是7 7.输入一个(unsigned 类型)无符号整数,分别输出它的低四位和高四位。 #include void main() { unsigned u,high4,low4; printf("请输入一个无符号整数:"); scanf("%u",&u); low4=(u&0xf);/*u的低四位保留原值,其余位置0*/ high4=(u&0xf000)>>12;/*u的高四位保留原值,其余位置0,并

29、右移12位*/ printf("%u的十六进制是%x\n",u,u); printf("十六进制表示%u的低四位是%x,高四位是%x\n",u,low4,high4); } 运行结果: 请输入一个无符号整数:54332 54332的十六进制是d43c 十六进制表示54332的低四位是c,高四位是d 8.输入两个小写字母分别赋值给字符变量ch1与ch2,将它们转换成大写字母,并交换ch1与ch2的值,最后输出ch1与ch2的值。 #include void main() { char c1,c2,t; printf("请输入两个半角的小写英文字母:

30、"); c1=getchar (); c2=getchar (); c1-=32; c2-='a'-'A';/*与32等价*/ t=c1; c1=c2; c2=t; printf("%c%c\n",c1,c2); } 运行结果: 请输入两个半角的小写英文字母:db BD 9.输入秒数,将它转换,用小时、分钟、秒来表示。例如输入7278秒,则输出:2小时1分18秒。 #include void main() { int k; int hour,minute,second; printf("请输入秒数:"); scanf("%d",&k

31、); hour=k/3600; k%=3600; minute=k/60; second=k%60; printf("%d小时%d分钟%d秒。\n",hour,minute,second); } 运行结果: 请输入秒数:7278 2小时1分钟18秒。 10.输入两个复数的实部和虚部,输出这两个复数积的实部和虚部。两复数的积按下面的公式计算:(a+bi)·(c+di)=(ac-bd)+(ad+bc)i。 #include void main() { float a,b,c,d,real,imag; printf("请输入第一个数的实部和虚部:"

32、); scanf("%f%f",&a,&b); printf("请输入第二个数的实部和虚部:"); scanf("%f%f",&c,&d); real=a*c-b*d; imag=a*d+b*c; printf("两个复数积的实部和虚部分别是%f,%f\n",real,imag); } 运行结果: 请输入第一个数的实部和虚部:1.12.2 请输入第二个数的实部和虚部:3.34.4 两个复数积的实部和虚部分别是-6.050000,12.100000 第三章C程序的基本控制结构 一.单选题 1.若变量已经正确定义为float 型,要通过语句scanf(“%f%f%f”,

33、a,&b,&c)。 给a输入10.0,n输入20.0,c输入30.0,下列不正确的输入形式是(B)。 A)10<回车>20<回车>30<回车> B)10.0,20.0,30.0<回车> C)10.0<回车>20.030.0<回车> D)1020<回车>30<回车> 2.若有说明语句:char c=’65’;则变量c(D)。 A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法,c的值不确定 3.若w=1,x=2,y=3,z=4,则条件表达式w

34、定义为int 型变量,若从键盘给它们输入数据,正确的输入语句是(B)。 A)inputx,y,z;B)scanf(“%d%d%d”,&x,&y,&z); C)scanf(“%d%d%d”,x,y,z);D)read(“%d%d%d”,&x,&y,&z); 5.有以下程序。 #include void main() { char a1=’A’,a2=’a’; printf(“%c\n”,(a1,a2)); } 以下叙述中正确的是(B)。 A)程序输出大写字母A B)程序输出小写字母a C)格式说明符不足,编译出错 D)程序运行时产生出错信息

35、 6.以下程序的输出结果是(A)。 #include void main() { int a=2,b=3,c=0,d; d=!a&&!b||!c; printf(“%d\n”,d); } A)1 B)0 C)非0的数 D)-1 7.以下程序的输出结果是(B)。 #include void main() { int a=6,b=5; printf(“%d\n”,--a+b,--b+a); } A)8 B)9 C)10 D)11 8.下面程序输出的结果是(D)。 #include

36、dio.h> void main() { int a=55,b=50,c=60,d; d=a>20?b:c; switch(D) { case40:printf(“%d,”,a); case50:printf(“%d,”,b); case60:printf(“%d,”,c); default:printf(“$\n”); } } A)50,60B)50,$C)60,$ D)50,60,$ 9.如果从键盘输入数据666,下面程序输出的结果是(C)。 #include void main() { int x; scanf(“%d”,

37、x); if(x>300)printf(“%d”,x); if(x>200)printf(“%d”,x); if(x>100)printf(“%d”,x); } A)666 B)666666C)666666666 D)以上都不对 10.有如下程序。 #include void main() { int a=5,b=6,c=1; switch(C) { case0:b++; case1:a++; case2:a++;b++; } printf(“a=%d,b=%d\n”,a,b); } 该程序的输出结果是(C) A)a=5,b=6

38、 B)a=6,b=7 C)a=7,b=7 D)a=7,b=8 11、下面的程序中: int i=9; while(i=0)i=i-1; 则下列描述正确的是(C) A)while循环执行9次 B)循环体语句执行一次 C)循环体语句一次也不执行 D)循环是无限循环 (注意:i=0是赋值语句,不是对i中值和0进行比较,因此程序执行后i的值是0而不是9) 12、下面的程序中: int i=-1; do {i=i*i;}while(!i); 则下列描述正确的是(B) A)循环体一次也不执行 B)循环体执行一次 C)循环体执行两次 D

39、是无限循环 13、下面的程序中: int i=0; while(i=1) {…} 则下列描述正确的是(C) A)循环控制表达式不合法 B)循环控制表达式为0 C)循环控制表达式为1 D)以上都不对 14、下面的程序中: int x=0,total=0; while(!x!=0)total+=++x; printf(“%d”,total); 则下列描述正确的是(D) A)程序段的控制表达式是非法 B)程序段是无限循环 C)运行程序段后输出0 D)运行程序段后输出1 15、若变量已正确定义,要求以下程序段完成6!的运算,不能完成的程

40、序段是(D)。 A) B) i=1; i=1; x=1; x=1; while(i﹤=6) do {x=x*i; {x=x*i; i++;} i++;} while(i﹤=6); C) D) for(x=1,i=1;i﹤=6;i++) for(i=1;i﹤=6;i++) x=x*i; {x=1;x=x*i;} 16、设n为整型变量,则for(n=10;n>=0;n--)循环次数为(C) A)9 B)10

41、 C)11 D)12 17、对表达式for(表达式1;;表达式3)可以理解为(B) A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3) 18、下面的程序运行结果是(B) #include void main() { int x=10; do x--; while(--x); printf("%d\n",x--); } A)-1 B)0 C)1 D)8 二.填空题 1.下面程序的输出结果是16.00,请

42、填空。 #include void main() { int a=9,b=2; float x=6.6,y=1.1,z; z=a/2+b*x/y+1/2; printf(“%5.2f\n”,z); } 2.下面程序输出的结果是Z。 #include void main() { char c=’A’; printf(“%c”,c+25); } 3.有以下程序。 #include void main() { char a,b,c,d; scanf(“%c,%c,%d,%d”,&a,&b,&c,&d);

43、 printf(“%c,%c,%c,%c\n”,a,b,c,d); } 若从键盘上输入5,6,65,66<回车>。则输出结果是5,6,A,B。 4.已知字母A的ASCII值是65,运行下面程序时输入B35<回车>,输出结果是1F。 #include main() { char a,b; a=getchar ();scanf(“%d”,&b); a=a-‘A’+’0’;b=b*2; printf(“%c%c\n”,a,b); } 5.下面程序的输出结果是22。 #include void main() { int x=13,y=

44、22; printf(“%d”,y/=(x%=6)); } 6.下列程序的功能是把从键盘上输入的整数取绝对值后输出。 #include void main() { int x; scanf(“%d”,&x); if(x<0) x=-x; printf(“%d\n”,x); } 7.下面程序的输出结果是9。 #include void main() {int a=3,b=6,c=9; a=a>b?a:b; a=a>c?a:c; printf(“%d”,a); } 8.从键盘用数字输入月份,然后用英文单词输出显示月

45、份。 #include void main() { int month; char ch; while(1) { printf(“\n please inputmonth(1-12):”); scanf(“%d”,&month); switch(month) { case1:printf(“January\n”);break; case2:printf(“February\n”);break; case3:printf(“March\n”);break; case4:printf(“April\n”);break; case5:pri

46、ntf(“May\n”);break; case6:printf(“June\n”);break; case7:printf(“July\n”);break; case8:printf(“August\n”);break; case9:printf(“September\n”);break; case10:printf(“October\n”);break; case11:printf(“November\n”);break; case12:printf(“December\n”);break; default:printf(“inputdataerror\n”

47、); } getchar (); printf(“\ncontinue?(Y/N):"); ch=getchar (); if(ch!='y'&&ch!='Y')break; } } 9.下面程序的输出结果是!!!。 #include void main() { int x=1,y=0; switch(x) { case1: switch(y) { case0:printf(“!!!\n”);break; case1:printf(“\n”);break; } break; case2:printf(“###\n”);

48、} } 10.下面程序的输出结果是27。 #include void main() { int sum=0,i; for(i=1;i<=4;i++) { switch(i) { case0: case1:sum=sum+2; case2: case3:sum=sum+3; default:sum=sum+4; } } printf(“%d”,sum); } 11.下面程序的输出结果是3,3,3。 #include void main() { int i=2,j=2,k=3; i

49、f((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k); } 12.若从键盘输入15,则下面程序输出的结果是151515。 #include void main() { int x; scanf(“%d”,&x); if(x>10)printf(“%d”,x); if(x>8)printf(“%d”,x); if(x>6)printf(“%d”,x); } 13、下面程序的输出结果是0。 #include void main() { int i,t=1; for(i=5;i>=0;i--

50、) t=t*i; printf("%d\n",t); } 14、下面程序的输出结果是D。 #include void main() { char ch; while((ch=getchar ())!='\n') { if(ch>='a'&&ch<='z')ch=ch-32; printf("%c",ch); } } 输入容:d 15、下面的程序为大写字母转换为小写字母。 #include void main() { char ch; while((ch=getchar ())!='\n') { if(ch>=

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服