C语言自学考试模拟试题及复习资料1_第1页
C语言自学考试模拟试题及复习资料1_第2页
C语言自学考试模拟试题及复习资料1_第3页
C语言自学考试模拟试题及复习资料1_第4页
C语言自学考试模拟试题及复习资料1_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

C语言自学考试模拟试题及答案

单项选择题

1.各种基本数据类型的存贮空间正确的长度排列为

C.

A.Char<1ong<int<f1oat<doub1eB.Double<float<lon

g<int<char

C.Char<int<long<float<doubleD.Float<int<long<c

har<double

2.下面的变量说明中C是正确的。

A.Char:a,b,c;B.Chara;b;c;

C.Chara,b,c;D.Chara,b,c

3.main()

{intn;

(n=6*4,n+6),n*2;

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

}此程序的输出结果是B.

A.30B.24C.60D.48

4.若有如下定义,则_C和D_是对数组元素的

正确的引用。。

inta[10],*p

P=a;

A..*&a[10].B..a[ll].C.*

(p+2).D.*p

5.设整型变量n的值为2,执行语句“n+=n-=n*n;"后,n的值

是—C_______

A.0B.4C.-4D.2

6.表达式尸(13>12?15:6>7?8:9)的值为C.

A9B8C15D.1

7.若x=5,y=3则y*=x+5;y的值为—D.

A.10B.20C.15D.30

8.C语言的输入及输出操作是由____C完成的。

A.输入语句B.输出语句

C.输入及输出函数D.输入及输出语句

9.语句for(k=0;k<5;++k)

{if(k==3)continue;

printf("%d",k);

}的输出结果为B.

A.012.B.0124.C..01234.D.没有输出

结果

10.从循环体内某一层跳出,接着执行循环外的语句是:

A

A.break语句.B.return语

C.continue语句D.空语

句。

11.Break语句的止确的用法是B.

A.无论在任何状况下,都中断程序的执行,退出到系统下一层。

B.在多重循环中,只能退出最靠近的那一层循环语句。

C.跳出多重循环。

D.只能修改限制变量。

12.两个指针变量的值相等时,表明两个指针变量是

______B.

A.占据同一内存单元。B.指向同

一内存单元地址或者都为空。

C.是两个空指针。D,都

没有指向。

13.不正确的指针概念是D.

A.一个指针变量只能指向同一类型的变量。

B.一个变量的地址称为该变量的指针。

C.只有同一类型变量的地址才能存放在指向该类型变量的指针

变量之中。

D.指针变量可以赋随意整数,但不能赋浮点数。

4.语句printf(〃s\\t〃)的输出结果为(B)A

s\\tBs\tCs\Ds

5.执行下列语句中,sum变量的值是(B)

intsum=O

for(inti=0;i<10;i++,sum+=i);

A45B55C0D编译错误

6.已知有共用体变量datal定义如下:

uniondata

{inti;

charch;

floatf;

}datal;则变量datal所占的内存存储空间可表示为(C)

Asizeof(int)Bsizeof(char)

Csizeof(float)

Dsizeof(int)+sizeof(char)+sizeof(float)

7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,

则表示

()

A已读到此文件末尾B未读到此文件的末尾

C此文件已关闭D此文件尚未被打开

8.以下c语言函数声明中,不正确的是()

Avoidfun(intx,inty);Bfun(intx,inty)

Cintfun(intx,y);Dchar*fun(char*s);

9.下列选项中,不合法的C语言关键字是()

AautoBdefaultCstaticDvar

10.若x=4,则x*=x+2的值为()

A36B24C18D20

11.函数调用语句func((expl,exp2),(exp3,exp4,exp5));

中,实参的个

数为()

AlB2C4D5

12.设a为5,执行下列语句后,b的道不为2的是()

Ab=a/2Bb=6-(-a)

Cb=a%2Db=a>32:1

13.假设指针pl已经指向了某个整型变量,要使指针p2也指向

同一个变

量,则下面各项中正确的是()

Ap2=**plBp2=*&pl

Cp2=*plDp2=&*pl

14.以下运算符中,运算对象必需是整型的是()

A/B妒C!二D仁

15.以下关于typedef的叙述中错误的是()

A用typedef可以增加新的类型

B用typedef可以定义各种类型名,但不能用来定义变量

C用typedef只是将已有的类型用新的标识符来代表

D运用typedef有利于程序的通用和移植

16.若执行完成下列语句:

inta=3,b=6,c;

c=aAb《2;

则变量c的二进制值为()

A00011100B00010100C0001000D00011011

17.设有定义intx=l;inty='a'<'A'x-:x++;,则变

量y的值是

()

AOB2ClD3

18.以下关于宏替换的叙述不正确的是()

A宏替换只是字符替换B宏名无类型

C宏替换不占用运行时间D宏替换不占用编译时间

19.以下对枚举类型名的定义中正确的是()

Aenums=(a,b,c}Benums{a=9,b=2,c}

