C语言考试复习题.docx

上传人:b****9 文档编号:25512101 上传时间:2023-06-09 格式:DOCX 页数:78 大小:71.13KB
下载 相关 举报
C语言考试复习题.docx_第1页
第1页 / 共78页
C语言考试复习题.docx_第2页
第2页 / 共78页
C语言考试复习题.docx_第3页
第3页 / 共78页
C语言考试复习题.docx_第4页
第4页 / 共78页
C语言考试复习题.docx_第5页
第5页 / 共78页
点击查看更多>>
下载资源
资源描述

C语言考试复习题.docx

《C语言考试复习题.docx》由会员分享,可在线阅读,更多相关《C语言考试复习题.docx(78页珍藏版)》请在冰豆网上搜索。

C语言考试复习题.docx

C语言考试复习题

 

一、选择题

 

1.在每个C程序中都一定包括有这样一个函数,该函数的函数名

A.main

B.MAIN

C.name

D.function

2.

在以下对于C语言的说明的表达中,不正确的选项是

A.说明可用"/*"、"*/"形式表示,也可用"//"形式表示

B.编译器在编译一个程序时,将跳过说明,不对其进行办理

C.编译器在编译一个程序时,可发现说明中的单词拼写错误

D.程序中说明的多少不会影响所生成的可履行文件的长度

3.以下表达不正确的选项是。

A.在C程序中,严格划分大小写字母

B.一个C源程序有且仅有一个main函数

C.在C程序中,说明只好位于一条语句的后边D.一个C程序老是从main函数开始履行

4.以下合法的表记符为

A.abde+B.#KDJFC.67KDJD.DK3_

5.对于字符串和字符的关系正确的选项是

A.“A”与’A’是同样的

B.字符串是常量,字符是变量

C.“A”与’A’是不一样的

D.“A”与“A”是同样的

6.下边对于语句的说法正确的选项是

A.下边这两段程序的履行成效是一致的

if(x>y)

{z=x;s=z*z;}

else

{z=y;s=1/(z*z);}

if(x>y)

z=x;s=z*z;

else

z=y;s=1/(z*z);

B.空语句是只有一个分号的语句,它其实什么也不干

C.语句的构成不必定需要分号

 

D.语句的书写对程序的运转不起作用,所以能够随意写都能够

7.以下各表记符中,合法的用户表记符组为。

A.PAd,P#d,b-b,abc,_0123,ssiped

B.cin,a10,CPP,float,del_word,signed

C.void,max,hiy,,list,*jer

D.a,temp,_isw,INT,keep,wind

8.

字符串“”E

””的长度是

A.8

B.9

C.12

D.非法字符串

9.

数学式sinx在C程序中对应的不正确的表达式为

A.sqrt(sin(x)>0?

sin(x):

-sin(x))

B.sqrt(fabs(sinx))

C.sqrt(sqrt(sinx*sinx))

D.fabs(sqrt(sin(x)))

10.

以下

是C语言的有效表记符?

A._No1

B.No.1

C.12345

D.int

11.C语言中,表示一条语句结束的标号是

A.#B.;C.//D.}

12.每个C程序中都一定有且仅有一个

A.类

B.预办理命令

C.主函数

D.语句

13.

以下数据种类不是C语言基本数据种类的是

A.字符型

B.整型

C.实型

D.数组

14.

以下字符列中,可作为C语言程序自定义表记符是

A.switch

B.file

C.break

D.do

15.

运算符+、<=、=、%中,优先级最低的运算符是

A.+

B.<=

C.=

D.%

16.

以下字符列中,能够作为“字符串常量”的是

A.ABC

B.″xyz″C.′uvw′

D.′a′

17.

设变量m,n,a,b,c,d均为0,履行(m=a==b)||(n=c==d)后,

m,n的值是

A.0,0

B.0,1

C.1,0

D.1,1

18.

字符串"vm\x43\\\np\102q"的长度是

A.8

B.10

C.17

D.16

 

19.在C语言中,自定义的表记符

 

A.能使用重点字而且不划分大小写

B.不可以使用重点字而且不划分大小写

C.能使用重点字而且划分大小写

D.不可以使用重点字而且划分大小写

20.设x

A.

和y均为逻辑型变量,则

它们均为真B.

x&&y为真的条件是

此中一个为真

C.它们均为假21.若给定条件表达式

D.此中一个为假

(m)?

(a++):

(a--),则此中表达式

 

m

 

A.和(m==0)等价

