最新C语言最终模拟题含答案.docx

上传人:b****8 文档编号:11445564 上传时间:2023-03-01 格式:DOCX 页数:52 大小:32.54KB
下载 相关 举报
最新C语言最终模拟题含答案.docx_第1页
第1页 / 共52页
最新C语言最终模拟题含答案.docx_第2页
第2页 / 共52页
最新C语言最终模拟题含答案.docx_第3页
第3页 / 共52页
最新C语言最终模拟题含答案.docx_第4页
第4页 / 共52页
最新C语言最终模拟题含答案.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

最新C语言最终模拟题含答案.docx

《最新C语言最终模拟题含答案.docx》由会员分享,可在线阅读,更多相关《最新C语言最终模拟题含答案.docx(52页珍藏版)》请在冰豆网上搜索。

最新C语言最终模拟题含答案.docx

最新C语言最终模拟题含答案

题号1.以下选项中,能用作用户标识符的是(C)。

A:

void

B:

8_8

C:

_0_

D:

unsigned

题号2...选择题A:

(1分,正确答案A,学生答案*)

阅读以下程序

#include

main()

{intcase;floatprintF;

printf("请输入2个数:

");

scanf("%d%f",&case,&printF);

printf("%d%f\n",case,printF);

}

该程序在编译时产生错误,其出错原因是()。

A:

定义语句出错,case是关键字,不能用作用户自定义标识符

B:

定义语句出错,printF不能用作用

户自定义标识符

C:

定义语句无错,scanf不能作为输入函数使用

D:

定义语句无错,printf不能输出case的值

题号3...选择题A:

(1分,正确答案B,学生答案B)

表达式:

(int)((double)9/2)-(9)%2的值是()。

A:

0

B:

3

C:

4

D:

5

题号4...选择题A:

(1分,正确答案B,学生答案D)

若有定义语句:

intx=10;,则表达式x-=x+x的值为()。

A:

-20

B:

-10

C:

0

D:

10

题号5...选择题A:

(1分,正确答案D,学生答案*)

有以下程序

#include

main()

{

inta=1,b=0;

printf("%d,",b=a+b);

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

}

程序运行后的输出结果是()。

A:

0,0

B:

1,0

C:

3,2

D:

1,2

题号6...选择题A:

(1分,正确答案A,学生答案*)

有以下程序

#include

main()

{

intc=0,k;

for(k=1;k<3;k++)

switch(k)

{

default:

c+=k;

case2:

c++;break;

case4:

c+=2;break;

}

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

}

程序运行后的输出结果是()。

A:

3

B:

5

C:

7

D:

9

题号7...选择题A:

(1分,正确答案B,学生答案A)

当需要定义一个函数时,以下标识符中,()不能用作函数名。

A:

scanf

B:

for

C:

_sum

D:

F2

题号8...选择题A:

(1分,正确答案D,学生答案*)

已有声明语句"unsignedcharch;",与表达式"ch='B'"的值不相同的表达式是()。

(注释:

字符A的Ascii码以十进制表示为65)

A:

ch=0x42

B:

ch=0102

C:

ch='\102'

D:

ch=066

题号9...选择题A:

(1分,正确答案C,学生答案*)

若要对a进行++运算,则a应具有以下说明()。

A:

inta[3][2];

B:

char*a[]={"12","ab"};

C:

intb[10],*a=b;

D:

char(*a)(char);

题号10...选择题A:

(1分,正确答案B,学生答案*)

以下对于break语句使用的正确描述是()。

A:

可以出现在程序中的任何位置

B:

只能出现在循环或switch结构中

C:

只能出现在switch结构中

D:

只能出现在循环结构中

题号11...选择题A:

(1分,正确答案B,学生答案*)

若有声明语句"inta=5,b=4,c=3,*p=&a;",则下列()表达式语句是正确的。

A:

(*p)++=c;

B:

printf(a%4==0?

"%3d\n":

"%3d",*p);

C:

*(*p)++;

D:

a>20?

return*p-20:

return*p-1;

题号12...选择题A:

(1分,正确答案A,学生答案*)

设intx=2,y=3,z=(++x<=y--)?

((--y==1)?

y--:

--y):

y--;则x,y,z的值为()。

A:

3,0,1

B:

2,0,0

C:

3,1,1

D:

2,2,1

题号13...选择题A:

(1分,正确答案B,学生答案*)

在定义任何一个函数时,下列选项中,()是不可缺少的。

A:

函数名之前的数据类型

B:

函数名之后的一对圆括号

C:

形式参数声明

D:

函数体内的语句

题号14...选择题A:

(1分,正确答案D,学生答案*)

已知某程序如下:

floatp=1.5;

#definep2.5

main()

{printf("%f",p);}

则main函数中标识符p代表的操作数是()。

A:

float型变量

B:

double型变量

C:

float型常量

D:

double型常量

题号15...选择题A:

(1分,正确答案A,学生答案*)

已有声明"ints[2][3]",以下选项中()正确地引用了数组s中的基本元素。

A:

s[1>2][!

1]

B:

s[2][0]

C:

s[1]

D:

s

题号16...选择题A:

(1分,正确答案C,学生答案*)

若有声明"inta[5],*b=a,(*c)[3],*d[3];",则在以下表达式中有语法错误的是()。

A:

a[0]=0

B:

b[0]=0

C:

c[0]=0

D:

d[0]=0

题号17...选择题A:

(1分,正确答案C,学生答案*)

以下跳转语句中,只有()可以选择不唯一的跳转目的地。

A:

continue;

B:

break;

C:

goto标识符;

D:

return;

题号18...选择题A:

(1分,正确答案A,学生答案*)

一个用c语言编写的程序,()是必不可少的。

A:

取名为main的函数定义

B:

#include

C:

变量声明

D:

注释

题号19...选择题A:

(1分,正确答案D,学生答案*)

以下声明中正确的是()。

A:

intn=2,a[n]={10};

B:

intn=10,*p[2]=&n;

C:

intn=10,a[2]={n};

D:

inta[2][2]={10},(*p)[2]=a+1;

题号20...选择题A:

(1分,正确答案B,学生答案*)

若有函数fun的定义为

voidfun(…)

{staticinta=1;

...

}

则下列叙述中不正确的是()。

A:

在每次调用fun函数时,变量a的值是上次调用结束时a的值

B:

在fun函数之外,可以用变量名a直接

引用a的值

C:

在其他函数中,可以出现声明doublea=2.5;

D:

fun函数的形式参数不能取名为a

题号21...选择题A:

(1分,正确答案D,学生答案*)

以下单目运算符均只需一个操作数,其中要求操作数的类型只能是指针型的是()。

A:

&

B:

++

C:

!

D:

*

题号22...选择题A:

(1分,正确答案D,学生答案*)

C语言规定,在一个源程序中main函数的位置()。

A:

必须在最开始

B:

必须在最后

C:

必须在预处理命令的后面

D:

可以在其他函数之前或之后

题号23...选择题A:

(1分,正确答案D,学生答案B)

以下选项中,()是C语言关键字。

A:

printf

B:

include

C:

fun

D:

default

题号24...选择题A:

(1分,正确答案A,学生答案*)

已知有声明"inta=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为()。

A:

0

B:

3

C:

3.5

D:

4

题号25...选择题A:

(1分,正确答案B,学生答案*)

设指针变量占2个字节的内存空间,若有声明"char*p="123";intc;",则执行语句"c=sizeof(p);"后,

c的值为()。

A:

1

B:

2

C:

3

D:

4

题号26...选择题A:

(1分,正确答案C,学生答案*)

已知有声明"inta=3,b=4;",下列表达式中合法的是()。

A:

a+b=7

B:

a=|b|

C:

a=b=0

D:

(a++)++

题号27...选择题A:

(1分,正确答案D,学生答案*)

已知有声明"chars[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改

为"Good",则以下语句中能够实现此功能的是()。

A:

s="Good";

B:

s[20]="Good";

C:

strcat(s,"Good");

D:

strcpy(s,"Good");

题号28...选择题A:

(1分,正确答案B,学生答案*)

已知有声明"intn;floatx,y;",则执行语句"y=n=x=3.89;"后,y的值为()。

A:

3

B:

3.0

C:

3.89

D:

4.0

题号29...选择题A:

(1分,正确答案C,学生答案A)

已知有声明"inta=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为()。

A:

3,1

B:

15,12

C:

15,1

D:

3,12

题号30...选择题A:

(1分,正确答案B,学生答案*)

已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是()。

A:

printf("%d",32768);

B:

printf("%ld",32768);

C:

printf("%f",32768);

D:

printf("%c",32768);

题号31...选择题A:

(1分,正确答案D,学生答案*)

已知有声明"inta=3,b=4,c=5;",以下表达式中值为0的是()。

A:

a&&b

B:

a<=b

C:

a||b&&c

D:

!

(!

c||1)

题号32...选择题A:

(1分,正确答案C,学生答案B)

已知有声明"longx,y;"且x中整数的十进制表示有n位数字(4

掉整数x十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中,

则以下表达式中能正确实现这一功能的是()。

A:

y=x/(10*(n-1))

B:

y=x%(10*(n-1))

C:

y=x%(long)pow(10,n-1)

D:

y=x%(10^(n-1))

题号33...选择题A:

(1分,正确答案B,学生答案B)

已知有声明"intm[]={5,4,3,2,1},i=0;",下列对m数组元素的引用中,错误是()。

A:

m[++i]

B:

m[5]

C:

m[2*2]

D:

m[m[4]]

题号34...选择题A:

(1分,正确答案C,学生答案*)

下列程序的输出结果是()。

main()

{inta=7,b=5;

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

}

A:

5

B:

1

C:

0

D:

不确定值

题号35...选择题A:

(1分,正确答案B,学生答案*)

假设变量a,b均为整型,表达式(a=5,b=2,a>b?

a++:

b++,a+b)的值是()。

A:

7

B:

8

C:

9

D:

2

题号36...选择题A:

(1分,正确答案B,学生答案*)

设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534;a=(int)125.521%4;a=5<<2;

A:

125,31,1

B:

125,1,20

C:

125,31,20

D:

125.534,2,20

题号37...选择题A:

(1分,正确答案C,学生答案*)

设有如下程序段,下面描述中正确的是()。

intk=10;while(k=0)k=k-1;

A:

循环执行一次

B:

循环是无限循环

C:

循环体语句一次也不执行

D:

循环体语句执行一次

题号38...选择题A:

(1分,正确答案A,学生答案*)

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

inti;

voidprt()

{for(i=5;i<8;i++)printf("%c",'*');

printf("\t");

}

main()

{for(i=5;i<=8;i++)prt();

}

A:

***

B:

************

C:

******

D:

***

题号39...选择题A:

(1分,正确答案A,学生答案*)

以下函数调用语句中含有()个实参。

func((e1,e2),(e3,e4,e5));

A:

2

B:

3

C:

5

D:

语法错误

题号40...选择题A:

(1分,正确答案D,学生答案*)

C语言中的文件类型只有()。

A:

索引文件和文本文件两种

B:

文本文件一种

C:

二进制文件一种

D:

ASCII码文件和

二进制文件两种

题号41...选择题B:

(2分,正确答案D,学生答案*)

有以下程序

#include

main()

{intn=2,k=0;

while(k++&&n++>2);

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

}

程序运行后的输出结果是()。

A:

02

B:

13

C:

57

D:

l2

题号42...选择题B:

(2分,正确答案D,学生答案*)

以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

#defineMIN-2147483647

intfindmax(intx[],intn)

{inti,max;

for(i=0;i

{max=MIN;

if(max

returnmax;

}

造成错误的原因是()。

A:

定义语句inti,max;中max未赋初值

B:

赋值语句max=MIN;中,不应给max赋MIN值

C:

语句if(max

D:

赋值语句max=MIN;放错了位置

题号43...选择题B:

(2分,正确答案D,学生答案A)

下面是有关C语言字符数组的描述,其中错误的是()。

A:

不可以用赋值语句给字符数组名赋字符串

B:

可以用输入语句把字符串

整体输入给字符数组

C:

字符数组中的内容不一定是字符串

D:

字符数组只能存放字符串

题号44...选择题B:

(2分,正确答案C,学生答案*)

有以下程序

#include

intf(intn);

main()

{inta=3,s;

s=f(a);s=s+f(a);printf("%d\n",s);

}

intf(intn)

{staticinta=1;n+=a++;returnn;

}

程序运行后的输出结果是()。

A:

7

B:

8

C:

9

D:

10

题号45...选择题B:

(2分,正确答案B,学生答案*)

下面结构体的定义语句中,错误的是()。

A:

structord{intx;inty;intz;};structorda;

B:

structord{intx;inty;intz;}

structorda;

C:

structord{intx;inty;intz;}a;

D:

struct{intx;inty;intz;}a;

题号46...选择题B:

(2分,正确答案A,学生答案D)

设有定义:

char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是(A)。

A:

charstr[]="string";c=str;

B:

scanf("%s",c);

C:

c=getchar();

D:

c=*string";

题号47...选择题B:

(2分,正确答案D,学生答案*)

有以下程序

#include

#include

structA

{inta;charb[10];doublec;};

structAf(structAt);

main()

{structAa={1001,"ZhangDa",1098.0};

a=f(a);printf("%d,%s,%6.1f\n",a.a,a.b,a.c);

}

structAf(structAt)

{t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returnt;}

程序运行后的输出结果是()。

A:

1001,ZhangDa,1098.0

B:

1002,ZhangDa,1202.0

C:

1001,ChangRong,1098.0

D:

1002,ChangRong,1202.0

题号48...选择题B:

(2分,正确答案D,学生答案*)

下列程序段执行后的结果为()。

main()

{

staticinta[3][3]={1,3,5,7,9,11,13,15,17},y,x,*p=&a[2][2];

for(x=0;x<3;x++)y+=*(p-4*x);

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

}

A:

45

B:

33

C:

17

D:

27

题号49...选择题B:

(2分,正确答案B,学生答案*)

设有定义如下;

typedefstuct{intx,y;}pOINT;

typedefenum{RED,YELLOW,BLUE,GREEN}COLOR;

struct{pOINTxy;COLORc;}pixel,*p=&pixel;

以下对变量pixel的赋值操作中正确的是()。

A:

pixel={1,2,BLUE};

B:

p->xy.x=1;p->xy.y=2;

p->c=BLUE;

C:

scanf("%d%d%d",p->xy.x,p->xy.y,&pixel.c);

D:

pixel.color=2;

题号50...选择题B:

(2分,正确答案C,学生答案*)

执行了以下程序段后,x、w的值为()。

intx=0,y=1,z=2,w;

if(x++)w=x;

elseif(x++&y>=1)w=y;

elseif(x++&&z>1)w=z;

A:

0、1

B:

1、1

C:

2、1

D:

3、2

题号51...选择题B:

(2分,正确答案B,学生答案*)

已有数据类型定义和变量声明如下:

structperson

{intnum;

charname[20],sex;

strrut{intcla;charprof[20];}in;

}a={20,"Lining",'M',{5,"computer"}},*p=&a;

下列语句中正确的是()。

A:

printf("%s",a->name);

B:

printf("%s",p->in.prof);

C:

printf("%s",*p.name);

D:

printf("%s",p->in->prof);

题号52...选择题B:

(2分,正确答案C,学生答案*)

已有预处理命令和声明如下:

#defineN10

inta=2,c=1;

doubleb=1.2;

下述程序段正确的是()。

A:

switch(a)

{casec:

a--;break;

casec+1:

a++;break;

}

B:

switch(a)

{caseN>0:

a=1;break;

case1:

a=O;break;

}

C:

switch(a)

{case2:

b++;break;

case'0':

b=3;

}

D:

switch(b)

{case1.0:

b++;break;

case1.2:

b=1;break;

}

题号53...选择题B:

(2分,正确答案C,学生答案*)

若有以下声明和定义:

voidfun(intc){printf("%d",c);}

main()

{void(*a)(int)=fun,*b(int),(*c)(int);

/*调用fun函数语句位置*/

}

void*b(intc){}

如果在main函数中需要调用fun函数,以下调用语句中错误的是()。

A:

fun

(1);

B:

(*a)

(1);

C:

b=fun;(*b)

(1);

D:

c=a;(*c)

(1);

题号54...判断题:

inti=20;switch(i/10){case2:

printf("A");case1:

printf("B");}的输出结果为A。

()

(对或错)

参考答案(1分)学生答案(0分)

题号55...判断题:

函数strlen("ASDFG\n")的值是7。

()(对或错)

参考答案(1分)学生答案(0分)

错~~F

题号56...判断题:

通过return语句,函数可以带回一个或一个以上的返回值。

(错)(对或错)

参考答案(1分)学生答案(0分)

题号57...判断题:

用fopen("file","r+");打开的文件"file"可以进行修改。

()(对或错)

参考答案(1分)学生答案(0分)

题号58...填空题:

若有定义语句:

inta=5;,则表达式:

a++的值是_____________。

参考答案(2分)学生答案(0分)

5

题号59...填空题:

若有语句doublex=17;inty;,当执行y=(int)(x/5)%2;之后y的值为_________。

参考答案(2分)学生答案(0分)

1

题号60...填空题:

有以下程序

#include

main()

{intf,f1,f2,i;

f1=0;f2=1;

printf("%d,%d",f1,f2);

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

{f=f1+f2;printf("%d",f);

f1=f2;f2=f;

}

}

程序运行后的输出结果是___________。

参考答案(2分)学生答案(0分)

0,1123

题号61...填空题:

有以下程序

#include

inta=5;

voidfun(intb)

{inta=10;

a+=b;printf("%d",a);

}

main()

{intc=20;

fun(c);a+=c;printf("%d

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

当前位置:首页 > 求职职场 > 简历

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

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