高级语言程序设计期末考试客观题及答案_第1页
高级语言程序设计期末考试客观题及答案_第2页
高级语言程序设计期末考试客观题及答案_第3页
高级语言程序设计期末考试客观题及答案_第4页
高级语言程序设计期末考试客观题及答案_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

一、单选题及答案

1、以下选项中,能用作C语言用户自定义标识符的是

A.Auto

B.static

C.register

D.bool

正确答案:A

2、阅读以下程序

#include<stdio.h>

intmain()

(

inta=2,b;

floatc=a+2.0F,d=b+3F;

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

return0;

)

该程序存在的错误,如下说法正确的是:

A.声明语句floatd=b+3F存在错误,3F为非法常量

B.声明语句inta=2,b出错,变量b未赋初值

C.printf("%f%f\n",c,d)应该改为printf("%d%d\n",c,d)

D.声明语句floatd=b+3F存在错误,变量b未赋初值

正确答案:D

3、若a为int类型变量,初始值为0,则表达式

(int)(a=13,(double)a/3-l,++a)%3的值是

A.存在语法错误

B.1

C.2

D.0

正确答案:C

4、若a为int类型变量,初始值为0,则表达式a=(char)(255/2+l)的

值是

A.0

B.-128

C.128

D.127

正确答案:B

5、以下程序片段

inta=l,b=2,d=25;

{

inta=0;

a=d/10||9;

)

b=a||(a>b);

printf("%d,%d\n",a,b);

程序运行后的输出结果是

A.1,1

B.1,0

C.2,1

D.存在语法错误

正确答案:A

6、有以下程序片段,

inta,b,c=2;

if(a=l,b=2,a+=2){

intc=l;

b=c>2?5:c++;

)

printf("%d,%d",b,c);

程序运行后的输出结果是

A.1,2

B.2,2

C.2,3

D.存在语法错误

正确答案:A

7、有以下程序片段,

inta=O,b=l;

while(b)a+=b-;

程序运行后变量a的值是

A.1

B.0

C.死循环,无法计算结果

D.3

正确答案:A

8、已知C的ASCII码值为48,有以下程序片段

chara='l',b='3,,c=,0';

if(a=b)

c=a++;

else

c=b;

printf("%d",c);

程序的运行结果是

A.3

B.2

C.51

D.50

正确答案:C

9、下面循环语句执行后sum的值?

charc='O';

intsum=O;

do{

sum+=c-'O';

C++;

}while(c<'5');

A.死循环

B.20

C.15

D.10

正确答案:D

10、设a,s为int型变量,则下面循环语句执行后s的值?

a=12345;

while(a)

(

s=s+a%10;

a/=10;

}

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

A.15

B.20

C.死循环

D.10

正确答案:A

11、有以下程序片段,

chars[]="1230456";

inti=0;

while(s[i]!='0'){

i++;

)

s[i]=0;

puts(s);

程序运行后的输出结果是

A.1230

B.死循环

C.1230456

D.123

正确答案:D

12、执行下面的程序段后,输出结果为多少

chara[]="NEU",b[10]="NEU";

printf("%d,%d\n",sizeof(a),sizeof(b));

A.3,3

B.3,10

C.4,10

D.4,4

正确答案:C

13、有以下函数

intswap(inta,intb)

(

intt;

t=a,a=b,b=t;

returnt;

)

执行如下代码片段后

inta=100,b=200;

b=swap(a,b);

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

程序运行后的输出结果是

A.存在语法错误

B.200

C.100

D.O

正确答案:C

14、有以下函数

intadd(intp)

{

intd=l;

d+=p;

returnd;

)

执行如下代码片段后

inta=l;

add(add(++a));

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

程序运行后的输出结果是

A.3

B.l

C.2

D.4

正确答案:C

15、如下程序段

enumdirection{left,right,up,down};

enumdirectiona=left;

printf("%d",a);

输出结果为

A.存在语法错误

B.left

C.O

D.l

正确答案:C

16、有以下函数

intfun(chart[])

{

inti=0,s=0;

while(t[i]){

s=s+t[i]-'O';

i++;

)

returns;

)

执行如下代码片段后

chars[]="12345";

printf("%d",fun(s));

程序运行后的输出结果是

A.20

B.10

C.6

D.15

正确答案:D

17、有如下函数

intfun(intn)

{

inti=2;

while(i<n){

if(n%i==O)

returnn;

i++;

)

return0;

}

执行如下程序片段

inta[3][4]={1,2,3A5,6,7Z8,9);

ints=0,i=0;

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

s=s+fun(a[l][i]);

printf("%d",s);

程序运行后的输出结果是

A.5

B.12

C.7

D.6

