C语言程序的设计习题与上机的指南答案.doc
《C语言程序的设计习题与上机的指南答案.doc》由会员分享,可在线阅读,更多相关《C语言程序的设计习题与上机的指南答案.doc(167页珍藏版)》请在咨信网上搜索。
1、 第一部分习题篇第一章C语言概述一单选题1以下说法中正确的是(C)。A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言中的main()函数必须放在程序的开始部分2一个C语言程序是由(B)。A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成3C语言规定,在一个源程序中,main函数的位置(C)。A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后4以下叙述不正确的是(D)。A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数
2、C)C程序的基本组成单位是函数D)在C程序中,注释只能位于一条语句的后面5下列关于C语言的说法不正确的是(D)。A)C语言既有高级语言的功能,也具有低级语言的一些功能B)C语言中的一条执行语句都必须用分号结束C)注释可以出现在程序中任意合适的地方D)include命令行后面必须加分号6用C语言编写的代码程序(B)。A)可以立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行7用高级语言(如C语言)编写的程序称为(A)A)源程序B)目标程序C)可执行程序D)编译程序8一个函数的组成有(A)。A)函数首部和函数体B)函数名和函数的声明部分C)主函数和子函数D)声明部分和执行部分9在
3、C语言中,用来表示“取地址”的符号是(B)。A)B)C)*D)10C语言是计算机高级语言,它适合于作为系统描述语言,它(A)。A)既可用来写系统软件,也可用来写应用软件B)只能写系统软件,不能用来写应用软件C)不能写系统软件,只能用来写应用软件D)既不能写系统软件,也不能写应用软件二填空题1C语言用函数作为程序的模块单位,便于实现程序的模块化。2C语言允许直接访问物理地址,能进行位操作。3用C语言编写的程序,每一个语句和数据定义的结尾必须要有一个分号。4每个C程序中必须有一个main()函数。5C程序中的函数体由括起来。6C程序中的“n”表示在程序运行中换行。7C程序中,“/*/”表示注释部分
4、。8C程序中,一个函数由函数首部和函数体组成。9一个C程序总是从main()函数开始执行的,不论该函数在整个程序中的位置如何。10在纸上编好一个C源程序后,要经过编辑、编译、连接、运行这几个步骤进行上机运行。三判断题1C语言不具有低级语言的特性。(错)2C语言之所以也被称为中级语言,是因为它比高级语言的功能要少,而比低级语言的功能多。(错)3C语言与其他高级语言一样具有结构化的控制语句。(对)4C语言允许直接访问物理地址。(对)5每一个C程序必须有一个main函数。(对)6C程序的语句最后应有一个分号。(对)7C程序中的main函数必须放在整个程序的最前头。(错)8计算机高级语言对源程序进行翻
5、译有两种方式:编译和解释。(对)四编程题1编写一个C程序,输出以下信息:*Iamastudent.*#include/*包含头文件,为了使用printf和scanf语句,注意句末无分号*/void main()printf(“*n”);/*n的作用相当于回车*/printf(“Iamastudent.n”);printf(“*n”);2编写一个C程序,输入a、b两个数,输出其的数。(只用一个主函数)#includevoid main()inta,b;printf(“Please input a,b:n”);scanf(“%d,%d”,&a,&b);/*注意输入两个数之间用逗号分隔*/if(ab
6、)printf(“%d”,a);elseprintf(“%d”,b);3编写一个C程序,输入a、b、c三个数,输出其中最大数。(只用一个主函数)#includevoid main()int a,b,c,max;printf(“Please input a,b,c:n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(ab)max=b;/*max用于保存a,b中比较大的数*/if(maxc)max=c;/*将a,b中较大的数再和c比较*/printf(“Thelargestnumberis%d”,max);第二章数据与运算一单选题1C语言中最简单的数据类型包括(B)。A
7、)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型2C语言中运算对象必须是整型的运算符是(D)。A)*B)/C)D)3在C程序中,以下不正确的叙述是(D)。A)逗号运算符的优先级最低B)ABC和abc是两个不同的变量C)若a和b类型一样,在执行了赋值表达式a=b后,b中的值将放入a中,而b的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数据4设有intx8,表达式x*1/3的值是(A)。A)2B)3C)8D)95若m,x,y,z都是整型变量,则计算表达式m=(x=5,y=10,z=25)执行后,m的值为(C)。A)5
8、B)10C)25D)406设变量i是int类型,f是float型,d是double 型,执行表达式5i-f*d,其结果的数据类型为(B)。A)int型B)double 型C)float型D)非法表达式7设变量i是int类型,执行语句i=A+25后,正确的叙述是(C)。A)i的值是字符DB)i的值是字符A的ASCII值加上25C)i的值是字符A的ASCII值加上2D)非法表达式8下列是用户自定义标识符的是(B)。A)intB)_xyC)2xyD)3-xy9下面与x=y+完全等价的表达式是(A)。A)x=y,y=y+1B)x=x+1,y=xC)x=+yD)x+=y+110已知各变量的类型说明如下:
9、int k,a,b;long w=8;floatx=256;以下不符合C语言语法的表达式是(A)。A)x5B)w=5C)k=(a=8,b=6,a-b)D)a+=a-=(b=2)*(a=5)11运行以下程序段时编译出错,其原因是(D)。char c1=a,c2=123;printf(%c,%dn,c1,c2);A)字符串要用123表示B)123只能赋值给字符数组C)c2是字符变量,不能用%d格式输出D)c2是字符变量,只能赋以字符常量12若定义float a;,现要从键盘输入a数据,其整数位为3位,小数位为2位,则选用(A)。A)scanf(%6f,&a);B)scanf(%52f,a);C)s
10、canf(%62f,&a);D)scanf(%f,a);13若定义double t;,则表达式t=1,t+5,+t的值为(B)。A)10B)20C)60D)7014已知各变量的类型说明如下,则C语言中错误的表达式是(A)。int k,a,b;unsigned long w=5;double x=142;A)x%(-3)B)w+=2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4*(a=3)15以下程序段的运行结果是(C)。int a=0,b=0,c=0;if(a&+b)c+;printf(%d,%dn,b,c);A)1,1B)1,0C)0,0D)0,1二填空题1在C语言中,一个flo
11、at 型数据在在中所占的字节数为4,一个double 型数据在在中所占的字节数是8。2下面程序的输出结果是28。main()int a=2,b=3,c=4;a*=16+(b+)-(+c);printf(“%d”,a);3下面程序的输出结果是5。main()int x=17,y=26;printf(“%d”,y/=(x%=6);4执行下面程序段后,c3中的值是0。int c1=1,c2=2,c3;c3=10/c2*c1;5进行下列变量定义后,表达式a*b+d-c的类型是double 。char a;int b;float c;double d;6下面程序的输出结果是8,10。main()int
12、x=010,y=10;printf(“%d,dn”,x,y);7下面程序的输出结果是12。main()int x=3,y=5;printf(“%dn”,x=(x-)*(-y);8已知字母A的ASCII码是十进制数65,设c为字符型变量,则表达式cA+5-2的值为D或68。9下面程序的输出结果是52。main()int x=065;printf(“%dn”,-x);/10下面程序的输出结果是25,21,37。main()int a,b,c;a=25;b=025;c=0x25printf(“%d,%d,%dn”,a,b,c);11下面程序的输出结果是48。main()int x=0110;prin
13、tf(“%xn”,x);12下面程序的输出结果是20200.000000。main()char c;int n=100;float f=10;double x;x=f*=n/=(c=5);printf(“%d%fn”,n,x);13写出下面程序的运行结果。(请用表示空格)main()char c1=a,c2=b,c3=c,c4=101,c5=116;printf(“a%cb%ctc%ctabcn”,c1,c2,c3);printf(“tb%c%cn”,c4,c5);程序的运行结果是:aabbccabcAN14下面程序的运行结果是9,11,9,10。main()int i,j,m,n;i=8;j
14、=10;m=+i;n=j+;printf(“%d,%d,%d,%dn”,i,j,m,n);15以下程序的运行结果是11.50。#includevoid main()int i=5,j=9;float x=2.3,y=4.5;printf(%8.2fn,i%(int )(x+y)*j/2/3+y);三判断题1C语言中,字符常量可以用单引号或双引号括起来。(错)2C语言中,字符常量只能包含一个常量(字符)。(对)3在C语言中,字符串常量隐含处理成以0结尾。(对)4下面程序段的输出结果是9。(错)int a=9;printf(“%on”,a);(注意:%o中的o是字母o,不是数字0)5C语言中,用户
15、所定义的标识符允许使用关键字。(错)6C语言中,用户所定义的标识符中,大、小字母代表不同标识。(对)7C语言中,符号常量的值在程序运行过程中可以改变。(错)8C语言中,不要求对程序中所用到的变量进行强制定义。(错)9C语言中,一个整数如果其值在32376832767围,认为它是int 型,只能赋值给int 型变量。(错)10设一个C系统的float 型有效数字是7位,则超过7位数的运算是不准确的。(对)四计算题1求下面表达式的值。1)x+a%3*(int )(x+y)%2/4设x=25,a=7,y=47第1步:(int )(x+y)=(int )(7.2)=7第2步:a%3*7%2/4=7%3
16、*7%2/4=1*7%2/4=1/4=0第3步:x+0=x=2.5(计算机显示为2.500000)2)(float )(a+b)/2+(int )x%(int )y设a=2,b=3,x=35,y=25第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+=aa=a+a=12+12=242)a-=2a=a-2=12
17、-2=103)a*=2+3a=a*(2+3)=12*5=604)a/=a+aa=a/(a+a)=12/24=0注意a是整型5)a%=(n%=2)已知:n=5a=06)a+=a-=a*=a从右向左解:a=a*a=144;a=a-a=0;a=a+a=0五编程题1要将“China”译成密码,规律是:用原来的字母后面第4个字母代替原来的字母。例如,“A”用字母“E”来替代。因此,“China”应译为“Glmre”。编程:用赋初值的方法使c1c2c3c4c5这五个变量的值分别为C、h、i、n、a,经过运算,这五个变量分别变为G、l、m、r、e,并输出。#includevoid main()char c1
18、=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%cn”,c1,c2,c3,c4,c5);运行结果:passwordisGlmre也可以用循环和数组:#includevoid main()char c=“China”;printf(“password is“);for(int i=0;i=4,i+)printf(“%c”,ci+=4);printf(“n”);2请编程,要求用赋初值的方法使c1c2这两个变量的值分别为97和98,然后分别按整型和字符型输出。#incl
19、udevoid main()char c1=97,c2=98;printf(“%d,%dn”,c1,c2);printf(“%c,%cn”,c1,c2);3编写程序,从键盘输入三个单精度数a、b、c,计算总和、平均值、x=a2+b2+c2的值,并计算x平方根的值。所有运行数据保留三位小数,第四位四舍五入。#include#includevoid 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;sq
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 设计 习题 上机 指南 答案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。