C.和(m!

=0)等价

B.和(m==1)等价

D.和(m!

=1)等价

22.在

A.

if语句中,用作判断的表达式为

关系表达式B.

逻辑表达式

C.算术表达式23.设i和k都是

D.随意表达式

int种类,则以下for循环语句

 

for(i=0,k=-1;k=1;i++,k++)cout<<"****\n";

A.判断循环结束的条件不合法C.循环体一次也不履行

B.是无穷循环

D.循环体只履行一次

24.如有以下语句,则输出结果为

inta=2,b=1;

cout<b?

"a大于b":

"a小于

A.a大于bB.a小于b

25.intk=10;

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

 

b"<

C.1

 

D.输出语句有错

则下边描绘正确的选项是

A.while循环履行10次

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

26.inta=1,b=2,c=2,t;

while(a

B.循环是无穷循环

D.循环体语句履行一次

cout<

运转结果为。

 

A.1,2,0B.2,1,0C.1,2,1D.2,1,1

27.intx=-1;do

{x=x*x;}

while(!

x);

以下法正确的选项是

A.是死循

B.循行两次

C.循行一次

D.有法

28.以下能正确算A.do{i=1;s=1;

1*2*3*

⋯*10

的程序段是

B.do{i=1;s=0;

s=s*i;i++;}

s=s*i;i++;}

while(i<=10);

while(i<=10);

C.i=1;s=1;

D.i=1;s=0;

do{s=s*i;

do{s=s*i;

i++;}

i++;}

while(i<=10);

while(i<=10);

29.以下描绘正确的选项是。

A.因为do-while循中循体句不过一条可行句,

体内不可以使用复合句

 

所以循

B.do-while循由do开始,用while束,在while(表达式)后边

不可以写分号

C.在do-while循体中,必定要有能使

零(“假”)的操作

while

后边表达式的

D.do-while循中,依据状况能够省略while

30.while和do-while循的主要区是。

A.do-while的循体起码无条件行一次

B.while的循控制条件比do-while的循控制条件格

C.do-while允从外面到循体内

D.do-while的循体不可以是复合句

31.下边相关for循的正确描绘是。

A.for循只好用于循次数已确立的状况B.for循是先行循体句,后判断表达式

 

C.for循环中,不可以用break语句跳出循环体

D.for循环的循环体语句中,能够包括多条语句,但一定用花括号括起来

32.

对for(表达式1;;表达式3)可理解为

A.for(表达式1;0;表达式3)

B.for(表达式1;1;表达式3)

C.for(表达式1;表达式1;表达式3)

D.or(表达式1;表达式3;表达式3)

33.

在C编程语言中,以下正确的描绘是

A.continue语句的作用是结束整个循环的履行

B.只好在循环体内和switch语句体内使用break语句

C.在循坏体内使用break语句或continue语句的作用同样

D.从多层循环嵌套中退出,只好使用goto语句

34.下边程序段。

for(t=1;t<=100;t++)

{cin>>x;if(x<0)continue;cout<

A.当

x<0

时整个循环结束

B.x>=0

时什么也不输出

C.cout

永久也不履行

D.最多同意输出

100个非负整数

35.定义一个函数实现互换x和y的值,并将结果正确返回。

能够实

现此功能的是。

A.swap(intx,inty){intt;t=x;x=y;y=t;}

B.swap(int*x,int*y){intt;t=x;x=y;y=t;}

C.swap(int*x,int*y){intt;t=*x;*x=*y;*y=t;}

D.swap(int*x,int*y){int*t;t=x;x=y;y=t;}

36.如有代数式3ae/bc,则不正确的C语言表达式是

A.a/b/c*e*3B.3*a*e/b/c

C.3*a*e/b*cD.a*e/c/b*3

37.以下表达式值为3的是

A.16-13%10B.2+3/2

C.14/3-2D.(2+6)/(12-9)

 

38.设有说明语句,intk=7,x=12;则以下能使值为

 

3的表达式是

 

A.x%=(k%=5)

B.x%=(k-k%5)

C.x%=k-k%5

D.(x%=k)-(k%=5)

39.如有条件表达式(exp)?

A++:

b--,则以下表达式中能完整等价于表

达式(exp)的是。

A.(exp==0)B.(exp!

=0)C.(exp==1)D.(exp!

=1)

40.设有以下语句:

typedefstructREC

{charc;inta[4];}REC1;

则下边表达中正确的选项是。

A.能够用REC定义结构体变量

B.REC1是structREC种类的变量

C.REC是struct种类的变量

D.能够用REC1定义结构体变量

41.以下对于结构的语法错误的选项是

A.结构是由用户自定义的一种数据种类

B.结构中可设定若干个不一样数据种类的成员

C.结构中成员的数据种类能够是另一个已定义的结构

D.在定义结构时,能够为成员设置默认值

42.以下对于结构体的表达中,错误的选项是。

A.结构体是一种可由用户结构的数据种类

B.结构体中的成员能够拥有不一样的数据种类

C.结构体中的成员不可以够与结构体变量同名

D.结构体中的成员能够是指向自己结构的指针种类

43.说明一个结构体变量时,系统分派给它的内存是。

A.各成员所需内存量的总和

B.结构中第一个成员所需内存量

C.成员中占内存量最大者所需的容量

D.结构中最后一个成员所需内存量

44.设有以下说明语句:

structstu

 

{inta;floatb;}stutype;

则下边的表达不正确的选项是。

A.struct是结构体种类的重点字

B.structstu是用户定义的结构体种类名

C.stutype是用户定义的结构体种类名

D.a和b都是结构体成员名

45.如有以下定义

structdata

{intx,y;}

test1={10,20},test2;

则以下赋值语句中错误的选项是

A.test2=test1;B.test2.x=test1.x;

C.test2.x=test1.yD.test2={30,40};

46.以下对结构体变量stu1中成员age的非法引用是

structstudent

{intage;intnum;}stu1,*p;

p=&stu1;

 

A.stu1.ageB.student.ageC.p->ageD.(*p).age

47.当说明一个共用体变量时,系统分派给它的内存是。

A.各成员所需内存量的总合

B.结构中第一个成员所需内存量

C.成员中占内存量最大者所需的容量

D.结构中最后一个成员所需内存量

48.以下对C语言中共用体种类数据的表达正确的选项是。

A.能够对共用体变量名直接赋值

B.一个共用体变量中能够同时寄存其全部成员

C.一个共用体变量中不可以同时寄存其全部成员

D.共用体种类定义中不可以出现结构体种类的成员

49.如有以下定义和语句:

uniondata

{inti;charc;floatf;}a;intn;

则以下语句正确的选项是。

 

A.a=5;

 

B.a={2,’a’,1.2}

C.printf(“%d\n”,a);

D.n=1;

50.设有以下说明,则下边不正确的表达是。

union

{inti;charc;floatf;}un;

A.un所占的内存长度等于成员f的长度

B.un的地点和它的成员地点都是同一地点

C.un能够作为函数参数

D.不可以对un赋值,但能够在定义un时对它初始化

51.C语言共用体种类变量在程序运转时期

A.全部成员向来驻留在内存中

B.只有一个成员驻留在内存中

C.部分红员驻留在内存中

D.没有成员驻留在内存中

52.使用typedef定义一个新种类的正确步骤是

 

A.

(2)、(4)、

(1)、(3)B.

(1)、(3)、

(2)、(4)

C.

(2)、

(1)、(4)、(3)D.(4)、

(2)、(3)、

(1)

(1)把变量名换成新种类名

(2)按定义变量的方法写出定义体

(3)用新种类名定义变量

(4)在最前方加上重点则typedef

53.下边对typedef的表达中不正确的选项是。

A.用typedef能够定义各样种类名,但不可以用来定义变量B.用typedef能够增添新种类

C.用typedef不过将已存在的种类用一个新的表记符来代表D.使用typedef有益于程序的通用和移植

54.下边试图为double说明一个新种类名real的语句中,正确立

是。

A.typedefrealdouble;

B.typedefdoublereal;

C.typedefreal=double;

 

D.typedefdouble=real;

55.下边不可以正确进行字符串赋值操作的是

A.chars[5]={“ABCDE”};

B.chars[5]={‘A’,‘B’,‘C’,‘D’,‘E’};

C.char*s;s=“ABCDE”;

D.char*s;scanf(“%s”,s);

56.下边程序段的运转结果是

char*s=”abcde”;

s+=2;

printf(“%d”,s);

A.cde

B.字符c

C.字符c的地点

D.无确立的输出结果

57.下边程序段的运转结果是

chara[]=”language”,*p;

p=a;

while(*p!

=’u’){printf(“%c”,*p-32);p++;}

A.LANGUAGE

B.languageC.LANG

D.langUAGE

58.有以下说明语句,则以下不正确的表达是

chara[]=”Itismine”;

char*p=”Itismine”;

A.a+1表示的是字符t所在储存单元的地点

B.p指向此外的字符串时,字符串的长度不受限制

C.p变量中寄存的地点值能够改变

D.a中只好寄存10个字符

 

答案:

1.A2.C3.C4.D5.C6.B7.D

8.A

9.B10.A11.B12.C13.D14.B15.C16.B

17.D

18.A19.D

20.A

21.C

22.D23.B

24.A

25.C

26.D27.C

28.C

29.C

30.A

31.D

32.B

33.B

34.D35.C

36.C

37.B

38.

D

39.B

40.D

41.D

42.C

43.A

44.C

45.D46.B47.C

48.C

49.B

50.C

51.B52.C

53.B

54B

55.C

56.C

57.C

58.D

 

二、填空题

 

1.

程序的三种基本的控制结构是:

2.

C语言中的每条基本语句以

作为结束符,每条复合语句

作为结束符。

3.

关系表达式x+y>5的相反表达式为

4.

下边的程序段中循环体的履行次数是

a=10;b=0;

do{b+=2;a-=2+b;}while(a>=0);

5.

下边程序段的运转结果为

x=2;

do{cout<<“*”--;;x}while(!

x==0);

6.已知inta[3][2]={3,2,1};则表达式“a[0][0]/a[0][1]”的值

是。

7.若用数组名作为函数调用时的实参,则实质上传达给形参的

8.

假如一个函数无返回值,定义它时函数种类应是

9.

预办理命令以

开头。

10.指针种类变量用于储存,在内存中它据有一个

储存空间。

11.赋值语句在履行时先计算,再将该值变换成与一

致的值,并将值赋给左部变量。

12.

在程序中else老是与

的if

配对,而不论程序的书写

格式怎样。

13.

在函数中使用

语句返回值。

14.

函数的形参在未被调用前

分派空间,函数形参的

和实参同样。

15.

函数调用一般分

,前者的特色是形

参和实参各有独立的储存空间,形参的储存空间在函数被调用时才分

配,形参内容的变化不影响实参,后者的特色是形参实参共用一个储存空间,形参内容的改变能够改变实参值。

 

16.

在传值调用中,实质是把实参的

传给形参。

17.inta[3]={3};

则a[2]=

18.inta[3]={1,3,5,7};则

19.

数组由

构成,其数组元素的数据种类

20.

申明长度为

10的float

型数组a,且初始化为0

的语句

是:

21.

指针是寄存一个变量的

的变量。

22.

当数组名作形参时,相当于

23.

要接见数组元素能够采纳

24.定义一个指针p,它指向一个有6个整型元素的一维数组,定义

语句为。

25.定义一个指针数组p,它有4个元素,每个指针指向一个整型数

据,定义语句为。

26.指针能够指向字符串,在定义一个字符型指针时,能够给它初始

化,目的是把字符串的放入指针变量。

27.

指针能够指向函数,这时它所指的是函数的

28.C语言的源程序一定经过

后,才能被计算

机履行。

29.C语言源程序言件的后缀是

;经过编译后,生成文件的

后缀是

;经过连结后,生成文件的后缀是

30.

在C语言中,表示逻辑“真”值用

31.

设y为int型变量,请写出描绘“y是奇数”的表达式

32.C语言供给的3种逻辑运算符是

33.若x、y、z均为int型变量,则描绘“x或y中有一个小于z”的

表达式是

34.设

c>a

a、b、c均为

||a

int型变量且

!

c>b的值是

a=7.5,b=2,c=3.6,则表达式。

a>b

&&

35.设a、b、c均为b+c/2的值是

int

型变量且。

a=6,b=4,c=2,则表达式

!

(a-b)+c-1

&&

 

36.

设a、b均为int型变量且a=2,b=4,则表达式!

(x=a)||(y=b)

&&

0的值是

37.

设a、b、c均为int型变量且a=1,b=4,c=3,则表达式!

(a

||!

c&&1的值是

38.

如有条件“2

 

答案:

1.

次序结构

选择结构

循环结构

2.

;}

3.x+y<=5

4.3

5.**

6.1

7.数组首地点

8.内置函数

9.#

10.所指变量的地点

11.表达式的值左部变量种类

12.它前方近来且未配对

13.return

14.不种类及数目

15.传值调用传址调用

16.值

17.0

18.会犯错

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

当前位置:首页 > 高等教育 > 军事

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

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