东莞理工学院 c语言复习题.docx

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

东莞理工学院 c语言复习题.docx

《东莞理工学院 c语言复习题.docx》由会员分享,可在线阅读,更多相关《东莞理工学院 c语言复习题.docx(27页珍藏版)》请在冰点文库上搜索。

东莞理工学院 c语言复习题.docx

东莞理工学院c语言复习题

第一部分

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

(多选)

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

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

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

D.数据类型丰富。

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

答案:

ABCDE

2.C语言程序由什么组成?

(单选)

A.子程序B.主程序和子程序C.函数D.过程

答案:

C

3.源程序要正确地运行,必须要有什么函数?

(单选)

A.printf函数B.自定义的函数

C.main函数D.不需要函数

答案:

C

4.指出下面合法的标识符:

(多选)

A.3abB.intC.ABCD.a_3

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

答案:

CDG

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

(多选)

A.charB.abcC.floatD.defineE.includeF.PI

答案:

ACDE

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

(多选)

A.P-SB.pOtcharC.doubleD._908

E.*parF.sheep!

G.windH.xy

答案:

BDG

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

(多选)

A.整型B.枚举型C.数组型D.指针型

E.字符型F.构造型G.实型H.空类型

答案:

ABEG

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

(多选)

#definePI3.14

voidmain()

{intsum;

sum=10+15;

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

printf("resultis25\n");

}

这段程序中常量有:

A.10B.sumC.15

D.25E.mainF.PI

答案:

ACF

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

(多选)

A.十六进制常量B.十进制常量

C.八进制常量D.二进制常量

答案:

ABC

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

(多选)

A.intB.char

C.longD.float

答案:

ACD

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

(多选)

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

E.E6F.0238G.0xabcdefH."\n\\\'\123"

答案:

ABCGH

12.下面哪个表达式的值为4.(单选)

A.11/3B.11.0/3

C.(float)11/3D.(int)(11.0/3+0.5)

答案:

D

13.已知整型变量a=6,b=7,c=1,则下面表达式的值为多少?

a+3___

(b-a*3)/5___

c*(a+b)+b*(c+a)___

3.2*(a+b+c)___

答案:

9

-2

62

44.8

14.已知整型变量a=6,字符型变量ch='A',浮点数变量f=2.1,则下面表达式的值为多少?

(提示:

'A'的ASCII码为65)

a+4.5___

ch+a+f___

(a+30)/5___

(a+30)/5.0___

答案:

10.5

73.1

7

7.2

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

(多选)

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

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

答案:

BD

16.若变量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;

答案:

BC

17.写出下面这个程序的结果。

voidmain()

