天天看点

c语言第3版课后答案,程序設计基础(C语言)第3版习题及答案.doc

程序設计基础(C语言)第3版习题及答案

第1章 C语言概述

【习题-1】简述C语言的特点。

答:C语言的特点:C语言简洁紧凑灵活方便运算符丰富数据结构丰富C是结构式语言C语法限制不太严格程序设计自由度大C语言允许直接访问物理地址C语言程序生成代码质量高C语言适用范围大可移植性好题-2】简述上机调试运行C程序的操作步骤。

答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。

【习题-3】上机运行本章的3个例题。

答:略。

【习题-4】请从以下的4个选项中选择一个正确答案。

(1)A (2)A (3)C (4)B

【习题-5】参照本章例题,编写一个C语言程序,输出以下信息:

**************

Nice to meet you!

**************

编写程序如下:

#include

void main()

{

printf("**************\n");

printf("Nice to meet you!\n");

printf("**************\n");

}

第2章 基本数据类型和运算符

【习题】题】下面哪些是合法的常量?

20 0.5 012 13e5.1 E-5 8e4 5. 0x6a

⑵'mn' "OK" "a" '\012' "a/b" '\\'

答:⑴合法的常量有:20 0.5 012 8e4 5. 0x6a

⑵合法的常量有: "OK" "a" '\012' "a/b" '\\'

【习题】下面的变量名中哪些是合法的?

A&b abc123 abc% AbC a_b_c

int _abc 123abc a\b?c

a bc a*bc 'a'bc

答:合法的变量名abc123 AbC a_b_c _abc

【习题】指出下面的变量定义哪些是正确的哪些是不正确的为什么Int i,j;

⑵float a,b;

⑶int a,b;float a,b;

⑷float a,int b;

⑸char 'a';

答:⑴错误,因为关键字Int应该全为小写字母

⑵正确

⑶错,因为同一变量在程序的同一处不应该声明为不同的数据类型

⑷错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号

⑸错,'a'表示字符常量,不能用作变量名

【习题】(a+b)4

(2)

(3)

(4)2?r+?r2+cos(45°)

(5)

对应的C语言表达式分别为:

(1)3.26*exp(x)+1.0/3*pow(a+b,4)

(2)2*sqrt(x)+(a+b)/(3*sin(x))

(3)g*m1*m2/(r*r)

(4)2*3.14*r+3.14*r*r+cos(3.14/180*45)

(5)loan*rate*pow(1+ rate, month)/(pow(1+rate, month)-1)

【习题】C语言中为什么要引入转义字符题】1和0才能表示真值和假值吗?

答:逻辑表达式的值是一个逻辑量“真”或者“假”,不是只有用1表示真值,用0表示假值,在判断一个量为真假时,常以0表示假,以非0表示真。

【习题】题】&&”和“‖”严格地执行运算符优先级的规则吗?它的规则是什么?

答:逻辑运算符不按照规定的优先级计算。在逻辑表达式的求值过程中,如果从“&&”或“‖”左边的运算对象部分已经能够确定整个逻辑表达式的值,则不再求右边运算对象的值,这样做提高了运算速度。具体地说:若“&&”的左运算对象值为0,则不再对右运算对象求值,因整个式子的结果必定为0。若“‖”的左运算对象值为非0,则不再对右运算对象求值,因整个式子的结果必定为1。以上所说的这种运算的规则是C对逻辑运算的特殊处理规则。它严格地执行从左到右运算的规则,不受运算符优先级所影响。

【习题】

② 从内部存储来看,编译程序在每个字符串的尾部自动加上了一个空字符NULL(即‘\0’)作为字符串的结束标志,而字符常量则不存在这种情况。

【习题】将下面语句组进行简写。

int i;

int j;

⑵x=0;

y=0;

⑶x=x+y;

⑷int x,y;

x=y-(y/10)*10;

⑸int x;

x=x+1;

⑹y=x;

--x;

对应的简写语句分别为:

(1)int a,b;

(2)x=y=0;

(3)x+=y;

(4)int x,y;

x=y%10;

(5)int x;

x++; 或 x+=1; 或 ++x;

(6)y=x--;