C基本知识及顺序结构测试题13章Word格式文档下载.docx
- 文档编号:7565059
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:13
- 大小:22.63KB
C基本知识及顺序结构测试题13章Word格式文档下载.docx
《C基本知识及顺序结构测试题13章Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C基本知识及顺序结构测试题13章Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。
47
48
49
50
1.下列程序段的输出结果是()
doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
printf("
%d\n"
d*y);
A、3B、3.2C、0D、3.07
2.
下列字符序列中,不可用作C语言标识符的是()。
A.abc123B.no.1C._123_D._ok
3.
正确的C语言标识符是()。
A._buy_2B.2_buyC.?
_buyD.buy?
4.
请选出可用作C语言用户标识符的一组标识符()。
A.voidB.a3_b3C.ForD.2a
define_123-abcDO
WORD`IFCasesizeof
5.
下列符号中,不属于转义字符的是()。
A.\\B.\0xAAC.\tD.\0
6.
下面不属于C语言关键字的是()。
A.intB.breakC.whileD.character
7.
下面是C语言提供的合法关键字的是()。
A.FloatB.signedC.integerD.Char
8.
以下不能定义为用户标识符的是()。
A.scanfB.VoidC._3com_D.int
9.
一个C程序是由()。
A.一个主程序和若干子程序组成B.一个或多个函数组成
C.若干过程组成D.若干子程序组成
10.组成C语言程序的基本单位是()。
A.程序行B.语句C.函数D.字符
11.下列说法中,错误的是()。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号
B.每个函数都有一个函数头和一个函数体,主函数也不例外
C.主函数只能调用用户函数或系统函数,用户函数可以相互调用
D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数
12.以下说法中正确的是()。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
13.C编译程序是()。
A.C程序的机器语言版本B.一组机器语言指令
C.将C源程序编译成目标程序D.由制造厂家提供的一套应用软件
14.以下选项中,合法的用户标识符是()。
A.longB._2abcC.3dmaxD.A.dat
15.以下选项中,合法的实型常数是()。
A.5E2.0B.E-3C.2E0D.1.3E
16.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'
\101'
是()。
A.字符AB.字符aC.字符cD.非法的常量
17.以下选项中,合法转义字符的选项是()。
A.'
\\'
B.'
\018'
C.'
xab'
D.'
\abc'
18.以下选项中,正确的字符常量是()。
A."
F"
'
W'
D.'
19.以下选项中可作为C语言合法整数的是()。
A.10110BB.0386C.0XffaD.x2a2
20.下列变量定义中合法的是()。
A.short_a=1-.le-1;
B.doubleb=1+5e2.5;
C.longdo=0xfdaL;
D.float2_and=1-e-3;
21.阅读以下程序,当输入数据的形式为:
12,34,正确的输出结果为()。
main()
{inta,b;
scanf("
%d%d"
&
a,&
b);
printf("
a+b=%d\n"
a+b);
}
A.a+b=46B.有语法错误
C.a+b=12D.不确定值
22.若有定义:
chars1,s2,s3;
并有以下输出数据:
(注:
└┘代表空格)
1└┘2<
回车>
U└┘V└┘W<
则能给x赋给整数1,给y赋给整数2,给s1赋给字符U,给s2赋给字符V,给s3赋给字符W的正确程序段是()。
A.scanf("
x=%dy=%d"
&
x,&
y);
s1=getchar();
s2=getchar();
s3=getchar();
B.scanf("
s1=getchar();
C.scanf("
%d%d%c%c%c"
y,&
s1,&
s2,&
s3);
D.scanf("
%d%d%c%c%c%c%c%c"
s3,&
23.已知各变量的类型说明如下:
intm=8,n,a,b;
unsignedlongw=10;
doublex=3.14,y=0.12;
则以下符合C语言语法的表达式是()。
A.a+=a-=(b=2)*(a=8)B.n=n*3=18
C.x%3D.y=float(m)
24.以下符合C语言语法的赋值表达式是()。
A.a=9+b+c=d+9B.a=(9+b,c=d+9)
C.a=9+b,b++,c+9D.a=9+b++=c+9
25.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S='
A'
+'
6'
-'
3'
;
后,S中的值为()。
D'
B.68C.不确定的值D.'
C'
26.在C语言中,要求运算数必须是整型的运算符是()。
A./B.++C.*=D.%
27.若有说明语句:
chars='
\72'
则变量s()。
A.包含一个字符B.包含两个字符
C.包含三个字符D.说明不合法,s的值不确定
28.若有定义:
intm=7;
floatx=2.5,y=4.7;
则表达式x+m%3*(int)(x+y)%2/4的值是()。
A.2.500000B.2.750000C.3.500000D.0.000000
29.在C语言中,char型数据在内存中的存储形式是()。
A.补码B.反码C.原码D.ASCII码
30.设变量x为float类型,m为int类型,则以下能实现将x中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。
A.x=(x*100+0.5)/100.0B.m=x*100+0.5,x=m/100.0
C.x=x*100+0.5/100.0D.x=(x/100+0.5)*100.0
31.表达式13/3*sqrt(16.0)/8的数据类型是()。
A.intB.floatC.doubleD.不确定
32.设以下变量均为int类型,则值不等于7的表达式是()。
A.(m=n=6,m+n,m+1)B.(m=n=6,m+n,n+1)
C.(m=6,m+1,n=6,m+n)D.(m=6,m+1,n=m,n+1)
33.假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是()。
A.7B.8C.6D.2
34.已知s是字符型变量,下面不正确的赋值语句是()。
A.s='
\012'
;
B.s='
u+v'
C.s='
1'
2'
D.s=1+2;
35.已知s是字符型变量,下面正确的赋值语句是()。
abc'
B.s='
\08'
\xde'
D.s="
\"
36.若有以下定义,则正确的赋值语句是()。
floatz;
A.x=1,y=2,B.x=y=100C.x++;
D.x=int(z);
37.设x、y均为float型变量,则不正确的赋值语句是()。
A.++x;
B.x*=y-2;
C.y=(x%3)/10;
D.x=y=0;
38.下列语句中符合C语言的赋值语句是()。
A.a=7+b+c=a+7;
B.a=7+b++=a+7;
C.a=7+b,b++,a+7D.a=7+b,c=a+7;
39.putchar函数可以向终端输出一个()。
A.整型变量表达式值。
B.字符串
C.实型变量值。
D.字符或字符型变量值。
40.以下程序段的输出结果是()。
inta=12345;
%2d\n"
a);
A.12B.34C.12345D.提示出错、无结果
41.若x和y均定义为int型,z定义为double型,以下不合法的scanf()函数调用语句为(
)。
%d%lx,%le"
,&
z);
B.scanf("
%2d*%d%lf"
x,&
y,&
%x%*d%o"
D.scanf("
%x%o%6.2f"
42.有如下程序段:
int
x1,x2;
char
y1,y2;
%d%c%d%c"
x1,&
y1,&
x2,&
y2);
若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。
A.10A└┘20BB.10└┘A20B
C.10└┘A└┘20└┘D.10A20└┘B
43.若变量已正确说明为float类型,要通过语句scanf("
%f%f%f"
a,&
b,&
c);
给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式为()。
A.10<
B.10.0,22.0,33.0<
22<
33<
C.10.0<
D.10
22.0
33.0<
44.有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。
int
x2);
scanf("
%c%c"
A.1020ABB.10└┘20└┘ABCC.10└┘20ABD.10└┘20
AB
45.根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是()。
#include"
stdio.h"
{
inta;
floatb;
输入语句
输出语句}
输入形式:
1└┘2.3<
(注:
输出形式:
a+b=3.300
%d%f"
B.scanf("
%d%3.1f"
\na+b=%5.3f"
\na+b=%f"
%d,%f"
D.scanf("
a+b)printf("
46.以下程序的执行结果是:
()。
intx=2,y=3;
x=%%d,y=%%d\n"
x,y);
}
A.x=%2,y=%3B.x=%%d,y=%%dC.x=2,y=3D.x=%d,y=%d
47.有如下程序段,从键盘输入数据的正确形式应是()。
float
x,y,z;
scanf(“x=%d,y=%d,z=%d"
A.123B.x=1,y=2,z=3
C.1,2,3D.x=1└┘y=2└┘z=3
48.以下说法正确的是()。
A.输入项可以为一个实型常量,如scanf("
%f"
3.5);
B.只有格式控制,没有输入项,也能进行正确输入,如scanf("
a=%d,b=5d"
);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("
%4.2f"
f);
D.当输入数据时,必须指明变量的地址,如scanf("
49.根据定义和数据的输入方式,输入语句的正确形式为:
已有定义:
floatx,y;
数据的输入方式:
1.23<
4.5<
%f,%f"
%f%f"
%3.2f└┘%2.1f"
%3.2f%2.1f"
50.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为()。
{chars1,s2,s3;
输入语句;
%c%c%c"
s1,s2,s3);
A└┘B└┘C<
A└┘B
%c└┘%└┘c%c"
s1,&
%c,%c,%c"
二、填空题(每小题2分,共30分)
1.有如下程序段,输入数据:
12345ffl678后,u的值是________,v的值是____________。
int
u;
float
v;
scanf(“%3d%f"
u,&
v);
2.结构化设计中的三种基本结构是顺序结构、_______、________。
3.C语言源程序文件的后缀是________,经过编译后生成文件的后缀是________,经过链接后生成文件的后缀是________。
4.C语言的关键字都用________{大写或小写}。
5.一个函数由两部分组成,它们是_______________、___________。
6.函数体一般包括_______________、_______________。
7.C语言是通过_______来进行输入和输出的。
8.以下程序的执行结果________________________________________。
{shorti=-1,j=1;
dec:
%d,oct:
%o,hex:
%x,unsigned:
%u\n"
i,i,i,i);
j,j,j,j);
9.以下程序的执行结果是________________________________________。
{chars='
b'
%x,ASCII:
%c\n"
s,s,s,s);
10.以下程序的执行结果是________。
{floatpi=3.1415927;
%f,%.4f,%4.3f,%10.3f"
pi,pi,pi,pi);
\n%e,%.4e,%4.3e,%10.3e"
11.以下程序的执行结果是:
________。
{charc='
c'
+5;
c=%c\n"
c);
12.以下程序输入1└┘2└┘3后的执行结果是________。
{inti,j;
chark;
%d%c%d"
i,&
k,&
j);
i=%d,k=%c,j=%d\n"
i,k,j);
13.有以下程序,若输入9876543210后的执行结果是________;
若输入为:
98└┘76└┘543210后的执行结果是________;
987654└┘3210后的执行结果为:
{
intx1,x2;
chary1,y2;
%2d%3d%3c%c"
x1=%d,x2=%d,y1=%c,y2=%c\n"
x1,x2,y1,y2);
14.若x和y均为int型变量,则以下语句的功能是________。
x+=y;
y=x-y;
x-=y;
15.有一输入函数scanf("
%d"
k);
则不能使float类型变量k得到正确数值的原因是:
________________________。
答案及部分解析
一.选择题答案
1.C2.B3.A4.B5.B6.D7.B8.D9.B10.C
11.A12.C13.C14.B15.C16.A17.A
18.C19.C
20.A
21.D22.D23.A24.B25.A26.D27.A28.A29.D30.B
31.C32.C33.B34.B35.C36.C37.C38.D39.D40.C
41.D42.A43.B44.C45.A46.D47.B48.D49.B50.A
14.解析:
C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。
而且不能与C语言规定的关键字同名。
关键字如:
auto,break,case,char,const,continue,default,do,double,else,entry,extern,for,float,goto,if,int,int,long,register,return,short,signed,sizeof,static,struct,unsigned,while,switch,typedef,void,volatile,unior。
这些关键字先不必硬背下来,随着后续的学习,你将发现它们都是一些数据的类型、语句等,自然会随着学习的深入,而记下来。
15.解析:
用指数形式表示一个实型常数时,E或e之前必须有数字,且E后面指数必须为整数。
16.解析:
为转义字符,相对应一个ASCII码字符。
(101)8=(65)10=A.
17.解析:
转义字符的特征是以“\"
开头,其后跟一些字符,如\n,\t,\'
\\,\},\"
\b,\f等代表一些特殊的含义,而\后如跟数字,可以为八进制或者十六进制,将其转换为对应的ASCII码值,就可以得出对应的字符。
“\"
后跟八进制的写法:
\0nn,或者\nn,表示“\0"
或者“\"
后只能跟1或3位0——7之间的数字;
后跟十六进制的写法:
\xnn,或者\nn,表示“\x"
后只能跟1或2位0——9及a——f(A——F)之间的字符。
选项B的错误在于8不是八进制;
而选项C的错误在于没有“\"
选项D的错误在于超长(多了一位)。
31.解析:
逗号表达式的最终结果为最右端的表达式(即x+y)的值,其运算顺序是从左自右的。
第三个表达式y++,其隐含有两步操作:
先取y的原值,再执行y=y+1运算;
而本题中,虽然没有将y赋给某个变量(取其原值),但还是一定会执行加运算的。
因而,经过第三个表达式,y已经自加为6,故x+y的值为8,相对应得表达式最终结果为8。
若本题改为:
(x=2,y=5,z=y++,x+z),则其结果应为7。
二.填空题答案
1.答案:
【1】123
【2】45.000000
2.答案:
选择结构、循环结构
3.答案:
C,OBJ,EXE
4.答案:
小写
5.答案:
函数说明部分和函数体
6.答案:
变量定义部分和执行部分
7.答案:
输入和输出函数
8.答案:
-1,oct:
177777,hex:
ffff,unsigned:
65535
1,oct:
1,hex:
1,unsigned:
9.答案:
98,oct:
142,hex:
62,ASCII:
b
10.答案:
3.141593,3.1416,3.142,└┘└┘└┘└┘└┘3.142
3.141593e+00,3.1416e+00,3.142e+00,└┘└┘3.142e+00
由于c编译系统不同,我们上机使用的机器,其第二个printf语句实际结果为:
3.14159e+00,3.142e+00,3.14e+00,└┘└┘3.14e+00,即:
小数点后取5位。
)
11.答案:
c=h
12.答案:
i=1,k=└┘,j=2
13.答案:
第一种情况的执行结果:
x1=98,x2=765,y1=4,y2=1
第二种情况的执行结果:
x1=98,x2=76,y1=└┘,y2=3
第三种情况的执行结果:
x1=98,x2=765,y1=4,y2=2
14.答案:
交换x和y的值
15.答案:
(1)格式符应为:
%f;
(2)变量前边未加取地址符&
即应为scanf("
k);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本知识 顺序 结构 测试 13