内容发布更新时间 : 2025/6/19 5:39:16星期一 下面是文章的全部内容请认真阅读。
(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(\