《C程序设计》模拟试题二及参考答案.docx

上传人:b****6 文档编号:4955309 上传时间:2022-12-12 格式:DOCX 页数:10 大小:21.65KB
下载 相关 举报
《C程序设计》模拟试题二及参考答案.docx_第1页
第1页 / 共10页
《C程序设计》模拟试题二及参考答案.docx_第2页
第2页 / 共10页
《C程序设计》模拟试题二及参考答案.docx_第3页
第3页 / 共10页
《C程序设计》模拟试题二及参考答案.docx_第4页
第4页 / 共10页
《C程序设计》模拟试题二及参考答案.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

《C程序设计》模拟试题二及参考答案.docx

《《C程序设计》模拟试题二及参考答案.docx》由会员分享,可在线阅读,更多相关《《C程序设计》模拟试题二及参考答案.docx(10页珍藏版)》请在冰豆网上搜索。

《C程序设计》模拟试题二及参考答案.docx

《C程序设计》模拟试题二及参考答案

《C程序设计》考试试题

(120分钟)

一、单项选择题(每小题2分,共60分)

1.自定义标识符中,符合C语言规定的是__D___。

A)forB)3aC)*aD)_123A错在哪

2.C语言程序的基本单位是______。

A)程序行B)语句C)函数D)字符

3.getche()函数的功能是_______。

A)从键盘读入一字符串B)从键盘读入一字符

C)从键盘输出一字符串D)从键盘输出一字符

4.下面有关for循环的正确描述是_______。

A)for循环只能用于循环次数已经确定的情况

B)for循环是先执行循环语句,后判定表达式

C)在for循环中,不能用break语句跳出循环体

D)for循环体语句中,可以包含多条语句,但要用花括号括起来

5.为表示关系100≥x≥10,应使用C语言表达式__A_____。

A)(100>=x)&&(x>=10)B)(100>=x)AND(x>=10)

C)(100>=x>=10)D)(100>=x)&(x>=10);

6.定义inta;floatf;doublei;表达式15+i*f+ˊAˊ的值是______D_。

A)floatB)intC)charD)double

7.下列有关字符数组与字符串的说法中,正确的是____。

A)字符数组中存放的一定是一个字符串

B)所有的字符数组都可以被当作字符串处理

C)对存放字符串的字符数组可像一般数组一样对数组中单个元素操作

D)一个字符数组可以认为就是一个字符串

8.下面程序要求从键盘上输入值并打印,请选择正确的输入方法_____B。

main()

{inta,b;

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

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

}

A)5,6B)x=5,y=6C)5↙6D)56

9.为避免在嵌套的条件语句if-else中产生二义性,C语言规定:

else子句总是与____B___配对。

(A)缩排位置相同的if(B)其之前最近的if

(C)其之后最近的if(D)同一行上的if

10.定义如下变量和数组:

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

则下面语句的输出结果是______。

for(i=0;i<3;i++)printf("%d",x[i][2-i]);

A)159B)147C)357D)369

11.在定义了inta[3][2];之后,对a的引用正确的是__C_____。

A)a[3][2]B)a[3][0]C)a[0][0]D)a[0,0]

12.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这

一关系的表达式为___A____。

A)a<>0B)!

aC)a=0D)a

13.执行以下程序段后,m的值为___A____。

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

intm,*p;p=&a[0][0];

m=(*p)+(*(p+2))+(*(p+4));

A)9B)8C)7

D)6

14.下列对字符串的说法中,错误的是_______。

A)字符串就是一个字符数组

B)字符串可以整体输入输出

C)字符串可以比较大小

D)存储字符串所需的内存空间等于字符串的长度

15.若有以下定义和语句,则输出结果是_______。

chars1="12345",s2="1234"

printf("%d\n",strlen(strcpy(s1,s2)));

A)4B)5C)9D)10

16.有一函数关系见下表:

x

y=

x<0

x-1

x=0

x

x>0

x+1

下面程序中能正确表示上面关系的是_______。

(A)y=x+1;(B)y=x-1;

if(x>=0)if(x!

=0)

if(x==0)y=x;if(x>0)y=x+1;

elsey=x-1;elsey=x;

(C)if(x<=0)(D)y=x;

if(x<0)y=x-1;if(x<=0)

elsey=x;if(x<0)y=x-1;

elsey=x+1;elsey=x+1;

17.以下正确的程序段是_______。

A)charstr[2];B)char*p;

scanf("%s",&str);scanf("%s",p);

C)charstr[20];D)charstr[20],*p=str;

scnaf("%s",&str[2]);scanf("%s",p[2]);

18.以下正确的函数定义形式是_______。

A)doublefun(intx,inty)

B)doublefun(intx;inty)

C)doublefun(intx,inty);

D)doublefun(intx,y);

19.以下有关宏替换不正确的是_______。

A)宏替换不占用运行时间B)宏名无类型

C)宏替换只是字符替换D)宏名必须用大写字母表示

20.

有如下语句inta=10,b=20,*p1,*p2;p1=&a;p2=&b;如图1所示。

若要实现图2所示的存储结构,可选用的赋值语句是_______。

A)*p1=*p2;B)p1=p2;C)p1=*p2;D)*p1=p2;

21.设char*s="\ta\018bc";则指针变量s指向的字符串所占的字节数是_______。

A)9B)5C)6D)7

22.以下程序的输出结果是_______。

#include

#include

main()

{char*s1="AbCbEf",*s2="AB";

s1++;s2++;

printf("%d\n",strcmp(s1,s2));

}

A)正数B)负数C)零D)不确定的值

23.fread(buf,64,2,fp)的功能是_______。

A)从fp文件流中读出整数64,并存放在buf中

B)从fp文件流中读出整数64和2,并存放在buf中