Cenums={za7,,b,,'cr]

Denums{raz,'b',f}

20.假设指针p已经指向某个整型变量x,则*p相当于()

A&・B&.C.D*x1.A2.D3.

A4.B5.B6.C7.

A8.C

9.D10.B11.B12.C13.

D14.B15.A16.D

17.C18.D19.B20.C

二,多项选择题(在每小题的五个冬选答案中,选出二至五个

正确答案,并将其代码填写在题干后的括号内;错选,多选不得分。

每小题2分,共10分)

1.C语言中的文件类型有()

A索引文件B文本文件CASCH文件

D二进制文件E随机文件

2.以下关于C语言中循环的描述正确的是()

A在while和do-while循环体内应包含使循环趋于结束的语句

Bdo-while的循环体不能是复合语句

Cdo-while的循环体至少无条件执行一次

D在for循环中可以运用break语句跳出循环体

Efor循环只能用于循环次数已经确定的状况

3.合法的变量名有()

Aa_l_2Bb2C_abcDABCE$1

4.整型变量的类型标识符是()

AshortBlongCUnsignedint

DintEchar

5.以下叙述中正确的是()

A一个C厝言程序有且仅有一个main函数

BC语言程序中,main函数是没有参数的

C一个函数通过其他函数间接的调用了自身,这种状况也是一种

递归

调用

Dmain函数是由系统调用的

E若要通过函数参数带回一个或多个返回值,则应运用按地址传

送的参数结合方式

三,推断题(认为对的,在题后的括号内打”J〃,认

为错的打〃X〃。每小题1分,共6分)

1.若有说明intc;则while(c=getchar());是错误的C

语句。()

2.C语言中,共用体类型的变量在程序运行期间,全部成员都在

内存中。O

3.在一个函数内部的复合语句中定义的变量,只在该复合语句

范围内有效。()

4.C语言程序中,一个文件中的函数可以引用存储在另一个文件

中的函数和变量。()

5.运用continue和break语句,都可以使得C程序的执行直接

从循环中跳出。()

6.若a为一维数组名,贝lj*(a+i)及a[i]等价。()

四,阅读程序,将程序运行结果填写到题后的横线上(每小题

5分,共25分)

1.ttinclud.,fstdio.h"

mainO

{stati.cha.str口=“Language";

cha.*s=&str[8];

whil.(-s>=&str[0].putcha.(*s);

putchar('\n');

输出结果:__________________________

2.main.)

.in.a[6]={12,4,17,24,27,16);

in.b[6]={27,13,4,25,23,16);

fo.(in.i=0;i<6;i++)

{fo.(in.j=0;j<6;j++)

i.(a[i]==b[j])

break;

i.(j<6.printf(,z%dz,,a[i])

输出结果:______________________________

3.#includ.<stdic.h>

in.mian.)

in.i=0,sum=O;

whil.(1)

sum+=i;

i++;

i.(i>5.break;

print.(“sum=%d\n〃,sum);

程序运行结

果:

4.in.fun(in.n)

.i.(n>0)

retur.n*fun(n-l);

else

retur.1;

)

main()

{in.a=fun⑷;

printf(z,a=%d\n,a);

)

程序运行结果:___________________

5.fu.(in.i)

stati.in.s=3;

s+二i

retur.(s);)

main()

.in.a=2,b=l,s;

s=fun(a).s=fun(b);

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

程序运行结果:_____________________

五.程序填空题(依据题意要求,将程序补充完成。每

空2分,共22分)

1.以下程序输入整数a,b的值,然后交换a,b的值,并输出交换后

的结果。

Vod.swap(①)

{in.t;

t=*a;

②_____________________

③_____________________

}

main()

in.a,b;

scanf("%d,%dz,,&a,&b);

④_______________________

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

)

2.以下程序的功能是:从键盘输入一串字符(以回车换行符结束),

统计

其中小写英文字母的个数,将结果保存在变量count中。

mainO

(

in.①;

cha.c;

②_______________________

whil.(c!=,\n')

{

i.(③)

④:

c=getchar();

)

printf(z,hav.type.%,lowe.letters^,count);

)

3.下面程序的功能是用函数递归方法计算菲波那契数列,请填空完

善之。

main()

in.n,m;

scanf("%d",&n);

m=©;

printf(w%d",m);

)

in.fibo(n);

in.n;

if(n==l.②;

els.if(n==2.return(1);

els.retur.(③);

六.编程题(第1小题8分,第2小题9分,共17分)

1.求出10至1000之内能同时被2.3.7整除的数,并输出。

2.输出整数n,求表达式

的值。要求,程序中求2x的功能部分必需在一函数中完成,

函数名使

用expto

试题参考答案及评分标准一.单项选择题(每小题1分,共20分)

1.A2.D3.A4.B5.

B6.C7.A8.C9.D10.

B11.B12.C13.D14.B

15.A16.D17.C18.D19.B20.C二.多

项选择题(错选.多选不得分。每小题2分,共10

分)1...D2...D3....D4

....D5....E三.推断题(每小题1分,

共6

分)1.X2.X3.V

4.J5.X6.V四.阅读程序,

将程序运行结果填写到题后的横线上(每小题5

温馨提示

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

评论

0/150

提交评论