武汉理工大学网络教育C语言程序设计(本)新在线作业及期末考试复习题_第1页
武汉理工大学网络教育C语言程序设计(本)新在线作业及期末考试复习题_第2页
武汉理工大学网络教育C语言程序设计(本)新在线作业及期末考试复习题_第3页
武汉理工大学网络教育C语言程序设计(本)新在线作业及期末考试复习题_第4页
武汉理工大学网络教育C语言程序设计(本)新在线作业及期末考试复习题_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计(本)考试复习题及参考答案

注:找到所考试题直接看该试题所有题目和答案即可。

查找按键:Ctrl+F超越高度

一、单选(共计100分,每题2.5分)

1sizeof(double提()

A.函数调用

B.int型表达式

C.double型表达式

D.非法表达式

正确答案:【B】

2、C源程序的调试是指对源程序进行()。

A.录入与编辑

B.查错与编译

C.查错与排错

D.连接与运行

正确答案:【C】

以下程序段运行后饰出结果是()»

WchWaWrvsn-'infoOmis11*;^

qprintR,,%dM.strlen(s));*J

A.4

B.5

C.8

D.9

正确答案:【A】

4、以下程序的运行结果是()。

voidmain()

{inti,j,k=0;

for(i=3;i>=l;i--)

{for(j=i;j<=3;j++)

k+=i*j;

}

printf("%d\n",k);}

A.19

B.29

C.6

D.25

正确答案:【D】

6、答案的叙述是()。

A.一个C语言源程序可由一个或多个函数组成

B.若一条语句较长,也可分写在下一行上

C.C程序必须包含一个main。函数

D.构成C语言源程序的基本单元是算术表达式

正确答案:【D】

7、若有定义:inta=3,b=2,c=l,k;则表达式k=a>b>c的值是()。

A.0

B.1

C.2

D.3

正确答案:【A】

8、若有定义:charstrl[6]="ABCDE",*ps,*str2="FEDCBA";()是错误的。

Astrcpy(str2,strl);

R.

B,表达式strcmp(strl:str2)的值小于0

Cstrl=str2:

D表达式strien(strl)的值为5.

正确答案:【C】

10、若有定义:floatx=3.5,y=3.6;则表达式()的值为6。

A.(int)x+(int)y

B.x+y

C.(int)(x+y)

D.int(x+y)

正确答案:【A】

11、一个C语言源程序是由()

A.一个主程序和若干子程序组成

B.函数组成

C.若干过程组成

D.若干子程序组成

正确答案:【A】

12、以下叙述答案的是()

A.存放地址的变量称为指针变量

B.NULL可以赋值给任何类型的指针变量

C.一个指针变量只能指向类型相同的变量

D.两个相同类型的指针变量可以作加减运算

正确答案:【D】

13、设宏定义#definePI3.1415926,用宏名PI替换的是()

A.算术表达式

B.字符串

C.单精度实型数

D.双精度实型数

正确答案:【B】

14、若有函数定义:

intfunc()

{staticintm=0;

returnm++;}

以下程序段运行后屏幕输出为()。

inti;

for(i=l;i<=4;i++)

func();

printf(“%d”,func());

A.0

B.1

C.4

D.5

正确答案:【C】

设已定义:charstrl[20]=*HeUoM,str2[20]=,,world!M;若要形成字符串"Helloworld!”正确

15、语句是(♦

A.strq)y(strl?str2);

Dstrcat(strl.str2);

D.

C^rq)y(str2,strl);

D.strcat(str2;strl);

正确答案:【B】

16、若有定义:enumday{sun,mon,tue,wed,thu,fri,sat};,

则枚举常量sun、mon的值分别为()。

A.01

B.71

C.12

D.70

正确答案:【A】

若定义函数:,

