考试模拟题1及参考答案_第1页
考试模拟题1及参考答案_第2页
考试模拟题1及参考答案_第3页
考试模拟题1及参考答案_第4页
考试模拟题1及参考答案_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐考试模拟题1及参考答案考试模拟题1及参考答案

考试模拟题1

一、单项挑选题(共20题,每题1分,共20分。)

1.以下讲述不正确的是()。

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

B.在C程序中解释说明只能位于一条语句的后面

C.C程序的基本组成单位是函数

D.一个C源程序必需包含一个main函数

2.若变量已正确定义并赋值,表达式()不符合C语言语法。

A.3%2.0

B.a*b/c

C.2,b

D.a/b/c

3.六种基本数据类型的长度罗列正确的是()。

A.bool=char7)if(b>8)if(c>9)x=2;elsex=3;后x的值是()。

A.2

B.1

C.0

D.3

6.对以下程序,当输入数据的形式为12a345b789↙,正确的输出结果为()。

intmain()

{charc1,c2;inta1,a2;

c1=getchar();scanf("%2d",

c2=getchar();scanf("%3d",

printf("%d,%d,%c,%c\n",a1,a2,c1,c2);

return0;

}

A.12,345,a,b

B.2,345,1,a

C.2a,45b,1,3

D.2,789,1,a

7.以下程序的输出结果是:()。

intmain()

{

charst[20]="hello\0\t\\\";

printf("%d%d\n",strlen(st),sizeof(st));

return0;

}

A.99

B.520

C.

1320(D)2020

8.若已定义inta[9],*p=a;并在以后的语句中未转变p的值,则不能表示a[1]地址的表达式是()。

A.a++

B.a+1

C.p+1

D.++p

9.凡是函数中未指定存储类别的局

部变量,其隐含的存储类别为()。

A.外部

B.静态

C.自动

D.寄存器

10.以下能对二维数组a举行正确初始化的语句是(

)。

A.inta[2][]={{1,0,1},{5,2,3}};

B.inta[][3]={{1,2,3},{4,5,6}};

C.inta[2][4]={{1,2,3},{4,5},{6}};

D.inta[][3]={{1,0,1},{},{1,1}};

11.函数fopen()的返回值不能是()。

A.NULL

B.O

C.1

D.某个内存地址

12.若定义结构体structst{intno;charname[15];floatscore;}s1;则结构体变量s1所占内存空间为()。

A.15C.sizeof(int)+sizeof(char[15])+sizeof(float)

B.sizeof(s1)D.19

13.若有以下宏定义:

#defineN3

#defineY(n)((N+1)*n)

则执行语句z=2*(N+Y(5));后,z的结果是()。

A.语法错误

B.46

C.66

D.无定值

14.已知a为整型变量,那么与表达式a!=0真假值状况不相同的表达式有()。

A.a>0||aj)

j=j+2;

elsei=i+2;

}

A.5

B.6

C.0

D.4

17.已知函数ss的定义如下:

voidss(char*s,char*t)

{while(*s++=*t++);}

则该函数的功能是()。

A.串复制

B.求串长度

C.串比较

D.串反向

18.对两个数组a和b举行如下初始化

chara[]=“ABCDEF”;

charb[]={…A?,?B?,?C?,?D?,?E?,?F?};

则以下讲述正确的是()。

A.a和b数组彻低相同

B.

a和b长度相同

C.a和b中都存放字符串

D.a数组比b数组长度长

19.若二维数组a有m列,则在a[i][j]前的元素个数为()。

A.j*m+i

B.i*m+j

C.i*m+j-1

D.i*m+j+1

20.设有如下定义:

staticinta[4]={1,2,3},i;

i=a[0]*a[1]+a[2]*a[3];

则i的值为()。

A.5

B.2

C.3

D.以上都不对

二、填空题(每空2分,共20分。)

1.能够构成数组的各个元素必需具有相同的。

2.C语言中用表示规律值“真”。

3.使用C语言描述关系表达式ay)m=y;elsem=x;等效的表达式语句是:。

6.for(;;)语句相当于。

7.用typedef定义一个含10个元素的整型数组ARR为:。

8.设有定义语句:

staticinta[3][4]={{1},{2},{3}},则a[1][1]值为。

9.变量的指针,其含义是指该变量的。

