C模拟卷和思考题.docx

上传人:b****8 文档编号:9948393 上传时间:2023-02-07 格式:DOCX 页数:30 大小:28.42KB
下载 相关 举报
C模拟卷和思考题.docx_第1页
第1页 / 共30页
C模拟卷和思考题.docx_第2页
第2页 / 共30页
C模拟卷和思考题.docx_第3页
第3页 / 共30页
C模拟卷和思考题.docx_第4页
第4页 / 共30页
C模拟卷和思考题.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

C模拟卷和思考题.docx

《C模拟卷和思考题.docx》由会员分享,可在线阅读,更多相关《C模拟卷和思考题.docx(30页珍藏版)》请在冰豆网上搜索。

C模拟卷和思考题.docx

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

第9题(1.0分)已知a=12,写出表达式(0

答案:

0

第10题(1.0分)

表达式a+=b相当于表达式【a=a+b或a=b+a】。

答案:

a=a+b或a=b+a

二、判断共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。

错滴

答案:

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

三、单项选择共20题(共计30分)

第1题(1.5分)逻辑运算符两侧运算对象的数据类型(D)。

A:

只能是0或1

B:

只能是0或非0正数

C:

只能是整型或字符型数据

D:

可以是任何类型的数据

答案:

D

第2题(1.5分)若用数组第一个元素作为函数的实参,传递给形参的是(B).

A:

数组的首地址

B:

数组第一个元素的值

C:

数组中全部元素的值

D:

数组元素的个数

答案:

B

第3题(1.5分)以下运算符中,优先级最高的运算符是(D)。

A:

=

B:

!

=

C:

*(乘号)

D:

()

答案:

D

第4题(1.5分)下列运算符中,不属于关系运算符的是(D)。

A:

<

B:

>

C:

>=

D:

!

答案:

D

第5题(1.5分)

调用函数时,形式参数和实际参数必须保持一致的是(D).

A:

在个数上一致

B:

在类型上一致

C:

在顺序上一致

D:

在个数、类型、顺序上一致

答案:

D

第6题(1.5分)C语言规定,函数返回值的类型是由(D)。

A:

return语句中的表达式类型所决定

B:

调用该函数时的主调函数类型所决定

C:

调用该函数时系统临时决定

D:

在定义该函数时所指定的函数类型所决定

答案:

D

第7题(1.5分)以下不正确的if语句形式是(C)。

A:

if(x>y&&x!

=y);

B:

if(x==y)x+=y;

C:

if(x!

=y)scanf("%d",&x)elsescanf("%d",&y);

D:

if(x

答案:

C

第8题(1.5分)下列定义数组的语句中正确的是(A)。

A:

#definesize10charstr1[size],str2[size+2];

B:

charstr[];

C:

intnum['10'];

D:

intn=5;inta[n][n+2];

答案:

A

第9题(1.5分)执行下面程序后,输出结果是(A)。

main()

{a=45,b=27,c=0;

c=max(a,b);

printf("%d\n",c);

}

intmax(x,y)

intx,y;

{intz;

if(x>y)z=x;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1