C语言模拟历年考题集1Word文档格式.docx
《C语言模拟历年考题集1Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言模拟历年考题集1Word文档格式.docx(24页珍藏版)》请在冰点文库上搜索。
13、C语言中putchar(c>
函数的功能是_________________________________。
jLBHrnAILg
14、语句int*p。
的含义是___________________________________________。
xHAQX74J0X
15、定义fp为文件型指针变量的定义方法为_______________________。
16、语句inta[3][4]。
共定义了____________个数组元素。
17、实型变量的类型说明符有:
__________、____________。
18、C语言中数组的下标下限为___________________________。
20、设x=4,y=(++x>
+(++x>
;
那么y的值为_____,表达式执行后,变量x的值为_______。
LDAYtRyKfE
21、一个变量的指针是指_____________________________________________。
Zzz6ZB2Ltk
22、能够构成一个数组,其元素满足的特点是__________________________________;
那么,构成结构体的成员可以是_________________________________________。
dvzfvkwMI1
23、下面运算符<
%++=按照优先级从高到低排列顺序为______________。
rqyn14ZNXI
24、C程序设计中语句后的符号/*……*/所起作用是_________________________。
EmxvxOtOco
25、写出下面表达式的值:
<
1)3*5/7+7%3_________<
2)x=2。
y=4。
(x++>
+y_________SixE2yXPq5
3)3+4>
=7-10___________<
4)3>
4?
3%2:
1_____________
5)x=2,y=2。
++x||++y_________<
6)x=3。
x+=x-=2_________6ewMyirQFL
26、在C语言中,正确的标识符是由____________组成的,且由____________开头的。
kavU42VRUs
27、设p=30,那么执行q=(++p>
语句后,表达式的结果q为______,变量p的结果为________。
若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。
y6v3ALoS89
29、在C语言程序中,对文件进行操作首先要____________________;
然后对文件进行操作,最后要对文件实行__________________________操作,防止文件中信息的丢失。
M2ub6vSTnP
30、以下程序<
头文件省略)运行后的输出结果是。
该程序的功能是。
{intx=10,y=20,t=0。
if(x!
=y>
t=x。
x=y。
y=t。
printf(“%d,%d\n”,x,y>
}
31、若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"
读"
而打开此文件:
fp=fopen(>
0YujCfmUCw
33、在循环中,continue语句与break语句的区别是:
continue语句是,break是。
eUts8ZQVRd
34、在内存中存储“A”要占用<
)个字节,存储‘A’要占用<
)字节。
35、符号常量的定义方法是<
)。
sQsAEJkW5T
36、能表述“20<
x<
30或x<
-100”的C语言表达式是<
GMsIasNXkA
37、结构化程序设计方法规定程序或程序段的结构有三种:
顺序结构、<
)和<
TIrRGchYzg
38、C语言共提供了三种用于实现循环结构的流程控制语句,它们是<
)、<
7EqZcWLZNX
39、若在程序中用到putchar,应在程序开头写上包含命令<
),若在程序中用到strlen(>
函数时,应在程序开头写上包含命令<
lzq7IGf02E
40、设有定义语句staticinta[3][4]={{1},{2},{3}}。
,则a[1][1]值为<
),a[2][1]的值为<
zvpgeqJ1hk
41、“*”称为<
)运算符,“&
”称为<
)运算符。
42、赋值表达式和赋值语句的区别在于有无<
)号。
43、用{}把一些语句括起来称为<
)语句
44、设a=12、b=24、c=36,对于scanf(“a=%d,b=%d,c=%d”,&
语句,输入形式应为<
)NrpoJac3v1
45、表达式sqrt(s*(s-a>
*(s-b>
*(s-c>
>
对应的数学式子为<
)1nowfTG4KI
46、C语言编绎系统在判断一个量是否为“真”时,以<
)代表“真”
47、C语言从源程序的书写到上机运行输出结果要经过_______________四个步骤。
48、C语言的表达式与语句的区别在于___________________________________。
fjnFLDa5Zo
49、C语句_____________(有、没有>
输入、输出语句。
50、结构化程序的编写有_______________________________三种程序结构。
51、表达式10/3*9%10/2的值是___________________。
52、设有intx=2,y说明,则逗号表达式y=x+5,x+y的值是_________________。
tfnNhnE6e5
53、设有intx=1,则x>
0?
2*x+1:
0表达式的值是______________________。
HbmVN777sL
54、变量Y满足以下两条件中的任意一个:
①能被4整除,但不能被100整除;
②能被400整除。
请用逻辑表达式表示所给条件。
_________________________________________V7l4jRB8Hs
55、逻辑运算符&
、||、!
中的优先级是____________________
57、在C语言中,字符串常量是用表示一串字符。
58、若有说明和语句:
inta=25,b=60。
b=++a。
则b的值是。
59、若intx=5。
while(x>
0>
printf(“%d”,x-->
的循环执行次数为。
60、若有inta[5],*p=a。
则p+2表示第个元素的地址。
61、若有说明和语句:
inta=5,b=6,y=6。
b-=a。
y=a++。
则b和y的值分别是、。
83lcPA59W9
62、已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>
c&
b-c的值是。
63、C程序设计的三种基本结构是________、________和________。
64、数组是表示类型相同的数据,而结构体则是若干数据项的集合。
65、C语言中文件是指。
66、C语言源程序文件的扩展名是(1>
,经过编译后,生成文件的扩展名是(2>
,经过连接后,生成文件的扩展名是(3>
mZkklkzaaP
67、把a,b定义成长整型变量的定义语句是(4>
68、设x和y均为整型变量,且x=3,y=2,则1.0*x/y表达式的值为(5>
69、已有定义:
floatx=5.5。
则表达式:
x=(int>
x+2的值为(6>
70、已有定义:
intx=0,y=0。
(x+=2,y=x+3/2,y+5>
后,变量x的值为(7>
,变量y的值为(8>
,表达式的值为(9>
AVktR43bpw
71、执行以下for(i=1。
i<
=5。
i++>
语句后,变量i的值为(10>
72、数组是表示类型相同的数据,而结构体则是若干(11>
数据项的集合。
73、若有定义:
charc=’\010’。
则变量c中包含的字符个数是<
74、C语言提供的三种逻辑运算符是<
ORjBnOwcEd
75、设y为int型变量,请写出描述“y是奇数”的表达式<
2MiJTy0dTT
76、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式<
gIiSpiue7A
77、在C语言中,二维数组元素在内存中的存放顺序是<
78、若有定义:
doublex[3][5]。
则x数组中行下标的下限为<
),列小标的上限为<
uEh0U1Yfmh
79、若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}}。
则初始化后,a[1][2]得到的初值是<
),a[2][2]得到的初值是<
IAg9qLsgBX
80、若自定义函数要求返回一个值,则应在该函数体中有一条<
)语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符<
WwghWvVhPE
81、函数中的形参和调用时的实参都是数组名时,传递方式为<
),都是变量时,传递方式为<
asfpsfpi4k
填空题答案:
1、整型、浮点型、字符型。
2、int,2,-32768~+32767
3、11111111110111014、-1125、14,’m’ooeyYZTjj1
6、”a”是字符串常量,而’a’是字符常量。
7、存放地址值的变量或常量,或者答地址取运算对象的地址取指针变量所指的内容
8、a=1,b=3,c=29、-410、7,1BkeGuInkxI
11、#号12、013、将变量c中的字符显示到屏幕上。
PgdO0sRlMo
14、指针变量p为整型15、FILE*fp16、12
17、floatdouble18、020、12,621、该变量的地址3cdXwckm15
22、同一类型;
不同类型23、++%<
=24、注释
25、3,1,1,61226、字母、数字、下划线;
以字母、下划线开头。
h8c52WOngM
27、4,4-1229、打开;
关闭。
30、20,10变量的交换v4bdyGious
31、“d1.dat”,“rb”33、结束本次循环,进入下一次循环;
结束循环。
34、2,135、#define符号常量常量
36、(x>
20&
x<
30>
||x<
-10037、分支结构,循环结果38、whiledoforJ0bm4qMpJ9
39、#include“stdio.h”#include“string.h”40、a[1][1]=0,a[2][1]=0XVauA9grYP
41、*指针运算符,&
地址运算符42、分号;
43、复合语句
44、a=12,b=24,c=3645、
46、非0
47、编辑、编译、连接、执行48、“表达式”未尾加“;
”号就成“语句”
49、没有50、顺序、分支、循环51、3
52、953、354、y%4==0&
y%100!
=0||y%400==0bR9C6TJscw
55、!
&
||57、双引号58、2659、560、三(3>
pN9LBDdtrd
61、1,2062、163、顺序结构、选择结构、循环结构64、类型不同DJ8T7nHuGT
65、存储在外部介质上的相关数据集合。
66、(1>
.C(2>
.OBJ(3>
.EXE(小写也正确>
QF81D7bvUA
67、(4>
long(int>
a,b。
68、(5>
1.569、(6>
7.0000004B7a9QFw9h
70、(7>
2(8>
3(9>
871、(10>
772、(11>
类型不同ix6iFA8xoX
73、1个74、与&
、或||、非!
75、y%2!
=076、x<
z||y<
zwt6qbkCyDE
77、行列78、0,479、0,880、return,voidKp5zH46zRk
81、地址传送,值传送
===========================================================================Yl4HdOAA61
二、选择题<
一)
1、设整型变量a为5,使b不为2的表达式是<
A.b=a/2B.b=6-(--a>
C.b=a%2D.b=a>
3?
2:
1ch4PJx4BlI
2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:
C程序中的else总是与<
)组成配对关系。
qd3YfhxCzo
A.缩排位置相同的ifB.在其之前未配对的if
C.在其之前未配对的最近的ifD.同一行上的if
3、以下程序的输出结果是(>
intx=10,y=10。
printf(“%d%d\n”,x--,--y>
E836L11DO5
A.1010B.99C.910D.109S42ehLvE3M
4、设A为存放<
短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为<
A.P+i*2B.P+(i-1>
*2C.P+(i-1>
D.P+i501nNvZFis
5、选出下列标识符中不是合法的标识符的是<
A.hot_doB.cat1C._priD.2abjW1viftGw9
6、以下程序的输出结果是<
inta=5。
floatx=3.14。
a*=x*(‘E’-‘A’>
printf(“%f\n”,(float>
a>
A.62.000000B.62.800000C.63.000000D.62xS0DOYWHLP
7、设有说明double(*p1>
[N]。
其中标识符p1是<
A.N个指向double型变量的指针。
B.指向N个double型变量的函数指针。
C.一个指向由N个double型元素组成的一维数组的指针。
D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。
8、在C程序中有如下语句:
char*func(intx,inty>
它是<
A.对函数func的定义。
B.对函数func的调用。
C.对函数func的原型说明。
D.不合法的。
9、以下程序的输出结果是<
charstr[15]=”hello!
”。
printf(“%d\n”,strlen(str>
A.15B.14C.7D.6
10、分析以下程序的输出结果是<
{inta=5,b=-1,c。
c=adds(a,b>
printf(“%d”,c>
printf(“%d\n”,c>
intadds(intx,inty>
{staticintm=0,n=3。
n*=++m。
m=n%x+y++。
return(m>
A.2,3B.2,2C.3,2D.2,4LOZMkIqI0w
11、下列描述中不正确的是<
A.字符型数组中可能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
12、以下程序的输出结果是<
#definef(x>
x*x
{inta=6,b=2,c。
c=f(a>
/f(b>
A.9B.6C.36D.18ZKZUQsUJed
13、设有如下定义:
intx=10,y=3,z。
则语句printf("
%d\n"
z=(x%y,x/y>
的输出结果是<
dGY2mcoKtT
A.1B.0C.4D.3
14、定义如下变量和数组:
inti。
intx[3][3]={1,2,3,4,5,6,7,8,9}。
则语句for(i=0。
3。
printf("
%d"
x[i][2-i]>
rCYbSWRLIA
A.159B.147C.357D.369FyXjoFlMWh
15、以下对二维数组a进行正确初始化的是<
)
A.inta[2][3]={{1,2},{3,4},{5,6}}。
B.inta[][3]={1,2,3,4,5,6}。
TuWrUpPObX
C.inta[2][]={1,2,3,4,5,6}。
D.inta[2][]={{1,2},{3,4}}。
7qWAq9jPqE
16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是<
intx。
scanf("
%d"
&
x>
if(x++>
5>
x>
elseprintf("
x-->
A.7和5B.6和3C.7和4D.6和4
17、设有如下定义:
char*aa[2]={"
abcd"
"
ABCD"
}。
则以下说法中正确的是<
llVIWTNQFk
A>
aa数组成元素的值分别是"
和ABCD"
B>
aa是指针变量,它指向含有两个数组元素的字符型一维数组
C>
aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D>
aa数组的两个元素中各自存放了字符'
a'
和'
A'
的地址
18、下列程序的输出结果是<
char*p1="
*p2="
str[50]="
xyz"
strcpy(str+2,strcat(p1+2,p2+1>
%s"
str>
A.xyabcABB.abcABzC.ABabczD.xycdBCDyhUQsDgRT1
19、下列程序的输出结果是<
inta[5]={2,4,6,8,10},*P,**k。
p=a。
k=&
p。
*(p++>
**k>
A.44B.22C.24D.46MdUZYnKS8I
20、不能把字符串:
Hello!
赋给数组b的语句是<
A.charb[10]={'
H'
'
e'
l'
o'
!
'
B.charb[10]。
b="
"
09T7t6eTno
C.charb[10]。
strcpy(b,"
D.charb[10]="
e5TfZQIUB5
1、C2、C3、D4、B5、D6、A7、C8、C9、D10、A11、C12、C13、D14、C15、B16、C17、D18、D19、C20、Bs1SovAcVQM
选择题<
二)
1、以下选项中属于C语言的数据类型是<
A.复合型B.双精度型C.逻辑型D.集合型
2、以下说法中正确的是<
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main(>
函数中定义
C.C语言程序总是从main(>
函数开始执行
D.C语言程序中的main(>
函数必须放在程序的开始部分
5、若已定义:
inta[9],*p=a。
并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为<
GXRw1kFW5s
A.p+1B.a+1C.a++D.++pUTREx49Xj9
6、设有如下定义:
则语句printf("
8PQN3NDYyP
7、定义如下变量和数组:
inti,x[3][3]={1,2,3,4,5,6,7,8,9}。
则下面语句for(i=0。
)mLPVzx7ZNw
A.159B.147C.357D.369AHP35hB02d
9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是<
10、设有如下定义:
char*aa[2]={"
则以下说法中正确的是<
NDOcB141gT
11、以下语句的输出结果是<
inta=-1,b=4,k。
k=(++a<
(b--<
=0>
%d,%d,%d\n"
k,a,b>
A.1,0,4B.1,0,3C.0,0,3D.0,0,41zOk7Ly2vA
15、下列程序执行后输出的结果是<
intd=1。
fun(intp>
{intd=5