版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计教程课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2C语言程序的基本结构是怎样的?举一个例子说明。答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。3C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。4★指出合法与不合法的标识符命名。答AB12--√leed_3--a*b2--×8stu--×D.K.Jon--×EF3_3--√PAS--√if--×XYZ43K2--√AVE#XY--×_762--√#_DT5--×C.D--×5说明下列TurboC热键的功能。答F2:源文件存盘F10:调用主菜单F4:程序运行到光标所在行(用于调试程序)Ctrl+F9:编译并链接成可执行文件Alt+F5:将窗口切换到DOS下,查看程序运行结果。6说明下列TurboC方式下输入并运行下列程序,记录下运行结果。①main(){printf("********************\n");printf("welcomeyou\n");printf("verygood\n);printf("********************\n");}②main(){inta,b,c,t;printf("pleaseinputthreenumbers;");scanf("%d,%d,%d",&a,&b,&c);/*教材S是错误的*/t=max(max(a,b),c);printf("maxnumberis:%d\n",t);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}答运行结果:********************welcomeyouverygood********************运行结果:pleaseinputthreenumbers;3,1,4/*左侧下划线内容为键盘输入*/maxnumberis:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。答main()8在TurboC环境下进行程序调试时,可以使用Run下拉菜单的___命令或按___键转到用户屏幕查看程序运行结果。答1、Userscreen2、Alt+F59★C语言对标识符与关键字有些什么规定?答1、标识符用来表示函数、类型及变量的名称,它是由字母、下划线和数字组成,但必须用字母或下划线开头。2、关键字是一种语言中规定具有特定含义的标识符,其不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。10C源程序输入后是如何进行保存的?答是以C为扩展名保存的纯文本文件。第二章C语言程序的基本数据类型与表达式-习题答案1★指出下列常数中哪些是符合C语法规定的。答'\'--×'101'--×"\"--×e3--×019--√0x1e--√"ab\n"--√1.e5--×(2+3)e(4-2)--×5.2e2.5--×2请找出下列程序中的错误,改正后写出程序运行结果。①voidmain(){intx,y=z=5,aver;x=7AVER=(x+y+z)/3printf("AVER=%d\n",aver);}②voidmain(){charc1='a';c2='b';c3='c';inta=3.5,b='A'printf("a=%db=\'\"end\n",a,b);printf("a%cb%c\bc%c\tabc\n",c1,c2,c3);}答main(){intx,y=5,z=5,aver;x=7;aver=(x+y+z)/3;printf("AVER=%d\n",aver);}运行结果:AVER=5②main(){charc1='a',c2='b',c3='c';inta=3,b='A';printf("a=%d,b=\'%c\'\"end\"\n",a,b);printf("a%cb%c\bc%c\tabc\n",c1,c2,c3);}运行结果:a=3,b='A'"end"aabccabc3写出下列赋值的结果,表格中写了数值的是要将它赋给其他类型的变量,将所有的空格填上赋值后的数据(实数保留到小数点后两位)。int99-1char'h'unsignedint66float55.78longint68答int99104665568-1char'c''h''B''7''D'unsignedint9910466556865535float99.00104.0066.0055.7868.00-1.00longint99104665568-14★写出程序运行结果。①voidmain(){inti,j;i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);}②main(){inta=1,b=2,c=30;;printf("%d,%d,%d,%d\n",a=b=c,a=b==c,a==(b=c),a==(b==c));}注意:a=b=c,a=b==c之间应为逗号,教材有误答运行结果:9,11,9,10运行结果:30,1,0,0③voidmain(){inta=10,b=20,c=30,d;d=++a<=10||b-->=20||c++;printf("%d,%d,%d,%d\n",a,b,c,d);}答运行结果:11,19,30,15★写出下面表达式的值(设a=10,b=4,c=5,d=1,x=2.5,y=3.5)。⑴a%=(b%=3)⑵n++,a+=a-=a*=a⑶(float)(a+c)/2+(int)x%(int)y⑷a*=b+c⑸++a-c+b++⑹++a-c+++b⑺a<b?x:'A'⑻b++==c⑼a+b,18+(b=4)*3,(a/b,a%b)⑽x+a%3*(int)(x+y)%2/4+sizeof(int)⑾a<b?a:c<d?c:d⑿b++==c⒀a*=b=c=2⒁a=b==c答⑴0⑵0⑶9.⑷90⑸10⑹10⑺'A'⑻2⑼4.5⑽1⑾0⑿20⒀06下列每组表达式中,被执行后结果完全等价的是哪些(设a、b、m是已被赋值的整型变量)?①m=(a=4,4*5)与m=a=4,4*5②(float)(a/b)与(float)a/b③(int)a+b与(int)(a+b)④m%=2+a*3与m=m%2+a*3⑤m=1+(a=2)+(b=3)与a=2,b=3,m=1+a+b答①前面是赋值表达式,而后面的是一个逗号表达式,所以一定不同;②前面的表达式中a/b结果为一整数,结果已经取整,精度可能受到影响,之后强制float后才为浮点型,后面的是先将a转换为float后再与b相除,其值保证了精度,所以不同。③因为a、b均为整数,其前后两个表达式的计算结果是一致的。④前一表达式是一算术表达式,而后者为一赋值表达式,此为一点不同;另外,前一表达式的m只被赋过一次值,后一表达式中的m曾两次被赋值,第一次赋值时与第一表达式中的值一致,第二次赋值后即不再相同。⑤前后表达式的计算结果应该是一致的:a=2,b=3,m=67条件表达式x>0?x:-x的功能是什么?答如果x的值是一正数,则表达式的值为x值;如果x的值是一非正数,则表达式的值为-x。其实该表达式的值即为x的绝对值,C语言中提供了一个函数fabs(x)即可完成此功能,该函数包含在math.h头文件中。8用一个条件表达式描述从a、b、c中找出最大都赋给max.答max=a>(b>c?b:c)?a:(b>c?b:c);9★若x为int型变量,则执行以下语句后x的值为()。x=6;x+=x-=x*x;A.36B.-60C.60D.-24答B.10★若有以下类型说明语句:charw;intx;floaty;doublez;则表达式w*x+z-y的结果为()类型。A.floatB.charC.intD.double答D.第三章顺序结构程序设计-习题答案1变量k为float类型,调用函数scanf("%d",&k),不能使变量k得到正确数值的原因是___。答格式修饰符与变量类型不一致。因为%d输入的数据类型应该为十进制整数,而&k为占用4个字节的float类型变量的地址。2★a=1234,b=12,c=34,则执行“printf("|%3d%3d%-3d|\n",a,b,c);”后的输出是___。答|12341234|分析如下:①%3d为右对齐输出变量,且指定输出变量的值宽度为3个字符位,如果变量实际位数小于3,则左端补空格,如果变量实际位数大于3,则按实际长度输出,不受限制。②%-3d为左对齐输出变量,在输出变量时,如是变量实际位数小于3,则在右端补空格,否则按实际输出。3★设有“inta=255,b=8;”,则“printf("%x,%o\n",a,b);”输出是___。答ff,10①如果“printf("%X,%o\n",a,b);”则输出为FF,10。说明在输出十六进制字母时,其大小写受格式修饰符的限制,如果是“%x”则输出小写,如果是“%X”则输出大写。②如果希望在输出十六进制时输出前导符0x或0X,则以上输出语句应改“printf("%#x,%o\n",a,b);”为或“printf("%#X,%o\n",a,b);”。本条解释不必须掌握。4★以下程序输出的结果是___。main(){inta1=1,a2=0,a3=2;printf("%d,%d,%d\n",a1,a1+a2+a3,a3-a1);}答1,3,15printf函数中用到格式符%5s,其中5表示输出字符占用5列。如果字符串长度大于5,则按___输出;如果字符串长度小于5,则按___输出。答①实际②左端补空格6★已定义变量如下:inta1,a2;charc1,c2;若要求输入a1、a2、c1和c2的值,正确的输入函数调用语句是___。答scanf("%d,%d,%c,%c",&a1,&a2,&c1,&c2);7输入两个整型变量a、b的值,输出下列算式以及运算结果___。a+b、a-b、a*b、a/b、(float)a/b、a%b每个算式占一行。如a=10,b=5,a+b输出为:10+5=15答设inta=10,b=5;以下为输出语句及结果:①printf("%d+%d=%d\n",a,b,a+b);10+5=15②printf("%d-%d=%d\n",a,b,a-b);10-5=5③printf("%d*%d=%d\n",a,b,a*b);10*5=50④printf("%d/%d=%d\n",a,b,a/b);10/5=2⑤printf("%(float)d/%d=%f\n",a,b,(float)a/b);(float)10/5=2.⑥printf("%d%%%d=%d\n",a,b,a%b);10%5=08★输入一个非负数,计算以这个数为半径的圆周长和面积。答#definePI3.main(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泉州职业技术大学《库存控制与管理》2025-2026学年期末试卷
- 福建体育职业技术学院《临床血液学检验技术》2025-2026学年期末试卷
- 安徽国际商务职业学院《运动康复生物力学》2025-2026学年期末试卷
- 闽北职业技术学院《危急重症护理》2025-2026学年期末试卷
- 中国医科大学《大学美育补充》2025-2026学年期末试卷
- 江西服装学院《波谱解析》2025-2026学年期末试卷
- 蚌埠城市轨道交通职业学院《马克思主义笔记》2025-2026学年期末试卷
- 宁德职业技术学院《语文课程与教学论》2025-2026学年期末试卷
- 福建幼儿师范高等专科学校《安全原理与评价》2025-2026学年期末试卷
- 管涵顶进工变更管理强化考核试卷含答案
- 部队夏季常见病
- 新课标语文整本书阅读教学课件:童年(六下)
- 【RCEP背景下中国对日本农产品出口贸易SWOT及发展对策10000字(论文)】
- CJ/T 124-2016 给水用钢骨架聚乙烯塑料复合管件
- 电影赏析绿皮书课件(内容详细)
- 横山县众源煤矿矿山地质环境保护与土地复垦方案
- 打造宜居城市创造舒适宜居的居住环境
- 信阳职业技术学院单招《职业技能测试》参考试题库(含答案)
- 全麻术后舌后坠护理
- 跨期入账整改报告
- 适老化工程改造合同范本
评论
0/150
提交评论