C语言复习题文档格式.docx

上传人:b****2 文档编号:5185766 上传时间:2023-05-04 格式:DOCX 页数:22 大小:27.94KB
下载 相关 举报
C语言复习题文档格式.docx_第1页
第1页 / 共22页
C语言复习题文档格式.docx_第2页
第2页 / 共22页
C语言复习题文档格式.docx_第3页
第3页 / 共22页
C语言复习题文档格式.docx_第4页
第4页 / 共22页
C语言复习题文档格式.docx_第5页
第5页 / 共22页
C语言复习题文档格式.docx_第6页
第6页 / 共22页
C语言复习题文档格式.docx_第7页
第7页 / 共22页
C语言复习题文档格式.docx_第8页
第8页 / 共22页
C语言复习题文档格式.docx_第9页
第9页 / 共22页
C语言复习题文档格式.docx_第10页
第10页 / 共22页
C语言复习题文档格式.docx_第11页
第11页 / 共22页
C语言复习题文档格式.docx_第12页
第12页 / 共22页
C语言复习题文档格式.docx_第13页
第13页 / 共22页
C语言复习题文档格式.docx_第14页
第14页 / 共22页
C语言复习题文档格式.docx_第15页
第15页 / 共22页
C语言复习题文档格式.docx_第16页
第16页 / 共22页
C语言复习题文档格式.docx_第17页
第17页 / 共22页
C语言复习题文档格式.docx_第18页
第18页 / 共22页
C语言复习题文档格式.docx_第19页
第19页 / 共22页
C语言复习题文档格式.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言复习题文档格式.docx

《C语言复习题文档格式.docx》由会员分享,可在线阅读,更多相关《C语言复习题文档格式.docx(22页珍藏版)》请在冰点文库上搜索。

C语言复习题文档格式.docx

10;

i++)a[i]=i;

3;

i++)p[i]=a[i*(i+1)];

i++)k+=p[i]*2;

printf(“%d\n”,k);

}

A)20B)21C)22D)23

7、以下程序的输出结果为:

charstr[]="

ab\n\012\\\"

"

;

strlen(str));

A)3B)4C)6D)12

8、以下程序的输出结果是:

{intn[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for(i=1;

i++)for(j=0;

j<

=i;

j++)s+=a[i][j];

%d\n"

s);

A)18B)19C)20D)21

9、设有以下宏定义:

#defineN3

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

则执行语句:

z=2*(N+Y(5+1));

后,z的值为:

A)出错B)42C)48D)54

10、下列程序执行后输出的结果为:

f(inta)

{staticintb,c=3;

a=b;

b=++c;

return(a);

{inta=2,j,k;

for(j=0;

2;

j++)k=f(a);

A)4B)0C)6D)5

11、下列程序语句的输出是:

intn=0;

while(n++<

=2);

n);

(A)2(B)3(C)4(D)有语法错误

12、下列程序语句的输出是:

inta=011;

++a);

(A)12(B)11(C)10(D)9

13、执行语句for(i=1;

i++<

4;

);

后,变量i的值是:

(A)3(B)4(C)5(D)不确定

14、定义intx=0,y=8,z=9后,则下面表达式的值为0的是:

(A)'

x'

&

'

y'

(B)x<

=y(C)x||y+z&

y-z(D)!

((x<

y)&

!

z||1)

15、对下述程序段描述正确的是:

intk=0;

while(k=1)k++;

A)有语法错误,不能执行B)循环是无限的

C)循环体语句一次也不能执行D)循环体语句执行一次

16、下述程序的运行结果是:

#include"

stdio.h"

{inti;

for(i=1;

=5;

i++)

{if(i%2)printf("

*"

elsecontinue;

printf("

#"

}

$\n"

(A)*#*#*#$(B)#*#*#*$(C)*#*#$(D)#*#*$

17、下述程序的输出结果是:

intx;

voidfun();

voidmain()

{intx=1;

if(x==1){intx=2;

%d,"

x++);

{externintx;

++x);

fun();

voidfun(){printf("

A)2,1,1B)1,2,1C)2,2,2D)2,2,1

18、下面对宏定义的描述,不正确的是:

A)宏不存在类型问题,宏名无类型,它的参数也无类型

B)宏替换不占用运行时间