正确答案:D

18、有以下函数

voidfun(int*p,int*q)

{

int*t;

t=P;

p=q;

q=t;

)

执行以下程序片段

{

intA[5]={1,2,3,4,5};

inti;

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

fun(A[i],A[i+l]);

)

printf("%d",A[4]);

return0;

)

程序运行后的输出结果是

A.5

B.4

C.3

D.l

正确答案:A

19、有如下函数

voidfun(chars[],char*t)

{

inti=0;

while(s[i]!='\0'){

if(s[i]>='0,&&s[i]<='9,){

*t=s[i];

t++;

)

i++;

)

*t=0;

}

执行以下程序片段

chartext[]="abcl23",t[64]="";

fun(text,t);

puts(t);

程序运行后的输出结果是

A.程序运行出错

B.abcl23

C.abc

D.123

正确答案:D

20、有以下函数

intfun(char*s)

{

char*p=s;

while(*s++);

returns-p;

)

执行以下程序片段

chars[]="x\0123yz";

printf("%d%d",fun(s),sizeof(s));

程序运行后的输出结果是

A.65

B.74

C.66

D.56

正确答案:C

21、若函数fun定义如下

intfun(chara[],charb[])

{

inti=O,j=O;

while(a[i]=b[i])i++;

)

如下程序代码执行结果为

chars[10][100]={"English","math"/'physical","Chinese");

inti=0;

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

if(s[i][O]>s[i+l][O])

fun(s[5],s[i]);

fun(s[i],s[i+l]);

fun(s[i+l]zs[5]);

)

)

printf("%s",s[3]);

程序运行后的输出结果是

A.math

B.physical

C.English

D.Chinese

正确答案:B

22、若函数fun定义如下

intfun(chara[],charb[])

(

inti=O,j=O;

while(a[i]=b[i])i++;

}

如下程序代码执行结果为

char*text="ThisisaCprogrammingcourse";

char*p=fun(text,'C);

if(p!=NULL)

printf("%d",p-text);

else

printf("%d",-l);

执行结果为

A.6

B.-l

C.7

D.C

正确答案:C

23、对于如下结构体定义

structPoint{

intid;

}point;

如下说法不正确的是

A.structPoint为数据类型

B.point为结构体变量

C.sizeof(point)的值为4

D.Point为数据类型

正确答案:D

24、对于如下结构体定义

structstudent{

intid;

charname[32];

struct{

unsignedintyear;

unsignedintmonth;

unsignedintday;

}birthday;

}sl={100,"zhao",{1999,10,1}};

如下说法正确的是

A.存在语法错误

B.表达式sizeof(sl.birthday)的值为4

C.表达式sizeof(sl.birthday)的值为12

D.sl.birthday.month的值为1

正确答案:C

25、对于如下结构体定义

structgrade{

charname[32];

union{

charc;

intg;

}v;

}sl={"zhao",{'A'}},s2={"Li",{80}};

如下语法不正确的表达式

A.scanf("%d",&sl.v.g)

B.s2.v.c=sl.v.g

C.s2.v.c=sl.v.c

D.=

正确答案:D

26、下面程序

structpoint

(

floatx,y,z;

);

structpointmid(structpointpl,structpointp2){

structpointm;

m.x=(pl.x+p2.x)/2;

m.y=(pl.y+p2.y)/2;

m.z=(pl.z+p2.z)/2;

returnm;

)

intmain()

{

structpointpl={l,2,3},p2,p3={0,0,0};;

p2=pl;

p3=mid(pl,p2);

printf("%.2f",p3.x);

)

执行结果为

A.0.50

B.0.00

C.1.00

D.无结果

正确答案:C

27、对于如下结构体定义

structpoint

(

floatx,y,z;

}pl={l,2,3},p2={4,5,6},p3;

如下语法正确的表达式

A.p2=pl

B.p3=p2+pl

C.p3=p2+1

D.scanf("%v",&p3);

正确答案:A

28、关于如下结构体说法正确的是

structnode{

intid;

structnode*next;

);

A.next指向下一个结构体变量的地址

B.node为数据类型

C.struct可以省略

D.此结构体定义存在错误

正确答案:A

29、关于如下结构体

structnode{

intid;

structnodenext;

};

如下说法正确的是

A.node为数据类型

B.struct可以省略

C.sizeof(structnode)的值为8

D.此结构体定义存在错误

正确答案:D

30、对于如下程序

#defineMAX(x,y)x>y?x:y

intmain()

(

printf("%d",MAX(10,20));

return0;

}

输出结果为

A.10

B.O

C.存在语法错误

D.20

正确答案:D

31、如果文本文件"d:\data.txt"已经存在,如果执行如下操作(fp已

经声明)

fp=fopen("d:\\data.txt","r");

如下描述正确的是

A.fp的值为NULL

B.此语句函数fopen调用错误

C.文件"d:\data.txt"的内容被清空

D.文件打开成功,后面可以执行读操作

正确答案:D

32、如下标准设备文件中,代表键盘的是?

A.stdin

B.stdkeyborad

C.stdout

D.stderr

正确答案:A

33、如下语句中不能实现向屏幕输出文本“NEU”的是

A.fprintf(stdout,"%s","NEU");

B.printf("%s","NEU");

C.puts("NEU");

D.sprintf(stdout,"%s",''NEU");

正确答案:D

34、对于如下程序

voidmain()

FILE*fp;

inta[]={10,ll,12};

fp=fopen("d:\\test.dat","wb");

fwrite(&a,sizeof(int),2,fp);

fclose(fp);

)

关于test.dat文件大小如下说法正确的是

A.8个字节

B.4个字节

C.2个字节

D.12个字节

正确答案:A

35、打开文件,将读写位置指向文件尾部的操作是

A.fseek(fp,OL,SEEK_CUR);

B.fseek(fp,OL,SEEK_BEGIN);

C.fseek(fp,OL,SEEK_SET);

D.fseek(fp,OL,SEEK_END);

正确答案:D

36、下面结构体的定义语句中,错误的是

A.struct{intx;inty;intz;}a;

B.structpoint{intx;inty;intz;}structpointa;

C.structpoint{intx,y,z;}a;

D.structpoint{intx;inty;intz;};structpointa;

正确答案:B

37、假设fp为FILE*指针变量,如下代码执行后,

char*sl="China",*s2="Beijing";

FILE*fp=NULL;

fp=fopen("abc.dat","wb");

fwrite(s2,7,l,fp);

rewind(fp);

fwrite(sl,5,l,fp);

fclose(fp);

文件abc.dat的内容是

A.China

B.ChinaBeijing

C.Chinang

D.BeijingChina

正确答案:C

38、有以下程序

intmain()

inta[10]={l,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;

printf("%d\n",*p+*q);

return0;

)

程序运行后的输出结果是

A.6

B.16

C.10

D.8

正确答案:C

39、如下程序实现完数(除自身之外因子之后等于自身的数)的判定

intmain()

(

intn=0;

scanf("%d",&n);

inti=0,s=0;

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

(

if(el)

s+=i;

)

)

if(s==n)

(

printf("%5disthenumber",n);

)

return0;

)

