C语言程序设计基础教程课后答案Word文档下载推荐.docx
- 文档编号:16488601
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:80
- 大小:325.50KB
C语言程序设计基础教程课后答案Word文档下载推荐.docx
《C语言程序设计基础教程课后答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础教程课后答案Word文档下载推荐.docx(80页珍藏版)》请在冰豆网上搜索。
A)可立即执行B)是一个源程序
C)经过编译即可执行D)经过编译解释才能执行
1.2.10以下叙述中正确的是(C)o
A)在C语言中,main函数必须位于程序的最前而
B)C语言的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可以发现注释中的拼写错误1211下列4组选项中•均不是C语言关键字的选项是(A)。
A)define
B)getc
C)include
D)while
IF
char
scant
go
type
printf
case
pow
1.2.12下列4组选项中,
均是C语言关键字的选项是(B〉。
A)auto
B)switch
C)signed
D)if
enum
typedef
union
struct
include
continue
1.2.13C语言中的标识符只能由字母、
数字和下划线3种字符组成,且第一个字符
(C)O
A)必须为字母
C)必须为字母或下划线
B)必须为下划线
D)可以是字母、数字和下划线中任一种字符
1.3编程题
1.3.1参照本章例题,编写一个C程序,要求输出如下字符。
He*He***«
**♦♦***«
*♦***«
«
:
*♦♦♦***«
*♦♦♦**«
«
**♦♦**********«
♦♦*♦***«
♦♦♦♦«
**«
***
WelcometoExpo2010!
Shanghai2010
#uiclude<
stdio.h>
voidmam()
printf(fcfcprintfi(fck
\n"
);
Shanghai2010\n"
):
*******************************♦*♦*****♦♦♦♦***♦*♦***«
**♦****#♦******
1.3.2设讣一程序,输入3个整数,讣算并显示输出这3个整数之和。
祥include<
mtabc;
printf('
fcinputabc:
\nJ;
scanf「%d%d%d:
%a%b%c);
printfC^thesumofa、b,cis%5dm'
:
a+b+c);
}
习题二
2.1填空题
2.1.1C程序中数据有常量和变量之分,其中,用一个标识符代表一个常量的,称为符号常量。
C语言规定在程序中对用到的所有数按都必须指沱其数据类型,对变量必须做到先怎义,后使用。
2.1.2C语言中,用关键字float怎义单精度实型变量,用关键字double怎义双精度实型变量,用关键字char定义字符型变量。
2.1.3在C语言中,以16位PC机为例,一个cha「型数据在内存中所占的字节数为_1_:
一个int型数据在内存中所占的字节数为2_,则int型数据的取值范用为-3276旷32767。
一个float型数据在内存中所占的字节数为一个double型数据在内存中所占的字节数为__8_。
单精度型实数的有效位是』Z位,双精度型实数的有效位是J5/6位o
2.1.4设C语言中的一个基本整型数据在内存中占2个字节,若欲将整数135791正确无误地存放在变量a中,应釆用的类型说明语句是lonqinta二15791:
。
2.1.5C的字符常量是用单引号括起来的1个字符,而字符串常量是用卫引号括起来的字符序列。
2.1.6C语言中,用开头的字符序列称为转义符。
转义符的功能是回车换行:
转义符“\广的功能是回车°
2.1.7若有泄义:
charc='
\0估:
则变量c中包含的字符个数为—1。
2.1.8负数在计算机中是以补码形式表示。
2.1.9C语言中•&
作为双目运算符是表示的是按位与,而作为单目运算符时表示的是取地址°
2.1.10在C语言的赋值表达式中,赋值号左边必须是一变呈°
2.1.11自增运算符++、自减运算符「只能用于变量,不能用于常量或表达式。
++和…的结合方向是“自右左至左”o
2.1.12若a是int型变虽:
,则执行下而表达式后a的值为2°
a二25/3%3
2.1.13写岀下列数所对应的英它进制数(D对应十进制,B对应二进制,o对应八进制,H对应十六进制)
32。
二100000b二40°
二20h
75d二100仙1b二"
3。
二4Bh
2.1.14假设已指泄i为整型变崑f为float变量,d为double型变克e为long型变崑有式子10+-a+iTd/e,则结果为double型。
2.1.15若有左义:
intx二3y二2;
floata二2.5,b二3.5;
则下面表达式的值为°
(x+y)%2+(int)a/(int)b
2.1.165/3的值为1,5.0/3的值为1.666667。
2.1.17若有以下定义,intm=5,y=2;
则执行表达式y+=y-=m*=y后的y值是二
160
2.1.18若a是int型变崑则表达式(a二4Pa+2),a+6的值为26。
2.1.19若x和n均为int型变虽:
,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为:
0o
2.1.20若有左义语句:
inte=1,fM,g=2;
floatm=10.5,n=4.0,k;
>则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是13.7。
A)fabs(x*3+log(x))B)fabs(pow(x,3)+log(x))
C)abs(pow(x,3.0)+log(x))D)fabs(pow(x,3.0)+log(x))
2.2.13设变量n为float类型,m为int类型,则以下能实现将n中的数值保留
小数点后两位,第三位进行四舍五入运算的表达式是(B)o
A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0D)n二(n/100+0.5)*100.0
2.2.14以下不正确的叙述是(D)o
A)在C语言中,逗号运算符的优先级最低
B)在C语言中,APH和aph是两个不同的变量
C)若a和b类型相同,在执行了赋值表达式a二b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时.对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
2.2.15以下正确的叙述是(D).
A)在C语言中,每行中只能写一条语句
B)若a是实型变虽:
,C程序中允许赋值ahO,因此实型变量中允许存放整型数
C)在C程序中,无论是整数还是实数,都能被准确无误地表示
D)在C程序中,%是只能用于整数运算的运算符
2.3编程题
2.2.1编写一程序,求出给泄半径r的圆的而积和周长,并输出计算结果。
其中,r的值由用户输入,用实型数据处理。
#include<
#definePI3.14159
voidmain()
{
floatr,c,s;
printf(Hinputthe半径H);
scanf(M%f\&
r);
c=2TPr;
s=Prr*r;
printf(”周长为%5.2f,面积为%5.2f\nw1c,s);
2.2.2已知华氏温度和摄氏温度之间的转换关系是:
C=5/9-(F—32)°
编写一程序,将用户输入的华氏温度转换为摄氏温度,并输出结果。
floatc,f;
printffinputthe华氏温度M);
scanf(M%fM,&
f);
c=5.0/9*(f-32);
printfC华氏温度为%5.2f,摄氏温度为%5.2f\n,\f,c);
习题三
3.1填空题
3.1.1程序的三种基本结构是顺序.选择、循环」
3.1.2执行(a=3.0+5,aw4),a+=-6;
变量a及表达式的值分别为2.0,2.0
3.1.3下列语句被执行后的执行结果是1\abc\def°
inta=1:
printf("
%d\\%s\\%s"
a,"
abc”,”der);
3.1.4getchar()函数的作用是从键盘上接收一个字符°
3.1.5运行以下程序后,用户输入123456abc,输出结果为123,45,6。
{inta,b;
charc;
scant(M%3d%2d%3cM,&
a,&
b,&
c);
printf(M%d,%d,%cM,a,b,c);
3.1.6下而程序的输出结果是o
#inelude<
voidmain()
{inti=10;
{/*inti=20;
7
i++;
printf(<
<
%d,\i++);
printf(n%d\n;
i);
3.1.7下而程序运行后,从键盘输入30.则程序的输出结果是
a=31,Ha=df,Oa=37。
voidmain()
{inta;
scant(”%d:
&
a);
a++;
printfCa=%d,Ha=%x,Oa=%on,a,a,a);
3.1.8下而程序的输出结果是a=-3
b='
D'
"
END”。
{inta,b=68;
a=-3;
printf(a\ta=%d\n\tb=V%cV\n\"
end\n\naJaJb);
}
3.1.9下而程序的输出结果是_13.7000000。
#inelude<
math.h>
main()
{inta=1,b=4,c=2;
floatx=10.5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
printf(,,%f\n,,,z);
3.1.10下而程序运行后,若输入a=2,b=3结果是X1=6.OO
x2=0.67。
{floata,b,x1,x2;
scant("
a=%f,b=%f‘,&
a,&
b);
x1=a*b;
x2=a/b;
printffx1=%5.2f\nx2=%5.2f\nM,x1,x2);
3.2选择题
3.2.1指出下而正确的输入语句是(B)。
A)scant(七二b=%d:
&
b);
B)scantCa=%d,b=%r,&
m,&
C)scanf(“%3c"
c);
D)scanf(“%5.2T,&
3.2.2执行scanf(“%d%c%f'
&
c)语句,若输入1234a12f56则变Ma,b,c的值为(C)。
A)a二1234b二8c二12.56B)a=1b二2c二341256
C)a=1234b二'
a'
c二12.0D)a二1234b二‘刖2‘c二56.0
3.2.3执行scanf("
a=%d,b=%d"
b)语句,若要使变量a和b的值分别为3和4,则正确的输入方法为(C)。
A)3,4B)a:
3b:
4C)a=3,b=4D)34
3.2.4设b=1234,执行printf(“%%d@%d”,b)语句,输岀结果为:
(D)。
A)1234B)%1234C)%%d@1234D)%d@1234
3.2.5若x是int型变量,y是float型变量,所用scanf语句为scanf(“x=%d,y=%F'
x,&
y);
正确的输入操作是(A)。
A)X=10,y=66.6<回车aB)1066・6v回车〉
C)10<回车>66.6<回车〉D)X=10<回车>y=66.6<回车〉
3.2.6设a,b均是int型变量,则以下不正确的函数调用为(D)。
A)getchar();
B)putchar(*\108J;
C)scanf(u%d,%2dM,&
D)putchar(V);
3.2.7下列程序的执行结果是(C)。
#inelude<stdio.h>
{inta=5;
floatx=3.14;
a*=x*(*E,-,A,);
printf(“%f\n"
(float)a);
A)62.800000B)62C)62.000000D)63.000000
3.2.8若输入2.50,下列程序的执行结果是(A)。
{floatr,area;
scanf(“%f”,&
J;
printfCarea=%f\nM,area二1/2黛广「);
A)0B)3.125C)3.13D)程序有错
3.3编程题
3.3.1编写程序,从键盘上输入2个整数给变量a和b,交换a、b值然后输出。
〃参考程序
include<stdio.h>
{inta,b,temp;
scanf(H%d%dM,&
printf(H\n交换前:
a=%d,b=%d\n\a,b);
temp=a;
a=b;
b=temp;
printf("
交换后:
a=%d,b=%d\nn,a,b);
3.3.2试编写一个程序,任意输入一个小写字母,分别按八进制、十进制、十六进制、字符格式输出。
〃参考程序:
#includevst&
o.h>
voidliiainO{charc;
请输入1个小写字母:
W);
scanf("
%c"
pnntf(”八进制:
%o\n十进制:
%dS”,c,c);
pdntf("
十六进制:
%x\n字符:
%c'
nH,c,c);
3.3.3输入一个华氏温度,要求输出摄氏温度,输出要有文字说明,取2位小数。
公
〃参考程序:
#include<
stdioli>
voidmainQ
{floatc,f:
pnntfC请输入一个华氏温度:
SJ;
scanf("
%f'
c=5.0/9*(f^32);
pnntfC华氏温度F=%.2f\rT,f);
pnntf(“摄氏温度c=%.2fif\c);
3.3.4设圆半径U3,圆柱髙h=4,求圆周长、圆而积.圆球表面积、圆球体积、圆柱体积。
用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。
请编程序。
#include<
#definePI3.1415926voidliiainO
pnntf「请输入圆半径,圆柱髙:
%f,%f:
i;
h);
c=2*PI*r;
si=PI*r*r;
s2=4*PI*r*r;
vl=4/3*PI*r*r*r;
v2=sl*h;
printf(4<
F=%.2Ch=%.2f\n,\r,h);
pnntf(八圆周长=%.2f,圆而积=%.2Cn\sl,s2);
printfC圆体积=%.2£
圆柱体积=%.2fW:
vl,v2);
4.1填空题
4.1.1表示条件:
10<
X<
100或XvO的C语言表达式是JIOvX&
Xv1OO||XvO。
4.1.2若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为a
4.1.3若已知a=10,b=20,则表达式!
a<
b的值为°
4.1.4当a=3,b=2,cT时,表达式f=a>
b>
c的值是,
4.1.5设y为int型变量,请写出描述"
V是奇数”的表达式v%2!
=0°
4.1.6设x,y,z为int型变量,请写出描述“x或y中有一个小于z”的表达式_xvz&
yxzllxxz&
yvz©
4.1.7已知a=7.5,b=2,c=3.6,表达式a>
b&
c>
a||a<
lob的值是。
4.1.8假设a=5,b=2,C=4,以下表达式的值依次为:
0,1,1,1。
(1)a%b*c&
c%b*a
(2)b%c*a&
a%c*b
(3)a%b*c||c%b*a
(4)b%c*a||a%c*b
4.1.9假设a=3,b=4,c=5,x=0,y=0,以下各表达式的值依次为0.1,1,0,1。
(1)a+b>
c&
b==c
(2)a||b+c&
b・c
(3)!
(a>
b)&
!
c||1
(4)!
(x=a)&
(y=b)&
0
(5)!
(a+b)+c-1&
b+c/2
4.1.10两次运行下而的程序,如果从键盘上分别输入6和4,输出的结果是_7和
5°
{intx;
scanf(u%dp,&
x);
if(x++>
5)
p「intf("
%d”,x);
else
printf(“%d\n"
x--);
4.2选择题:
4.2.1设a为整型变量,不能正确表达数学关系:
15的C语言表达式是(A)。
A)10<
15B)a==l1||a==i2||a==13||a==14
C)a>
10&
av15D)!
(a<
=10)&
!
(a>
=15)
4.2.2在以下一组运算符中,优先级最髙的是(C)。
A)<
=B)=C)%D)&
4.2.3设a,b,c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是(D)。
A)8&
bB)av二bC)c||+c&
b-cD)!
((a<
b)&
c||1)
4.2.4在C语言的if语句中,用作判断的表达式为(D)。
A)关系表达式B)逻辑表达式C)算术表达式D)任意表达式
4.2.5在以下运算符中,优先级最髙的运算符是(B)。
=B)/C)!
=D)&
4.2.6假设所有变量均为整型,表达式(a=2,b=5,a>
b?
a++:
b++,a+b)的值是(B)o
A)7B)8C)9D)2
4.2.7在C语言中,能代表逻辑值"
真"
的是(D)。
A)trueB)大于0的数C)非0整数D)非0的数
4.2.8在以下运算符中,优先级最髙的运算符是(A)。
A)!
B)=C)+D)||
4.2.9逻借运算符两侧运算对彖的数据类型(D)o
A)只能是0或1B)只能是0或非0正数
C)只能是整型或字符型数据D)可以是任何类型的数据
4.3编程题
4.3.1编写一个C程序,要求从键盘输入一个整数,判断该整数是否能够被17整除。
(解析:
当该数与17的余数为零时,即可以被17整除°
)
inta;
p「intf(储输入一个整数:
n);
scanf(u%dn,&
a);
if(a%17=0)printfC%d能被17整除\n\a);
printff%d不能被17整除\n\a);
4.3.2编写一个C程序,计算并显示由下列说明确左的一周耕水。
如果工时小于40,则薪水按每小时8元计:
否则,按320元加上超出40小时部分的每小时12元。
一周工时数为键盘输入,显示其相应薪水为输岀。
)
floata,wage;
printff请输入工时数:
”);
scanfC%f\&
if(a<
0)printf(uerror!
{if(a<
40)wage=a*8;
elsewage=320+(a-40)M2;
printf(u周薪水=%.1f元\n:
wage);
4.3.3编写一个C程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基础教程 课后 答案