c语言《程序设计基础》课后习题参考答案与解析

上传人:桔**** 文档编号:563786418 上传时间:2023-07-23 格式:DOC 页数:40 大小:95.50KB
返回 下载 相关 举报
c语言《程序设计基础》课后习题参考答案与解析_第1页
第1页 / 共40页
c语言《程序设计基础》课后习题参考答案与解析_第2页
第2页 / 共40页
c语言《程序设计基础》课后习题参考答案与解析_第3页
第3页 / 共40页
c语言《程序设计基础》课后习题参考答案与解析_第4页
第4页 / 共40页
c语言《程序设计基础》课后习题参考答案与解析_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《c语言《程序设计基础》课后习题参考答案与解析》由会员分享,可在线阅读,更多相关《c语言《程序设计基础》课后习题参考答案与解析(40页珍藏版)》请在金锄头文库上搜索。

1、程序设计基础习题参考答案与部分解析第1章 C 语言概述一、填空 a) C源程序的基本单位是 函数 。 b) 一个C程序中至少应包括一个 main函数 。 c) 在C语言中,输出操作是有库函数 printf( )函数 完成。二、单选题 1、A 2、C 3、B解析:第1题 答案:A 。因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。且到main函数结束。第2题 答案:C 。因为 main函数没有限制必须位于程序的最前面。C程序书写自由,一行内可写几个语句。在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。不过C语言本身并没有输入输出语句,输入输出是由函数完

2、成的。 第3题 答案:B。因为一个C语言程序是由若干个函数组成的。但至少包含一个main 函数,且main函数的位置不限。三、编程题1、编写一个输出“Welcome to C!”信息的小程序。解:程序如下#include “stdio.h”main( ) printf(“Welcome to C!”) ; 2、 已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。海伦公式为:S= ,其中s= (a+b+s)/2 ;解:程序如下 #include “math.h” #include “stdio.h” main( ) int a , b , c ; /* a ,b,c 3个整型变量表示

3、三角形的3条边。*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/ a=3 ; b= 4; c=5 ; s= (a+b+c)/2.0 ; s1= sqrt(s*(s-a)*(s-b)*(s-c); /* sqrt函数完成开平方根功能。*/ printf(“area=%fn”,s1); 第2章 程序设计基础知识一、单选题1、C 2、A 3、C 4、A 5、C 6、C 7、D 8、C 9、D 10、A 11、D 12、A 13、C 14、C 15、B A16、B 17 D解析:1. 答案:C。这里考察的是用户标识符的定义。用户标识符由字母、数字、下划线组成。

4、且必须以字母或下划线开头,区分大小写,且不能与C语言已有的32个关键字同名。由于选择不合法的用户标识符,A项的 A 、 P_0、 Do都是合法的用户标识符;B项的 _A是合法的;D项的 _123、 temp、INT 也都是合法的。只有C 选项的标识符都是错误的用户标识符。2. 答案:A。这里考察的是整型常量的概念。B项当中01a不正确,C项当中的0668不是正确的八进制常量,D项当中的2e5是float型常量。3答案:C。这里考察的是字符常量的定义。字符常量是用单撇号括起来的单个字符或转义字符。所以答案是C。4答案:A。字符变量只能包含一个字符。5答案:C。这里考察的是转义字符的正确表示。C项

5、的074是错误的转义字符,正确表示方法是074。6答案:C。字符变量只能包含一个字符,而C项的c=yes是错误的。7答案:D。这里考察的是输入格式的控制。输入格式要与scanf语句中字符串格式相对应。8答案:C。这里考察的是输出格式和字符对应的ASCII码值。A的ASCII码值是65,Y字符的ASCII码值是89。9答案:D。这里考察输入格式和输出结果形式。由于输入格式不正确,所以输出的是不确定值。10答案:A。这里考察的是标识符的特点区分大小写,变量sum和变量sUM是两个不同的变量,sum并没有参加运算,所以它的值不边仍然是7。11答案:D。%运算符要求两边的运算数必须是整型。12答案:A

6、。这里考察的是复合赋值运算。a%=b+1;等价与a=a%(b+1);由于a=10,b=4;所以运算后a的值是0。13答案:C。这里考察的是在变量定义类型是进行赋值操作。要求a,b,c都赋值为5,且为int 类型。只有C正确。14答案:C。这里考察的是类型的自动转换,只要有单精度类型或双精度类型参加运算,结果都是double(双精度)类型。15答案:B, A。这里考察的是逻辑表达式的运算过程。表达式1&表达式2 ,若表达式1的值是0的话,结果就是0,表达式2就不参加运算。要注意:赋值表达式的值是左边赋值变量的值。所以答案为B ,A。16答案:B。这里考察的是逗号表达式运算过程是从第1个表达式开始

7、运算,然后依次运行到最后一个表达式。逗号表达式的值是最后表达式的值,且注意逗号运算符优先级低于赋值运算符。所以表达式(a=2,b=5,b+,a+b)运算过程a=2 b=5 b+ a+b=8;结果是8。17答案:D。这里考察的是条件表达式的结合性是从右向左。所以ka?k:cb?c:a;等价于 ka ? k:(cb?c:a);先运算cb?c:a ;的值是1,然后计算ka ? k:1;的值是1。二、填空题1、-3276832767 2、字母 , 数字 , 下划线 3、分号(;)4、30 ,15 5、 18 6、 07、-264 8、 7 9、 010、 1 11、 y%2= = 1 12、 xz |

8、 | y2&x3) | | x 5) printf(“%dn”, m) ; else printf(“%dn”,m+) ;先执行m5 的值是0,然后执行m=m+1; 得到m=6;由于m5 的值是0所以执行else语句,应先输出m的值是6,然后m再自增一个单位变成7。2答案:C。这里考察的是if语句的嵌套。根据else子句总是与之前最近的if语句配对来进行选择满足条件的答案。3答案:B。这里也考察的是if语句的嵌套。同理:if(xy) if(y0) z=0 ; else z+=1 ; 等价与 if(xy) if(y y z x y x 2、 ch = A & ch=Z ch=ch-323、 x

9、b) max = a ; else max = b ; if(max c ) max = c ; printf( “The max is %d n”, max ) ;3、 给出一百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分以上为A,8089分为B,7079为C,6069为D,60分以下为E。解:程序如下#include “stdio.h” main( ) float score ; int grade ; printf(“Please input a score :n”); scanf(“%f “ ,&score) ; grade=(int ) score /10 ; switch(grade) case 10: case 9: printf(“grade is An”) ; break ; case 8: printf(“grade is Bn”) ; break ; case 7: pr

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

当前位置:首页 > 高等教育 > 习题/试题

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