10.C语言源程序文件经过编绎后生成文件的后缀是obj,经过衔接后生成文件的后缀是。

三、阅读程序题(共35分)

1.(2分)下面程序的运行结果是。

#include

intmain()

{int

a[5]={10,20,30,40,50},*pa=

*--pa;

printf("%d",*pa);

return0;

}

2.(3分)下面程序的运行结果是1*#。

#include

intmain()

{intx=0,y=2,z=3;

switch(x)

{case0:printf("%d",y==2);//==是两个等于号

case1:printf("*");break;

case2:printf("%");break;

}

switch(z)

{case1:printf("

case2:printf("*");break;

default:printf("#");

}

return0;

}

3.(4分)下面程序的运行结果是。

#include

structHAR{charx,y;structHAR*p;}h[2];

intmain()

{h[0].x='a';h[0].y='b';

h[1].x='c';h[1].y='d';

h[0].p=h[1].p=h;

printf("%c,%c,",(h[0].p)->x,(h[1].p)->x);printf("%d,%d\n",(h[0].p)->y,(h[1].p)->y);

return0;

}

4.(6分)完美下面程序,功能:输入两个正整数m和n,求其最大公约数和最小公倍数。

#include

intmain()

{intp,r,n,m,temp;

printf("请输入两个正整数n,m:");

scanf("%d,%d,",

if(n

intmain()

{chars[80];

inti,j;

printf("请输入字符串:");

gets(s);

for(i=j=0;s[i]!='\0';i++)

if()

{s[j]=s[i];

j++;

}

s[j]=;

puts(s);

return0;

}

6.(6分)完美下面程序,功能:打印如右所示的图案。

#include

intmain()

{for(j=0;;j++)

printf("");

for(k=0;k

intmain()

{inti,j,k,n;

printf("水仙花数是:");

for

(n=100;;n++){i=n/100;

j=

;

k=n%10;

if

(

)

printf("%d",n);

}

printf("\n");

return0;

}

8.(4分)完美下面程序,功能:用于计算n!的值。

#include

intmain()

{inti,s,n;

s=1;

printf("entern:");

scanf("%d",

for

()

;

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

return0;

}

四、编写程序题。(共25分)

1.(10分)用冒泡法对一组数(假

设5个)按由小到大的挨次排序并输出排序后的数,最后输出的参考结果如下

所示。(格式自行设置)

2.(15分)设数组中有2个同学的

数据记录,每条记录包括

num,name,score[3],avr,用input函数

输入记录中除avr外的其它成员的值,

用average函数求出每条记录的平均值

avr,用print函数输出每个记录,最后

输出的参考结果如下所示。(格式自行设

置)

请输入一组数:9080607040排序后的数是:4060708090

NO.

namescore1score2score3average101Li70.080.090.080.0

102Ma80.090.0100.090.0

考试模拟题1参考答案

一、单项挑选题

1.B

2.A

3.A

4.D

5.B

6.B

7.B

8.A

9.C10.B

11.C12.C13.B14.D15.D

16.A17.A18.D19.B20.B

二、填空题

1.数据类型

2.非0

3.x>=a8.09.

地址10..exe

三、阅读程序题

1.40

2.1*#

3.c,a,100,98

4.m!=0n%mp/n

5.s[i]!='x''\0'

6.i=0;i

#defineN5

intmain()

{inta[N];

inti,j,t;

printf("请输入一组数:");

for(i=0;ia[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("排序后的数是:");

for(i=0;i

#defineN2

structstudent

{charnum[6];

charname[8];

floatscore[3];

floatavr;

}stu[N];

intmain()

{voidinput(structstudentstu[N]);

voidprint(structstudentstu[N]);

voidaverage(structstudentstu[N]);

input(stu);

average(stu);

print(stu);

return0;

}

voidinput(structstudent

stu[N])

{inti,j;

for(i=0;i3?2:2

2.a是int类型变量,c是字符变量。下列输入语句中哪一个是错误的()。

A.scanf("%d,%c",

B.scanf("%d%c",a,c);

C.scanf("%d%c",

D.scanf("d=%d,c=%c",

3.执行下面程序段后,c3中的值是()。

intc1=1,c2=2,c3;

c3=c1/c2;

A.0

B.1/2

C.

0.5D.1

4.设有程序段:

intk=10;

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

则下面描述中正确的是()。

A.while循环执行10次

B.循环是无限循环

C.循环体语句一次也不执行

D.循环体语句执行一次

5.若有定义语句:inta[3][6];,按在内存中的存放挨次,a数组的第10个元素是()。

A.a[0][4]

B.a[1][3]

C.

a[0][3]D.a[1][4]

6.若有以下定义和语句:inta[10]={1,2,3,4,5,6,7,8,9,10};*p=a;

则不能表示a数组定义的元素的表达式是()。

A.*p

B.a[10]

C.*a

D.a[p-a]

7.以下不能对二维数组a举行正确初始化的语句是()。

A.inta[2][3]={0};

B.inta[][3]={{1,2},{0}};

C.inta[2][3]={{1,2},{3,4},{5,6}};

D.inta[][3]={1,2,3,4,5,6};

8.以下程序的输出结果是()。

intmain()

{inta=12,b=12;

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

return0;

}

A.1010

B.1212

C.1110

D.1113

9.有如下程序段:

int*p,a=10,b=1;

p=a=*p+b;

执行该程序段后,a的值为()。

A.12

B.11

C.10

D.编译出错

10.在C语言的函数中,下列正确的说法是()。

A.必需有形参

B.形参必需是变量名

C.可以有也可以没有形参

D.数组名不能作形参

11.下列语句应将小写字母转换为大写字母,其中正确的是()。

A.if(ch>='a'

B.if(ch>='a'

C.ch=(ch>='a'

D.ch=(ch>='a'

12.有如下程序:

intmain()

{intx=23;

do

{printf("%d",x--);}

while(!x);

return0;

}

该程序的执行结果是()。

A.321B.23C.不输出任何内容D.陷入死循环

13.下面程序段的运行结果是()。

char*s="abcde";

s+=2;

printf("%s",s);

A.cde

B.字符'c'

C.

字符'c'的地址D.无确定的输出结

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

intmain()

{intn;

for(n=1;n5)printf("%d\n",m);

elseprintf("%d\n",m--);

return0;

}

A.4

B.

5C.

6D.7

20.有以下程序:

intmain()

{intm[][3]={1,4,7,2,5,8,3,6,9};

inti,j,k=2;

for(i=0;i

intmain()

{inta=1,b=4,c=2;

a=(a+b)/c;

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

return0;

}

2.下面程序的运行结果是。

#include

intmain()

{intx=1,a=0,b=0;

switch(x)

{case0:b++;

case1:a++;

case2:a++;b++;

}

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

return0;

}

3.下面程序的运行结果

#include

intmain()

{inti,sum=0;

int

a[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i

intmain()

{intmax_value(intarray[][4]);

int

a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};

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

return0;

}

intmax_value(intarray[][4])

{inti,j,max;

max=array[0][0];

for(i=0;imax)

max=array[i][j];

return(max);

}

5.下面程序运行后的显示结果是。

#defineN10

#include

intmain()

{voidmn(intarr[],int*pt,int*pt2,intn);

int

array[N]={1,8,10,2,-5,0,7,12,4,-8},*p1,*p2,a,b;

p1=

p2=

mn(array,p1,p2,N);

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

return0;

}

voidmn(intarr[],int*pt1,int*pt2,intn)

{inti;

*pt1=*pt2=arr[0];

for(i=1;i*pt1)*pt1=arr[i];

if(arr[i]

intmain()

{floatx,⑴,amin;

scanf("%f",

amax=x;

amin=x;

while(x>=0)

{if(x>amax)⑵;

elseif(xscanf("%f",⑶);

}

printf("\n最高分amax=%f\n

最低分amin=%f\n",amax,amin);

return0;

}

2.下面程序的功能是:输入两个正

整数m和n,求其最大公约数和最小公倍

数。请填空完美。

#include

intmain()

{intp,r,n,m,temp;

printf("请输入两个正整数n,m:");

scanf("%d,%d,",

if(n

#include

intmain()

{charname[40][10],str[10];

intscore[40],num,i,j,t;

printf("输入同学人数:");

scanf("%d",

for(i=0;iscore[i])

{t=score[i]⑶;

score[i]=score[j];

score[j]=t;

strcpy(str,name[i]);

strcpy(name[i],name[j]⑷);

strcpy(name[j],str);

}

printf("排了名次的成果如下:

温馨提示

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

评论

0/150

提交评论