当前位置:首页 > c语言编程基础习题答案
《C语言编程基础(第2版)》习题答案
前 言
《C语言编程基础(第2版)》每章后面都安排了一定数量的习题,这有利
于读者理解、消化和掌握各单元的学习内容。习题中,除了有填空题、选择题、回答问题等适合掌握基本概念的题型外,大部分是分析程序运行结果和要求编写实用程序,这有利于读者训练编程技巧和增强编程能力。应广大读者要求,特别是一线教学老师的要求,我们给出全部习题答案,供读者参考。编程答案只是实现题目算法要求的一种,并不一定是最好的。希望读者自己多做思考,利用多种方法进行编程,用以提高自己的程序设计水平和锻炼自己的创新能力。由于作者水平所限,错误和不当之处在所难免,恳请批评指正。
习题一
1、填空题。
⑴ C语言程序由__函数__组成,其中必须有且只能有一个名为_main__的函数。C程序的执行从___名为main的主__函数开始。
⑵ 每个C语句必须以__分__号结束。 ⑶ 标识符只能由_英文字母_、__数字_和_下划线__三类符号构成,而且标识符的第一个字符必须是__英文字母__或__下划线__。
⑷ 关键字是指___C语言编译系统所固有的、具有专门意义的标识符___。 ⑸ C程序中,注释的内容应放在__/*_和_*/__符号之间。 2、选择题。
⑴ 下面合法的C语言标识符是___ C ___。 ⑵ C语言中主函数的个数是___ A______。
⑶ 以下有关注释的描述中,错误的是___ C ___。 ⑷ C程序中,main函数的位置____ D___。 3、指出并改正下面程序中的错误。
⑴ main 应为 main()
⑵ 应在本程序最后加上大括号 }。 ⑶ 语句结束应有分号。如:
int a,b; a=1;b=2;
printf(\; 4、分析下列程序,写出运行结果。
⑴ 该程序是计算两个整数a和b的乘积并赋值给c,运行结果为: c=30
⑵ 该程序输出一个字符串和一排星号,运行结果为:
Hello!
*****************
5、编程题。
⑴ 按题目要求,编写输出固定信息的程序如下:
main() {
pt();
printf(\ pt();
} pt() {
printf(\
}
⑵ 按题目要求,编写输入数据输出其表达式的程序如下: main() {
int a,b,c;
scanf(\scanf(\ c=a*b+10;
printf(\}
习题二
1、单项选择题。
⑴ C语言中的变量名只能由字母、数字和下划线组成,且第一个字符_ C _。
⑵ 合法的常量是__ D ___。
⑶ C语言中的基本数据类型所占存储空间长度的顺序是__ D___。 ⑷ 下列符号串中与相同的合法常量是__ C___。
2、填空。
⑴ C语言中的基本数据类型包括____整型(int)_、____浮点型(flot)__ 和_字符型(char)_三种。
⑵ 整型常数有_十进制整数_、_八进制整数_和_十六进制整数_三种表示形式; 整型变量可分为四类: _一般整型(int)_、_短整型(short)_、_长整型
(long)_、_无符号型_。其中_无符号型_又可分为_无符号整型(unsigned int)、_无符号短整型(unsigned short)和_无符号长整型(unsigned long)_3种。
⑶ 有10个用指数形式表示的符点常数: 请指出合法的有___③④⑥⑧⑩___。
⑷ 在C中,没有专为存贮字符串的变量,但可以用__字符型数组__ 或__字符型指针变量_存贮字符串。其定义格式为_ char str[6];_和_ char *a;_。
⑸ 数据类型混合运算时, 要进行同型转换, 转换方式分为__自动转换(隐式转换)__和__强制转换(显式转换)__两种。 3、写出下列程序运行结果。
⑴ 215/9=23…8
⑵ 97 b ⑶
4、编写程序。
⑴ 按题目要求编写求三个已知数的乘积,程序如下: main() {
int a,b,c; a=19; b=22; c=650;
printf(\}
⑵ 按题目要求,编写将值整数化后赋值的程序如下: main() {
int a1,a2; float b,c; b=; c=;
a1=(int)(b*c); a2=(int)c%(int)b;
printf(\}
⑶ 按题目要求,编写计算圆周长、面积和圆柱体积的程序如下:
main() {
int r,h,c,s,v; r=15; h=3;
c=2**15; s=*r*r; v=s*h;
printf(\
}
习题三
1、填空题。
⑴ 设有int x=11;则表达式(x++*1/3)的值是_____3____。
⑵ 已知数学表达式y=x2-2x+5,写出对应的C语言表达式_y=x*x-2*x+5_。 ⑶ 已知a=10,则表达式x=(a=a+b,a-b)的值为__x=10__。
2、选择题。
⑴ 在C语言中,下列运算符的操作数必须是int类型的运算符是( D )。 ⑵ 假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为( A )。 ⑶ 已定义int m=6,n=5;,则执行m%=n-1;之后,m的值是( B )。
⑷ 已有int a=1,b=1;则执行b=(a=2*3,a*5),a+7之后,a,b的值是( B )。 ⑸ 已有int x=2,y=1;则执行x++==y--;的结果是( D )。 3、求下面算术表达式的值。 ⑴ ⑵ 4、分析下列程序,写出运行结果。
⑴ 注意,在C语言中,因为函数调用中参数按从右到左的顺序求值,因此该程序执行打印输出的结果为:
3 1 1
⑵ 该程序在计算条件表达式的值赋给a时,其x值已为6,y值已为7,因此运行结果为:
a=7,b=0,c=6
⑶ 该程序利用运算符与结合性的优先级不同,而取得a与b的值。(因为该题使用了逻辑运算符,可在学了第5章以后再详细分析)运行结果如下:
a=2,b=1
⑷ 该程序应用复合的赋值运算符和从右至左结合性的运算规则,求取n的值,运行结果如下:
n=28
⑸ 该程序在执行语句“y=x++-1;”时,y为0而x在执行后变为2;在执行语句“z=--y+1;”时,z为0而y便成了-1。运行结果如下:
共分享92篇相关文档