C语言程序设计(第二版)习题参考题答案

C语言程序设计习题参考答案
习 题 1
一、判断题
1.在计算机中,小数点和正负号都有专用部件来保存和表示。
2.二进制是由0和1两个数字组成的进制方式。
3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。
4.在整数的二进制表示方法中,0的原码、反码都有两种形式。
5.有符号数有三种表示法:原码、反码和补码。
6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。
解:1.F    2.T    3.T    4.T    5.T      6.T
二、单选题
1.在计算机中,最适合进行数值加减运算的数值编码是      。
A. 原码            B. 反码          C. 补码                D. 移码
2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数      。
A. 112              B. 120            C. 121              D. 122
3.关于ASCII码,在计算机中的表示方法准确地描述是      。
A. 使用8位二进制数,最右边一位为1 
B. 使用8位二进制数,最左边一位为1
C. 使用8位二进制数,最右边一位为0 
D. 使用8位二进制数,最左边一位为0
4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。
A. X∧Y=1000    B. X∨Y=1111    C. X⊕Y=0011    D. ¯Y  =1000
5.下列叙述中正确的是( )。
A.高级语言就是机器语言
B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序
C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种
D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果
6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将(  )。
A.生成可执行文件            B.生成目标文件
C.输出运行结果                D.自动保存源文件
7.下列叙述中不正确的是( )。
A.main函数在C程序中必须有且只有一个
B.  C程序的执行从main函数开始,所以main函数必须放在程序最前面
C. 函数可以带参数,也可以不带参数。
D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句
解:1.C    2.C    3.D    4.B    5.B    6.B    7.B
三、填空题
1.()10=(      2=(      8=(      16 
2.(.10111)2=(      8=(      16=(      10 
3.输入三个数,计算并输出三个数的和与三个数的乘积。
程序如下:
#include <>
void main()
    int a,b,c,s,z;
    printf("Please input a b c:\n"); 
                     
    s=a+b+c;                       
                       
    printf("%d\n",s);   
                       
}
*4. 输入三角形三条边的边长,计算并输出三角形的面积。
    根据三条边的边长,计算三角形面积的公式如下:
程序如下:
    #include <>
    #include <>
    void main()
   
        double x,y,z,s,dime;               
        scanf("%lf%lf%lf",&x,&y,&z);         
                           
      dime=sqrt(s*(s-x)*(s-y)*(s-z));   
                             
  }
解:1.               
2.                 
3.scanf("%f%f%f",&a,&b,&c);        z=a*b*c;      printf("%f",z);
4.s=(x+y+2)/2;        printf("%f",dim);
四、编程题
1.仿照例,编程序在屏幕上显示:
*****************************
      Merry进制数转换公式 Christmas!       
          Happy New Year!   
*****************************
解:#include <>
    void main()
    {  printf("*****************************\n");
        printf("    Merry Christmas!\n");
        printf("        Happy New Year!\n");
        printf("*****************************\n");
    }
2.仿照例编程,输入一个整数,计算这个数的平方。
解:#include<>
    void main()
    int a,z;
          printf("请输入一个整数:\n");
          scanf("%d",&a);
      z=a*a;             
        printf("%d*%d=%d\n",a,a,z);
  }
*3.仿照例编程,输入两个数后,输出其中较小值。
解:#include<>
    float min(float x, float y)           
    {  float m;                       
      if (x<y) m=x;
      else  m=y;
      return  m;               
    }
    void main()
    {  float a,b,c,mindata;
      printf("请输入二个数:\n");
      scanf("%f %f",&a,&b);
        mindata=min(a,b);             
        printf("较小数:%f\n",mindata);   
      }
*4.仿照例编程,输入ab后,输出一元一次方程ax+b=0的解。
解:#include<>
    void main()
    {  float a,b,x;
        printf("请输入a、b:\n");
        scanf("%f %f",&a,&b);
      x=-a/b;             
      printf("x=%f\n",x);
    }
*5.仿照例编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。
解:#include <>
    void main()
    {  float r,h,s,v;
      printf("Please input r and h:\n");
      scanf("%f %f",&r,&h);
        v=*r*r*h;
        printf("V=%f\n",v);
    }
习 题2
一、判断题
1.任何变量都必须要定义其类型。
2.C语言的double类型数据在其数值范围内可以表示任何实数。
3.C语言的任何类型数据在计算机内都是以二进制形式存储的。
4.isdigit(5)的结果为0。

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