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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序设计教程课后答案第2版杨路明.docx

1、C语言程序设计教程课后答案第2版杨路明第一章 C语言程序设计概述习题答案1算法的描述有哪些基本方法?1、自然语言2、专用工具 2C语言程序的基本结构是怎样的?举一个例子说明。1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由 多个函数组成,这些函数指定实际所需要做的工作。3C语言有什么特点?1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以

2、在程序中被定义完成独立的任务,独立地编 译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分 功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性 好。4指出合法与不合法的标识符命名。AB12-PAS-C.D-leed_3- a*b2- 8stu- D.K.Jon- EF3_3- if- XYZ43K2- AVE#XY- _762- #_DT5-说明下列 Turbo C 热键的功能。F2: 源文件存盘 F

3、10: 调用主菜单 F4: 程序运行到光标所在行(用于调试程 序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查 看程序运行结果。6说明下列 Turbo C 方式下输入并运行下列程序,记录下运行结果。main() printf(*n);printf( welcome you n); printf( very good n); printf(*n);main() int a,b,c,t;printf(please input three numbers;); scanf(%d,%d,%d,&a,&b,&c); /* 教材 S 是错误的 */ t=max(ma

4、x(a,b),c);printf(max number is:%dn,t);int max(int x, int y) int z;if(xy)z=x;else z=y; return(z);答 运行结果:welcome you very good运行结果: please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/ max number is:4一个 C 程序是由若干个函数构成的,其中有且只能有一个函数。main() 8在 Turbo C 环境下进行程序调试时,可以使用 Run 下拉菜单的命令或按 键转到用户屏幕查看程序运行结果。1 、 User sc

5、reen2、Alt+F5 9C 语言对标识符与关键字有些什么规定?1 、标识符用来表示函数、类型及变量的名称,它是由字母、下划线和数字组 成,但必须用字母或下划线开头。2、关键字是一种语言中规定具有特定含义的标识符,其不能作为变量或函数名 来使用,用户只能根据系统的规定使用它们。10C 源程序输入后是如何进行保存的?答是以 C 为扩展名保存的纯文本文件。第二章 C 语言程序的基本数据类型与表达式 习题答案1指出下列常数中哪些是符合 C 语法规定的。请找出下列程序中的错误,改正后写出程序运行结果。1void main() int x,y=z=5,aver;x=7AVER=(x+y+z)/3 pr

6、intf(AVER=%dn,aver);2void main()char c1=a;c2=b;c3=c;int a=3.5,b=A printf(a=%db=endn,a,b); printf(a%cb%cbc%ctabcn,c1,c2,c3);main()int x,y=5,z=5,aver;x=7; aver=(x+y+z)/3; printf(AVER=%dn,aver);运行结果:AVER=52main() char c1=a, c2=b, c3=c;int a=3,b=A; printf(a=%d,b=%cendn,a,b); printf(a%cb%cbc%ctabcn,c1,c2

7、,c3);运行结果:a=3,b=Aendaabcc abc3 写出下列赋值的结果,表格中写了数值的是要将它赋给其他类型的变量,将所 有的空格填上赋值后的数据(实数保留到小数点后两位)。int99 charhunsigned int66float55.78long int68int99104665568-1charhB7D unsigned int9910466556865535float99.00104.0066.0055.7868.00-1.00long int99104665568-14写出程序运行结果。1void main()int i,j;i=8,j=10;printf(%d,%d,%

8、d,%dn,i,j,+i,j+);2main() int a=1,b=2,c=30; printf(%d,%d,%d,%dn,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,03void main()int a=10,b=20,c=30,d; d=+a=20|c+; printf(%d,%d,%d,%dn,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(

9、float)(a+c)/2+(int)x%(int)ya*=b+c+a-c+b+a-c+bab?x:Ab+=ca+b,18+(b=4)*3,(a/b,a%b)x+a%3*(int)(x+y)%2/4+sizeof(int)ab?a:c0?x:-x 的功能是什么?如果 x 的值是一正数,则表达式的值为 x 值;如果 x 的值是一非正数,则表达 式的值为-x。其实该表达式的值即为x的绝对值,C语言中提供了一个函数fabs(x) 即可完成此功能,该函数包含在 math.h 头文件中。8 用一个条件表达式描述从 a 、 b 、 c 中找出最大都赋给 max.答 max=a(bc?b:c)?a:(bc?

10、b:c);9若 x 为 int 型变量,则执行以下语句后 x 的值为( )。x=6; x+=x-=x*x;A. 36 B. -60 C. 60 D. -24B.若有以下类型说明语句:char w; int x; float y; double z; 则表达式w*x+z-y的结果为( )类型。A. float B. char C. int D. double答D.第三章 顺序结构程序设计习题答案1 变量k为float类型,调用函数scanf(%d,&k),不能使变量k得到正确数值 的原因是。格式修饰符与变量类型不一致。因为%d输入的数据类型应该为十进制整数,而&k为占用4个字节的float类型变

11、量的地址。2 a=1234,b=12,c=34,则执行“printf(|%3d%3d%-3d|n,a,b,c);”后的输 出是。|1234 1234 |分析如下:%3d为右对齐输出变量,且指定输出变量的值宽度为3个字符位,如果变量实 际位数小于3,则左端补空格,如果变量实际位数大于3,则按实际长度输出, 不受限制。%-3d为左对齐输出变量,在输出变量时,如是变量实际位数小于3,则在右端 补空格,否则按实际输出。3设有“int a=255,b=8;”,则“printf(%x,%on,a,b);”输出是。 答ff,10如果“printf(%X,%on,a,b);”则输出为FF,10。说明在输出十六

12、进制字 母时,其大小写受格式修饰符的限制,如果是“%x”则输出小写,如果是“%X” 则输出大写。如果希望在输出十六进制时输出前导符0x或0X,则以上输出语句应改“printf(%#x,%on,a,b);”为或“printf(%#X,%on,a,b);”。本条解释不 必须掌握。4以下程序输出的结果是。main()int a1=1,a2=0,a3=2; printf(%d,%d,%dn,a1,a1+a2+a3,a3-a1);1,3,1 5printf 函数中用到格式符 %5s ,其中 5 表示输出字符占用 5 列。如果字符串长 度大于 5,则按输出;如果字符串长度小于 5,则按输出。答实际 左端补

13、空格6已定义变量如下:int a1,a2;char c1,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答设 int a=10,b=5; 以下为输出语句及结果:10+5=1510-5=510*5=5010/5=2(float)10/5=2.010%5=0printf(%d+%d=%dn,a,b,a+b)

14、;printf(%d-%d=%dn,a,b,a-b);3printf(%d*%d=%dn,a,b,a*b);4printf(%d/%d=%dn,a,b,a/b);5printf(%(float)d/%d=%fn,a,b,(float)a/b);000006printf(%d%d=%dn,a,b,a%b);输入一个非负数,计算以这个数为半径的圆周长和面积。答#define PI 3.1415926main()float r,l,area;printf(Input a positive:);scanf(%f,&r);l=2*PI*r;area=PI*r*r;printf(l=%ftarea=%fn

15、,l,area);9输入任意一个 3 位数,将其各位数字反序输出(例如输入 123 ,输出 321 )。main()int x,y;printf(Input a number(100-999):); scanf(%d,&x);y=100*(x%10)+10*(x/10%10)+x/100; /* 注意分析此处算法 */printf(%d-%dn,x,y); 10输入任意大小的 3 个整数,判断其中是否有两个奇数一个偶数。若是则输出 YES,不是则输 出 NOT(要求用条件表达式进行判断,不使用if 语句)。main()int x,y,z,oddcount=0; /* 奇数数计数变量 */ pr

16、intf(Input x,y,z:);scanf(%d,%d,%d,&x,&y,&z); x%2=1?oddcount+:0;y%2=1?oddcount+:0;z%2=1?oddcount+:0; oddcount=2?printf(YES):printf(NOT);求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按ASCII 码值,按从大到小的顺序输出这3 个字符及其对应的ASCII 码值。本题考查同学们对字符类型数据的认识,如果在 ASCII 范围内则即可以显示为 字符,又可以显示为整数值;无论是否能够显示为字符,字符类型数据是可能参 与数值运算的,切记。main()c

17、har c;printf(Input character:); scanf(%c,&c);printf(%c %dn,c-1,c-1);printf(%c %dn,c,c);printf(%c %dn,c +1,c+1);getch(); /*为便于调试程序,运行至此程序停顿,此时可以看到运行结果,按任意键程序真难得结束并返回到编辑环境*/12输入三角形的边长,求三角形面积(面积 sqrt(s(s-a)(s-b)(s-c),s=(a+b+c)/2)。#includemath.h /* 由于程序中使用了开平方函数 sqrt(), 所以需要包含数学头文件*/main()float a,b,c,s,

18、area; int ok=0;printf(Input a,b,c:); scanf(%f,%f,%f,&a,&b,&c);a+bc?ok+:0; /*以下3 条语句为判断是否输入的数据是否构成封闭三角形*/a+cb?ok+:0;b+ca?ok+:0; ok=3?(s=(a+b+c)/2,area=sqrt(s*(s-a)*(s-b)*(s-c),printf(area=%f ,area):printf(error);getch();第四章 选择结构程序设计习题答案1设x、t均为int型变量,则执行语句“x=10;t=x&x10;”后,t的值为2假定所有变量均已正确定义,则程序段:int a=

19、0, y=10;if(a=0)y- -; else if(a0)y+;else y+=y;运行后 y 的值是;答20 3能表述 20x30 或 x20&x30|+x-100 4若有定义语句“int a=25,b=14,c=19;”,则以下语句执行结果是 if(a=25 & b=2 & c)printf(*a+b=%d, a-b=%d*n, a+b, a-b);else printf(*a=%d, b=%d, c=%d*n,a, b, c);答*a=25, b=14, c=19* 5假定 i 和 j 为 int 型变量,则执行以下语句后 i 的值是 int i=1;switch(i)case 1

20、: for(j=0; j9; j+) i+=j; break; case 2: for(j=1; j10; j+) i+=j; break;case 3: i+;37分析:执行了 case 1: 和 case 3: 中的代码。同时 case 1:语句中的 是 可以取消的。6以下两条 if 语句可合并成一条 if 语句,即。if(ab)printf(*y=%dn, y);else printf(*x=%dn,x);答if(a1)printf(outside);else if(d0)。m=2;m=3;m=4;m=5else if(a40) else if(a50) else if(a60) els

21、eswitch(a/10)case 1:case 2:case 3:m=1;break; case 4:m=2;break; case 5:m=3;break; case 6:m=4;break; default:m=5;12x+1 0x-5&x0&x-5&x8) if(x0)y=x-1; else if(x=0)y=0: else y=x+1;printf(y=%fn,y);main()float x,y;scanf(%f,&x);if(x0)y=x+1; else if(x=0)y=0;else if(x-5)y=x-1; printf(y=%fn,y);使用多分支语句程序如下:main(

22、)float x,y;int m;printf(Input x:);scanf(%f,&x);if(x-5&x8)if(x0)m=-1;else if(x=0)m=0:else m=1;switch(m)case -1:y=x-1;break;case 0:y=0;break;case 1:y=x+1;break;printf(y=%fn,y); 以下为假设对 int类型的变量进行处理,但毕竟不算完美main()int x,y; printf(Input x:); scanf(%d,&x); switch(x) case -4:case -3:case -2:case -1: y=x-1; break;case 0: y=0; break;case 1:case 2:case 3:case 4:case 5:case 6:case 7: y=x+1; break; printf(y=%dn,y);第五章 循环结构程序设计习题答案 1输

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2