好文档 - 专业文书写作范文服务资料分享网站

C语言课后习题解析及答案 

天下 分享 时间: 加入收藏 我要投稿 点赞

第二章 数据类型 课后习题

1. 下列哪些是合法的变量名?如果合法,你认为它是一个好的助记符(能提醒你它的用途)吗? (a) stock_code 合法、好的助记符 (b) money$ 非法,$为非法字符 (c) Jan_Sales 合法、好的助记符 (d) X-RAY 非法,–为非法字符 (e) int 非法,int为关键字 (f) xyz 合法、不是好的助记符 (g) 1a 非法,变量名必须以字母或下划线打头 (h) invoice_total合法、好的助记符 (i) john's_exam_mark非法,’为非法字符

(j) default 非法,default为关键字

2. 请确定下列常量的数据类型:

(a) 'x' char (b) -39 int (c) 39.99 double (d) -39.0 double

3. 下列哪些是合法的变量定义? (a) integer account_code ; 非法,无integer类型 (b) float balance ; 合法 (c) decimal total ; 非法,无decimal类型 (d) int age ; 合法 (e) double int ; 非法,int为关键字,不能作为变量名 (f) char c ; 合法

4. 写出下列各小题中的变量定义:

(a) 整型变量number_of_transactions和age_in_years int number_of_transactions, age_in_years;

(b) 单精度浮点型变量total_pay,tax_payment,distance和average float total_pay, tax_payment, distance, average; (c) 字符型变量account_type char account_type;

(d) 双精度浮点型变量gross_pay double gross_pay;

5. 为下列各小题写出最合适的变量定义: (a) 班级中的学生人数 int number_of_students; (b) 平均价格 float average_price; (c) 自1900年1月1日以来的天数 int days_since_1900;

(d) 利率百分比 float interest_rate; (e) 本页中最常出现的字符 char most_common_char;

(f) 中国的人口总数(在2010年11月大约为1,339,724,852)int population_of_china;

6. 假定有如下定义:

int i ; char c ;

下面哪些是合法的C语句? c = 'A' ; 合法

i = \ 非法,字符串不能赋值给整型 i = 1 ; 合法

c = \ 非法,”A”为字符串,存储为’A’和’\\0’两个字符 c = '1'; 合法

7. 写一个C程序,给第4题中的变量各赋一个值,然后以每行一个变量的形式显示这些变量的值。

#include

int main(void) {

int number_of_transactions, age_in_years;

float total_pay, tax_payment, distance, average; char account_type; double gross_pay;

number_of_transactions = 211; age_in_years = 66; total_pay = 3128.0f; tax_payment = 214.5f; distance = 2431.5f; average = 83.5f; account_type = 'c'; gross_pay = 9313.5;

printf(\number_of_transactions, age_in_years, total_pay, tax_payment, distance, average, account_type, gross_pay);

return 0; }

8. 写一个C程序显示如下信息: *************** * Hello World *

*************** #include

