c语言程序设计教材全部答案

上传人:第*** 文档编号:55634164 上传时间:2018-10-03 格式:PDF 页数:38 大小:308.68KB
返回 下载 相关 举报
c语言程序设计教材全部答案_第1页
第1页 / 共38页
c语言程序设计教材全部答案_第2页
第2页 / 共38页
c语言程序设计教材全部答案_第3页
第3页 / 共38页
c语言程序设计教材全部答案_第4页
第4页 / 共38页
c语言程序设计教材全部答案_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《c语言程序设计教材全部答案》由会员分享,可在线阅读,更多相关《c语言程序设计教材全部答案(38页珍藏版)》请在金锄头文库上搜索。

1、C 教材习题答案教材习题答案 习题习题 1 一填空题一填空题 1C 程序是由(函数)构成的,一个 C 程序中至少包含(main 函数) 。因此, (函数) 是 C 程序的基本单位。 2C 程序注释是由(/*) 和(*/) 所界定的文字信息组成的。 3函数体一般包括(声明部分) 和(执行部分 ) 。 二判断题二判断题 1一个 C 程序的执行总是从该程序的 main 函数开始,在 main 函数最后结束。(正确) 2main 函数必须写在一个 C 程序的最前面。(错误) 3一个 C 程序可以包含若干的函数。(正确) 4C 程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。

2、但是可以增加程序的可读性。(正确) 5C 程序的注释只能是一行。(错误) 6C 程序的注释不能是中文文字信息。(错误) 8可以使用 Turbo C 来编译和连接一个 C 程序。(正确) 9可以使用 Turbo C 来运行一个 C 程序。(正确) 10可以使用 Turbo C 来实时调试(即动态调试)一个 C 程序。(正确) 三、在 c+ 6.0 中输入如下的程序,编译、连接通过后显示结果 (1) #include “stdio.h” void main() printf(“*”) printf(“*”); printf(“ *”); printf(“*”); 答案: * * * * (2)已知

3、底和高,计算三角形的面积。 #include “stdio.h” void main() int bottom,high,area;/*bottom 表示底,high 表示高,area 表示面积*/ bottom=4; high=6; area=bottom*high/2; printf(“the area is %dn”,area); 答案: the area is 12 四、算法设计:请试着分别用自然语言或、程序流程图和 NS 图描述如下算法。 1.设计一个程序在屏幕上显示如下的文字 HELLO WELCOMEYOU 2.打印出所有的“水仙花数” ,所谓“水仙花数”是指一个三位数,其个位数

4、字立方 和等于该数本身。例如:153 是一个“水仙花数” ,因为 153=1 的三次方5 的三 次方3 的三次方。 3.对输入的某学生成绩, 如果学习成绩=90 分的同学用 A 表示, 60-89 分之间的用 B 表示,60 分以下的用 C 表示。 4.一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如 6=123.编程 找出 1000 以内的所有完数。 5.一只猴子摘了 N 个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又 多吃了一个,到第十天的时候发现还有一个,问共有多少个桃子。 答案: 1#include“stdio.h” main() printf(“HELLO W

5、ELCOMEYOU”); 2水仙花数产生在 100 到 999 之间,利用穷举法,对此范围之内的所有数一个个进行测试, 关键是要对每一个三位数分离出它的三个数字。具体的算法是: n%10,得到个位, (n/10)%10,得到百位数字,n/100,得到个位数字。再利用水仙花数的 含义来判断该数是否满足条件。 #include“stdio.h” main() intn,i,j,k; for(n=100;n=90)printf(“An“); else if(grade=60 printf(“%dn”,y); A) 4B) 3C) 2D) 1 若希望当 A 的值为奇数时,表达式的值为“真”,A 的值为

6、偶数时,表达式的值为“假”。则以 下不能满足要求的表达式是C。 A)A%2=1B) !(A%2=0)C) !(A%2)D) A%2 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab) a=d/100%9; b=(-1) printf(“%d,%d”,a,b); A) 6,1B) 2,1C) 6,0D) 2,0 已知 int x=10,y=20,z=30;以下语句执行后 x,y,z 的值是B。 if(xy) z=x; x=y; y=z; A) x=10, y=20, z=30B) x=20, y=30, z=30 C) x=20, y=30, z=10D)x=20,

7、y=30, z=20 以下程序的运行结果是C。 main() int m=5; if(m+5) printf(“%dn”,m); else; printf(“%dn”,m-); A) 4B) 5C) 6D) 7 判断 char 型变量 ch 是否为大写字母的正确表达式是C。 A) A=A) unsigned longw=5; double x=1, 42, y=5.2; 则以下符合 C 语言语法的表达式是A A) a+=a-=(b=4)*(a=3) B) x%(-3); C) a=a*3=2 D) y=float(i) 假定有以下变量定义: int k=7,x=12;则能使值为 3 的表达式是

8、D A) x%=(k%=5)B) x%=(k-k%5)C) x%=k-k%5D) (x%=k)-(k%=5) 设 x 和 y 均为 int 型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是D A) 把 x 和 y 按从大到小排列 B) 把 x 和 y 按从小到大排列 C) 无确定结果 D) 交换 x 和 y 中的值 以下程序的输出结果是D main() inta=12,b=12; printf(“%d,%dn“,- -a,+ +b); A) 1010B) 1212C) 1110D) 1113 在 C 语言提供的合法的关键字是D A) swicthB) cherC) CaseD) d

