C语言模拟历年考题集1Word格式.docx
- 文档编号:21183024
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:49
- 大小:49.28KB
C语言模拟历年考题集1Word格式.docx
《C语言模拟历年考题集1Word格式.docx》由会员分享,可在线阅读,更多相关《C语言模拟历年考题集1Word格式.docx(49页珍藏版)》请在冰豆网上搜索。
16、语句inta[3][4]。
共定义了____________个数组元素。
17、实型变量的类型说明符有:
__________、____________。
18、C语言中数组的下标下限为___________________________。
20、设x=4,y=(++x>
+(++x>
;
那么y的值为_____,表达式执行后,变量x的值为_______。
21、一个变量的指针是指_____________________________________________。
22、能够构成一个数组,其元素满足的特点是__________________________________;
那么,构成结构体的成员可以是_________________________________________。
23、下面运算符<
%++=按照优先级从高到低排列顺序为______________。
24、C程序设计中语句后的符号/*……*/所起作用是_________________________。
25、写出下面表达式的值:
<
1)3*5/7+7%3_________<
2)x=2。
y=4。
(x++>
+y_________
3)3+4>
=7-10___________<
4)3>
4?
3%2:
1_____________
5)x=2,y=2。
++x||++y_________<
6)x=3。
x+=x-=2_________
26、在C语言中,正确的标识符是由____________组成的,且由____________开头的。
27、设p=30,那么执行q=(++p>
语句后,表达式的结果q为______,变量p的结果为________。
若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。
29、在C语言程序中,对文件进行操作首先要____________________;
然后对文件进行操作,最后要对文件实行__________________________操作,防止文件中信息的丢失。
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(>
33、在循环中,continue语句与break语句的区别是:
continue语句是,break是。
34、在内存中存储“A”要占用<
)个字节,存储‘A’要占用<
)字节。
35、符号常量的定义方法是<
)。
36、能表述“20<
x<
30或x<
-100”的C语言表达式是<
37、结构化程序设计方法规定程序或程序段的结构有三种:
顺序结构、<
)和<
38、C语言共提供了三种用于实现循环结构的流程控制语句,它们是<
)、<
39、若在程序中用到putchar,应在程序开头写上包含命令<
),若在程序中用到strlen(>
函数时,应在程序开头写上包含命令<
40、设有定义语句staticinta[3][4]={{1},{2},{3}}。
,则a[1][1]值为<
),a[2][1]的值为<
41、“*”称为<
)运算符,“&
”称为<
)运算符。
42、赋值表达式和赋值语句的区别在于有无<
)号。
43、用{}把一些语句括起来称为<
)语句
44、设a=12、b=24、c=36,对于scanf(“a=%d,b=%d,c=%d”,&
语句,输入形式应为<
)
45、表达式sqrt(s*(s-a>
*(s-b>
*(s-c>
>
对应的数学式子为<
46、C语言编绎系统在判断一个量是否为“真”时,以<
)代表“真”
47、C语言从源程序的书写到上机运行输出结果要经过_______________四个步骤。
48、C语言的表达式与语句的区别在于___________________________________。
49、C语句_____________(有、没有>
输入、输出语句。
50、结构化程序的编写有_______________________________三种程序结构。
51、表达式10/3*9%10/2的值是___________________。
52、设有intx=2,y说明,则逗号表达式y=x+5,x+y的值是_________________。
53、设有intx=1,则x>
0?
2*x+1:
0表达式的值是______________________。
54、变量Y满足以下两条件中的任意一个:
①能被4整除,但不能被100整除;
②能被400整除。
请用逻辑表达式表示所给条件。
_________________________________________
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的值分别是、。
62、已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>
c&
b-c的值是。
63、C程序设计的三种基本结构是________、________和________。
64、数组是表示类型相同的数据,而结构体则是若干数据项的集合。
65、C语言中文件是指。
66、C语言源程序文件的扩展名是(1>
,经过编译后,生成文件的扩展名是(2>
,经过连接后,生成文件的扩展名是(3>
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>
71、执行以下for(i=1。
i<
=5。
i++>
语句后,变量i的值为(10>
72、数组是表示类型相同的数据,而结构体则是若干(11>
数据项的集合。
73、若有定义:
charc=’\010’。
则变量c中包含的字符个数是<
74、C语言提供的三种逻辑运算符是<
75、设y为int型变量,请写出描述“y是奇数”的表达式<
76、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式<
77、在C语言中,二维数组元素在内存中的存放顺序是<
78、若有定义:
doublex[3][5]。
则x数组中行下标的下限为<
),列小标的上限为<
79、若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}}。
则初始化后,a[1][2]得到的初值是<
),a[2][2]得到的初值是<
80、若自定义函数要求返回一个值,则应在该函数体中有一条<
)语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符<
81、函数中的形参和调用时的实参都是数组名时,传递方式为<
),都是变量时,传递方式为<
填空题答案:
1、整型、浮点型、字符型。
2、int,2,-32768~+32767
3、11111111110111014、-1125、14,’m’
6、”a”是字符串常量,而’a’是字符常量。
7、存放地址值的变量或常量,或者答地址取运算对象的地址取指针变量所指的内容
8、a=1,b=3,c=29、-410、7,1
11、#号12、013、将变量c中的字符显示到屏幕上。
14、指针变量p为整型15、FILE*fp16、12
17、floatdouble18、020、12,621、该变量的地址
22、同一类型;
不同类型23、++%<
=24、注释
25、3,1,1,61226、字母、数字、下划线;
以字母、下划线开头。
27、4,4-1229、打开;
关闭。
30、20,10变量的交换
31、“d1.dat”,“rb”33、结束本次循环,进入下一次循环;
结束循环。
34、2,135、#define符号常量常量
36、(x>
20&
x<
30>
||x<
-10037、分支结构,循环结果38、whiledofor
39、#include“stdio.h”#include“string.h”40、a[1][1]=0,a[2][1]=0
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==0
55、!
&
||57、双引号58、2659、560、三(3>
61、1,2062、163、顺序结构、选择结构、循环结构64、类型不同
65、存储在外部介质上的相关数据集合。
66、(1>
.C(2>
.OBJ(3>
.EXE(小写也正确>
67、(4>
long(int>
a,b。
68、(5>
1.569、(6>
7.000000
70、(7>
2(8>
3(9>
871、(10>
772、(11>
类型不同
73、1个74、与&
、或||、非!
75、y%2!
=076、x<
z||y<
z
77、行列78、0,479、0,880、return,void
81、地址传送,值传送
===========================================================================
二、选择题<
一)
1、设整型变量a为5,使b不为2的表达式是<
A.b=a/2B.b=6-(--a>
C.b=a%2D.b=a>
3?
2:
1
2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:
C程序中的else总是与<
)组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的if
C.在其之前未配对的最近的ifD.同一行上的if
3、以下程序的输出结果是(>
intx=10,y=10。
printf(“%d%d\n”,x--,--y>
A.1010B.99C.910D.109
4、设A为存放<
短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为<
A.P+i*2B.P+(i-1>
*2C.P+(i-1>
D.P+i
5、选出下列标识符中不是合法的标识符的是<
A.hot_doB.cat1C._priD.2ab
6、以下程序的输出结果是<
inta=5。
floatx=3.14。
a*=x*(‘E’-‘A’>
printf(“%f\n”,(float>
a>
A.62.000000B.62.800000C.63.000000D.62
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,4
11、下列描述中不正确的是<
A.字符型数组中可能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
12、以下程序的输出结果是<
#definef(x>
x*x
{inta=6,b=2,c。
c=f(a>
/f(b>
A.9B.6C.36D.18
13、设有如下定义:
intx=10,y=3,z。
则语句printf("
%d\n"
z=(x%y,x/y>
的输出结果是<
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]>
A.159B.147C.357D.369
15、以下对二维数组a进行正确初始化的是<
A.inta[2][3]={{1,2},{3,4},{5,6}}。
B.inta[][3]={1,2,3,4,5,6}。
C.inta[2][]={1,2,3,4,5,6}。
D.inta[2][]={{1,2},{3,4}}。
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"
}。
则以下说法中正确的是<
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.xycdBCD
19、下列程序的输出结果是<
inta[5]={2,4,6,8,10},*P,**k。
p=a。
k=&
p。
*(p++>
**k>
A.44B.22C.24D.46
20、不能把字符串:
Hello!
赋给数组b的语句是<
A.charb[10]={'
H'
'
e'
l'
o'
!
'
B.charb[10]。
b="
"
C.charb[10]。
strcpy(b,"
D.charb[10]="
1、C2、C3、D4、B5、D6、A7、C8、C9、D10、A11、C12、C13、D14、C15、B16、C17、D18、D19、C20、B
选择题<
二)
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]地址的表达式为<
A.p+1B.a+1C.a++D.++p
6、设有如下定义:
则语句printf("
7、定义如下变量和数组:
inti,x[3][3]={1,2,3,4,5,6,7,8,9}。
则下面语句for(i=0。
9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是<
10、设有如下定义:
char*aa[2]={"
则以下说法中正确的是<
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,4
15、下列程序执行后输出的结果是<
intd=1。
fun(intp>
{intd=5。
d+=p++。
%d,"
d>
main(>
{inta=3。
fun(a>
d+=a++。
A.8,4B.9,6C.9,4D.8,5
16、表达式:
10!
=9的值是<
A.trueB.非零值C.0D.1
17、若有说明:
inti,j=7,*p=&
i。
则与i=j。
等价的语句是<
A.i=*p。
B.*p=*&
j。
C.i=&
D.i=**p。
Key:
1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D
三)
1.设intx=1,y=1。
表达式<
x++||y--)的值是_________
A.0B.1C.2D.-1
2.main(>
{intn。
(n=6*4,n+6>
n*2。
printf(“n=%d\n”,n>
}此程序的输出结果是______________.
A.30B.24C.60D.48
3.若有如下定义,则__________是对数组元素的正确的引用。
inta[10],*p。
p=a。
p=a。
A.*&
a[10]B.a[11]C.*(p+10>
D.*p
4.设整型变量n的值为2,执行语句“n+=n-=n*n;
”后,n的值是__________
A.0B.4C.-4D.2
5.以下不能正确定义二维数组的语句是___________
A.inta[2][2]={{1},{2}}。
B.inta[][2]={1,2,3,4}。
C.inta[2][2]={{1},2,3}。
D.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 历年 考题