C)从fp文件流中读出64个字节的字符,并存放在buf中

D)从fp文件流中读出2个64个字节的字符,并存放在buf中

24.以下一维数组a的正确定义是_______。

A)inta(10);B)intn=10,a[n];

C)intn;D)#defineSIZE10

scanf("%d",&n);inta[SIZE];

inta[n];

25.若有定义:

inta[2][3];则对a数组中第i行第j列元素地址的正确引用为_______。

A)*(a[i]+j)B)(a+i)C)*(a+j)D)a[i]+j

26.以下程序段的输出结果是_______。

main()

{intn[3],i,j,k;

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

n[i]=0;

k=2;

for(i=0;i

for(j=0;j

n[j]=n[i]+1;

printf("%d\n",n[1]);

}

A)2B)1C)0D)3

27.以下程序输出的结果是_______。

intd=1;

fun(intp)

{intd=5;

d+=p++;printf("%d",d);

}

main()

{inta=3;

fun(a);

d+=a++;

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

}

A)84B)96C)94D)85

28.下列各组变量中,不可作为函数参数的是_______。

A)指向结构体变量的指针变量;

B)数组名或指向数组的指针变量;

C)指向函数的指针变量;

D)共用体变量;

29.若有以下说明和语句:

structstudent

{intnumber;char*name;

}stu1,*p=&stu1;

则以下引用方式不正确的是_______和_______。

A)stu1->numberB)(*p).numberC)p->number

D)stu1.numberE)*p.number

30.

下列变量中,哪类变量的生存期和作用域是不一致的_______。

A)自动变量B)定义在文件最前面的全局变量

C)局部静态变量

D)寄存器变量

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

• 

1.C程序是由_______构成的,其编译是以_______为单位进行的。

2.

设a为int型变量,请写出描述"a是奇数"的表达式_______

3.若数组a有m列,则a[i][j]之前的数组元素个数为_______。

4.请读程序片段:

charstr[]="english",*p=str;

printf("%s\n",*(p+3));

上面程序片段的输出结果是_______。

5.执行下面的程序段后,k值为_______。

k=1;n=263;

do{k*=n%10;n/=10;}while(n);

6.变量的作用域是指变量的有效范围。

按作用域变量可分为_______变量

和_______变量两大类。

7.设有程序片段:

switch(ch)

{caseˊAˊ:

printf("85-100\n");

caseˊBˊ:

printf("70-84\n");

caseˊCˊ:

printf("60-69\n");

caseˊDˊ:

printf("<60\n");

default:

printf("error!

\n");

}

若ch的值为ˊDˊ,则输出结果是_______。

8.下面程序的功能是在三个字符串中找出最小的,请填空:

#include

#include

main()

{chars[20],str[3][20];inti;

for(i=0;i<3;i++)gets(str[i]);

strcpy(s,____________________________);

if(strcmp(str[2],s)<0)strcpy(s,str[2]);

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

}

9.写出下列两种指针的定义:

指针p1为指向整型数据的指针______________;

p2为指向字符串"Iamastudent"的指针______________。

10.在一个源文件中定义的局部变量的作用域为______________。

三、阅读程序,按要求完成各题。

(20分)

1.以下程序的功能是:

利用函数求出用户输入的5个float型数据的平均值,

请填空。

(4分)

floatfunc(floata[],intn)

{inti;

floatsum=0.0,ave;

for(i=0;_______;i++)

sum=______________;

ave=_______;

return(_______);

}

main()

{inti;floata[5],average;

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

scanf("%f",&a[i]);

average=func(a,5);

printf("Theaverageoffivefloatis:

%f\n",average);

}

2.下面程序是将数组a的内容逆置重放。

请填空:

(6分)

main()

{inta[8],i,j,t;

printf("Input8numbertothearray:

\n");

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

scanf("%d",_______);

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

{j=_______;

t=a[i];a[i]=a[j];_______;

}

printf("\nThearrayhasbeeninvered:

");

for(i=0;i<8;i++)printf("%d",a[i]);

}

3.以下程序的功能是:

从键盘输入两个字符串,利用函数比较其是否相等,若相等返回1,否则返回0。

(6分)

f(chars[],chart[])

{inti=0;

while(s[i]==t[i]&&s[i]!

=ˊ\0ˊ)_______;

if(s[i]==ˊ\0ˊ&&_______)return

(1);

else_______;

}

main()

{chara[6],b[7];inti;

scanf("%s%s",a,b);

i=f(a,b);

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

}

4.输入一整数x,在数组a中查找x第一次出现的位置。

请填空。

(4分)

#include

main()

{inta[10]={10,24,34,55,9,17,87,22,9,19},x,i;

printf(“Inputaninteger:

”);

scanf("_______",&x);

for(i=0;_______;i++)

if(_______)break;

if(_______)

printf("Notfound.\n");

else

printf("Positionis:

%d\n",i);

}

 

 

参考答案

模拟试题二

一.选择题

1.D)2.C)3.B)4.D)5.A)

6.D)7.C)8.B)9.B)10.C)

11.C)12.D)13.A)14.D)15.A)

16.C)17.B)18.A)19.D)20.B)

21.D)22.A)23.D)24.D)25.D)

26.D)27.A)28.D)29.A)E)30.C)

二.填空题

1.函数,文件2.a%2!

=0(或a%2==1)3.i*m+j

4.lish5.366.全局局部

7.<60

error!

8.(strcmp(str[0],str[1])<0?

str[0]:

str[1])s

9.int*p1;char*p2="Iamastudent";

10.该变量所在的函数

三.阅读程序

1.i

2.&a[i]8-i-1a[j]=t

3.i++t[i]==ˊ\0ˊreturn(0)

4.%di<10a[i]==xi>=10

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

当前位置:首页 > 小学教育 > 其它课程

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

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