本节书摘来自华章社区《C语言程序设计:问题与求解方法》一书中的第2章,第2.18节本章习题,作者:何 勤,更多章节内容可以访问云栖社区“华章社区”公众号查看
本章习题
一、判断题
1.两个整型量(包括常量和变量)m和n相除 m/n ,所得的结果是截去了小数部分的整数商。
- 在调用数学库函数时,可以不包含头文件math.h 。
3.在C89标准中规定:定义可以出现在函数体中的任意位置。
4.表达式中出现的变量,可以是未经过初始化的变量。
5.两个运算量之间的乘号 “” 有时可以省略不写,有时可以用 “.”号代替“”号。
6.在赋值语句中,赋值号的左边一定是一个单个变量,不能是常量,也不能是一个函数调用。
- C语言字符集中的同一个字符,出现在源程序的不同位置,其含义可能不同(考虑圆括号和 % 这两个字符)。
- C语言程序中,凡是可以出现常量的地方,都可以用一个表达式来替代。
9.赋值语句使得我们既可以通过已知变量求得未知变量的值,又可以通过变量的旧值求得该变量的新值。
10.语句“x=x+1;”是错误的,因为运算符 “=”的两边不相等。
11.没有副作用的表达式永远不会改变变量的值。
12.内存中变量的值可以重复取出任意多次来使用,变量的值都不会变。一旦存入(或输入)一个新值到该变量中,变量的旧值将不复存在。
13.库函数名通常都是由小写英文组成的标识符,而C89中的关键字可以用大写字母构成。
14.单个常量、变量、有返回值的函数调用都是表达式。
- printf调用时,格式控制串中转换说明的数量要与输出项的数量一样多,类型也要一一匹配。
16.“程序”又可称为“代码”,“源程序”又可称为“源代码”。
二、选择题
-
以下不是C语言提供的合法关键字的是( )。
A. switch B. printf C. case D. default
-
以下选项中合法的用户标识符是( )。
A. long B. _2Test C. 3Dmax D. A.dat
-
下列各项字符序列中,合法的变量名是( )。
A. 2e3 B. you C. *y D. float
-
下列可以正确表示字符型常量的是( )。
A.'\t' B. "a" C. "\n" D. 297
-
已定义c为字符型变量,则下列赋值语句中正确的是( )。
A. c='97' B.c="97" C. c='a' D. c="a"
-
C语言中运算对象必须是整型的运算符是( )。
A. % B. / C. = D. *
-
在C语言程序中,表达式8/5的结果是( )。
A. 1.6 B.1 C. 3 D. 0
-
在C语言程序中,表达式5%2的结果是( )。
A. 2.5 B. 2 C. 1 D. 3
三、问答题
1.设float型变量radius表示圆球的半径,float型变量volumn表示圆球的体积。请指出以下printf函数调用语句中的错误。
1)printf (“圆球的体积是:%f立方米 , 圆球的半径是:%f立方米n”, radius );
2)printf (“圆球的体积是:%d立方米n”, volumn );
3)printf (“圆球的体积是:%.2f 立方米n , volumn” );
4)print (“圆球的体积是:%f 立方米n” , & volumn );
2.填空题
1)如果要用一次printf()函数调用,依次输出n个变量(或表达式)的值,那么在函数调用的格式串中应当有 个格式符,并且格式符中的转换说明要与输出项的 一一匹配。
2)如果三个待输出的变量的类型依次分别是 int、char、float,那么格式串的形式通常应当是:“ %_ %_%_* ” 。其中的星号代表任意多个普通字符或转义字符。
3.已知 age 是int型变量,ch是char型变量,heigh是float 型变量,请用适当的转换说明符 d、f、c填空:
1)scanf("%__" , &age);
2)scanf(" %__" , &ch);
3)scanf("%__" , &heigh);
4.将下列代数式转换成相应的C语言表达式。
1)6y/5x–3a2
2)|yx+lg(x2+1)+3ex+ln(y)|+sin(25°)
5.先阅读,然后通过上机调试,请找出以下程序中的所有错误并改正。
/*
作者: 何勤
编写日期: 2009-12-25
功能: 输入圆球的半径,求圆球的体积
# include (stido.h)
#defined PI 3.1416 ; /*符号常量*/
Int mian<> ;
{
print("请输入圆球的半径\n")
Float , r ; v ;
scanf("%f\n", r)
V=(4/3) . PI . r3 ;
Print("圆球的体积是:%d立方米\n , " &v );
return 0 ;
}
6.阅读、编译并运行例题2.1。
四、编程题
1.从键盘输入圆锥体的半径radius和高度height,计算其体积volumn(其中圆周率要求用符号常量表示)。
2.输入年利息、存钱的年数和金额,计算到期本金和利息之和(不计复利)。
3.已知一元二次方程ax2+bx+c=0 的系数a,b,c(a,b,c由键盘数入),并且假设b2–4ac>0,求方程的两个实数根。
4.编写一个程序,让用户输入一个字符,程序显示此字符所对应的ASCII码。要求显示格式如下:
输入的字符是:
对应的ASCII码是:
5.编写一个程序,要求用户输入一个ASCII码,程序显示此ASCII码所对应的字符。要求显示格式如下:
输入的ASCII码是:
对应的字符是:
6.参照例题2.7,将6位纯数字的明码转变为比较安全的混合密码。要求6位密码由两位大写英文字符、两位小写英文字符和两位数字字符构成。
7.编写学生个人生活小管家程序。输入本月总收入,输入预算支出项,显示输出本月预算情况。支出分为: 就餐费、手机费、日常生活用品费、交友娱乐费。