《C语言及程序设计》在线作业答案.docx
《《C语言及程序设计》在线作业答案.docx》由会员分享,可在线阅读,更多相关《《C语言及程序设计》在线作业答案.docx(155页珍藏版)》请在冰豆网上搜索。
《C语言及程序设计》在线作业答案
《C语言及程序设计》在线作业答案
一、单选题(共15道试题,共75分。
)V
1.合法的C语言标识符是(
)。
A.abc
B.2ab
C._a1
D./n
满分:
5分
2.有两个字符数组a、b,则以下正确的输入
语句是()。
A.gets(a,b);
B."scanf(""%s%s"",a,b);"
C."scanf(""%s%s"",a,b);"
D."gets(""a""),gets(""b"");"
满分:
5分
3.若运行以下程序时,从键盘输入
25,13,10回车,则输出结果为()。
main(){inta1,a2,a3;scanf("%d%d%d",a1,a
2,a3);printf("a1+a2+a3=%
d\n",a1+a2+a3);}
A.a1+a2+a3=48
B.a1+a2+a3=25
C.a1+a2+a3=10
D.不确定值
满分:
5分
4.以下为一维整型数组a的正确说明是
()。
A.inta(10);
B."intn=10,a[n];"
C."intn;scanf(""%d"",n);"
D."#defineSIZE10;inta[SIZE];inta[n];"
满分:
5分
5.以下能对二维数组a进行正确初始化的
语句是()。
A.inta[2][]={{1,0,1},{5,2,3}};
B."inta[][3]={{1,2,3},{4,5,6}};"
C."inta[2][4]={{1,2,3},{4,5},{6}};"
D."inta[][3]={{1,0,1},{},{1,1}};"
满分:
5分
6.函数rewind(fp)的作用是:
使文件位置
指针()。
A.重新返回文件的开头
B.返回到前一个字符的位置
C.指向文件的末尾
D.自动移至下一个字符的位置
满分:
5分
7.以下叙述中不正确的是()A.在C程序中,调用函数时,只能把实参
的值传送给形参,形参的值不
能传送给实参
B.在C程序的函数中,最好使用全局变量C.在C程序中,形参只是局限于所在函数D.在C程序中,函数名的存储类别为外部
满分:
5分
8.以下程序段()。
intx=1,y=4;printf(x”
x=%d”:
”y=%d”,x,y);
A.输出控制格式错误
B.输出:
x=1
C.输出:
y=1
D.输出:
y=4
满分:
5分
9.下列四组选项中,均是不合法的用户标
识符的选项是______。
A.AP_0do
B.floatgoto_A
C.b-agotoint
D._123tempINT
满分:
5分
10.已知字母A的ASCII码为(65)10,变量
ch1为字符型,则执行语句
ch1='A'+'6'-'3';后,ch1中的值为()。
A.D
B.68
C.一个不确定的值
D.C
满分:
5分
11.若x为float型变量,则以列程序段结
果是()x=1234.6789;printf(“%-
2.1f”,x);
A.输出格式描述符的域宽度不够,不能输
出
B.输出为1234.7
C.输出为1234.6
D.输出为-1234.6
满分:
5分12.sizeof(float)是()。
A.双精度型表达式
B.一个整型表达式
C.一个函数调用D.一个不合法的表达式
满分:
5分
13.071^052的结果是()
A.32
B.16
C.23
D.22
满分:
5分
14.若有定义:
intx=7;floata=2.5,b=4.7;则
表达式a+x%3*(int)(a+b)%2/4
的值是()。
A.2.5
B.2.75
C.3.5
D.0
满分:
5分
15.有下列语句和赋值语句:
(1)chars
tr[]=”iamaboy.”
(2)charstr
[12]=”iamaboy.”(3)char*p=”iamaboy.”
(4)p=”iamaboy.”下列说法正
确的是()
A.只有
(1)、
(2)正确
B.只有(3)、(4)正确
C.只有
(1)、(3)、(4)正确
D.只有(3)正确
满分:
5分
1c2c3D4d5b6a7b8c9c10a
11B12B13A14A15B
二、判断题(共5道试题,共25分。
)V1.
声明语句inta[]={0};可以对
一维数组a进行正确初始化。
A.错误
B.正确
T满分:
5分
2.在c语言中,函数形参的存储类型是自
动类型的变量
A.错误
B.正确
F满分:
5分
3.函数必须有返回值,否则不能使用函数
A.错误
B.正确
F满分:
5分
4.已知inta[]={1,2,3,4},y,*p=&a[1];则执
行语句y(*--p)++;变量y的值是3。
A.错误
B.正确
F满分:
5分
5.C语言fread()函数的功能是从文件
fp中读取n个字符存入指定的内存
。
A.错误
B.正确
T满分:
5分
第一章程序设计算法概述
一(选择题
(一)基本概念
1、一个,语言程序总是从()。
A、主过程开始执行B、
主函数开始执行
C、子程序开始执行D、
主程序开始执行
【答案】B
2、下面四个选项中,均是C语言关键字的
选项是()。
A、autoenumincludeB、
switchtypedefcontinue
C、signedunionscanfD、if
structtype
【答案】B
3、下面四个选项中,均是合法整型常量的
选项是()。
A、160-0xffff011B、
-0xcdf01a0xe
C、-01986,0120668D、
-0x48a2e50x
【答案】A
4、以下不正确的C语言标识符是()。
A、intB、a_1_2C、
ab1exeD、_x
【答案】A
5、以下是正确的C语言标识符是()。
A、#defineB、_123C、%d
D、\n
【答案】B
6、下列四组选项中,均不是C语言关键字
的选项是()。
A、defineIFtypeB、getc
charprintf
C、includescanfcaseD、while
gopow
【答案】A
7、下列不属于C语言关键字的是()。
A、defaultB、registerC、
enumD、external
【答案】D
8、合法的C语言标识符是()。
A、ab&cB、2ab
C、_a1D、/n
【答案】C
9、下列四组选项中,均是不合法的用户标
识符的选项是______。
A、AP_0doB、floatgoto_AC、b-agotointD、_123tempINT
【答案】C
二(填空题
1.在C语言中的实型变量分为两种类型,它们是和。
【答案】单精度型(或float型)双精度
型(或:
double型)
2.C语言规定,可执行程序的开始执行点
是。
【答案】程序中的main()函数
3.C语言中三中基本的程序结构
是、
和。
【答案】顺序结构;分支(选择)结构;循
环结构
4.一个C源程序必须包含一
个。
【答案】main函数
5.在C语言中,char型数据在内存中的存储
形式是。
【答案】ASCII码
6(用计算机实现算法的过程称
为。
【答案】程序设计
7.C源程序的基本单位是。
【答案】函数
8(int型数据(2byte)可表示的数值范围
为。
【答案】-32768—32767
9(C语言的标识符只能由三种字符组成,
它们是
【答案】字母、数字、下划线
三(判断题:
(正确:
T;错误:
F)
1.在C程序中main函数必须位于程序的最
前面
【答案】F
2.C语言本身没有输入输出语句
【答案】T
3.一个C源程序可由一个或多个函数组成
【答案】T
4.在C程序中,注释说明只能位于一条语
句的后面
【答案】F
四(简答-完善程序-分析程序
1、c语言程序的总体结构是怎样的。
【答案】
一个完整的c语言程序,是由一个、且只能
由一个main()函数(又称主函数)和若
干个其他函数结合而成的,或仅由一个
main()函数构成。
2、c语言程序的基本单位是什么?
它的结构
又如何?
【答案】
函数是c语言程序的基本模块单元。
任何函数(包括主函数main())都是由函
数说明和函数体两部分组成。
其一般结构
如下:
[函数类型]函数名(函数参数表)
{说明语句部分;
执行语句部分;}
3、主函数main()在程序中的地位如何。
程序总是从哪个函数开始执行,到哪个函数
执行完后结束?
【答案】
main()函数的作用相当于其他高级语言中的主程序;其他函数的作用相当于子程序。
一个c语言程序,总是从main()函数开始执行,而不论其在程序中的位置。
当主函数执行完毕时,亦即程序执行完毕。
习惯上,
将主函数main()放在最前头。
4、C语言用户标识符的定义方式是什么,
【答案】
c语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,同时c语言还规定标识符不能为
c语言的关键字。
5、说明算法可以采用哪几种控制结构组
合。
【答案】
算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。
一个算法一般可以用顺序、选择、循环三种基本控制结构,通过顺序或嵌套组合
而成。
6、算法的基本特征是什么,
【答案】
一个算法,一般应具有以下几个基本特
征。
可行性、确定性、有穷性、一个输
入、零个或多个输出。
7、常见的过程设计工具有哪些,为什么可
以N-S图代替传统的程序流程图,
【答案】
常见的过程设计工具有:
程序流程图、N-S图、PAD图和HIPO图。
为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这
种图称为N-S图。
8、“在源文件的一行上可以有多条预处理
命令”是否正确,为什么,
【答案】
通常,预处理命令位于源文件的开头,也可以写在函数与函数之间;不能在一行上写多条预处理命令:
宏名一般习惯用大写字母表示,以便与变量名相区别,但这并
非规定,也可用小写字母。
五(程序设计题
1.已知三角形的三边长,求其面积。
假设输入的三边能构成三角形,三角形的面积
公式为:
Area=,其中S=(a+b+c)/2。
【参考答案】
#include“math.h”
Main()
{Floata,b,c,s,area;
Printf(“请输入三角形的三边:
”);
Scanf(“%f,%f,%f”,&a,&b,&c);
S=(a+b+c)/2.0;
Area=sqrt(s*(s-a)*(s-b)*(s-c));
Printf(“三角形的三边
为:
%7.2f,%7.2f,%7.2f\n”,a,b,c);
Prinft(“三角形的面积为:
%7.2f\n”,area);
}
2.编写程序读入3个双精度数,求它们的平均值,并保留此平均值小数点一位,对小数点后第二位进行四舍五入,并输出结果。
【参考答案】
#include“stdio.h”
mian()
{doublex,y,z;
doubleaver;
longtemp;
printf(“\n请输入三个双精度数:
”);
scanf(“%lf%lf%lf”,&x,&y,&z);
aver=(x+y+z)/3;
temp=aver*10;
temp=(aver*10-temp)*2+temp;
aver=temp/10.0;
printf(“\n平均值为:
%.1lf”,aver);
}
3.输入两个整数,求出它们的商数和余数并
进行输出。
【参考答案】
#include“stdio.h”
main()
{intx,y;
intshang,yu;
printf(“\n请输入两个整数:
”);
scanf(“%d%d”,&x,&y);”
shang=x/y;
yu=x%y;
printf(“%d%d的商为:
%d,余数
为%d”,x,y,shang,yu);
}
第二章数据类型、运算符与表达式
一(选择题
1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的
值为()。
A、4B、16C、
32CD、52
【答案】C
2、若有变量说明:
inta=0,b=0,c=0;,以下符合C语言语法的赋值表达式是()。
A、a=9+b+c=a+9B、
a=9+b;c=a+9;
C、a=(9+b,b++)D、
a=9+b++=a+7
【答案】C
3、若有以下类型说明语句:
chara;int
b;floatc;doubled;则表达式a*b-2*d+c的
结果类型为()。
A、floatB、charC、
intD、double
【答案】D
4、下面四个选项中,均是合法浮点数的选
项是()。
A、+1e+15e-9.403e2B、-.60
12e-4-8e5
C、123e1.2e-.4+2e-1D、
-e3.8e-45.e-0
【答案】B
5、下面四个选项中,均是合法转义字符的
选项是()。
A、'\'''\\''\n'B、'\'
'\017''\"'
C、'\018''\f''xab'D、'\\0'
'\101''xlf'
【答案】A
6、下面正确的字符常量是()。
A、'\X17'B、'\80'C、'\\'
D、"\n"
【答案】C
7、下面四个选项中,均是正确的数值常量
或字符常量的选项是()。
A、0.00f8.9e'&'B、"a"
3.9E-2.51e1'\"'
C、'3'0110xFF000aD、+001
0xabcd2e250.
【答案】D
8、已知字母A的ASCII码为(65)10,变量
ch1为字符型,则执行语句ch1='A'+'6'-'3';
后,ch1中的值为()。
A、DB、68
C、一个不确定的值D、C
【答案】A
9、若有定义:
intx=7;floata=2.5,b=4.7;则
表达式a+x%3*(int)(a+b)%2/4的值是()。
A、2.500000B、
2.7500000
C、3.500000D、
0.000000
【答案】A
10、sizeof(float)是()。
A、双精度型表达式
B、一个整型表达式
C、一个函数调用
D、一个不合法的表达式
【答案】B
11、设int类型的数据长度为2个字节,则
unsignedint类型数据的取值范围是()。
A、0,255
B、0,65535
C、-32768,+32767
D、-256,+255
【答案】B
12、若有以下定义:
intm=7,n=12;则能得
到值为3的表达式是()。
A、n%=(m%=5)
B、n%=(m-m%5)
C、n%=m-m%5
D、(n%=m)-(m%=5)
【答案】D
13、若有说明:
inta=1,b=2,c=3,d=4;则表达
式a
a:
cc:
d的值是()。
A、4B、3C、
2D、1
【答案】D
14、putchar函数可以向终端输出一个()。
A、整型变量值
B、实型变量值
C、字符串
D、字符或字符型变量值
【答案】D
15、若运行以下程序时,从键盘输入
25,13,10<回车>,则输出结果为()。
main()
{
inta1,a2,a3;
scanf("%d%d%d",&a1,&a2,&a3);
printf("a1+a2+a3=%d\n",a1+a2+a3);
}
A、a1+a2+a3=48
B、a1+a2+a3=25
B、a1+a2+a3=10
D、不确定值
【答案】D
16(若有定义inta=2,b=9,k;k=a+b++/a++;
则k的值是()
A、6.5B、7C、
6D、8
【答案】C
17(标有/**/语句的输出结果为()
intx=20;
printf(“%d,%o,%x”,x,x,x);/*
*/
A、20,20,20B、20,24,14C、
20,14,24D、20,024,14
【答案】B
18.若x为float型变量,则以列程序段结果
是()。
x=1234.6789;
printf(“%-2.1f”,x);
A、输出格式描述符的域宽度不够,不能输
出B、输出为1234.7
C、输出为1234.6
D、输出为-1234.6
【答案】B
19.下列语句中,符合语法的语句式()。
A、a+b=3B、a=7C、
a=c+b+3=6;D、a=8,b=a+7;
【答案】D
20.C语言中,逻辑“真”等价于()。
A、大于零的数B、大于零的整数C、非零的数D、非零的整
数
【答案】C
21.已知字母a的ASC||的十进制代码为
97,则执行下列语句后输出为()。
Chara=„a?
;
a--;
printf(“%d,%c\n”,a+„2?
-„0?
a+„3?
-„0?
);
A、a,cB、a—运
算不合法,故有语法错误
C、98,cD、)格式描
述和输出项不匹配,输出无定值
【答案】C
22.对于条件表达式(M)?
(a++):
(a--),其中
的表达式M等价于()。
A、M==0B、M==1C、
M!
=0D、M!
=1
【答案】C
23.在x值处于-2到2,4到8时值为
“真”,否则为“假”的表达式是()。
A、(2>x>-2)||(4>x>8)
B、((x<=-2)||(x>=2)||((x>4)||(x>=8))
C、(x<2)&&(x>=-2)&&(x>4)&&(x<8)
D、(x>-2)&&(x>4)||(x<8)&&(x<2)
【答案】D
24.定义a为整型,下列表达式a=3>6的运
行后,a的值为()。
A、0B、1C、3D、
表达式错误
【答案】A
25.若使用下述程序段将整数12和浮点数13.6分别赋给变量a和b,那么输入应该式
()。
inta;
floatb;
scanf(“a=%d,b=%f”,&a,&b);
A、1213.6B、a=12,b=13.6
C、12,13.6D、a=12b=13.6
【答案】B
26.以下程序段()。
intx=1,y=4;
printf(x”x=%d”:
”y=%d”,x,y);
A、输出控制格式错误B、输出:
x=1
C、输出:
y=1D、输出:
y=4
【答案】C
27.下面程序的输出是()。
main()
{
intx=10,y=3;
printf(“%d\n”,y=x%y);
}
A、0B、1C、3D、不确
定的值
【答案】B
二(填空题
1(若有定义intm=5,y=2;,则执行表达式
y+=y-=m*=y后y的值是______。
【答案】-16.
2.能表达“10达式是。
【答案】x>10&&x>200||x<0
3.表达整型变量a能被3整除但不被5整除
的表达式是______。
【答案】a%3==0&&a%5!
=0
4(C语言中唯一的三元运算符是。
【答案】,
5(设有:
inta=1,b=2,c=3,则~(a>b)&&!
c||1
的值为。
【答案】1
6(Sizeof(float)是。
【答案】一个整型表达式
7.当m=2,n=1,a=1,b=2,c=3时,执行完d=
(m=a!
=b)&&(n=b>c)后;n的值
为,m的值为。
【答案】01
8.设I,J和K是int型变量,且I=3,J=4,
K=5,则表达式!
((IK||1)的值
是。
【答案】0
9.判断char型变量c1是否为小写字母的正
确表达式为。
【答案】(c1>=’a’)&&(c1<=’z’)
10.若a=5,b=2,c=1,则表达式a-b的值是。
【答案】0
11(若a是int型变量,且a的初值是6,则计算表达式a+=a-=a*a后a的值______。
【答案】-60
12.假设x=5,y=6,则表达式x++*++y的值为
______。
【答案】35
13(x2/(3x+5)的C表达式
为。
【答案】x*x/(3*x+5)
14(若有说明:
intm=5,y=2;则执行表达式
y+=y-+m*=y后的y值是
【答案】y=-16
15(在C语言中,表示逻辑“真”值用
【答案】非0数字
16(若w=1,x=2,y=3,z=4,则条件表达式
ww:
yy:
z的值是。
【答案】1
17(若a是int型变量,则计算表达式a=
25/3%3后a的值为。
【答案】2
18(C语言提供的三种逻辑运算符是、和。
【答案】&&||!
19(设ch是char类型变量,其值是A,则
表达式c
h=(ch>='A'&&ch<='Z')?
(ch+32):
ch的值是
。
【答案】a
20(若有定义:
inta=8,b=5,c;,执行语句c
=a/b+0.4;后,c的值为。
【答案】2
21.设a=3,b=4,表达式a>b?
b:
a的值
是。
【答案】3
22.表达式(int)3.6*3的值为。