{

intcount,i;

intx,y,z;

x=y=z=0;

scanf("%d",&count);

for(i=0;i

{

x=(x+1)%2;

y=(y+1)%3;

z=(z+1)%5;

}

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

}

如果运行时输入10,结果是x=___,y=___,z=___。

如果运行时输入17,结果是x=___,y=___,z=___。

答案:

010

122

18.已知a为整型变量,那么与表达式a!

=0真假值情况相同的表达式有哪些?

(多选)

A.a>0||a<0B.a

C.!

a==0D.!

a

答案:

ABC

19.若要输出下列各种类型的数据,应使用什么转换说明符。

(答题请打上双引号)

字段宽度为4的十进制数应使用"%4d",字段宽度为6的十六进制数应使用___,八进制整数应使用___,字段宽度为3的字符应使用___,字段宽度为10,保留3位小数的实数应使用___,字段宽度为8的字符串应使用___。

答案:

"%6x""%o""%3c""%10.3f""%8s"

20.该源程序执行后,屏幕上显示什么?

(单选)

voidmain()

{

inta;

floatb;

a=4;

b=9.5;

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

}

A.a=%d,b=%f\nB.a=%d,b=%f

C.a=4,b=9.50D.a=4,b=9.5

答案:

C

21.下面哪些是非法的C语言转义字符?

(多选)(P48)

A.'\t'B.'\08'C.'\0xaf'D.'\\'

答案:

BC

22.以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a,b,c的值。

请填空。

#include

main()

{

___

inttemp;

printf("Entera,b,c:

");

scanf("%d%d%d",___);

___

a=b;

b=c;

___

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

}

答案:

inta,b,c;

&a,&b,&c

temp=a;

c=temp;

23.若a为整型变量,且有以下语句___。

(单选)

a=-017L;

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

则下面哪个说法是正确的?

A.赋值不合法B.输出值为-17

C.输出为不确定值D.输出值为-15

答案:

B

24.若ch为char型变量,a为int型变量,(已知字符a的ASCII十进制代码为97)则执行以下语句后的输出为哪一个?

(单选)

charch;

inta;

ch='a';

a=12;

printf("%x,%o,",ch,ch,a);

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

A.61,141,12,k=%d

B.输出项与格式描述符个数不符,输出为零值或不定值

C.61,141,k=%d

D.61,141,k=%12

答案:

C

25.若k,g均为int型变量,则以下语句的输出为哪一项?

(单选)

intk,g;

k=017;

g=111;

printf("%d,",k);

printf("%x\n",g);

A.15,6fB.f,6fC.f,111D.15,111

答案:

A

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

(多选)

A.'//'B.'\''C.'\t'D.'\n'

E.'\1011'F.'/018'G.'/123'H.'\xaa'

答案:

BCDH

27.如这程序所示,如果运行时,输入18,18,那么b的值为多少?

(单选)

voidmain()

{

inta,b;

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

b+=a;

printf("%d",b);

}

A.36B.34C.输入错误,b的值不确定D.18

答案:

C

第二部分

1.C程序的结构可分为哪几类?

(多选)

A.顺序结构

B.循环结构

C.程序结构

D.选择结构

答案:

ABD

2.输入两个实数a,b,然后交换它们的值,最后输出(提示:

要交换两个数得借助一个中间变量temp。

首先让temp存放a的值,然后把b存入a,再把temp存入b就完成了)。

voidmain()

{

floata,b,temp;

printf("请输入a和b的值:

");

scanf("%d,%d",___);

temp=a;

___

___

printf("交换后,a=%d,b=%d\n",___);

}

答案:

&a,&b

a=b;

b=temp;

a,b

3.当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少?

(1)if(a>c)

{a=b;b=c;c=a;}

else

{a=c;c=b;b=a;}

执行后a,b,c的值为___,___,___

(2)if(a

a=c;

else

a=b;c=b;b=a;

执行后a,b,c的值为___,___,___

答案:

554

554

4.当a=3,b=4,c=5时,写出下列各式的值。

a

a==c的值为___,a!

=c的值为___,

a&&b的值为___,!

a&&b的值为___,

a||c的值为___,!

a||c的值为___,

a+b>c&&b==c的值为___。

答案:

11

01

10

11

0

5.假设所有变量均已说明,写出下列各程序段运行后x的值。

(多选)

ok1=1;ok2=2;ok3=0;x=15;a=3;b=4;

(1)if(!

ok1)

x++;

elseif(ok2)

{

if(ok3)

x=3;

else

x=4;

}

运行后x的值为下面哪一个?

A.15B.3C.16D.4

(2)if(ok1)

{

if(a

{

if(!

ok3)

x=0;

else

x=1;

}

else

x=2;

}

else

x=3;

运行后x的值为下面哪一个?

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

答案:

DA

6.若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么?

switch(x/10)

{

case6:

case7:

printf("Pass\n");

break;

case8:

printf("Good\n");

break;

case9:

case10:

printf("VeryGood\n");

break;

default:

printf("Fail\n");

}

x等于95时,程序段运行后屏幕上显示___

x等于87时,程序段运行后屏幕上显示___

x等于100时,程序段运行后屏幕上显示___

x等于43时,程序段运行后屏幕上显示___

x等于66时,程序段运行后屏幕上显示___

x等于79时,程序段运行后屏幕上显示___

答案:

VeryGood

Good

VeryGood

Fail

Pass

Pass

7.在C语言的if语句中,用作判断的表达式为___。

(单选)

A.关系表达式B.逻辑表达式

C.算术表达式D.任意表达式

答案:

D

8.请问:

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

(单选)

inta,b,c;

a=7;b=8;c=9;

if(a>b)

a=b,b=c;c=a;

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

A.a=7b=8c=7B.a=7b=9c=7

C.a=8b=9c=7D.a=8b=9c=8

答案:

A

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

(单选)

m=37;n=13;

while(m!

=n)

{

while(m>n)

m=m-n;

while(n>m)

n-=m;

}

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

输出结果为:

A.m=13B.m=11

C.m=1D.m=2

答案:

C

10.该程序的输出结果是什么?

(单选)

#include

voidmain()

{

intn;

n=0;

while(n<8)

{

switch(n%3)

{

case2:

putchar('2');

case1:

putchar('i');

break;

case0:

putchar('H');

}

n++;

}

}

A.Hi2Hi2HiB.Hi2

C.Hi2iHi2iD.Hi2iHi2iHi

答案:

D

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

(单选)

#include

main()

{inti,j,x=0;

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

{

x++;

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

{

if(j%2)

continue;

x++;

}

}

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

}

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

答案:

B

12.若k为整型,以下while循环执行___次.(单选)

k=2;

while(k>0)

printf("%d",k),k--;

printf("\n");

A.无限次B.0次C.1次D.2次

答案:

D

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

(单选)

#include

main()

{inty=10;

while(y--);

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

}

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

答案:

D

14.以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数.请填空.

___;

}

printf("i=%4dj=%4d\n",i,j);

}

答案:

int

(n!

=0)

i+1

j+1

scanf("%d",&n)

15.斐波哪契数列中的头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即:

0,1,1,2,3,5,8,13,21,...等。

下面这个程序就是求斐波哪契数列的前20个数。

请填空。

#include

voidmain()

{

intf,f1,f2,i;

f1=0;f2=___;

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

for(i=3;i<=30;___)

{

f=___;

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

f1=f2;

f2=___;

}

}

答案:

1

i++

f1+f2

f

16.下面这个程序打印出以下这个三角形.请填空。

0

11

222

3333

44444

555555

6666666

77777777

888888888

9999999999

voidmain()

{

inti,j;

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

{

for(j=0;j<___;j++)

printf(___);

___

}

}

答案:

9

=i

"%d",i

printf("\n");

第三部分

1.请改正下面这个程序的错误:

#include

main()

{

inti,j,list(10);

for(i=0,i<10,i++)

{

list[i]=2*i+3;

for(j=9,j>=0,j--)

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

}

}

答案:

inti,j,list(10);改为inti,j,list[10];

for(i=0,i<10,i++)改为for(i=0;i<10;i++)

for(j=9,j>=0,j--)改为for(j=9;j>=0;j--)

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

(多选)

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,floppy[n];H.intcash[4]={1,2,3,4,5,6};

答案:

ADE

3.根据以下说明,写出正确的说明语句。

(1)men是一个有10个整型元素的数组。

___

(2)step是一个有4个实型元素的数组,元素值分别为1.9,-2.33,0,20.6。

___

(3)grid是一个二维数组,共有4行,10列整型元素。

___

答案:

intmesh[10];

floatstep[4]={1.9,-2.33,0,20.6};

intgrid[4][10];

4.请回答下列问题。

(1)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。

___

(2)该数组下标的取值范围是从___到___(从小到大)。

(3)如何用scanf函数输入数组的第二个元素。

___

(4)如何用赋值语句把39存入第一个元素。

___

(5)如何表示把第六个和第四个元素之和存入第一个元素。

___

答案:

intarray[10]={9,4,7,49,32,-5};

09

scanf("%d",&array[1]);

array[0]=39;

array[0]=array[5]+array[3];

5.写出以下初始化数组的长度。

(1)intchn[3];

数组chn的长度为___。

(2)floatisa[]={1.0,2.0,3.0,4.0,5.0};

数组isa的长度为___。

(3)intdoom[8];

数组doom的长度为___。

(4)floatpci[4][2];

数组pci的长度为___。

(5)intast[3][3];

数组ast的长度为___。

(6)intatt[3][4];

数组att的长度为___。

(7)floatdell[][3]={{1,4,7},{2,5},{3,6,9}};

数组dell的长度为___。

答案:

6,20,16,32,

18,24,36,

6.这个程序输入了20个数存放在一个数组中,并且输出其中最大者与最小者、,20个数的和及它们的平均值。

请填空。

voidmain()

{

intarray___;

intmax,min,average,sum;

inti;

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

{

printf("请输入第%d个数:

",i+1);

scanf("%d",___);

}

max=array[0];

min=array[0];

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

{

if(max

___

if(min>array[i])

___

sum=___;

}

average=___;

printf("20个数中最大值是%d,",max);

printf("最小值是%d,",min);

printf("和是%d,",sum);

printf("平均值是%d.\n",average);

}

答案:

[20]

20

&array[i]

19

max=array[i];

min=array[i];

sum+array[i]

sum/20

7.该程序的运行结果是:

min=___,m=___,n=___。

voidmain()

{

floatarray[3][4]={

{3.4,-5.6,56.7},

{56.8,999.,-.0123},

{0.45,-5.77,123.5},

{43.4,0,111.2}

};

inti,j;

intmin;

intm,n;

min=array[0][0];

m=0;n=0;

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

for(j=0;j<4;j++)

if(min>array[i][j])

{

min=array[i][j];

m=i;n=j;

}

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

}

答案:

-5.7712

8.下面的程序中哪一行有错误?

(单选)

#include

main()

{

floatarray[5]={0.0};//第A行

inti;

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

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

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

array[0]=array[0]+array[i];//第B行

printf("%f\n",array[0]);//第C行

}

A.第A行B.第B行

B.第C行D.没有

答案:

D

9.若有以下整型的a数组,数组元素和它们得值如下所示:

数组元素:

a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]

元素的值:

941282107513

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

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

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

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