c语言课后答案docWord文件下载.docx
《c语言课后答案docWord文件下载.docx》由会员分享,可在线阅读,更多相关《c语言课后答案docWord文件下载.docx(34页珍藏版)》请在冰豆网上搜索。
a)x+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7
b)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
2.写出下面程序的运行结果。
(教材习题3.10)
main()
{inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("
%d,%d,%d,%d"
i,j,m,n);
}
3.写出下面表达式运算后a的值,设原来a=12o设a和n已定义为整型变量。
(教材习题
3.12)
a)a+=ab)a-=2c)a*=2+3
b)d)a/=a+ae)a%=(n%=2),n的值等于5f)a+=a-=a*=a
4.C语言中如何表示“真”和“假”?
系统如何判断一个量的“真”和“假”?
2.2填空题
1.写出下面各逻辑表达式的值。
设a=3,b=4,c=5。
(教材习题5.3)
(1)a+b>
c&
&
b==c
(2)allb+c&
b-c
(3)!
(a>
b)&
!
clll⑷!
(x=a)&
(y=b)&
0
(5)!
(a+b)+c-l&
b+c/2
2.
(1)5«
2
(2)0!
=l(3)!
3
(4)105%10(5)3/2*2(6)5A3
(7)l<
2<
0(8)1%2*2
3.已知inta=l,b=2,c;
执行下列语句后,写出各变量的值。
c=++b—a++;
变量⑴a=,
(2)b=,(3)c=
4.数学式7+J'
Tael对应的c语言表达式是o
2a
5.当算术表达式中出现了float型变量时,系统自动将该型变量值转换为
(1)类
型,然后参与运算,如果出现char型变量时,直接转换为型参与运算。
2.3单项选择题
1.C语言中,常量0.5F在内存需占用字节存储。
(A)1(B)2
(C)4
(D)8
2.下列符号中,合法的C常量是—
O
(A)097(B)0.5e+1.0
(C)0x5FH
(D)7
3.C语言没有专门的逻辑变量,它表示逻辑真的方法是—
o
(A)TRUE(B)0
4.以下C常量错误的是o
(C)1
(D)一切非零数值
(A)'
\xX0d'
(B)-1U
(C)le-2F
(D)010101
5.以下不正确的字符串常量是
(A)”1212”(B)'
abc'
(C)n\\0H
(D)"
"
6.逻辑运算符两侧运算对象的数据类型o
(A)只能是。
或非。
正数(B)可以是任何类型的数据。
(C)只能是整型或字符型数据。
(D)只能是。
或1
7,下列符号中,合法的C常量是=
\t'
(B)079(C)3.5e2.1(D)Oxch
2.4多项选择题
1.以下变量在内存中占2个字节的是o(只考虑TC2.0)
(A)inta;
(B)intb[2];
(C)charc[2];
(D)floatd[2];
2.C语言中,与常量'
N等效的常量表达式有-
(A)65(B)*41'
(C)'
a'
-32(D)0101
第三章简单c程序设计
3.1程序设计题
1.输入一个华氏温度,要求输出摄氏温度。
公式为
C-|(F-32)
要求输出要有文字说明,取2位小数。
(教材习题4.9)
2.输入年增长率p,编程计算并输出经过多少年后,生产总值会翻一翻。
3.2单项选择题
1.已知实型变量a存贮的是一个0~1之间的实数,将a以两位小数百分比形式输出(如:
a=0.347592,则输出为34.75%)正确的打印语句是。
(A)printf("
%.2f%%”,a*100);
(B)printf('
'
%.2f%”,a);
(C)printf(“%.2f%%”,a/100);
(D)printf(“%.2f%%”,100*(a+0.5));
2.能正确输出字符A的语句是。
(A)putchar('
\41‘);
(B)puthcar("
A”);
(C)printf('
%d'
'
A'
);
(D)putchar('
\101'
第四章C语言的控制语句及基本程序设计技术(统计/计数、递推/迭代、数论问题、字符图形、搜索/穷举求解)
4.1程序分析题
1.若a=3,b=2,c=l,则执行下列if语句后,依次写出a、b、c的值。
if(a>
b)a=b;
if(b>
c)b=c;
elsec=b;
c=a;
2.执行下列程序后,x和y的值分别是多少。
intx,y;
for(y=1,x=1;
y<
=50;
y++)
(if(x>
=10)break;
if(x%2==l)
(x+=5;
continue;
}x-=3;
)
3,写出以下程序的输出结果。
#include<
stdio.h>
(intc='
a=0,k=l;
while((k+=2)<
8)
(putchar(++c);
a+=k;
printf(”%d\n”,a);
return1;
4,下面程序的循环体共执行了多少次,输出的结果是什么?
#include"
stdio.h"
voidmain()
(intm,n;
m=10;
n=-1;
do(m++;
n+=5;
if(!
(n%3))printf("
%4d%4d\n"
m,n);
}while(m>
n);
5,若输入为ABCDJ,下面程序的输出是什么?
(charch,n;
for(n=0;
(ch=getchar())!
=10;
n++)putchar(ch+32);
printf(H%d\nn,n);
4.2单项选择题
1.以下程序的输出结果是O
x=0:
doprintf("
%d”,x++);
while(x<
l):
(A)0(B)01(C)012(D)无任何显示
2.以下能正确计算10!
的程序段是。
(A)do{i=l;
s=l;
s=s*i;
i++;
}while(i<
=10);
(B)do{i=l;
s=0;
s=s*i;
}while(i<
(C)i=l;
do{s=s*i;
(D)i=l;
do{s=s*i;
3.若变量已有正确定义,程序a=0;
for(i=l;
i<
=n;
i++)for(j=0;
j<
=i;
j++)a++;
执行后,变
量a的值是o
(A)n(n+l)/2(B)(n+1)(n+2)/2
(C)n(n-l)/2(D)n(n+3)/2
4.与语句if(a!
=0)...等效的语句是。
(A)if(!
a)...(B)if(a)...(C)if(a==0)...(D)if(a>
=011a<
=0)...
5.break语句的作用是()。
(A)中止函数的执行(B)立即中止循环
(C)中止本次循环,直接开始下一次循环(D)从一个循环体直接跳转至另一个循环体内
4.3程序填空题
includenQ)H
(intm,i,k;
for(m=2;
m<
=1000;
m++)
(k=(int)sqrt(m)+l;
for(i=2;
=k;
i++)if(⑵)break;
if((3))printf(n%5dn,m);
4.4程序设计题
1.企业放发的奖金根据利润提成。
设企业的利润为I,提成标准如下:
1<
10万元时,提成10%;
10万元<
IW20万元时,低于10万元部分仍按10%提成,高于10万元部分按7.5%提成;
20万元<
IW40万元时,低于20万元部分按前面方法提成,高于20万元部分按5%提成;
40万元<
IW60万元时,低于40万元部分按前面方法提成,高于40万元部分按3%提成;
60万元<
IW100万元时,低于60万部分按前面方法提成,高于60万部分按1.5%提成;
100万元<
1时,低于100万元部分按前面方法提成,高于100万元部分按1%提成。
编程输入利润I,计算输出提成金额。
(教材习题5.8)
2.编写一个决定学生成绩的程序。
这个程序将读入一个学生的三次考试成绩(0—100),然后计算其平均值,并根据这个平均值决定学生的总成绩(用字母A,B,C,D,E来表示)。
字母成绩按如下规定来确定:
A平均成绩在90或90分以上
B平均成绩在80到89分
C平均成绩在70到79分
D平均成绩在60到69分
E平均成绩在60分以下。
(教材习题5.6)
输入若干整数,直到输入。
时停止,统计并输出奇数的数目和偶数的数目。
3.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。
6.2)
凡
4.计算s=Z妇=°
+1!
+2!
+・••+("
-:
)!
+"
。
要求n值由用户输入。
(教材习题6.4)
上=0
5.打印水仙花数(教材习题6.6)o
357
6.输入x值,计算sin(x)=A-—+—-—+要求最后一项绝对值小于10-6时停止计算。
3!
5!
7!
7.用公式—=—X—X—X—x---x2/7x2,2x•••计算梢近似值,计算时取1000个因子。
213352n-12/1+1
8.韩信点兵:
有兵一队,五伍剩一,六伍剩五,七伍剩四,十一伍剩十,问兵几何?
9.有30个男女小孩同在一家饭馆进餐,共花了50元,其中每男宾3元,女宾2元,小孩1元。
问男、女、小孩各多少?
10.将一张面值100元的人民币兑换为5元、2元、1元和5角的零钞,要求零钞总数不超
过40张且每种至少1张,求所有兑换方案。