C模拟卷和思考题.docx
- 文档编号:9948393
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:30
- 大小:28.42KB
C模拟卷和思考题.docx
《C模拟卷和思考题.docx》由会员分享,可在线阅读,更多相关《C模拟卷和思考题.docx(30页珍藏版)》请在冰豆网上搜索。
C模拟卷和思考题
思考题
●不仅要会做这些题,更重要的是要掌握其相关知识点。
典型程序一定要会默写。
●看题要细心;注意后续题;填空题输完要回车;程序题要运行且要保存;勿删注释符,但要删非法符;交卷前要检查!
一、一般填空题
1-1、调用fopen函数打开一文本文件,在“打开模式”这一项中,为输出(写)而打开需填入【w】.
1-2、调用fopen函数打开一文本文件,在“打开模式”这一项中,为追加而打开需填入【a】.
1-3、fopen函数的原形在头文件【stdio.h】中.
1-4、getchar函数的原形在头文件【stdio.h】中.
1-5、sqrt函数的原形在头文件【math.h】中.
1-6、如果函数不要求带回值,可用【void】来定义函数返回值为空.
答案:
w或w+;a或a+;stdio.h;stdio.h;math.h;void.
2-1、字符串“\1011234\\at”的长度(字符数)是【8】.
2-2、测试字符串“abc\083\\bcd”的长度值是【3】.
2-3、字符串“1\\t\x43\abx44”的长度(字符数)是【9】.
2-4、“a“在内存中占【2】个字节.
2-5、‘a’在内存中占【1】个字节.
2-6、“\71“在内存中占【2】个字节.
2-7、一维数组下标的最小值是【0】;数组chara[]=“china”;在内存应占【6】个字节。
答案:
8;3;9;2;1;2;0;6.
3-1、设x=(5>1)+2,x的植为【3】.
3-2、表达式‘B’+15+‘\x41’+011+0x10的值是【171】.
3-3、表达式‘b’+5+‘\x42’+011+0x10的值是【194】.
答案:
3;171;194;
4-1、if(!
a)中的表达式!
a等价于【a==0】.
4_2、已知a=1,b=2,c=3,执行if(a>b>c)b=a;elseb=c;a=4;b=8;后,b的值是【8】.
4_3、下列程序段的执行结果依次是【1,5,8】.
intx=1,y=2,a,b,z1=0,z2=2,z3=0;
z1=(a=3,b=5,a>b?
a++:
--b,a=1);
z2+=x>y?
++x:
++y;
z3=(a=2,b=5,a>b?
a++:
b++,a+b);
printf("%d,%d,%d\n",z1,z2,z3);
4_4、若x=3;y=4;t=1;执行t=++x||++y;后,y和t的值依次是【4,1】.
4_5、设a=12,执行语句:
a+=a-=a*a;后,a的值是【-264】。
答案:
a==0;8;1和5和8;4和1;-264;
5-1、若所用变量都已定义,下列程序段的执行结果是【OK】.
for(i=1;i<=5;i++);printf(“OK\n”);
5-2、执行语句chars[3]=”ab”,*p;p=s;后,*(p+2)的值是【\0】.
5-3、若有以下定义和语句:
inta[4]={0,1,2,3},*p;p=&a[2];,则*--p的值是【1】.
5-4、下列程序的输出结果是【10】,main(){inta=011;printf(“%d\n”,++a);}
5-5、i=4;printf(“%d,%d,%d\n”,i+8,i+=5,i--);输出结果?
9
答案:
OK;’\0’;1;10;17,9,4
6-1、若宏定义为:
#definey(x)2+x,则表达式a=3*y(3)的值为【9】.
6-2、若宏定义为:
#definey(x)2+x,则表达式a=4*y
(2)的值为【10】.
6-3、若宏定义为:
#definey(x)2/x,则表达式a=4+3*y(3)的值为【6】.
6_4、若宏定义为:
#definey(x)2/(x),则表达式a=4+3*y(3+4)的值为【4】.
答案:
9;10;6;4;
二、判断共10题(共计10分)
第1题(1.0分)若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。
答案:
Y
第2题(1.0分)inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列
的元素赋初值,其余元素值为0。
答案:
Y
第3题(1.0分)进行宏定义时,宏名必须使用大写字母表示。
答案:
N
第4题(1.0分)如果函数值的类型和return语句中表达式的值不一致,则以
函数类型为准。
答案:
Y
第5题(1.0分)一个include命令可以指定多个被包含的文件。
答案:
N
第6题(1.0分)inti,*p=&i;是正确的C说明。
答案:
Y
第7题(1.0分)
若有#defineS(a,b)a*b则语句area=S(3,2);area的值为6。
答案:
Y
第8题(1.0分)函数strlen("ASDFG\n")的值是7。
(正确答案是6)
答案:
N
第9题(1.0分)若有定义和语句:
inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;
for(i=0;i<3;i++)sum+=a[i][2-i];则sum=21.
答案:
Y
第10题(1.0分)
charc[]="VeryGood";是一个合法的为字符串数组赋值的语句。
答案:
Y
三、单项选择题
1-1、若以"a+"方式打开一个已存在的文件,则以下叙述正确的是(A)。
A:
文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作
B:
文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作
C:
文件打开时,原有文件内容被删除,只可作写操作
D:
以上各种说法皆不正确
1-2、若执行fopen函数时发生错误,则函数的返回值是(B)。
A:
地址值B:
0C:
1D:
EOF
1_3、若要打开d盘上user子目录下名为abc.txt的文件进行读、写操作,符合要求的是(B)。
A:
fopen(“d:
\user\abc.txt”,“r”)B:
fopen(“d:
\\user\\abc.txt”,“r+”)
C:
fopen(“d:
\user\abc.txt”,“rb”)D:
fopen(“d:
\\user\\abc.txt”,“w”)
答案:
A;B;B;
2-1、以下属于c语言预先规定的保留字是(A)。
A:
intB:
scoreC:
averD:
sum
2-2、下列运算符中优先级最高的是(B)。
A:
+C:
&&D:
!
=
2-3、下面不正确的字符串常量是(A)。
A:
‘abc’B:
’’12’12”C:
”0”D:
”“
2-4、运算对象必须是整型的运算符是(A)。
A:
%B:
/C:
=D:
<=
2-5、下面错误的常量是(B)。
A:
0xffB:
1.2e0.5(指数必须为整数)C:
2LD:
’\72’
2-6、下列变量定义语句中,正确的是(D)。
A:
char:
abc;B:
chara;b;c;C:
intx;z;D:
intx,z;
2-7、sizeof(float)是(B)。
A:
一个双精度型表达式B:
一个整型表达式C:
一种函数调用D:
不合法表达式
2_8、c语言的注释语句开头必须是(C)。
A:
/B:
*C:
/*D:
’
2_9、设以下变量均为int类型,则值不等于7的表达式是(C)。
A:
(x=y=6,x+y,x+1)B:
(x=y=6,x+y,y+1)C:
(x=6,x+1,y=6,x+y)D:
(y=6,y+1,x=y,x+1)
2_10、C程序的语句结束符是(A)。
A:
;B:
:
C:
.D:
换行
2_11、C语言中用于结构化程序设计的三种基本结构是(A)。
A:
顺序结构、选择结构和循环结构B:
if、switch、break
C:
for、while、do-whileD:
if、for、continue
2_12、C语言中,int、char和short三种类型的数据在内存中占用的字节数(C)。
A:
由用户自己定义B:
均为两个字节C:
由编译系统定D:
由所用机器的字长决定
答案:
A;B;A;A;B;D;B;C;C;A;A;D;
3-1、在一个c程序中(B)。
A:
main函数必须出现在所有函数之前B:
main函数的位置没有特别限制
C:
main函数必须出现在所有函数之后D:
main函数必须出现固定位置
3-2、已知函数原形声明为:
floatwww(chara,charb);该函数的类型为(C)。
A:
指向字符型的指针B:
字符型C:
浮点型D:
指向浮点型的指针
3-3、与实际参数为整型数组名相对应的形式参数不可以定义为(C)。
A:
inta[];B:
int*a;C:
inta;D:
inta[3];
3_4、全局变量的定义不可能在(A)。
A:
函数内部B:
函数外面C:
文件外面D:
最后一行
3_5、putchar函数可以向终端输出一个(D)。
A:
整型变量表达式的值B:
实型变量的值C:
字符串D:
字符或字符型变量值
3_6、数组名作为实际参数传给子函数的形式参数时,数组名被处理为(C)。
A:
数组的长度B:
数组的元素个数C:
数组的首地址D:
数组中各元素的值
3_7、C语言中,当调用函数时(A)。
A:
实参和形参本身各占一个独立的存储单元B:
实参和形参可以共用存储单元
C:
实参和形参可以由用户指定是否共用存储单元D:
由计算机自动确定是否共用存储单元
3_8、调用函数时,实参和形参必须保持一致的是(D)。
A:
在个数上B:
在类型上C:
在顺序上D:
在个数、类型、顺序上
答案:
B;C;C;A;D;C;A;D;
4-1、inta=3,b=2,c=1;if(a>b>c)a=b;elsea=c;则a的值为(C)。
A:
3B:
2C:
1D:
0
4-2、下列程序的输出为(D)。
main()
{inty=10;while(y--);printf("y=%d\n",y);}
A:
y=0B:
while构成无限循环C:
y=1D:
y=-1
4-3、假设所有变量都为整型,表达式(a=2,b=5,a>b?
a++:
b++,a+b)的值是(B).
(看成3或4个逗号表达式,结果都一样)
A:
7B:
8C:
9D:
2
4-4、以下程序的输出结果是(B)。
main()
{inti=010,j=10;printf("%d,%d\n",++i,j--);}
A:
11,10B:
9,10C:
10,9D:
10,9
4_5、设a=2,且a定义为整型变量,执行语句a+=a-=a*=a;后,a的值为(C)。
A:
12B:
144C:
0D:
132
4-6、inta=1,b=2,c=3;if(a>c)a=b;a=c;c=b;则c的值为(B)。
A:
1B:
2C:
3D:
不一定
4-7、若变量a与i已正确定义,且i已正确赋值,合法的语句是(B)。
A:
a==1B:
++i;C:
a=a++=5;D:
a=int(i);
4_8、strlen(“12\0345\n”)与strlen(“12\0845\n”)的测试结果分别是(C)
A:
相同B:
2和5C:
5和2D:
5和5
4_9、设chars[10]="\ta\017bc";则数组s所占的字节数是(B)。
A:
9B:
10C:
6D:
7
4_10、设char*s="\ta\017bc";则指针变量s指向的字符串所占的字节数是(C)。
A:
9B:
5C:
6D:
7
4_11、若i=3,则printf("%d",-i++);输出的值和i的值分别为(B)。
A:
相同B:
-3和4C:
5和2D:
5和5
4_12、执行:
inta=1,b=10;do{b-=a;a++;}while(b--<0);后,b的值是(C)。
A:
9B:
-2C:
8D:
-1
答案:
C;D;B;B;C;B;B;C;B;C;B;C;
5-1、一维数组定义的格式为:
类型说明符数组名(A)。
A:
[正整常量表达式]B:
[整型表达式]C:
[整型常量]或[整型表达式]D:
[整型常量]
5-2、以下能正确定义数组并正确赋初值的邮局语句是(D)。
A:
intN=5,b[N][N];B:
inta[1][2]={{1},{3}};
C:
intc[2][]={{1,2},{3,4}};D:
intd[3][2]={{1,2},{34}};
5_3、以下不正确的定义语句是(B)。
A:
doublex[5]={2.0,4.0,6.0,8.0,10.0};B:
inty[5]={0,1,3,5,7,9};
C:
charc1[]={‘1’,’2’,’3’,’4’,’5’};D:
charc2[]={‘\x10’,’\xa’,’\x8’};
5_4、在C语言中,引用数组元素时,其数组下标的数据类型允许是(C)。
A:
整型常量B:
整型表达式C:
正整型常量或正整型表达式D:
任何类型的表达式
5_5、若有说明:
inta[10];则对a数组元素的正确引用是(D)。
A:
a[10]B:
a[3,5](VC中可以)C:
a(5)D:
a[10-10]
3_6、下列数组定义中,正确的是(A)。
A:
inta[][4];B:
inta[][];C:
inta[][][5];D:
inta[3][];
5_7、若有说明:
inta[10];则对a数组元素的正确引用是(D)。
A:
a[10]B:
a[3,5](VC中可以)C:
a(5)D:
a[3>1]
答案:
A;D;B;C;D;A;D;
6-1、相同结构体类型的变量之间可以(B)。
A:
相加B:
赋值C:
比较大小D:
地址相同
6_2、结构体类型的定义允许嵌套是指(A)。
A:
成员是已经或正在定义的结构体型B:
成员可以重名
C:
结构体型可以派生D:
定义多个结构体型
6_3、有如下定义:
structstudent{charname[20];intage;}wang,*p;p=&wang;,以下不合法的引用为()。
A:
p.ageB:
wang.ageC:
p->ageD:
(*p).age
6_4、在定义构造数据类型时,不能()。
A:
说明变量B:
说明存储类型C:
初始化D:
末尾不写分号
6_5、当定义一个结构体变量时,系统分配给它的内存是()。
A:
各成员所需内存量的总和B:
结构中第一个成员所需内存量
C:
结构中最后一个成员所需内存量D:
成员中占内存量最大者所需的容量
6_6、enuma{sum=9,mon=-1,tue};定义了()。
A:
枚举变量B:
3个标识符C:
枚举数据类型D:
整数9和-1
6_7、设有:
enumteam{my,you=4,his,her=his+5};则
Printf(“%d,%d,%d,%d\n”,my,your,his,her);的输出是()。
A:
0,1,2,3B:
0,4,0,10C:
0,4,5,10D:
1,4,5,10
6_8、以下各选项企图说明一种新的类型名,其中正确的是()。
A:
typedefv1int;B:
typedefv2=int;
C:
typedefintV3;D:
typedefv4:
int;
6_8、下列程序中错误的语句是:
#include
main()
{
①enumaa{red,blue}bb;
②bb=red;
③bb=0;
④bb=black;
⑤bb=2;
⑥bb=enumcc{white,black}dd;
}
答案:
B;A;A;D;A;C;C;C;④⑤⑥
7-1、若宏定义为:
#definey2+3,则表达式y*3+3的值为(A).
A:
14B:
16C:
18D:
20
7-2、若宏定义为:
#definey2+3,则表达式2+y*3的值为(B).
A:
11B:
13C:
15D:
17
7_3、有宏定义为:
#defineY(a,b)a+b,则表达式2+Y(2,3)*3的值为(B).
A:
11B:
13C:
15D:
17
7_4、对于#defineS(r)2*r*r和#defineS(r)2*(r)*(r),s(3+4)的结果是(C).
A:
98和22B:
13和4C:
22和98D:
98和98
答案:
A;B;B;C;
8-1、如有int*p,a=5,b;定义,则以下正确的程序段为(D)。
A:
p=&b;scanf(“%d’,&p);B:
p=&b;scanf(“%d’,*p);
C:
scanf(“%d’,&b);p=b;D:
p=&b;p=&a;
★8-2、若有语句:
inta[3][4],*p[3]={a[0],a[1],a[2]};不能表示a[2][3]的元素的是(D)。
A:
*(*(a+2)+3)B:
*(*(p+2)+3)C:
*(p[2]+3)D:
(*(p+2))
8_3、p1,p2为指向浮点的指针变量,则下列运算错误的是(C)。
A:
*p1-*p2B:
p1++C:
*p1%*p2D:
p1-p2
8_4、有以下定义:
inta[2][3];,则对数组元素的正确引用(A)是。
A:
*(*(a+i)+j)B:
(a+i)[j]C:
*(a+i+j)D:
a[i]+j
8_5、若有定义:
int(*p)();,则该指针为(C)。
A:
指向整型的指针B:
指向字符型的指针C:
指向整型函数的指针D:
指向字符型函数的指针
8_6、下列正确的定义是(A)。
1inti,*p=&i;②int*p=&i,i;③int*p,i;p=&i;④int*p,i;p=i;⑤int*p,i,p=&i;
A:
①③B:
②④C:
②⑤D:
④①
答案:
D;D;C;A;C;A;
一份模拟卷
一、填空共10题(共计10分)
第1题(1.0分)字符串"abc\103\\bcd"的长度是【8】。
①答案:
8回车
第2题(1.0分)getchar()函数的原型在【stdio.h】中。
答案:
stdio.h
第3题(1.0分)
定义inta[2][3];表示数组a中的元素个数是【6】个。
答案:
6
第4题(1.0分)intx=2,y=3,z=4;则表达式x+y>!
z的值为【1】.
答案:
1
第5题(1.0分)getchar()函数只能接收一个【字符】。
答案:
字符
第6题(1.0分)
intx=2,y=3,z=4;则表达式x+y&&z的值为【1】.
答案:
1
第7题(1.0分)若有以下数组a,数组元素:
a[0]~a[9],其值为
941282107513
该数组可用的最大下标值是【9】。
答案:
9
第8题(1.0分)若有以下定义和语句:
inta[4]={0,1,2,3},*p;
p=&a[2];
则*--p的值是【1】。
答案:
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 思考题