C程序设计复习题集
      一、C 语言程序设计习题参考答案  ………………………………… 1
      二、C语言程序设计复习题
        单项选择题  …………………………………………………  41
              …………………………………………………  45
        写输出结果题 …………………………………………………  46
        程序填空题    ………………………………………………… 53
            …………………………………………………… 61
        三、C语言程序设计复习题答案
        单项选择题  …………………………………………………… 62
            …………………………………………………… 63
        写输出结果题 …………………………………………………… 63
        程序填空题   …………………………………………………… 64
        编程题(参考) …………………………………………………… 65
        四、C语言程序设计模拟试卷、参考答案
          试卷一 …………………………………………………………… 74
          试卷二 …………………………………………………………… 77
浙江工业大学计算中心编印

C程序设计习题参考答案
1. 填空题
计算机程序设计语言按其发展可分为三类,即 机器语言 汇编语言 c语言中逗号表达式的用法高级语言
C程序是由 函数 构成的,一个C程序中至少包含 1main函数。因此, 函数C程序的基本单位。
C程序注释是由 /*    */ 所界定的文字信息组成的。
函数体一般包括 函数首行 函数体 
在任何C程序中都必须且只能有一个主函数, 主函数名必须为 main
2. 判断下列各个叙述的正确与否
C程序的执行总是从该程序的main函数开始,在main函数最后结束【√】
C程序的注释部分可以出现在程序中任何位置,它对程序的编译和运行不起任何作用,但可以增加程序的可读性【√】
由“/*”与“*/”界定的注释必须在同一行【
通过了编译、连接的程序就是正确的程序【
有计算结果输出的程序一定是正确的程序【
编译错误是语法错误,运行结果错误是逻辑错误【√】
编译时在信息窗口出现包含“error”的信息,说明程序存在警告性错误【
源程序每次修改后,都必须重新编译、连接【√】
3. 简答题
算法的含义、特点是什么?
解答:算法是解题方法的精确描述。有穷性、确定性、有多或零个输入、有1或多个输出、有效性。
写出一个C程序的基本结构。
由编译预处理命令、注释、1main和若干个自定义函数构成,函数格式如下:
    函数类型 函数名(类型标识符 形参,类型标识符 形参,...)
    {  类型声明语句; 执行语句部分; }
写出在你使用的计算机系统上,进入C环境以及运行、调试程序的简要步骤。
输入x后计算其正弦值的源程序如下。编译信息是否表示有致命性错误?应如何修改?
解答:致命性错误为第6行函数sin未声明,应加入编译预处理命令 #include <math.h>
4. 编程题
请上机调试、运行本章课本上C语言程序例题46(注释部分可以不必输)
仿照例6编程,输入两个变量后,输出其中较大的值。
    #include <stdio.h>
    void main()
  {  int a, b;
      printf("请输入AB的值:\n");
      scanf("%d%d",&a,&b) ;
      if(a>b) printf("%d\n",a); else printf("%d\n",b);
    }
仿照例题编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。
    #include <stdio.h>
    void main()
  {  float r, h, v;
      printf("请输入半径、高的值:\n");
      scanf("%f%f",&r,&h);
      v=r*r*3.141593*h;
      printf("%f\n",v);
    }
1. 将下列程序上机运行,写出你所使用的C语言处理系统中shortint以及long类型数据的字长和数值范围。
      #include <stdio.h>
      void main()
    {  printf("short类型数据的字长为:%d\n",sizeof(short));
        printf("int类型数据的字长为:%d\n",sizeof(int));
        printf("long类型数据的字长为:%d\n",sizeof(long));
      }
解答:VC++环境下,分别为244
2. 仿照题1编程,测试floatdouble类型数据的字长。
      #include <stdio.h>
      void main()
    {  printf("float类型数据的字长为:%d\n",sizeof(float));
        printf("double类型数据的字长为:%d\n",sizeof(double));
      }
3. 判断下列各个叙述的正确与否。
Clong类型数据可以表示任何整数
任何变量都必须要声明其类型【√】
C的任何类型数据在计算机内都是以二进制形式存储的【√】
scanf函数中的格式符“%d”不能用于输入实型数据【√】
格式符中指定宽度时,从缓冲区中读入的字符数完全取决于所指定的宽度【√】
按格式符“%d”输出float类型变量时,截断小数位取整后输出
按格式符“%6.3f”输出ii=123.45)时,输出结果为 23.450
scanf函数中的格式符“%f”能用于输入double类型数据
4. 指出下列各项中那些是C的常量,对合法的C常量请同时指出其类型。
10,150      007      -0x3d      π      1e0      e1        o7o8
'x'        'xo'    1.52e0.5    sin(3)    0xf16    "X"      '\007'
1.414E+2    2.54    '\\'        'a'
解:007整型,-0x3d整型,1e0实型,'x'字符型,0xf16整型,"X"字符串
  '\007'字符型,1.414E+2实型,2.54实型,'\\'字符型,'a'字符型
5. 指出下列各项中那些是C的标识符(可作变量名)。
x_1      X_2    High    printf    β      3DS      i/j
e2      -e2    count    Int      number  $23      next_
解:x_1X_2Highe2countIntnumbernext_
6. 根据条件,写出下列各题的输出结果。
int i=234,j=567; 函数printf("%d%d\n",i,j) 的输出结果是 234567
int i=234; float x=-513.624;
  函数printf("i=%5d  x=%7.4f\n",i,x) 的输出结果是 i=  234  x=-513.6240
float alfa=60,pi=3.1415926535626;  函数printf("sin(%3.0f*%f/180)\n",alfa,pi)
  的输出结果是 sin( 60*3.141592/180)
char ch='$',float x=153.45;
  函数printf("%c%-8.2f\\n",ch,x) 的输出结果是 $153.45  \n
int d=27; 函数printf("%-5d,%-5o,%-5x\n",d,d,d)的输出结果是 27  ,34  ,1b
float x1=13.24,x2=-78.32;  函数printf("x(%d)=%.2f  x(%d)=%.2f\n",1,x1,2,x2)
  的输出结果是 x(1)=13.24  x(2)=-78.32
7. 根据下列条件写出变量i1int类型)、c1char类型)、f1float类型)、d1double类型)的当前值。
执行scanf("%d%c%f%lf",&i1,&c1,&f1,&d1)时输入52$9.17 3.1415926535 后。
  i152c1'$'f19.17d13.1415926535
  执行scanf("%d$%c%f%lf",&i1,&c1,&f1,&d1)时输入52$9.17 3.1415926535 后。
  i152c1'9'f10.17d13.1415926535
8.下列源程序输入xy后,输出xy次方。运行时无编译、连接错误,但输入不同格式的两组数据输出结果却不同,哪一组是对的?请说明原因。
解答:第1组输入数据错误,因为格式串中有“,”所以键盘输入数据xy之间也一定以逗号为间隔符。
9. 写出下列程序运行时输入 3 4 5 输出结果。
  #include <stdio.h>
  #include <math.h>      输出结果:边长为3.00,4.00,5.00的三角形面积为6.00
  void main()
  {  float a1,a2,a3,s,d;
    scanf("%f%f%f",&a1,&a2,&a3);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。