内容发布更新时间 : 2024/11/5 14:55:52星期一 下面是文章的全部内容请认真阅读。
(2)编写一个程序,输入一个字符,依次输出其前导字符、该字符和后续字符。 【解】程序如下:
/*文件名:exci3_2.cpp*/
VC++6.0
#include
char c;
printf(\输入一个字符:\ scanf(\
printf(\输出结果:%c,%c,%c\\n\}
(3)编写一个程序,输出任意一个十进制整数对应的八进制数和十六进制数。 【解】直接使用printf()的格式符输出八进制数和十六进制数。程序如下: /*文件名:exci3_3.cpp*/
VC++6.0
#include
int i;
printf(\输入一个整数:\ scanf(\
printf(\ printf(\}
(4)编写一个程序,从键盘输入圆锥体的半径r和高度h,计算其体积。 【解】圆锥体体积的计算公式为: v=π×r×r×h/3 程序如下:
/*文件名:exci3_4.cpp*/
VC++6.0
#include
float r,h,pi=3.1415,v; printf(\圆锥半径,高度:\ scanf(\ v=pi*r*r*h/3.0;
printf(\圆锥体积=%g\\n\\n\}
13
练习题4及参考答案
1. 单项选择题
(1)if后面的逻辑表达式之值 。
A. 只能是0或1 C. 只能是整型或字符型数据
【答】A
B. 只能是正整数或负整数 D. 可以是任何类型的数据
(2)为了避免嵌套的if-else语句的二义性,C语言规定else总是与 组成配对关系。
A. 缩排位置相同的if 【答】C
B. 在其之前未配对的if
C. 在其之前最近的未配对的if
D. 同一行上的if
(3)选择出合法的if语句(设int x,a,b,c;) 。
A. if (a=b) x++;
B. if (a=
C. if (a<>b) x++;
为真。本题答案为A。
D. if (a=>b) x++;
【答】选项B、C、D中的比较运算符不正确,在选项A中,a=b返回b,若b为0或空字符,则为假,否则(4)以下不正确的if语句是 。
A. if (x>y);
B. if (x=y) && (x!=0) x+=y;
C. if (x!=y) scanf(\ D. if (x 【答】B。应改为if (x=y && x!=0) x+=y; (5)若定义float x;int a, b;,则正确的switch语句是 。 A. switch(x) { case 1.0:printf(\ case 2.0:printf(\ } B. switch(x) { case 1.2:printf(\ case 3:printf(\ } C. switch(a+b) { case 1:printf\ case 1+2:printf(\ } D. switch(a+b) { 14 case 1:printf(\ case 2:printf(\ } 【答】D (6)执行下列程序,输入为1的运行结果是 ① ,输入为3的运行结果是 ② 。 #include scanf(\ switch(k) { } ① A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 } case 1: printf(\ break; case 2: printf(\case 3: printf(\ break; case 4: printf(\default:printf(\ ② A. 3 B. 4 C. 3 4 D. 4 5 【答】① A ② A (7)执行下列程序,输入为1的运行结果是 ① ,输入为3的运行结果是 ② 。 #include int k; scanf(\ switch(k) { case 1: printf(\ case 2: printf(\ case 3: printf(\ case 4: printf(\ break; default:printf(\ } } ① A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 ② A. 3 B. 4 C. 3 4 D. 4 5 【答】① D ② C (8)以下程序的运行结果是 。 15 #include int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { } printf(\} A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2 } case 0:a++;break; case 1:b++;break; case 2:a++;b++;break; 【答】A 2. 填空题 (1)有定义int x;则“x是偶数”的表达式是 。 【答】x % 2 == 0 (2)有定义int a,b;则“a是b的整数倍”的表达式是 。 【答】a % b == 0 (3)有定义int a,b,c;它们表示三个边长,则能够构成一个直角三角形的条件是 。 【答】a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a (4)有定义int a,b,c;它们表示三个边长,则能够构成一个三角形的条件是 。 【答】(a+b 16 int k=2; switch (k) { } case 1: printf(\ break; case 2: printf(\case 3: printf(\ break; case 4: printf(\default:printf(\