C)宏替换是先求出实参表达式的值,然后代入形参运算求值

D)其实,宏替换只不过是字符替代而已

19、以下程序的输出结果是:

#include<

stdio.h>

intfunc(inta,intb);

{intk=4,m=1,p;

p=func(k,m);

p);

intfunc(inta,intb)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

A)8,17B)8,16C)8,20D)8,8

20、若有说明:

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

则a数组第一维的大小是:

(A)2(B)3(C)4(D)无确定值

19、下列程序段执行后,s的值为:

charch[]=”600”;

inta,s=0;

for(a=0;

ch[a]>

=’0’&

ch[a]<

=’9’;

a++)s=10*s+ch[a]-‘0’;

a)600b)6c)0d)出错

20、在c程序中,注释部分从哪开始,到哪结束?

a)从*/开始,到/*结束b)从REM开始,无结束标志

c)无起始标志d)从/*开始,到*/结束

20、针对下列语句的正确的叙述为()

charx[]=”abcd”;

chary[]={‘a’、‘b’、‘c’、‘d’};

a)数组x和数组y等价b)数组x和数组y的长度相同

c)数组x的长度大于y的长度e)数组x的长度小于y的长度

22、下列程序段的输出结果为(u代表空格)()

chars[10];

s=“abcd”;

printf(“%s\n”,s);

a)abcdb)ac)abcduuuuud)编译不通过

23、若j为int型变量,则下列语句的执行结果为()

for(j=10;

j>

j--)

{if(j%3)j--;

--j;

--j;

printf(“%d”,j);

a)63b)74c)62d)73

24、下列程序段的输出结果为()

intx=3;

do{printf(“%3d”,x-=2);

}while(!

(--x));

a)1b)30c)1-2d)死循环

25、设变量已正确定义并赋值,则符合C语言语法的表达式是:

()

(A)a=a+5;

(B)a=b=c++(C)int(34.5%5)(D)a=a+8=b-c

26、下列程序段的运行结果是:

intn=0;

while(n++<

printf("

(A)2(B)3(C)4(D)有语法错误

27、若有说明:

inta[3][4];

则对a数组元素的正确引用是:

(A)a[2][4](B)a[1,3](C)a[1+1][0](D)a

(2)

(1)

45、针对以下程序段,说法正确的是()

inta=5,b=0,c=0;

if(a=b+c)printf("

***"

&

(A)有语法错误不能通过编译(B)可以通过编译但不能通过连接

(C)输出***       (D)输出 &

28、执行下面的程序段后,a的值为()

inta,b;

for(a=1,b=4;

a<

=60;

a++)

{if(b>

=23)break;

if(b%3==1){b+=3;

continue;

b-=5;

(A)7(B)8(C)9(D)10

29、以下描述中错误的是()

(A)函数调用可以出现在执行语句中

(B)函数调用可以出现在表达式中

(C)函数调用可以作为函数的实际参数

(D)函数调用可以作为函数的形式参数

30、以下程序的输出结果是()

#defineADD(x)x+x

{intm=1,n=2,k=3;

intsum=ADD(m+n)*k;

sum=%d"

sum);

(A)sum=9(B)sum=10(C)sum=12(D)sum=18

31、以下程序的输出结果是()

voidfun(inta,intb,intc)

{a=456;

b=567;

c=678;

{intx=10,y=20,z=30;

fun(x,y,z);

printf(“%d,%d,%d”,z,y,x);

(A)30,20,10(B)10,20,30(C)456,567,678(D)678,567,456

32、下面程序应能对两个整型变量的值进行交换。

以下说法正确的是()

{inta=10,b=20;

(1)a=%d,b=%d\n"

a,b);

swap(&

a,&

b);

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

a,b;

swap(intp,intq)

{intt;

t=p;

p=q;

q=t;

(A)该程序完全正确

(B)该程序有错,只要将语句swap(&

中的参数改为a,b即可

(C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针变量即可

(D)以上说法都不正确

33.执行下面的程序段后,a的值为:

for(a=1,b=1;

=100;

=20)break;

}b-=5;

A.7B.8C.9D.10

34.该程序的输出结果是多少?

#include<

main()

{inti,j,x=0;

i++){x++;

=3;

j++){if(j%2)continue;

x++;

}}

x=%d\n"

}

A.x=4B.x=8C.x=6D.x=12

35.下面这个程序的输出是什么?

main(){inty=10;

while(y--);

y=%d\n"

y);

A.y=0B.while构成死循环C.y=1D.y=-1

36C语言可执行程序从什么地方开始执行?

A.程序中第一条可执行语句B.程序中第一个函数

C.程序中的main函数D.包含文件中的第一个函数

37.以下对C语言函数的有关描述中,正确的是:

A.在C中,调用函数时,只能把实参的值传给形参,形参的值不能传给实参

B.C函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C程序中有调用关系的所有函数必须放在同一个源程序文件中

38.以下叙述中不正确的是:

A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值

B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容

C.在C中,全局变量的隐含类别是自动存储类别

D.在C中,函数形参可以说明为register变量

39、表示关系x>

=y>

=z的c语言表达式为:

a)(x>

=y)&

(y>

=z)b)(x>

=y)AND(y>

=z)c)(x>

=z)d)(x>

=z)

40、假定a和b为int型变量,则执行以下语句后b的值为:

a=2;

b=8;

do{b-=a;

a++;

}while(b--<

0);

a)6b)4c)–1d)5