则el对应的表达式是?

A.i%n==0

B.n%i==0

C.n%i

D.n/i

正确答案:B

40、如下程序实现素数(大于等于2,且除了1和自身之外没有因子自

然数)的判定

intmain()

{

intn=0;

scanf("%d",&n);

inti=0;

for(i=2;i<n;i++)

(

if(n%i==O){

break;

}

)

if(el)

(

printf("%5d是素数",n);

)

return0;

)

则el对应的表达式是?

A.n>i

B.i<n

C.i>=n

D.i>n

正确答案:C

41、如下函数实现字符串拷贝(从s指向数组拷贝到t指向数组)

intmstrcpy(char*t,char*s){

char*p=t;

while(el);

returnp-t-1;

)

则el对应的表达式是?

A.++(*p)=++(*s)

B.*p++=*s++

C.(*p)++=(*s)++

D.p++=s++

正确答案:B

42、如下函数计划通过函数返回值统计函数被调用次数,则el对应

声明语句为

intfun(intx){

el

++n;

returnn;

)

A.intn=0;

B.intn=l;

C.staticintn=0;

D.staticintn=l;

正确答案:C

43、设有定义:

struct

{

charname[16];

intmath;

floatprogramming;

}xl,x2;

若变量均已正确赋初值,则以下语句中错误的是

A.xl.math=x2.math;

B.xl=x2;

C.gramming=gramming;

D.=;

正确答案:D

44、有如下结构体数组定义

structstudent

(

charname[16];

intmath;

floatprogramming;

}s[3]={{"LiMing",80,90.5},{"Joe",80,90.5},{"John",80,90.5}};

贝Ijputs((s+1)->name+1))的输出

A.80

B.LiMing

C.oe

DJoe

正确答案:C

45、已定义函数

intfun(intx)

(

staticinti=0;

ints=0;

while(i<x){

s=s+i;

i++;

)

returns;

)

则如下语句的执行结果为

intn=l;

ints=0;

while(n<5)

s=s+fun(n++);

)

printf("%d",s);

A.6

B.20

C.15

D.10

正确答案:A

46、如下语句的执行结果为

int

温馨提示

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

评论

0/150

提交评论