C语言程序设计习题参考答案
习题 1
一、判断题
1.在计算机中,小数点和正负号都有专用部件来保存和表示。
2.二进制是由0和1两个数字组成的进制方式。
3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。
4.在整数的二进制表示方法中,0的原码、反码都有两种形式。
5.有符号数有三种表示法:原码、反码和补码。
6.常用字符的A S CII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。
解:1.F2.T 3.T 4.T 5.T 6.T
二、单选题
1.在计算机中,最适合进行数值加减运算的数值编码是。
A. 原码
B. 反码
C. 补码
D. 移码
2.已知英文小写字母m的A SCII码为十进制数109,则英文小写字母y的AS CII码为十进制数。
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.(87.625)10=( )2=( )8=( )16
2.(1001010111001.10111)2=( )8=( )16=( )10
3.输入三个数,计算并输出三个数的和与三个数的乘积。
程序如下:
#inclu d e <stdio .h>
void main()
{
int a,b,c,s,z;
print f("Pleas e input a b c:\n");
s=a+b+c;
print f ("%d\n",s);
}
*4. 输入三角形三条边的边长,计算并输出三角形的面积。
根据三条边的边长,计算三角形面积的公式如下:
2x y z s ++⎛⎫= ⎪⎝⎭
面积其中 程序如下:
#inclu d e <stdio .h>
#inclu d e <math.h>
void main()
{
doubl e x,y,z,s,dime;
scanf ("%lf%lf%lf",&x,&y,&z);
dime=sqrt(s*(s-x)*(s-y)*(s-z));
}
解:1.1010111.101 127.5 57.A
2.11271.56 12B9.B8 4793.71875
3.scanf ("%f%f%f",&a,&b,&c); z=a*b*c; print f ("%f",z);
4.s=(x+y+2)/2; print f ("%f",dim);
四、编程题
1.仿照例1.1,编程序在屏幕上显示:
*****************************
Merry Chris t mas!
Happy New Year!
*****************************
解:#inclu d e <stdio .h>
void main()
{ printf("*****************************\n");
printf(" MerryChrist mas!\n");
printf(" HappyNew Year!\n");
printf("*****************************\n");
}
2.仿照例1.2编程,输入一个整数,计算这个数的平方。
解:#includ e<stdio.h>
void main()
{ int a,z;
printf("请输入一个整数:\n");
scanf("%d",&a);
z=a*a;
printf("%d*%d=%d\n",a,a,z);
}
*3.仿照例1.3编程,输入两个数后,输出其中较小值。
解:#includ e<stdio.h>
floatmin(floatx, floaty)
{ floatm;
if (x<y) m=x;
else m=y;
return m;
}
void main()
{ floata,b,c,mindat a;
printf("请输入二个数:\n");
scanf("%f %f",&a,&b);
mindat a=min(a,b);
printf("较小数:%f\n",mindat a);
}
*4.仿照例1.2编程,输入a、b后,输出一元一次方程ax+b=0的解。
解:#includ e<stdio.h>
void main()
{ floata,b,x;
printf("请输入a、b:\n");
scanf("%f %f",&a,&b);
x=-a/b;
printf("x=%f\n",x);
}
*5.仿照例1.2编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。解:#includ e <stdio.h>
void main()
{ floatr,h,s,v;
printf("Please inputr and h:\n");
scanf("%f %f",&r,&h);
v=3.14*r*r*h;
printf("V=%f\n",v);
}
习题2
一、判断题
1.任何变量都必须要定义其类型。
2.C语言的double类型数据在其数值范围内可以表示任何实数。
3.C语言的任何类型数据在计算机内都是以二进制形式存储的。
4.isdigi t(…5‟)的结果为0。
5.printf函数中格式符“%c”对应的参数只能是字符类型。
6.按格式符“%d”输出floa t类型变量时,截断小数位取整后输出。
7.在C语言程序中,ABC与ab c是两个相同的变量。
8.scanf函数中的格式符“%d”不能用于输入实型数据。
9.格式符“%f”不能用于输入d oubl e类型数据。
10.当格式符中指定宽度时,输出的信息完全取决于所指定的宽度。
解:(1)T (2)F (3)T (4)F (5)F (6)F (7)F (8)T (9)T (10)F
二、指出下列各项中哪些是C语言中的常量,并指出其类型
c语言中文网汇编语言10,150 007 –0x3d π1e0 e1 o7o8
...x‟...x o‟ 1.52e0.5 sin(3) 0xf16...\a‟ (009)
1.414E+2
2.54…\\‟…a‟+2 0x100h0128 10L
解:合法的C常量有:
整型常量:007 –0x3d0xf16 10L
实型常量: 1e0 1.414E+2
字符型常量:…x‟…\a‟…\\‟
三、指出下列各项中哪些是C语言中的用户标识符
x_1 X_2 High printfβ3DS i/j
e2 -e2 countInt number$23 next_
sizeof IF sum_12_123# NO1: double for
解:C的用户标识符有:x_1 X_2 High e2 count Int number next_ IF sum_12
四、单项选择题
1.C语言中,char型数据在内存中的存储形式是()。
A.原码B.反码C.补码D.ASCII码2.若有定义语句“char c='\72';”则变量c()。
A.包含1个字符B.包含2个字符C.包含3个字符D.定义不合法3.C语言中的基本数据类型包括()。
A.整型、实型、逻辑型B.整型、实型、字符型
C.整型、逻辑型、字符型D.整型、实型、逻辑型、字符型4.设c1、c2为字符型变量,执行语句“c1=getcha r( );c2=getcha r( );”时,从键盘输
入A↙,c1和c2的值分别为()。
A.都是‘A’B.c1是‘A’,c2未输入
C.c1未输入,c2是‘A’D.c1是‘A’,c2是‘\n’5.a、b是整型变量,执行语句“scanf("a=%d,b=%d",&a,&b);”,使a和b的值分别为1和2,正确的输入是()。
A.1 2 B.1,2 C.a=1,b=2 D.a=1 b=2
6.设c为字符型变量值为‘A’,a为整型变量值为97,执行语句“putcha r(c);putcha r(a);”后,输出结果为()。
A.Aa B.A97 C.A9 D.aA
7.已知字母A的A SCII码值为65,以下语句段的输出结果是()。
char c1='A',c2='Y'; printf("%d,%d\n",c1,c2);
A.输出格式非法,输出错误信息B.65,90
C.A,Y D.65,89
8.若要使用输入语句“scanf("%4d%4d%10f",&i,&j,&x);”,为i输入-10,为j 输入12,为x输入345.67,则正确的输入形式是()。
A.–1012345.67↙B.–10 12 345.67↙
C.–10001200345.67↙D.–10,12,345.67↙
9.能正确地定义符号常量的是()。
A.#define n=10 B.#define n 10 C.#define n 10;D.#DEFINE N 10 10.在C语言中,i nt、char、short三种类型数据在内存中所占的字节数()。
A.由用户自己定义B.均为2个字节C.是任意的D.由机器字长决定
解:(1) D (2) A (3) B (4) D (5) C (6) A (7) D (8) B (9) B (10) D
五、填空题
1.char ch='$';floatx=153.4523;
语句“printf("%c%–8.2f\\n",ch,x);”的输出结果是。
解:$153.45 \n
2.int i=123;floatx= – 1234.56789;
语句“printf("i=%5d x=%7.3f\n",i,x);”的输出结果是。
解:i= 123 x=-1234.568
3.char c='a';int a=65;
语句“putcha r(c+1);putcha r(a);”的输出结果是。
解:bA
4.int a=98;
语句“printf(“%d,%c,%o,%x”,a,a+1,a+2,a+3);”的输出结果是。
解:98,c,144,65
5.int k; float f;
语句“scanf(“%3d%*4d%6f”,&k,&f);”执行时输入12345678765.43↙
则k= ,f= 。
解:k=123 f=8765.4
6.使用pow()函数时,程序的开头必须写一条预处理命令:。
解:#includ e <math.h>
5.填空题。
(1)int i=123,j=45;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论