fun(inta,floatb>

{XMMJBa+b;2

*

17则该函数的数据类型是()

A.int

B.void

C.float

D.不确定

正确答案:【A】

18>若有定义:inta=6,b=7,k=0,t=l;语句(k=a<b)&&(t=a==b);运行后,k、t的值

分别是()。

A.00

B.11

C.01

D.10

正确答案:【D】

19、设有说明intx=0,y=2;

则执行if(x=O)y=l+x;

elsey=x-l;

后,变量y的值是()

A.-1

B.0

C.1

D.2

正确答案:【C】

20、若有定义:inta=6;则语句a*=a-=a/=3;运行后,a的值是()。

A.10

B.0

C.34

D.24

正确答案:【B】

若有定义:floatx=2,y=4,h=3;下列表达式中与(x+y)*h/2.0计算结果不相符的是()。

A.(xr)*h/2

B.(x+y)*h*1.2

C(l/2)*(x+y)*h

D.h2*(x+y>

正确答案:【C】

22、对二维数组的正确定义是()

A.inta[][]={1,2,3,4,5,6);

B.inta[2][]={12,3,4,5.6}?

cinta[][3]={1,23456};

Dinta[2,3]={l,2,3,4,5,6};,

正确答案:【C】

23、TurboC中,基本数据类型存储空间长度的排列顺序是()»

A.char<int<longint=folat<double

Bchar=int<longint<float<double

C.char<nt<ongint=float=double

D.char=int=longint<float<double

正确答案:【A】

24、若定义inta=-5,b=-8,c=-12;则表达式a>=b||b<c的值为()。

A.变量i的值

B.变量j的值

C.0

D.1

正确答案:【D】

_谩int(*P)。;,p的含义是()

A.指向一维数组的指针变量

B.指向二维数组的指针变量

C.指向一个整型变量的指针变量

D.指向整型函数的指针变量

正确答案:【D】

26、在C语言中,运算符"="和"=="的功能分别是()

A.赋值运算和关系运算

B.关系运算和赋值运算

C.都是关系运算

D.都是赋值运算

正确答案:【B】

以下程序段执行后p的值是()

inta[3][3]={321,3,2/32,l};~

intj上,p=l;"

for(j=0j<2j++)p

for(k=j±<4i++),

27、P*=a[j][k卜

A.108

B.18

C.12

D.2

正确答案:【A】

下程序的运行结果是(,

Xftjdast(intx,inty,int*cp,int*即户

{*cp=x+y;*dp=x-y;}<-'

mainO4

Imta=4,b=3,c,d;。

鹿馥(a,b,&c,&d);v

2gprintf("%d,%d\nH,c,d);}*-,

A.7」

B.L7

C.7T

、未赋值,编译出错<

D.cd

正确答案:【A】

29、若已定义:inta=5,*p;且p=&a;则以下表示中不正确的是()。

A.&a==&(*p)

B.*(&p)==a

C.&(*P)==P

D.*(&a)==a

正确答案:【B】

30、以下叙述中正确的是()

A.C源程序中注释部分可以出现在程序中任意合适的地方

B.一对花括号"{}"只能作为函数体的定界符,

C.C源程序编译时注释部分的答案将被发现

D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名

正确答案:【A】

31、逗号表达式(a=15,a*4),a+15的值为()。

A.15

B.30

C.75

D.60

正确答案:【B】

32、C语言中,答案的int类型的常数是()

A.1E5

B.0

C.037

D.Oxaf

正确答案:【A】

33、以下程序段运行后,x[l]的值为()。

intX[5]={5,4,3/2/1};X[1]=X[3]+X[2+2]-X[3-1];

A.6

B.0

C.1

D.5

正确答案:【B】

34、若有定义:double*q,p;则能给输入项读入数据的正确程用段是()。

Aq=&p:scanf("%lf'.*q):

B.q=&p:scanf(M%lf',q)?

,,,

_*q=&p:scanf(%lf3q):

D.*q=&p:scanf("%lf'!*q):

正确答案:【B】

36、()为正确的变量名。

A.-kl5

B.int

C.k_5

D.k.jeep

正确答案:【c】

37、构成C源程序的基本单位是()

A.语句

B.变量

C.运算符

D.函数

正确答案:【D】

38、下列程序段中,非死循环的是()。

A.inti=100;while(l){i=i%100+l;if(i>=100)break;}

B.intk=0;do{++k;}while(k>=0);

C.ints=10;while(++s%2+s%2)s++;

D.for(;;)

正确答案:【A】

39、以下程序段的运行结果是()。

inta=l;printf("%d,%d,%d\n",a,++a,a++);

A.3,3,1

B.lf2,2

C.1,2,3

D.3,2,1

正确答案:【A】

40、下面函数调用语句含有实参的个数为()。

temp((a,b,c),(x,y))

A.2

B.3

C.4

D.5、

正确答案:【A】

一、单选(共计100分,每题2.5分)

1、若已定义inta=3,b=3,x=l,y=2;表达式(a=y>x)&&(x=b>a)的值是()。

A.6

B.1

C.9

D.0

正确答案:【D】

设有如下定义:typedefint*INTEGER;INTEGERpJq;下列叙述正确的是(

A.程序中可用INTEGER代替int类型名

B,不能用INTEGER来定义变蚩

Cp是瓜型变蚩,q是基类型为int的指针变量

D.P是基类型为int的指针变量

正确答案:【D】

3、下面函数调用语句含有实参的个数为()。

temp((a,b,c),(x,y))

A.2

B.3

C.4

D.5

正确答案:【A】

5、以下程序的输出结果为()。

#include<stdio.h>

voidmain()

{enumWeekday{sun=7,mon=l,tue,wed,thu,frizsat};

enumWeekdayday=wed;

printf("%d\n“,day);

)

A.2

B.3

C.4

D.5

正确答案:【B】

6、若有下面定义,能打印出字母L的语句是()。

structclass

{charname[8];

intage;

);

H,,,,,,

structclasss[12]={"Zheng",16z"Lin/18,Yang/19,Guo",20};

A.printf("%c\nn,s[l].name[O]);

B.printf("%c\n,s[2].name[0]);

C.printf("%c\n”,s[l].name);

D.printf("%c\n",s⑵.name);

正确答案:【A】

7、C语言函数体由()括起来。

A.<>

B.()

C.}

D.[1

正确答案:【C】

以下程序的功能是()。-

#include<stdio.h>^

联破期Q4

{皿忠*印一

如骋intn;♦

fj£fopen("wj.txt",*'rb");J

酷旗(母,O,SEEK_E、D);n=fteU(fp);

©9黑(fp);"

9、prmM"%ld",n);)^

A.计算文件wj.txt的起始地址

B.计算文件wj.txt的终止地址

C.计算文件wj.txt的长度

D.将文件指针定位到文件末尾

正确答案:【C】

10、以下叙述答案的是()

A.存放地址的变量称为指针变量

B.NULL可以赋值给任何类型的指针变量

C.一个指针变量只能指向类型相同的变量

D.两个相同类型的指针变量可以作加减运算

正确答案:【D】

11、下列程序段中,非死循环的是()。

A.inti=100;while(l){i=i%100+l;if(i>=100)break;}

B.intk=0;do{++k;}while(k>=0);

C.ints=10;while(++s%2+s%2)s++;

D.for(;;)

正确答案:【A】

12>若已定义:intx=7;floaty=7.0;以下语句中能输出正确值的是()。

A.printf("%d%d",x,y);

B.printf("%d%.3f",x,y);

C.printf("%.3f%.3f"zx,y);

D.printf("%,3f%d",x,y);

正确答案:【B】

13'以下程序中的循环执行了()次。

//defineN2

#defineMN+l

#defineNUM(M+l)*M/2

main()

{inti,n=O;

for(i=O;i<NUM;i++)n++;printf("%d\n",n);

}

A.5

B.6

C.8

D.9

正确答案:【C】

14、若已定义inta;不会产生死循环的语句是()。

A.for(;;a+=2);

B.for(a=10;;a-);

C.for(;(a=getchar())!='\n';);

D.while(-l){a++;}

正确答案:【C】

16、若有定义:int*p,k=4;p=&k;以下均代表地址的是()

A.kzp

B.&k,&p

C.&k,p

D.k,*p

正确答案:【c】

"、以下程序的运行结果是()。

voidmain()

{inti,j,k=0;

for(i=3;i>=l;i--)

{for(j=i;j<=3;j++)

k+=i*j;

}

printf("%d\n",k);}

A.19

B.29

C.6

D.25

正确答案:【D】

18、以下叙述中正确的是()。

A,字符常量用一对单撇号『作为单个字符的定界符,

B字符常蚩和字符串常量一样,都是用双引号括起来,

C,字符常量存储时,自动在字符后加一个字符结束符号^

D,字符常量和字符串常量所分配的内存空间大小是一样的

正确答案:【A】

19、()为正确的变量名。

A.-kl5

B.int

C.k_5

D.k.jeep

正确答案:【c】

21、数组元素下标的数据类型为()。

A.整型常量、字符型常量或整型表达式

B.字符串常量

C.实型常量或实型表达式

D.任何类型的表达式

正确答案:【A】

22、若有定义消define、3+2,则表达式、*2的值为(

A.5

B.7

C.10

D.0

正确答案:【B】

24、表达式2+sqrt(16.0)/4结果的数据类型是()。

A.double

B.int

C.char

D.void

正确答案:【A】

25、C语言中,若缺省定义函数返回值类型,则该函数默认返回值类型是()。

A.void

B.long

C.int

D.double

正确答案:【c】

26、在C语言中,合法的字符常量是()

A.字

B."A".

C."ABC".

正确答案:【D】

27、C语言中,答案的int类型的常数是()

A.1E5

B.0

C.037

D.Oxaf

正确答案:【A】

28、下面关于C语言变量的叙述中,答案的是()。

A.可以用define关键字定义变量

B.变量名用大小写字母是有区别的

C.C语言允许不同基本类型的变量之间进行混合运算

D.C语言中要求对变量作强制定义的主要理由是:便于确定类型和分配空间

正确答案:【A】

ja设longi=65539;执行语句printf(H%d”,i);后6果是()

A.-3

B.3

C.65539

D.数据不确定

正确答案:【口

30、()为合法的常量。

A52686L

rA.

B.E-7

c1.2E-2.1

D.'El》

正确答案:【A】

31、设有intp,q;以下不正确的语句是()

A.p*=3;

B.p/=q;

C.p+=3

D.p&&=q

正确答案:【D】

2而+土北

„对于数学表达式3sinx,正确的C语言表达式是()

A2sqrt(x)Ha-b)3sin(x)

2sqrt(x)+(a-b)/(3sm(x))

RD.

Q2*sqrt(x)+(a*b)3sin(x)

D.2*sqrt(x)+(a-b3*sm(x))<

正确答案:【C】

33、若有定义:double*q,p;则能给愉入项读入数据的正确程序段是()。

Aq=&p:scanf(n%lf'.*q):

B.q=&p;scanf("%f,q);<

.*q=&p:scanf(M%lf,.q);

D.*q=&p:scanf("%lf'I*q);

正确答案:【B】

34、以下程序段的运行结果是()。

inta=l;printf("%d,%d,%d\n",a,++a,a++);

A.3,3,1

B.1,2,2

C.1,2,3

D.3,2,1

正确答案:【A】

35、设已定义chars[]="\"Name\\Address\023\n";,则字符串所占的字节数是()。

A.19

B.16

C.18

D.14

正确答案:【B】

36、以下程序段运行后,x[l]的值为()。

intX[5]={5Z4,3,2,1};X[1]=X[3]+X[2+2]-X[3-1];

A.6

B.0

C.1

D.5

正确答案:【B】

37、下列中答案叙述的是()。

A.C语言中的文件是一个字节流或二进制流

B.可以以只读方式、只写方式或读写方式打开一个文本文件

C.在程序中对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第

1个数据

D.当对文件的写操作完成之后,必须将它关闭,否则可能导致数据丢失

正确答案:【C】

38、若有定义:inta=6,b=7,k=0,t=l;语句(k=a<b)&&(t=a==b);运行后,k、t的值

分别是()。

A.00

B.11

C.01

D.10

正确答案:【D】

40、若有定义:inta=6;则语句a*=a-=a/=3;运行后,a的值是()。

A.10

B.0

C.34

D.24

正确答案:【B】

第2套

一、单选(共计100分,每题2.5分)

1若有定义:enumnum(al,a2=3,a3,a4=10);,则枚举常量a2、a3的值分别为()«

A.12

B.23

C.33

D.34

正确答案:【D】

2、若有以下定义:

structnode

{intdata;

structnode*next;

指针p、t和q分别指向图中所示结点:

Ptq

Idata|next-|--►|data|next~||data|next-|--*\・・1----------1----------11---------

J_______II_______I_______I

现耍将t和q所指结点的先后位置交换,同时要保持链表的连续,以下答案的程

序段是()

A.t->next=q->next;p->next=q;q->next=t;

B.p->next=q;t->next=q->next;q->next=t;

C.q->next=t;t->next=q->next;p->next=q;

D.t->next=q->next;q->next=t;p->next=q;

正确答案:【c】

26+0

3对于数学表达式3sinx,正确的c语言表达式是()

A2sqrt(x)Ya-b)3sin(x)

2sqrt(x)+<a-b)(3sin(x))

DR.

Q2*sqrt(x)*(a*b)3sin(x)

D.2*sqrt(x以a-b3*sin(x)),

正确答案:【C】

4、C源程序的调试是指对源程序进行()。

A.录入与编辑

B.查错与编译

C.查错与排错

D.连接与运行

正确答案:【C】

5、()能正确定义一个指向函数的指针。

A.int*p()

B.int(*p)()

C.(int*)p()

D.int(*p())

正确答案:【B】

6、若已定义inta=3,b=3,x=l,y=2;表达式(a=y>x)&&(x=b>a)的值是()。

A.6

B.1

C.9

D.0

正确答案:【D】

7、()是关于C语言数据类型的正确叙述。

A.变量必须先定义后使用

B.不允许使用空类型

C.枚举类型不是基本类型

D.数组并不是构造类型

正确答案:【A】

8、以下程序的运行结果是()。

intfun(inta[4][4])

{inti;

for(i=0;i<4;i++)

printf(”%2d”,a[i]⑵);

printf("\n");}

main()

{inta[4][4]={l/l/2/2,l,9,0A2/4/0/0/0/5,9,8};

fun(a);}

A.1905

B.2000

C.2008

D.2009

正确答案:【D】

9、C语言中,若缺省定义函数返回值类型,则该函数默认返回值类型是()。

A.void

B.long

C.int

D.double

正确答案:【c】

10、下列程序段中,非死循环的是()。

A.inti=100;while(l){i=i%100+l;if(i>=100)break;}

B.intk=0;do{++k;}while(k>=0);

C.ints=10;while(++s%2+s%2)s++;

D.for(;;)

正确答案:【A】

11、测试文件是否结束函数的函数名是()

A.feof

B.EOF

C.eof

D.FEOF

正确答案:【A】

12、设宏定义#definePI3.1415926,用宏名PI替换的是()

A.算术表达式

B.字符串

C.单精度实型数

D.双精度实型数

正确答案:【B】

14、以下叙述中正确的是()

A.C源程序中注释部分可以出现在程序中任意合适的地方

B.一对花括号"{}"只能作为函数体的定界符,

C.C源程序编译时注释部分的答案将被发现

D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名

正确答案:【A】

15>若有定义:inta,b;floatx,则以下不符合C语言语法的表达式是()。

A.x%7

B.x/=a-b

C.a=b=2

D.x=(float)a/b

正确答案:【A】

16、以下程序段运行后s的值是()。

inta[3][3]={l,2,3,4,5,l,2,3,4};

intij,s=l;

for(i=0;i<3;i++)

for(j=i+l;j<3;j++)

s+=a[i][j];

A.6

B.120

C.7

D.240

正确答案:【c】

17、若有定义:double*q,p;则能给愉入项读入数据的正确程序段是(

Aq=&p:scanf("%lf\"q):

B.q=&p;scanf("%lf',q);<

c»q=&p:scanf("%lf'.3q):

p***@WWWsAA、•

D.*q=&p:scanf("%lf'!*q):

正确答案:【B】

18、设chara='\70';则变量a中()

A.包含1个字符

B.包含2个字符

C.包含3个字符

D.是非法表示

正确答案:【C】

下面程序的输出结果是()

main(户

W

intx=5,y;^

if(x>0X,

y=2

y=o;^

if(x<0X,

y=-i;y

printf("%d”,y);d

19、卜

A.-l

B.1

C.O

D.5

正确答案:【c】

21、以下程序运行后,文件test.txt的内容是()。

#include<stdio.h>

main()

{FILE*fp;

charstr[][10]={"first","second"};

fp=fopen("test.txt","w");

if(fp!=NULL)fprintf(fp,"%s",str[O]);

fclose(fp);

fp=fopen("test.txt","w");

if(fp!=NULL)fprintf(fp,"%s",str[l]);

fclose(fp);

)

A.first

B.second

C.firstsecond

D.secondfirst

正确答案:【B】

22、TurboC中,基本数据类型存储空间长度的排列顺序是()»

A.char<int<longint=folat<double

Bchar=int<longint<float<double

C.char<nt<longint=float=double

D.char=int=longint<float<double

正确答案:【A】

23>设有说明intx=0,y=2;

则执行if(x=0)y=l+x;

elsey=x-l;

后,变量y的值是()

A.-1

B.0

C.1

D.2

正确答案:【C】

24、x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为()。

A.-20<x<-5

B.x>-20&&x<-5

C.!(x>-20)&&!(x<-5)

D.-5<x<-20

正确答案:【B】

25、下面程序的运行结果是()。

Winclude<stdio.h>

main()

{FILE*fp;

inta=2,b=4,c=6,k/n;

fp=fopen("test.dat"z"w");

fprintf(fp,"%d\n“,a);

fprintf(fp,"%d%d\n"zb,c);

fclose(fp);

fp=fopen(ntest.dat";,rH);

,,

fscanf(fpj'%d%*d%d/&k/&n);

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

fclose(fp);

}

A.24

B.26

C.42

D.62

正确答案:【B】

26、以下程序的运行结果是()。

voidmain()

{ints=0,i=0;

while(i<8)

{i++;

if(i%2==0)continue;

s+=i;

printf("%d\n,s);}

A.36

B.7

C.16

D.12

正确答案:【c】

27、构成C源程序的基本单位是()

A.语句

B.变量

C.运算符

D,函数

正确答案:【D】

28、设intx=10,a=0,b=25;,条件表达式x<l?a+10:b的值是()

A.0

B.1

C.10

D.25

正确答案:【D】

29>若有定义:inta=6,b=7,k=0,t=l;语句(k=a<b)&&(t=a==b);运行后,k、t的值

分别是()。

A.00

B.11

C.O1

D.10

正确答案:【D】

设“

structst。

{int

floatb;。

}s,*p=&s;4J

„则正确的引用是()

oU、

A(*)s.a

R(*P)&

CP-K.a

p.s.a

D.

正确答案:【B】

31、若在fopen函数中使用文件的方式是"a+”,该方式的含义是()。

A.以读/写方式打开一个文本文件

B.以输出方式打开一个文本文件

C.以读/写方式建立一个新的文本文件

D.以读/写方式建立一个新的二进制文件

正确答案:【A】

33、若有函数定义:

intfunc()

{staticintm=0;

returnm++;}

以下程序段运行后屏幕输出为()。

inti;

for(i=l;i<=4;i++)

func();

printf(“%d,func());

A.0

B.1

C.4

D.5

正确答案:【C】

35、以下程序运行后,a的值是()。

main()

{inta,b;

for(a=l,b=l;a<=100;a++)

{if(b>=20)break;

if(b%3==l){b+=3;continue;}

b-=5;

}

}

A.101

B.100

C.8

D.7

正确答案:【c】

.设inti=10:,表达式30-i<=i<=9的值是()

3cb、

A.0

B.1

C.9

D.20

正确答案:【A】

38、若有定义:

structstudent

{intnum;

charname[8];

charsex;

floatscore;}stul;

则变量stul所占用的内存字节数是()。

A.15

B.16

C.8

D.19

正确答案:【A】

39、对下面程序描述正确的是()。

#include<stdio.h>

#include<stdlib.h>

voidmain()

{FILE*in/out;

if((in=fopen("filel.txt,7,a+"))==NULL)

{printf("cannotopenfilel\n");

exit(O);)

,,,,,,

if((out=fopen(file2.txt/a+"))==NULL)

{printf(Mcannotopenfile2\n");

exit(O);}

while(!feof(out))

fputc(fgetc(out),in);

fclose(in);

fclose(out);}

A.程序实现在屏幕上显示磁盘文件filel.txt的内容

B.程序实现将磁盘文件file2.txt复制到磁盘文件filel.txt

C.程序实现将两个磁盘文件filel.txt和file2.txt的内容合二为一

D.程序实现在屏幕上显示磁盘文件file2.txt的内容

正确答案:【c】

以下程序段运行后检出结果是()o

charsQ-'info'Ornis";^

M

40、pnntf(%d'':strlen(s))^

A.4

B.5

C.8

D.9

正确答案:【A】

第二套

一、单选(共计100分,每题2.5分)

1、若有定义:int*p,k=4;p=&k;以下均代表地址的是()。

A.k,p

B.&k,&p

C.&k,p

D.k,*p

正确答案:【c】

以下程序段运行后饰出结果是()»

chars[]-'info0mis,,;<J

7printffM%d".strlenCs));^

A.4

B.5

C.8

D.9

正确答案:【A】

3、若有定义:

structstudent

{intnum;

charname[8];

charsex;

floatscore;}stul;

则变量stul所占用的内存字节数是(

A.15

B.16

C.8

D.19

正确答案:【A】

5、下面叙述中,答案的是()。

A.C语言中的表达式求值,是按其运算符的优先级先高后低的次序进行

B.自增与自减运算符的结合方向为“自右至左”

C.关系运算符的优先级低于算术运算符

D.C语言算术运算符不包含模运算符“%”

正确答案:【D】

6、设已定义:inta[][4]={0,0,0};则下列描述正确的是(

A.7

B.8

C.9

D.80

正确答案:【C】

8、若有以下类型说明,则叙述答案的是()。

typedefunion{charname[10];intage;}ustu,*umy;

A.umy是指向共用体类型ustu的指针类型名

B.ustu是一个共用体类型名

C.umy是一个共用体类型名

D.age是共用体类型ustu的成员

正确答案:【C】

10、下面关于C语言变量的叙述中,答案的是()。

A.可以用define关键字定义变量

B.变量名用大小写字母是有区别的

c.c语言允许不同基本类型的变量之间进行混合运算

D.C语言中要求对变量作强制定义的主要理由是:便于确定类型和分配空间

正确答案:【A】

口、若有定义:double*q,p;则能给谕入项读入数据的正确程序段是()»

Aq=&p:scanf(n%lf'.*q):

B.q=&p;scanf("%f,q);<

〃*q=&p:scanf(,'%lf'.q):

D.*q=&p:scanf("%lf'J«q):

正确答案:【B】

12、若在fopen函数中使用文件的方式是"a+",该方式的含义是()。

A.以读/写方式打开一个文本文件

B.以输出方式打开一个文本文件

C.以读/写方式建立一个新的文本文件

D.以读/写方式建立一个新的二进制文件

正确答案:【A】

13、若有定义:inta=3,b=2,c=l,k;则表达式k=a>b>c的值是()。

A.0

B.1

C.2

D.3

正确答案:【A】

14、

若有定义:charstrl[6]=,\4BCDE',,*ps,*str2=,'FEDCBA";()是错误的。

Astrcpy(str2:strl);

rA.

B,表达式strcmpGtrLstrZ)的值小于0

strl=str2;

C.

D.表达式strlen(strl)的值为5«

正确答案:【C】

15、字符数组s不能作为字符串使用的是()

A,chars口="happy"

Bchars[]={"happy"};,

,f

cchars[6]={h'Ja/p'Jp'y'};<

f

Dchars[4]={h'a'p'p'y'

正确答案:【A】

16、以下程序段运行后,x[l]的值为()。

intX[5]={5,4,3,2,1};X[1]=X[3]+X[2+2]-X[3-1];

A.6

B.0

C.1

D.5

正确答案:【B】

17、答案的叙述是()。

A.一个C语言源程序可由一个或多个函数组成

B.若一条语句较长,也可分写在下一行上

C.C程序必须包含一个main。函数

D.构成C语言源程序的基本单元是算术表达式

正确答案:【D】

18、设有intp,q;以下不正确的语句是()

A.p*=3;

B.p/=q;

C.p+=3

D.p&&=q

正确答案:【D】

20、若有定义:inta,b;floatx,则以下不符合C语言语法的表达式是()。

A.x%7

B.x/=a-b

C.a=b=2

D.x=(float)a/b

正确答案:【A】

21、若有函数定义:

intfunc()

{staticintm=0;

returnm++;}

以下程序段运行后屏幕输出为()。

inti;

for(i=l;i<=4;i++)

func();

printf(“%d”,func());

A.0

B.1

C.4

D.5

正确答案:【c】

23、下面程序的运行结果是()。

Winclude<stdio.h>

main()

{FILE*fp;

inta=2,b=4,c=6;k,n;

fp=fopen("test.dat","w");

fprintf(fp,"%d\n",a);

fprintf(fp,"%d%d\n",b,c);

fclose(fp);

fp=fopen("test.dat"/"r");

,

fscanf(fp,"%d%*d%d'/&k,&n);

printf("%d%d\n"/k/n);

fclose(fp);

)

A.24

B.26

C.42

D.62

正确答案:【B】

24设inti=10;,表达式30-i<=t<=9的值是()

A.0

B.1

C.9

D.20

正确答案:【A】

25、()能正确定义一个指向函数的指针。

A.int*p()

B.int(*p)()

C.(int*)p()

D.int(*p())

正确答案:【B】

2而+土@

“对于数学表达式3sinx,正确的C语言表达式是(

Zb、

A2sqit(x)Ha-b)3sin(x)

„2sqrt(x让(a-b)/(3sin(x))

D.

Q2*sqrt(x)-H(a*b)3sin(x)

D.2*sqrt(x)+(a-b3*sin(x)).

正确答案:【C】

)o

27、TurboC中,基本数据类型存储空间长度的排列顺序是(

A.char<int<longint=folat<double

B.char=int<ongint<float<double

C.char<int<ongint=float=double

Dchar=int=longint<float<double

正确答案:【A】

以下程序的功能是()。,

#include<stdio.h>^'

longintn;,

除fopen("wj.txt","rb");p

蒯旗(fjp,O,SEEK_E、D);n=fteU(fp);

fclose(fp):P

28、p项顺“

A.计算文件wj.txt的起始地址

B.计算文件wj.txt的终止地址

C.计算文件wj.txt的长度

D.将文件指针定位到文件末尾

正确答案:【C】

29、构成C源程序的基本单位是()

A.语句

B.变量

C.运算符

D.函数

正确答案:【D】

30、数组元素下标的数据类型为()。

A.整型常量、字符型常量或整型表达式

B.字符串常量

C.实型常量或实型表达式

D.任何类型的表达式

正确答案:【A】

31、若有定义:inta;则表达式(B)不能用来判断a值为奇数是“真”,偶数是

“假”。

A.a%2==l

B.!(a%2)

C.a%2

D.!(a%2==0)

正确答案:【B】

30、只能向终端输出一个字符的是()。

A.printf()函数

B.scanf()函数

C.getchar。函数

D.putchar。函数

正确答案:【C】

设函数定义如下:,

OoAtfl(floata,floatb)。

rgtUO(a+b);p

32、若有£1(^.1.1.、=22:.则以下语句中正确的函静调用是()

A欣旗(“P】fl(x)X

RrintfC%rfK&x.y));.

D.

Cprintf(--%r,fl(*xs»y));

,

DprintfC%f1fl(x,y));4

正确答案:【D】

33、x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为()。

A.-20<x<-5

B.x>-20&&x<-5

C.!(x>-20)&&!(x<-5)

D.-5<x<-20

正确答案:【B】

34、()为正确的用户标识符。

正确答案:【D】

35、下面程序的输出结果是()。

#include<stdio.h>

intnum=10;

func()

{intnum=4;

return++num;}

voidmain()

{printf("%d\n",func());}

A.4

B.5

C.10

D.11

正确答案:【B】

37、以下叙述中正确的是()

A.C源程序中注释部分可以出现在程序中任意合适的地方

B.一对花括号"{}"只能作为函数体的定界符,

C.C源程序编译时注释部分的答案将被发现

D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名

正确答案:【A】

38>若有定义:enumday{sun,mon,tue,wed,thu,fri,sat};,

则枚举常量sun、mon的值分别为()。

A.01

B.71

C.12

D.70

正确答案:【A】

39>若已定义:inta=5,*p;且p=&a;则以下表示中不正确的是()。

A.&a==&(*p)

B.*(&p)==a

C.&(*P)==P

D.*(&a)==a

正确答案:【B】

40、在C语言中,运算符"="和"=="的功能分别是()

A.赋值运算和关系运算

B.关系运算和赋值运算

C.都是关系运算

D.都是赋值运算

正确答案:【B】

第四套

一、单选(共计100分,每题2.5分)

1、若有定义:floatx=3.5,y=3.6;则表达式()的值为6。

A.(int)x+(int)y

B.x+y

C.(int)(x+y)

D.int(x+y)

正确答案:【A】

2、设enumcolor{red,yellow=2,blue,white,black}r=white;,执行printf(M%d"j);后

的输出结果是()

A.0

B.1

C.3

D.4

正确答案:【D】

3、已有如下定义和输入语句,charcl,c2;intx;scanf("%c%d%c",&cl,&x,&c2);若要

求x、cl、c2的值分别为9、K和,印,正确的数据输入是()。

A.K9H

B.K9H

C.K9H

D.9KH

正确答案:【A】

4、若有定义:inta⑶⑷;则表达式&a[2][l]-a的值为()。

A.7

B.8

C.9

D.10

正确答案:【C】

5、一个C语言源程序是由()

A.一个主程序和若干子程序组成

B.函数组成

C.若干过程组成

D.若干子程序组成

正确答案:【A】

6、若已定义intx=-16,y=-12,z;语句z=x<=y;运行后z的值为()。

A.t

B.1

C.f

D.0

正确答案:【B】

7、下面叙述中,答案的是()。

A.C语言中的表达式求值,是按其运算符的优先级先高后低的次序进行

B.自增与自减运算符的结合方向为“自右至左”

C.关系运算符的优先级低于算术运算符

D.C语言算术运算符不包含模运算符“%”

正确答案:【D】

8、下面程序的运行结果是()。

#include<stdio.h>

main()

{FILE*fp;

inta=2;b=4,c=6,k,n;

fp=fopen("test.dat","w");

fprintf(fp,"%d\n",a);

fprintf(fp,"%d%d\n",b,c);

fclose(fp);

fp=fopen("test.dat","r");

fscanf(fpz"%d%*d%d",&kz&n);

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

fclose(fp);

)

A.24

B.26

C.42

D.62

正确答案:【B】

设inti=10;,表达式30-i<=i<=9的值是()

y、

A.0

B.1

C.9

D.20

正确答案:【A】

11、以下程序运行后,文件test.txt的内容是()。

Winclude<stdio.h>

main()

{FILE*fp;

,,

charstr[][10]={first","second"};

fp=fopen("test.txt","w");

if(fp!=NULL)fprintf(fp,”%s”,str[O]);

fclose(fp);

1

fp=fopen("test.txt"/"w');

if(fp!=NULL)fprintf(fpz"%s",str[l]);

fclose(fp);

)

A.first

B.second

C.firstsecond

D.secondfirst

正确答案:【B】

12、下面答案的叙述是()。

A.预处理命令行必须位于C源程序的起始位置

B.在C语言中,预处理命令行都以"#"开头,

C.C程序在开头可以不包含预处理命令行:^include<stdio.h>

D.C语言的预处理可以实现宏定义和条件编译的功能

正确答案:【A】

以下程序段执行后p的值是()

inta[3][3]={3,2」,3,2,132,1};,

for(j=Oj<2j++>

for(k=ji<4±++)P

13、P*=a[j][k]^

A.108

B.18

C.12

D.2

正确答案:【A】

14、以下程序的运行结果是()。

voidmain()

{inti,j,k=0;

for(i=3;i>=l;i--)

{for(j=i;j<=3;j++)

k+=i*j;

}

printf("%d\n",k);}

A.19

B.29

C.6

D.25

正确答案:【D】

-L5、

A.指向一维数组的指针变量

B.指向二维数组的指针变量

C.指向一个整型变量的指针变量

D.指向整型函数的指针变量

正确答案:【D】

16、以下叙述中正确的是()

A.C源程序中注释部分可以出现在程序中任意合适的地方

B.一对花括号"{}"只能作为函数体的定界符<

C.C源程序编译时注释部分的答案将被发现

D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名

正确答案:【A】

设函数定义如下:〃

典射fl(floata,floatbR1

w

二亲娘联外(a+b);。

h

17、若有floatx=LLv=22.则以下语句中正确的函数调用是()

A咫坦或(“仪f】(x)X

RrintfC^r:fl(&y))

D.Xj?

Cprintf(“广,1(5巧));

Dprintf("%「',fl(x,y));«

正确答案:【D】

18、以下叙述中正确的是()。

A.字符常量用一对单撇号八作为单个字符的定界符,

B字符常蚩和字符串常量一样,都是用双引号括起来,

C.字符常蚩存储时,自动在字符后加一个字符结束符号

D,字符常蚩和字符串常量所分配的内存空间大小是一样的

正确答案:【A】

19、设已定义:intaH4]={0,0,0};则下列描述正确的是(

A.7

B.8

C.9

D.80

正确答案:【C】

20、若有语句inta;charc;scanf("%3d%c",&a,&c);为将整数135赋给a,

字符6赋给c,正确的数据输入方式是()。(说明:<CR>代表换行,—代表

空格)

A.1356<CR>

B.1356<CR>

C.135<CR>6<CR>

D.135_6_

正确答案:【B】

21>若已定义inta=3,b=3,x=l,y=2;表达式(a=y>x)&&(x=b>a)的值是()。

A.6

B.1

C.9

D.0

正确答案:【D】

22、设有intp,q;以下不正确的语句是()

A.p*=3;

B.p/=q;

C.p+=3

D.p&&二q

正确答案:【D】

23>若有定义:unionu_type{intx;floaty[3];charz;}a;

则变量a的长度是()。

A.1

B.4

C.12

D.15

正确答案:【口

25、答案的叙述是()。

A.一个C语言源程序可由一个或多个函数组成

B.若一条语句较长,也可分写在下一行上

C.C程序必须包含一个main()函数

D.构成C语言源程序的基本单元是算术表达式

正确答案:【D】

27、若有以下定义:

structnode

{intdata;

structnode*next;

指针p、t和q分别指向图中所示结点:

Ptq

Idata|next-1--,,|data|next-1--*|data|next-|--*...

现要将t和q所指结点的先后位置交换,同时要保持链表的连续,以下答案的程

序段是()

A.t->next=q->next;p->next=q;q->next=t;

B.p->next=q;t->next=q->next;q->next=t;

C.q->next=t;t->next=q->next;p->next=q;

D.t->next=q->next;q->next=t;p->next=q;

正确答案:【c】

28、对下面程序描述正确的是()。

#include<stdio.h>

Sinclude<stdlib.h>

voidmain()

{FILE*in,*out;

if((in=fopen("filel.txt","a+"))==NULL)

{printf("cannotopenfilel\n");

exit(O);}

if((out=fopen("file2.txt";"a+"))==NULL)

{printf("cannotopenfile2\n");

exit(O);)

while(!feof(out))

fputc(fgetc(out),in);

fclose(in);

fclose(out);}

A.程序实现在屏幕上显示磁盘文件filel.txt的内容

B.程序实现将磁盘文件file2.txt复制到磁盘文件filel.txt

C.程序实现将两个磁盘文件filel.txt和file2.txt的内容合二为一

D.程序实现在屏幕上显示磁盘文件file2.txt的内容

正确答案:【C】

2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论