9、efault 若已定义 x 和 y 为 double 类型,则表达式:x=1,y=x+3/2 的值是C A)1B)2C)2.0D)2.5 C 语言提供的合法的数据类型关键字是B A) DoubleB) shortC) integerD) Char 在 C 语言中,合法的长整型常数是A A) 0L B) 4962710 C) 0.054838743 D) 2.1869e10 二、填空题二、填空题 scanf 函数的格式化字符串中,格式说明与输出项的个数必须相同。如果格式说明的个数小 于输出项的个数,则多余的输出项_忽略_。如果格式说明的个数多于输出项的个数, 则多余多余的格式将输出_。 以下程序

10、的运行结果是_52.00_。 #include void main() int i=5,j=9; float x=2.3,y=45.; printf(“%8.2fn”,i%(int)(x+y)*j/2/3+y); 若有定义:char c=010;则变量 c 中包含的字符个数为_1 个_。 若 x和 n 均是int 型变量, 且 x 和 n的初值均为 5, 则计算表达式x+=n+后 x 的值为_10_, n 的值为_6_。 若 a 是 int 型变量,则计算下面表达式 A=25/3%3 后 a 的值为_2_。 若 x 和 a 均是 int 型变量,则计算表达式 x=(a=4,6*2)后的 x 值

11、为_12_,计算表达式 x=a=4,6*2 后的 x 值为_4_。 若 a 是 int 型变量,则表达式(a=4*5,a*2),a+6 的值为_26_。 若 s 是 int 型变量,且 s6,则表达式 s%2+(s+1)%2 的值为_1_。 在 VC+中,一个 int 型数据在 内存中占 4 个字节, 则 int 型数据的 取值范围为 _-21474836482147483647_。 若有以下定义 int m=5,y=2;,则计算表达式 y+=y-=m*=y 后的 y 值是_-16_。 设有定义语句:int i=3; float f=456.789; 则表达式 1.2+i+A+f 值的数据类型

12、是_double_。 三、思考以下问题三、思考以下问题 1 几种基本数据类型各占几个字节? 2 标识符分哪几类,各有什么用途? 3 为什么要定义符号常量? 4 变量名定义有什么规则? 5 C 语言有哪些几类运算符号,又有哪几类表达式? 习题习题 3 一、选择题一、选择题 能正确表示 a 和 b 同时为正或同时为负的逻辑表达式是D A) (a=0 | b=0) t=+x | +y A) 不定值B) 4 C) 1D) 0 已知 int x=10,y=20,z=30,则执行 if (xy) z=x;x=y;y=z; 语句后,x、y、z 的值是(B )。 A) x=10,y=20,z=30B) x=2

13、0,y=30,z=30 C) x=20,y=30,z=10D) x=20,y=30,z=20 设 a 为整型变量,不能正确表达数学关系 1010的输出结果是D A)无输出B)结果不确定 C)-1D)1 执行下列程序片段时输出结果是。C int x=13,y=5; printf(“%d”,x%=(y/=2); A)3B)2C)1D)0 下列程序的输出结果是。B main ( ) int x=023; printf(“%d”,-x); A)17B)18C)23D)24 已有如下定义和输入语句, 若要求 a1,a2,c1,c2 的值分别为 10,20,A 和 B,当从第一列开始输入 数据时,正确的输

14、入方式是。D int a1,a2; char c1,c2; scanf(“%d%d”, scanf(“%c%c”, A)1020ABB)10 20 AB C)10 20 ABD)10 20AB 执行下列程序片段时输出结果是。B int x=5,y; y=2+(x+=x+,x+8,+x); printf(“%d”,y); A)13B)14C)15D)16 有输入语句:scanf(“a=%d,b=%d,c=%d”,为使变量 a 的值为 1,b 的值为 3,c 的 值为 2,则正确的数据输入方式是。D A)132B)1,3,2 C)a=1 b=3 c=2D)a=1,b=3,c=2 二、读程序或程序段

15、,写出结果二、读程序或程序段,写出结果 1.char c1=a,c2=c; printf(“%d,%c”,c2-c1,c2-a+C); 结果:2,E 2 #include “stdio.h” main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(“%d,%c”,ch1,ch2); 结果:-87,D 3.#include “stdio.h” main() int x;float y; scanf(“%3d%f”, printf(“x=%d,y=%f”,x,y); 当执行时从第一列输入数据 1234 空格 678 回车, 则 x 和 y 的值分别是多少? 结果:x=123,y=4.000000 4.main ( ) int a=12345; float b=-198.345, c=6.5; printf(“a=%4d,b=%-10.2e,c=%6.2fn”,a,b,c); 结果:a=12345,b=-1.98e+002,c=6.50 5.main ( ) int x=-2345; float y=-12.3; printf(“%6d,%06.2f”,x,y); 三、三、填空题填空题 1. C 语言的程序是由一个或者多个文件组成的, 每个文件又是由一个或多个函数 组成的。 2.C 语句可以分为表达式语句,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号