计算机教材全部习题答案文档格式.docx
《计算机教材全部习题答案文档格式.docx》由会员分享,可在线阅读,更多相关《计算机教材全部习题答案文档格式.docx(68页珍藏版)》请在冰豆网上搜索。
⑸一个函数有两部分组成,第一部分称为 函数首部 ;
第二部分称为 函数体 。
⑹函数体由符号 { 开始,用符号 } 结束。
函数体的前面是 声明 部分,其后是 执行 部分。
1.3上机编辑、调试、运行下列程序,发现错误,并改正之。
/*求1+2+3+……+10的和*/
#include<
stdio.h>
voidmain()
{
ints,n;
sum=0;
n=1;
while(n<
0)
{sum=sum+n;
n=n+1;
}
printf("
sum=%d\n"
,sum);
}
第二章习题
2.1选择题
⑴在以下标识符中,(B)是合法的用户标识符。
A)a#bB)getchC)voidD)ab*
⑵不合法的八进制数是( B )。
A)0B)028C)077D)01
⑶不合法的十六进制数是( A )。
0x
A)oxffB)0XabcC)0x11D)0x19
⑷以下选项中正确的整型常量是(B)。
A)12.B)-20C)1,000D)456
⑸以下选项中正确的实型常量是(D)。
A)0B)3.1415C)0.329×
102D).871
⑹以下选项中不正确的实型常量是(B)。
A)2.607E-1B)0.8103e3C)-88.77D)871e-2
⑺以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是(A)。
A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z
⑻在C语言中,字符型数据在内存中以(C)的形式存放。
A)原码B)补码C)ASCII码D)BCD码
⑼sizeof(float)是(C)。
A)一种函数调用B)一个不合法的表示形式C)一个整型表达式D)一个实型表达式
⑽表达式b=((241&
15)&
&
('
Z'
|'
a'
))的值是(B)。
A)0B)1C)TRUED)FALSE
⑾若变量已正确定义并赋值,符合C语言语法的表达式是(B)。
A)a=a+7;
B)a=7+b+c,a++C)int(13.4%4)D)a=a+7=c+b
⑿以下叙述中正确的是(A)。
A)a是实型变量,C语言允许进行a=10,因此可以这样说:
实型变量中允许存放整型值
B)在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式
C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值改变为0
D)已有a=3,b=5。
当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3
2.2填空题
⑴数学式子cos2x·
写成C语言表达式是cos(x)*cos(x)*((a+b)/(a-b))。
⑵a是整型变量,能将a清零的表达式是a=0;
能将a中的各二进制为均置成1的表达式是a=-1。
⑷若a,b和c均是int型变量,则执行下面表达式后,a值为6,b值为4,c值为2。
a=(b=4)+(c=2)
⑸经过下述赋值后,变量x的数据类型是int。
intx=2;
doubley;
y=(double)x;
⑹若x和n均是整型变量,且x和n的初值均为5,则执行下面表达式后,x值为10,n值为6。
x+=n++x=x+n++
⑺若有定义:
intb=7;
floata=2.5,c=4.7;
则下面表达式的值为4.5。
a+(int)(b/3*(int)(a+c)/2)%4
⑻若有定义:
intm=7,y=2;
则执行下面表达式的值后,y值为-24。
y+=y-=m*=y
⑼表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))的类型为整型。
⑾条件“-1<
x<
3或x<
-99”的C语言表达式是(x>
-1&
x<
3)||(x<
-99)。
⑿若x和a均是整型变量,则执行表达式①后的x值为12,执行表达式②后的x值为4。
1x=(a=4,6*2)
2x=a=4,6*2
⒀一个字节包含8个二进制位,在一个字节中能存放的最大(十进制)整数是,它的二进制数的形式是;
最小(十进制)整数是,它的二进制数的形式是。
⒁当计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是,它的二进制数的形式是;
2.3改错题
⑴#includestdio.h;
#include<
正确
main();
(多分号)/*mainfunction*/
floatr,s;
/*risradius,sisareaofcircular*/
r=5.0;
s=3.14159*r*r;
printf("
%f\n"
,s);
⑵#includestdio.h(缺 <>号)#include<
正确
/*mainfunction*/
{
floata,b,c,v;
/*a,b,caresides,visvolumeofcube*/
a=2.0;
b=3.0;
c=4.0;
(缺;
号)
v=a*b*c;
,v);
(缺;
第三章习题
3.1什么是C语言的基本执行单位?
C语言的语句是如何分类的?
3.2C语言的流程控制语句有哪几种?
3.3结构程序设计的基本结构有哪几种?
3.4C语言的输入输出操作是由语句来实现的吗?
3.5顺序结构程序的特点是什么?
3.6输入下面的程序,观察运行结果。
{floata1,a2;
doubleb1,b2;
a1=3141.59;
a2=0.000001;
b1=3141.59;
b2=0.000001;
%f,%lf\n"
a1+a2,b1+b2);
答案:
3141.590089,3141.590001
3.7输入下面的程序,观察运行结果。
{charch;
intk;
ch='
;
k=66;
%c,%d,%x,%o,%d,%c"
ch,ch,ch,ch,k,k);
a,97,61,141,66,B
3.8输入下面的程序,观察运行结果。
floatx;
doubley;
x=123.45678;
y=123.45678;
%-4.2f,%-6.2e\n"
x,y);
123.46,1.2e+02
3.9输入下面的程序,观察运行结果,并说明程序的功能(注意:
运行时输入大写字母)。
{charc1,c2;
c1=getchar();
%c,%d\n"
c1,c1);
c2=c1+32;
c2,c2);
A,65
a,97
该程序是将键盘输入的大写字母转换为对应的小写字母。
3.10编写程序:
求三个正整数(小于32767)的算术平均值。
{inta,b,c;
floatd;
\ninputa,b,c="
);
scanf("
%d,%d,%d"
&
a,&
b,&
c);
d=(a+b+c)/3.0;
\nd=%f"
d);
3.11编写程序:
已知圆的半径,求圆的周长和面积(要求半径值由键盘接受)。
{intr;
floatk,s;
\ninputr="
%d"
r);
k=2*3.14159*r;
s=3.14159*r*r;
\nL=%f\nS=%f"
k,s);
3.12编写程序:
计算a+b2-6的值,其中:
a=4,b=3;
a=5,b=2;
a=2,b=8。
floata,b,h;
\ninputa,b="
%f,%f"
b);
h=a+b*b-6;
\na=%f,b=%f\nh=%f"
a,b,h);
第四章习题
4.1判断下列陈述的真假:
⑴在三种形式的if语句中,在if关键字之后均为表达式。
该表达式只能是逻辑表达式或关系表达式。
False
⑵在if语句中,关键字之后的表达式必须用括号括起来,并随后跟分号(;
)。
⑶在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。
True
⑷条件运算符的结合方向是自右至左。
⑸switch语句中的case后面必须是整常量表达式,如整数常数、字符常量。
⑹当switch的整类型表达式的结果值与某一个case块的整常量表达式的值相等时,将转至该case块,并且执行该case与下一个case之间的所有语句。
⑺可以使用goout语句跳出switch语句。
⑻else总是与它前面最近的if配对。
4.2阅读下面的程序,说明程序的运行结果。
#incl