int main(void) {

printf(\ printf(\ printf(\

return 0; }

9. 写一个C程序在不同的行分别显示你的姓名和家庭住址。 #include

int main(void) {

printf(\张三\\n\

printf(\黑龙江省哈尔滨市南岗区\\n\

return 0; }

10.ASCII码用于表示计算机内存中的字母、数字和其它符号。使用附录C中的ASCII码表查找下面每个字符的ASCII编码:

'A' 'B' 'Y' 'Z' 'a' 'b' 'y' 'z' '0' '1' ',' ' ' (空格) 字符 十进制ASCII码 十六进制ASCII码 A 65 41 B 66 42 Y 89 59 Z 90 5a a 97 61 b 98 62 y 121 79 z 122 7a 0 48 30 1 49 31 , 44 2c 空格 32 20

11.在程序P2C中,将第14行的%d改为%c,第16行的%c改为%d。编译并运行修改后的

程序。你能解释运行结果吗?(提示:请参看附录C的ASCII码表)

第三章 简单算术运算符与表达式 课后习题

1. 将下列数学方程转化为合法的C语句:

(a)m?y1?y2x1?x2

(b)y?mx?c (c)a?bd? ce5(F?32)(d)C?

9(e)s?ut?12at

(a) m = (y1 – y2) / (x1 – x2); (b) y = m * x + c; (c) a = b / c – d / e;

(d) C = 5 * (F – 32) / 9.0; (e) s = u * t + a * t * t / 2.0;

2. 有如下变量定义:

int a = 1, b = 10, c = 5 ; int d ;

下面每条语句执行后d的值为?

(a) d = b / c + 1 ; d=3 (b) d = b % 3 ; d=1 (c) d = b - 3 * c / 5 ; d=7 (d) d = b * 10 + c - a * 5 ; d=100 (e) d = ( a + b - 1 ) / c ; d=2 (f) d = ( ( -a % c ) + b ) * c ; d=45 (g) d = --a ; d=0

3. 变量定义如第2题,请改正下列C语句中的错误:

(a) d = 2(b + c) ; d = 2 * (b + c) (b) d = 5b + 9c ; d = 5 * b + 9 * c; (c) d = b - 3 X 19 ; d = b – 3 * 19; (d) d = b.c + 10 ; d = b * c + 10;

(e) d = ( a + b ) / c ;

2无错误

4. 为下列任务写出合适的C语句:

(a) 将num1加1,并将结果放回到num1中 (b) 将num1加2,并将结果放回到num2中

num1 = num1 + 1;或num1++; num2 = num1 + 2;

(c) 将num2加2,并将结果放回到num2中 (d) 将num1减1,并将结果放回到num1中 (e) 将num2减2,并将结果放回到num2中

5. 有如下定义:

int a = 12, b = 0, c = 3 ; int d ;

num2 = num2 + 2;或num2 += 2; num1 = num1 – 1;或num1--; num2 = num2 – 2;或num2 -= 2;

下列每条语句执行后a、b、c和d的值各是什么?

(a) a++ ; a=13 b=0 c=3 d=内存单元的随机值 (b) b-- ; a=12 b=-1 c=3 d=内存单元的随机值 (c) d = ++c ; a=12 b=0 c=4 d=4 (d) d = c-- ; a=12 b=0 c=2 d=3 (e) d = a++ - 2 ; a=13 b=0 c=3 d=10 (f) d = a++ + b++ - c-- ; a=13 b=1 c=2 d=9

6. 有如下定义:

int a = 1, b = 2, c = 3 ;

下列每条语句执行后a、b、c的值各是什么? (a) a += b ; a=3 b=2 c=3 (b) a /= 3 ; a=0 b=2 c=3 (c) a *= c ; a=3 b=2 c=3 (d) a %= 2 ; a=1 b=2 c=3 (e) a += b+1 ; a=4 b=2 c=3 (f) a += ++b ; a=4 b=3 c=3

7. 有如下定义:

char ch_val ; int int_val ; short short_val ; float float_val ; double double_val ; unsigned int unsigned_int_val ; 下面哪些可能因为赋值类型自动转换而损失数据?

(a) short_val = int_val ; 可能损失精度 (b) int_val = ch_val ; 不能损失精度 (c) double_val = float_val ; 不能损失精度 (d) int_val = float_val ; 可能损失精度 (e) int_val = unsigned_int_val ; 可能损失精度

8. 和第7题的变量定义一样,下列各表达式的数据类型各是什么?

(a) int_val * float_val ; (b) float_val + int_val / 100 ; (c) ch_val + short_val + int_val ; (d) (double)int_val + double_val + float_val ; (e) (int)float_val * float_val / int_val ; (f) int_val + 3.0 ;

double double int double double double

C语言课后习题解析及答案 

第二章数据类型课后习题1.下列哪些是合法的变量名?如果合法,你认为它是一个好的助记符(能提醒你它的用途)吗?(a)stock_code合法、好的助记符(b)money$非法,$为非法字符(c)Jan_Sales合法、好的助记符(d)X-RAY非法,–为非法字符(e)int非法,int为关键字(f)xyz
推荐度:
点击下载文档文档为doc格式
951o23fiex6trx01723y3gzju6vsv000djt
领取福利

微信扫码领取福利

微信扫码分享