C语言程序设计参考答案与复习题 .doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言程序设计参考答案与复习题 .doc》由会员分享,可在线阅读,更多相关《C语言程序设计参考答案与复习题 .doc(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C程序设计复习题集目 录 一、C 语言程序设计习题参考答案 1 二、C语言程序设计复习题 单项选择题 41 填 空 题 45 写输出结果题 46 程序填空题 53 编 程 题 61 三、C语言程序设计复习题答案 单项选择题 62 填 空 题 63 写输出结果题 63 程序填空题 64 编程题(参考) 65 四、C语言程序设计模拟试卷、参考答案 试卷一 74 试卷二 77浙江工业大学计算中心编印C程序设计习题参考答案习 题 一1. 填空题 计算机程序设计语言按其发展可分为三类,即 机器语言 、汇编语言和 高级语言 。 C程序是由 函数 构成的,一个C程序中至少包含 1个main函数。因此, 函
2、数是C程序的基本单位。 C程序注释是由 /* 和 */ 所界定的文字信息组成的。 函数体一般包括 函数首行 和 函数体 。 在任何C程序中都必须且只能有一个主函数, 主函数名必须为 main 。2. 判断下列各个叙述的正确与否 C程序的执行总是从该程序的main函数开始,在main函数最后结束【】 C程序的注释部分可以出现在程序中任何位置,它对程序的编译和运行不起任何作用,但可以增加程序的可读性【】 由“/*”与“*/”界定的注释必须在同一行【】 通过了编译、连接的程序就是正确的程序【】 有计算结果输出的程序一定是正确的程序【】 编译错误是语法错误,运行结果错误是逻辑错误【】 编译时在信息窗口
3、出现包含“error”的信息,说明程序存在警告性错误【】 源程序每次修改后,都必须重新编译、连接【】3. 简答题 算法的含义、特点是什么?解答:算法是解题方法的精确描述。有穷性、确定性、有多或零个输入、有1或多个输出、有效性。 写出一个C程序的基本结构。由编译预处理命令、注释、1个main和若干个自定义函数构成,函数格式如下: 函数类型 函数名(类型标识符 形参,类型标识符 形参,.) 类型声明语句; 执行语句部分; 写出在你使用的计算机系统上,进入C环境以及运行、调试程序的简要步骤。 输入x后计算其正弦值的源程序如下。编译信息是否表示有致命性错误?应如何修改? 解答:致命性错误为第6行函数s
4、in未声明,应加入编译预处理命令 #include 4. 编程题 请上机调试、运行本章课本上C语言程序例题46(注释部分可以不必输) 仿照例6编程,输入两个变量后,输出其中较大的值。 #include void main() int a, b; printf(请输入A,B的值:n); scanf(%d%d,&a,&b) ; if(ab) printf(%dn,a); else printf(%dn,b); 仿照例题编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。 #include void main() float r, h, v; printf(请输入半径、高的值:n); scanf(%
5、f%f,&r,&h); v=r*r*3.141593*h; printf(%fn,v); 习 题 二1. 将下列程序上机运行,写出你所使用的C语言处理系统中short、int以及long类型数据的字长和数值范围。 #include void main() printf(short类型数据的字长为:%dn,sizeof(short); printf(int类型数据的字长为:%dn,sizeof(int); printf(long类型数据的字长为:%dn,sizeof(long); 解答:VC+环境下,分别为2、4、42. 仿照题1编程,测试float、double类型数据的字长。 #includ
6、e void main() printf(float类型数据的字长为:%dn,sizeof(float); printf(double类型数据的字长为:%dn,sizeof(double); 3. 判断下列各个叙述的正确与否。 C的long类型数据可以表示任何整数【】 任何变量都必须要声明其类型【】 C的任何类型数据在计算机内都是以二进制形式存储的【】 scanf函数中的格式符“%d”不能用于输入实型数据【】 格式符中指定宽度时,从缓冲区中读入的字符数完全取决于所指定的宽度【】 按格式符“%d”输出float类型变量时,截断小数位取整后输出【】 按格式符“%6.3f”输出i(i=123.45)
7、时,输出结果为 23.450【】 scanf函数中的格式符“%f”能用于输入double类型数据【】4. 指出下列各项中那些是C的常量,对合法的C常量请同时指出其类型。10,150 007 -0x3d 1e0 e1 o7o8x xo 1.52e0.5 sin(3) 0xf16 X 0071.414E+2 2.54 a解:007整型,-0x3d整型,1e0实型,x字符型,0xf16整型,X字符串 007字符型,1.414E+2实型,2.54实型,字符型,a字符型5. 指出下列各项中那些是C的标识符(可作变量名)。x_1 X_2 High printf 3DS i/je2 -e2 count In
8、t number $23 next_解:x_1、X_2、High、e2、count、Int、number、next_6. 根据条件,写出下列各题的输出结果。 int i=234,j=567; 函数printf(%d%dn,i,j) 的输出结果是 234567 。 int i=234; float x=-513.624; 函数printf(i=%5d x=%7.4fn,i,x) 的输出结果是 i= 234 x=-513.6240 。 float alfa=60,pi=3.26; 函数printf(sin(%3.0f*%f/180)n,alfa,pi) 的输出结果是 sin( 60*3.14159
9、2/180) 。 char ch=$,float x=153.45; 函数printf(%c%-8.2fn,ch,x) 的输出结果是 $153.45 n 。 int d=27; 函数printf(%-5d,%-5o,%-5xn,d,d,d)的输出结果是 27 ,34 ,1b。 float x1=13.24,x2=-78.32; 函数printf(x(%d)=%.2f x(%d)=%.2fn,1,x1,2,x2) 的输出结果是 x(1)=13.24 x(2)=-78.32 7. 根据下列条件写出变量i1(int类型)、c1(char类型)、f1(float类型)、d1(double类型)的当前值
10、。 执行scanf(%d%c%f%lf,&i1,&c1,&f1,&d1)时输入52$9.17 3. 后。 i1为52,c1为$,f1为9.17,d1为3. 执行scanf(%d$%c%f%lf,&i1,&c1,&f1,&d1)时输入52$9.17 3. 后。 i1为52,c1为9,f1为0.17,d1为3.8.下列源程序输入x、y后,输出x的y次方。运行时无编译、连接错误,但输入不同格式的两组数据输出结果却不同,哪一组是对的?请说明原因。解答:第1组输入数据错误,因为格式串中有“,”所以键盘输入数据x、y之间也一定以逗号为间隔符。9. 写出下列程序运行时输入 3 4 5 的输出结果。 #inc
11、lude #include 输出结果:边长为3.00,4.00,5.00的三角形面积为6.00 void main() float a1,a2,a3,s,d; scanf(%f%f%f,&a1,&a2,&a3); s=(a1+a2+a3)/2; s=sqrt(s*(s-a1)*(s-a2)*(s-a3); printf(边长为%.2f,%.2f,%.2f的三角形面积为:%-10.3fn,a1,a2,a3,s); 10. 编程题 编程,用getchar函数接收2个字符,用putchar函数输出这2个字符。解答: #include void main() char x; x=getchar();
12、putchar(x); x=getchar(); putchar(x); 编程,用scanf函数输入1个10进制整数、1个单精度浮点数、1个双精度浮点数,并通过printf函数把输入的3个数分别输出。解答: #include void main() int k; float x; double d; scanf(%d%f%lf,&k,&x,&d); printf(%d,%f,%fn,k,x,d); 编程,输入1个整数,然后分别以8进制、10进制、16进制形式输出该数。解答: #include void main() int x; scanf(%d,&x); printf(%d,%o,%xn,x
13、,x,x); 习 题 三1. 根据下列数学式,写出C的算术表达式。解答:-(a*a+pow(b,3)*pow(y,4) (sqrt(2)+100)/(atan(x)+3.141593) (5+b)/(a+6)/(b+5)-c*d)2. 按照要求写出下列C的表达式。 数学式 (x+1)e2X所对应的C算术表达式。 将double类型变量x的整数部分与y的小数部分相加的算术表达式。 将非零实型变量x四舍五入到小数点后2位的算术表达式。 为变量s赋值:取变量x 的符号,取变量y的绝对值。 条件“-5x3”所对应的C逻辑表达式。 a、b是字符变量,已知a的值为大写字母、b的值为小写字母,写出判断a、b
14、是否为同一字母的逻辑表达式 int类型变量a、b均为两位正整数,写出判断a的个位数等于b的十位数、且b的个位数等于a的十位数的逻辑表达式。 计算变量a、b中较小值的条件表达式。 判断变量ch 是英文字母的表达式; 若字符变量ch的值为大写字母,则重新赋值为对应的小写字母。解答: (x+1)*exp(2*x) (int)x+y-(int)y (int)(x*100+fabs(x)/x*0.5)/100.0 s= fabs(y)*x/fabs(x) -5=x & x=3 b-a=a-A a%10=b/10 & b%10=a/10 ab? a:b isalpha(ch) ch=isupper(ch)
15、?ch:ch+a-A3. 声明“int k=12;float x=9.5;double d=2.7;char zf=B;”,写出下列表达式值。 (int)x%k*d k+5.6xd zf=B zf=B解答: 24.3, 1, 1, 0, B, 14. 填空题 声明“float x=2.5,y=4.7; int a=7;”,表达式x+a%3*(int)(x+y)%2/4值为 2.5 。 设整型变量a、b值分别为10与20,计算c=(a%2=0)?a:b后,c的值为 10 。 设整型变量d的值为7,表达式“3d5”的值为 1 (3d为1、1=A & ch=z )ch=ch-32; 下列程序的输出结
16、果是 (0.00,1) 。 #include void main( ) int y; double d=3.4, x; x=(y=d/2.0)/2; printf( (%0.2f, %d) , x, y); 判断a、b是否绝对值相等而符号相反的逻辑表达式为 a=-b 。 判断变量a、b中必有且只有一个为0的逻辑表达式为 a*b=0 & a+b!=0 。 c初值为3,计算赋值表达式“a=5+(c+=6)”后表达式值、a、c的值依次为 14、14、9 。 求解赋值表达式“a=(b=10)%(c=6)”后,表达式值、a、b、c的值依次为 4、4、10、6。 求解逗号表达式“x=a=3,6*a”后,表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计参考答案与复习题 语言程序设计 参考答案 复习题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内