41、下述对C语言字符数组的描述中错误的是:

a)字符数组可以存放字符串

b)字符数组中的字符串可以整体输入、输出

c)可以用关系运算符对两个字符串进行比较

d)不能在赋值语句中通过赋值运算符“=”对字符数组整体赋值

42、以下程序的输出结果是:

intf(intx,inty)

{intz;

while(y){z=x%y;

x=y;

y=z;

}return(x);

{inta=32,b=24,c;

c=f(a,b);

printf(“%d\n”,c);

a)6b)7c)8d)9

二、多项选择题

1、指出下面合法的标识符:

A.3abB.intC.ABCD.a_3

E.sum.aF.#abcG._stu2H.abcf

2.指出下面哪些是合法的用户定义的标识符:

A.P-SB.putcharC.doubleD._908

E.*parF.sheep!

G.windH.xy

3.以下哪些不是C语言提供的合法的关键字:

A.charB.swicthC.CaseD.default

4.指出下面哪些是合法的关键字:

A.charB.abcC.printfD.Int

E.floatF.defineG.includeH.PI

5.下面哪些是定义局部变量储存类别的关键字?

A.intB.autoC.staticD.float

E.registerF.externG.unsignedH.signed

6.C语言中整形常量按进制划分,有以下几种:

A.十六进制常量B.十进制常量C.八进制常量D.二进制常量

7.下面哪些写法是对的,而且是常量?

A.125B.-.456C.1.25e20D.'

AB'

E.E6F.0238G.0xabcdefH."

\n\\\'

\123"

8.请从下面的选项中选出正确的C语言的转义字符。

A.'

//'

B.'

\'

C.'

\t'

D.'

\n'

E.'

\1011'

F.'

/018'

G.'

/123'

H.'

\xaa'

9.如果要把常量327存入变量a中,a可以定义成哪些类型?

A.intB.charC.longD.float

10.指出下面各说明语句中哪些是合法的:

A.intabcd[0x80];

B.char9ab[10];

C.charchi[-200];

D.intaaa[5]={3,4,5};

E.floatkey[]={3.0,4.0,1,0};

F.chardisk[];

G.intn=2,floppy[n];

H.intcash[4]={1,2,3,4,5,6};

11.下列语句中不符合C语言语法的语句有

A.a=7+b,c=a+7;

B.a=7+b+c=a+7;

C.a=7+b,b++,a+7;

D.a=7+b++=a+7;

12.指出下面错误的表达式:

A.a+b=5B.56=a11C.i=i++

D.5.6+6.2%3.1E.12F.a=5,b=6,c=7

13.若a为整型变量,则以下表达式与表达式a!

=0真假值情况相同有:

A.a>

0||a<

0B.aC.!

a==0D.!

a

15.若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实

现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?

A.f=(f*100+0.5)/100.0B.i=f*100+0.5,f=i/100.0;

C.f=(int)(f*100+0.5)/100.0;

