内容发布更新时间 : 2025/11/4 13:57:42星期一 下面是文章的全部内容请认真阅读。
(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(\