《C语言编程基础》习题答案 联系客服

发布时间 : 星期一 文章《C语言编程基础》习题答案更新完毕开始阅读d5a09d456aec0975f46527d3240c844768eaa0e2

..

《C语言编程基础(第 2 版)》习题答案

前 言

《C语言编程基础(第 2 版)》每章后面都安排了一定数量的习题,这有利于读者理解、消化和掌握各单元的学习内容。习题中,除了有填空题、选择题、 回答问题等适合掌握基本概念的题型外,

大部分是分析程序运行结果和要求编写

实用程序, 这有利于读者训练编程技巧和增强编程能力。 应广大读者要求, 特别是一线教学老师的要求, 我们给出全部习题答案, 供读者参考。 编程答案只是实现题目算法要求的一种, 并不一定是最好的。 希望读者自己多做思考, 利用多种方法进行编程, 用以提高自己的程序设计水平和锻炼自己的创新能力。 水平所限,错误和不当之处在所难免,恳请批评指正。

由于作者

习题一

1、填空题。

⑴ C语言程序由 函数 组成,其中必须有且只能有一个名为 _main 的 函数。C程序的执行从 名为main的主 函数开始。

⑵ 每个C语句必须以 分 号结束。

⑶ 标识符只能由 _英文字母 _、 数字_和_下划线 三类符号构成,而且标识符的第一个字符必须是 英文字母 或 下划线 。

⑷ 关键字是指 C语言编译系统所固有的、具有专门意义的标识符 ⑸ C程序中,注释的内容应放在 /* _和_*/

符号之间。

2、选择题。

⑴ 下面合法的 C语言标识符是 ⑵ C语言中主函数的个数是 ⑷ C程序中, main函数的位置 3、指出并改正下面程序中的错误。

⑴ main 应为 main()

⑵ 应在本程序最后加上大括号 } 。 ⑶ 语句结束应有分号。如:

int a,b ; a=1 ;b=2; printf(\

C A 。 。 。

D 。

⑶ 以下有关注释的描述中,错误的是 C 4、分析下列程序,写出运行结果。

;.

..

⑴ 该程序是计算两个整数 a和b的乘积并赋值给 c,运行结果为:

c=30

⑵ 该程序输出一个字符串和一排星号,运行结果为:

Hello! *****************

5、编程题。

⑴ 按题目要求,编写输出固定信息的程序如下:

main() { pt();

printf(\Welcome!\pt(); } pt() {

printf(\}

⑵ 按题目要求,编写输入数据输出其表达式的程序如下: main() {

int a,b,c;

scanf(\scanf(\c=a*b+10;

printf(\}

习题二

1、单项选择题。

⑴ C语言中的变量名只能由字母、数字和下划线组成,且第一个字符 ⑵ 合法的常量是 D 。

D 。

⑶ C语言中的基本数据类型所占存储空间长度的顺序是 ⑷ 下列符号串中与 123.0 相同的合法常量是 C 。

_ C _ 。

2、填空。

⑴ C语言中的基本数据类型包括 和_字符型( char ) _三种。

⑵ 整型常数有 _十进制整数 _、_八进制整数 _和_十六进制整数 _三种表示形式; 整型变量可分为四类 : _ 一般整型( int ) _、_短整型( short )_、_长整型

整型( int ) _、 浮点型( flot )

;.

..

( long )_、_无符号型 _。其中_无符号型 _又可分为 _无符号整型( unsigned int )、 _无符号短整型( unsigned short ) 和_无符号长整型( unsigned long ) _3种。

⑶ 有10个用指数形式表示的符点常数 :

请指出合法的有 ③④⑥⑧⑩ 。

⑷ 在C中, 没有专为存贮字符串的变量, 但可以用 字符型数组 或 字符型指针变量 _存贮字符串。其定义格式为 _ char str[6];

⑸ 数据类型混合运算时 , 要进行同型转换 , (隐式转换) 和 强制转换(显式转换) 两种。

_和_ char *a; _。 转换方式分为 自动转换

3、写出下列程序运行结果。

⑴ 215/9=23 ⑵ 97

8

b

⑶ 4.000000

4、编写程序。

⑴ 按题目要求编写求三个已知数的乘积,程序如下: main() {

int a,b,c; a=19; b=22; c=650;

printf(\}

⑵ 按题目要求,编写将值整数化后赋值的程序如下: main() {

int a1,a2; float b,c; b=35.425; c=52.954; a1=(int)(b*c); a2=(int)c%(int)b;

printf(\}

⑶ 按题目要求,编写计算圆周长、面积和圆柱体积的程序如下:

main() {

int r,h,c,s,v; r=15; h=3;

c=2*3.14*15; s=3.14*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、求下面算术表达式的值。

⑴ 2.500000 ⑵ 3.500000

4、分析下列程序,写出运行结果。

⑴ 注意,在 C语言中,因为函数调用中参数按从右到左的顺序求值,因此该程序执行打印输出的结果为:

3 1 1

⑵ 该程序在计算条件表达式的值赋给 a 时,其 x 值已为 6,y 值已为 7,因此运行结果为:

a=7,b=0,c=6

⑶ 该程序利用运算符与结合性的优先级不同, 而取得 a 与 b 的值。(因为该题使用了逻辑运算符,可在学了第 5 章以后再详细分析)运行结果如下:

a=2,b=1

⑷ 该程序应用复合的赋值运算符和从右至左结合性的运算规则,求取 值,运行结果如下:

n=28

n 的

⑸ 该程序在执行语句“ y=x++-1; ”时, y 为 0 而 x 在执行后变为 2;在执行语句“ z=--y+1; ”时, z 为 0 而 y 便成了 -1 。运行结果如下:

;.