D.f=(f/100+0.5)*100.0;

16.请选择您认为正确的说法。

A.在C语言中,函数可以嵌套定义。

B.程序中的注释部分可有可无,通常可以省略。

C.在函数中,只能有一条return语句。

D.C程序中,编译程序会检查数组下标是否越界。

E.在C程序中,ABC和abc是两个不同的变量。

F.在C语言中,函数中的变量可以赋初值,每调用一次该函数,就赋一次初值。

G.C语言中不能对数组名进行加减和赋值运算。

17.下面各语句行中,不能正确进行赋字符串操作的语句行是

A.chars[10];

scanf("

%s"

&

s);

B.charst[4][5]={"

ABCDE"

C.chars[5]={'

A'

'

B'

C'

D'

E'

D.chars[50];

s="

18.不合法的数组定义是

A.inta[]="

string"

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

C.vhsts="

D.chara[]={'

0'

1'

2'

3'

4'

5'

19.指出下面哪些是保留字:

A.charB.abcC.printfD.IntE.floatF.defineG.includeH.PI

20.指出下面哪些是合法的用户定义的标识符?

A.P-SB.putcharC.doubleD._908E.*parF.sheep!

G.windH.xy

21.C语言的基本类型哪些:

A.整型B.枚举型C.数组型D.指针型E.字符型F.构造型G.实形H.空类型

22.这段程序中的常量有:

#definePI3.14

voidmain()

{intsum;

sum=10+15;

sum=%d\n"

resultis25\n"

这段程序中常量有:

A.10B.sumC.15D.25E.mainF.PI

23.C语言的主要特点有哪些?

A.简洁、紧凑,使用方便、灵活,易于学习和应用。

B.C语言是面向结构化程序设计的语言。

C.C语言允许直接对位、字节和地址进行操作。

D.数据类型丰富。

E.C语言生成的目标代码质量高。

24、以下说法正确的有:

A.输入项可以为一个实型常量,如scanf("

3.5);

B.只有格式控制,没有输入项,就不能进行正确输入,如scanf("

a=%d,b=%d"

);

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("

%4.2f"

f);

D.当输入数据时,必须指明变量的地址,如scanf("

25、以下叙述中正确的有()

(A)预处理命令行都必须以#号开始

(B)在程序中凡是以#号开始的语句行都是预处理命令行

(C)C程序在执行过程中对预处理命令行进行处理

(D)以下是正确的宏定义

#defineIBM_PCpc#3

26、以下正确的叙述有()

(A)C语言的预处理功能仅仅是指完成宏替换和包含文件的调用

(B)预处理命令只能位于C源程序文件的首部

(C)一条预处理命令必须单独占一行

(D)C程序中,编译预处理是在编译开始之前进行的

三、填空题

1、设a=3,b=4,c=5,则逻辑表达式a||b+c&

b-c的值是:

1。

2、语句printf("

%5.3f\n"

123456.12345);

的输出为__123456.123_____。

11。

inti=0,sum=1;

do{sum+=i++;

}while(i<

5);

4、若定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};

则初始化后,a[1][2]得到的

值是:

0;

a[2][1]得到的值是:

6。

5、下面程序的输出结果是:

t1=7,t2=70。

#defineMAX(x,y)(x)>

(y)?

(x):

(y)

{inta=5,b=2,c=3,d=3,t1,t2;

t1=MAX(a+b,c+d)*10;

t2=MAX(c+d,a+b)*10;

t1=%d,t2=%d"

t1,t2);

6、要使以下程序段输出3个整数,请填入一个整数:

for(j=1;

=7(7-14都可以);

printf(“%d\n”,j+=j++));

7、下面程序段是找出整数的所有因子(包括1和整数本身),请填空:

scanf("

x);

i=1;

for(;

i<

=x;

){if(x%i==0)printf("

%3d"

i);

i++}

8、函数fun的功能是:

使一个字符串按逆序存放,请填空

voidfun(charstr[])

{charm;

inti,j;

for(i=0,j=strlen(str);

j-1;

i++,j--)

{m=str[i];

str[i]=str[j-1];

str[j-1]=m;

%s\n"

str);

9、设x和y均为int型变量,且x=1,y=2;

则表达式1.0+x

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2