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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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. 输入三角形三条边的边长,计算并输出三角形的面积。

根据三条边的边长,计算三角形面积的公式如下:

2x y z s ++⎛⎫== ⎪⎝⎭

面积其中 程序如下:

#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

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.仿照例编程,输入a、b后,输出一元一次方程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;

相关文档
最新文档