C语言程序设计考试复习题含答案.docx

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

C语言程序设计考试复习题含答案.docx

《C语言程序设计考试复习题含答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计考试复习题含答案.docx(46页珍藏版)》请在冰点文库上搜索。

C语言程序设计考试复习题含答案.docx

C语言程序设计考试复习题含答案

习题一基础知识、数据类型、运算符与表达式

一、选择题

1、以下选项中正确的整型常量是(B)

A)12.B)-20C)1,000D)456

2、以下选项中正确的实型常量是(D)

A)0B)3.1415C)0.329*102D).871

3、以下选项中不正确的实型常量是(B)

A)2.607E-1B)0.8103eC)-77.77D)456e-2

4、以下选项中不合法的用户标识符是(A)

A)abc.cB)fileC)MainD)PRINTF

5、以下选项中不合法的用户标识符是(C)

A)_123B)printfC)A$D)Dim

6、C语言中运算对象必需是整型的运算符是(A)

A)%B)/C)!

D)**

7、可在C程序中用作用户标识符的一组标识符是(B)

A)voiddefineWORD

B)as_b3_123If

C)For-abccase

D)2cDOSIG

8、若变量已正确定义并赋值,符合C语言语法的表达式是(B)

A)a=a+7;B)a=7+b+c,a++C)int(12.3%4)D)a=a+7=c+b

9、以下叙述中正确的是(A)

A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:

实型变量中允许存放整型值。

B)在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。

C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。

D)有a=3,b=5。

当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。

10、以下叙述中正确的是(C)

A)在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表达。

B)C程序由主函数组成。

C)C程序由函数组成。

D)C程序由函数和过程组成。

*11、TURBOC中int类型变量所占字节数是(B)

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

12、不合法的八进制数是(B)

A)0B)028C)077D)01

13、不合法的十六进制数是(A)

A)oxffB)0XabcC)0x11D)0x19

14、C语言中的简单数据类型有(B)                                    

A)整数、实型、逻辑型B)整型、实型、字符型

C)整数、字符型、逻辑型D)整型、实型、逻辑型、字符型

15、C语言中,字符型数据在微机内存中的存储形式是(D)

A)反码B)补码   C)EBCDIC码D)ASCII码

16、C语言中不合法的字符常量是(AD)

A)‘\0xff’B)‘\65’C)‘&’D)‘\028’

17、C语言中不合法的字符串常量是(B)

A)“\121”B)‘y=’C)“\n\n”D)“ABCD\x6d”

18、判断char型变量c是否为大写字母的最简单且正确的表达式是(D)

A)‘A’<=c<=‘Z’B)(c>=‘A’)&(c<=‘Z’)

B)(‘A’<=c)AND(‘Z’>=c)D)(c>=‘A’)&&(c<=‘Z’)

二、填空题

1、在MicrosoftVisualC6.0环境中运行一个C程序时,所运行的程序的后缀是.EXE。

2、C语言源程序文件的后缀是.C或.CPP,经过编译后,生成文件的后缀是.OBJ,经过连接后,生成文件的后缀是.EXE。

3、结构化程序由顺序,选择,循环三种基本结构组成。

4、若k为int整型变量且赋值11。

请写出运算k++后表达式的值11和变量的值12。

5、若x为double型变量,请写出运算x=3.2,++x后表达式的值4.2和变量的值4.2。

6、函数体由符号{开始,用符号}结束。

函数体的前面是声明部分,其后是执行部分。

7、C语言中的标识符可分为关键字,用户标识符和预定义标识符三类。

8、在C语言程序中,用关键字int定义基本整型变量,用关键字float定义单精度实型变量,用关键字double定义双精度实型变量。

9、把a1,a2定义成单精度实型变量,并赋初值1的定义语句是floata1=1,a2=1;。

10、C程序中定义的变量,代表内存中的一个存储空间。

11、表达式3.5+1/2的计算结果是3.5。

12、表达式s=10应当读做把10赋值给s。

13、计算机中内存储器的最小存储单位称位,其中能容纳的数是0或1。

14、通常一个字节包含8个二进制位。

在一个字节中能存放的最大(十进制)整数是255,它的二进制数的形式是11111111,最小(十进制)整数是0,它的二进制数的形式是00000000。

15、计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是65535,最小(十进制)整数是0,它的二进制数的形式是16个0。

16、在C语言中整数可用十进制数,八进制数和十六进制数三种数制表示。

17、EOF的十进是–1。

18、C语言中,字符占内存1个字节。

三、上机改错题(最好在VisualC环境下试一试,以便熟悉出错信息)。

1、请指出以下C程序的错误所在

#includestdio.h;

main();/*mainfunction*/

{floatr,s;/*/*risradius*/,/*sisareaofcircular*/*/

r=5.0;

s=3.14159*r*r;

printf(“%f\n”,s)

2、请指出以下C程序的错误所在

#includestdio.h

main/*mainfunction*/

{floata,b,c,v;/*a,b,caresides,visvolumeofcube*/

a=2.0;b=3.0;c=4.0

v=a*b*c;

printf(“%f\n”,v)

}

习题二顺序结构

一、选择题

1、若a,b,c,d都是int类型变量且初值为0,以下选项不正确的赋值语句是(C)

A)a=b=c=100;B)a=d++;C)c+b;D)d=(c=22)-(b++);

2、以下选项中不是C语句的是(C)

A){intI;I++;printf(“%d\n”,I);}B);

C)a=5,c=10D){;}

3、以下合法的C语言赋值语句(A)

A)a=b=58;B)k=int(a+b);C)a=58,b=58D)--I;

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

A)0B)1C)3D)不确定的值

Main()

{

intx=10,y=3;

printf(“%d\n”,y=x/y);

}

5、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句(D)

A)read(a,b,c);B)scanf(%d%d%d“,a,b,c);

C)scanf(“%D%D%D”,&a,%b,%c)D)scanf(“%d%d%d”,&a,&b,&c);

6、若变量已正确说明float类型,要通过以下赋值语句给a赋予10,b赋予22,c赋予33,以下不正确的输入形式是(B)

A)10B)10.0,22.0,30C)10.0D)1022

2222.03033

33

scanf(“%f%f%f”,&a,&b,&c);

7、若变量已正确定义,要将a和b中的数据进行交换,下边不正确的语句组是(C)

A)a=a+b,b=a-b,a=a-b;B)t=a,a=b,b=t;C)a=t;t=b;b=a;D)t=b;b=a;a=t;

8、若变量已正确定义,以下程序段的输出结果是(D)

A)输出格式说明与输出项不匹配,输出无定值B)5.17

C)5.168D)5.169

x=5.16894;

Printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);

9、若有以下程序段,c3中的值(A)

A)0B)1/2C)0.5D)1

intc1=1,c2=2,c3;

c3=c1/c2;

10、当运行以下程序时,在键盘上从第一列开始输入9876543210,则程序的输出结果是(C)

A)a=98,b=765,c=4321B)a=10,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.0

main()

{

inta;floatb,c;

scanf(“%2d%3f%4f”,&a,&b,&c);

printf(“\na=%d,b=%f,c=%f\n”,a,b,c);

}

11、以下输出结果是(D)

A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d

main()

{

inta=2,b=5;

printf(“a=%%d,b=%%d\n”,a,b);

}

12、若int类型占两个字节,则以下程序段的输出是(D)

A)-1,-1B)-1,32767C)-1,32768D)-1,65535

inta=-1;

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

13、以下程序段的输出是(A)

A)*496*B)*496*C)*000496*D)输出格式不合法

intx=496;

printf(“*%-06d*\n”,x);

14、以下程序段的输出是(C)

A)|3.1415|B)|3.0|C)|3|D)|3.|

floata=3.1415;

printf(“|%6.0f|\n”,a);

15、以下程序段的输出是(C)

A)|2345.67800|B|12345.6780|C)|12345.67800|D)|12345.678|

printf(“|%10.5f|\n”,12345.678);

16、以下程序段的输出是(C)

A)*0000057.66* B)*57.66*C)*0000057.67*D)*57.67*

floata=57.666;

printf(“*%010.2f*\n”,a);

18、若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是(B)

A)scanf(“%f”,c);B)scanf(“%8.4f”,&c)

C)scanf(“%6.2f”,&c);D)scanf(“%8”,&c);

283.1900CR表示Enter键

19、若变量已正确说明,要求用以下语句给a赋予12,给b赋予9.0,则正确的输入形式是(Δ代表空格)(C)

A)3.12ΔΔ9.0B)a=ΔΔ3.12b=ΔΔΔ9

C)a=3.12,b=9Da=3.12ΔΔ,b=9ΔΔΔΔ

Scanf(“a=%f,b=%f”,&a,&b);

二、填空题

1、若有以下定义,请写出以下程序段中输出语句执行后的输出结果。

(1)-2002500(2)i=-200,j=2500 (3)i=-200

inti=-200,j=2500;j=2500

printf(“

(1)%d%d”,i,j);

printf(“

(2)i=%d,j=%d\n”,i,j);

printf(“(3)i=%d\nj=%d\n”,i,j);

2、变量i,j,k已定义为int类型并有初值0,用以下语句进行输入时

scanf(“%d”,&i);scanf(“%d”,&j);scanf(“%d”,&k);

当执行第一个输入语句,从键盘输入:

12.3<CR>表示键Enter

则变量i,j,k的值分别是1200。

3、复合语句在语法上被认为是一条语句。

空语句的形式是;。

4、C语句的最后用;结束。

5、用以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。

写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式。

10025.811.89234

10025.81

100

1.89234

25.81

1.89234

intk;floata;doublex;

scanf(“%d%f%f”&k,&a,&x);

printf(“k=%d,a=%f,x=%f\n”k,a,x)

6、以下程序段的输出结果是(x=127,x=ΔΔΔ127,x=ΔΔΔ177,x=ΔΔΔΔ7f,x=ΔΔΔ127)

intx=0177;

printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);

7、以下程序段的输出结果是(x=127,x=127ΔΔΔ,x=$177ΔΔΔ,x=$000127,x=%06d)

intx=0177;

printf(“x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%%06d\n”,x,x,x,x,x);

8、以下程序段的输出结果是( a=513.789215,a=ΔΔ513.79,a=ΔΔ513.78921500 )

doublea=513.789215;

printf(“a=%8.6f,a=%8.2f,a=14.8f\n”,a,a,a);

9、调用C语言对字符处理的库函数时,在#include命令行应包含的头文件是stdio.h。

10、若输入字符A,在以下while语句执行后ch的值是0。

While(ch=getchar()==’A’);

11、若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入10、20、30、40,正确的输入形式是,请用代表Enter键。

10A

20B

30C

40D

Scanf(“%d%c%d%c%d%c%d%c”,&w,&a,&x,&b,&y,&c,&z,&d);

12、若有以下说明和输入语句时,要求给c1、c2输入字符A和字符B,给a1、a2输入7.29和101.298,从键盘正确输入数据的形式是7.29101.298AB

charc1,c2;floata1,a2;

scanf(“%f%f”,&a1,&a2);scanf(“%c%c”,&c1,&c2);

三、改错题

以下程序多处有错。

要按下面指定的形式输入数据和数出数据时,请对该程序做相应的修改。

main()

{

doublea,b,c,s,v;

printf(inputa,b,c:

\n);

scanf(“%d%d%d”,a,b,c);

s=a*b;v=a*b*c;

printf(“%d%d%d”,a,b,c);

printf(“s=%f\n”,s,“v=%d\n”,v);

}

当执行程序时,屏幕的显示和要求输入形式如下:

inputa,b,c:

1.02.00

a=2.000000,b=2.000000,c=000000

s=4.000000,v=12.000000

习题三选择结构

一、选择题

1、下列运算符中优先级最高的运算符是A

A)!

B)%C)-=D)&&

2、下列运算符中优先级最低的运算符是A

A)||B)!

=C)<=D)+

3、为表示关系x>=y>=z,应使用的C语言表达式是A

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=y)&(y>=z)

4、设a,b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是D

A)a&&bB)a<=bC)a||b+c&&b-cD)!

((a

c||1)

5、以下程序的输出结果是C

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

main()

{

inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec+=1;

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

}

6、以下程序的输出结果是A

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

main()

{intw=4,x=3,y=2,z=1;

printf(“%d\n”,(w

w:

z

z:

x));

}

7、如执行以下程序时从键盘上输入3和4,则输出结果是B

A)14B)16C)18D)20

main()

{

inta,b,s;

scanf(“%d%d”,&a,&b);

s=a;

if(a

s*=s;

printf(%d\n”,s);

}

8、运行以下程序后,输出D

A)####B)&&&&C)####&&&&D)错误

main()

{

intk=-3;

if(k<=0)printf(“****\n”)

elseprintf(“&&&&\n”);

}

二、填空题

1、C语言中用1表示逻辑“真”,用0表示逻辑“假”。

2、C语言中的关系运算符按优先级别是<<=>>=;==!

=;。

3、C语言中的逻辑运算符按优先级别是!

;&&;||。

4、C语言中的关系运算符和逻辑运算符按优先级别是!

;<<=>>=;==!

=;&&;||。

5、C语言中的逻辑运算符!

的优先级别高于算术运算符。

6、将下列数学式改写成C语言的关系表达式或逻辑表达式A)a==b||a4||x<-4

A)a=b或a4

7、请写出以下程序的输出结果1

main()

{

inta=100;

if(a>100)printf(“%d\n”,a>100);

elseprintf(“%d\n”,a<=100);

}

8、请写出与表达式等价的表达式A)x<=0B)1

A)!

(x>0)B)!

0

9、当a=1,b=2,c=3,以下if语句执行后,a,b,c中的值分别是322。

if(a>c)

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

习题四循环结构

一、选择题

1、以下程序段的输出结果是D

A)9B)1C)11D)10

intk,j,s;

for(k=2;k<6;k++,k++)

{s=1;

for(j=k;j<6;j++)s+=j;

}

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

2、以下程序段的输出结果是C

A)12B)15C)20D)25

intI,j,m=0;

for(I=1;I<=15;I+=4)

for(j=3;j<=19;j+=4)m++;

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

3、以下程序段的输出结果是B

A)10B)9C)10D)9

9898

8787

76

intn=10;

while(n>7)

{n--;

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

}

4、以下程序段的输出结果是C

A)1B)30C)1-2D)死循环

intx=3;

do

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

}while(!

(--x));

5、以下程序段的输出结果是C

A)15B)14C)不确定D)0

main()

{intI,sum;

for(I=1;I<6;I++)sum+=sum;

print(“%d\n”,sum);

}

6、以下程序段的输出结果是B

A)741B)852C)963D)875421

main()

{inty=10;

for(;y>0;y--)

if(y%3==0)

{printf(“%d”,--y);continue;}

}

7、若x是int型变量,以下程序段的输出结果是D

A)**3B)##3C)##3D)**3##4

##4**4**4##5**5

**5##5

for(x=3;x<6;x++)

printf((x%2)?

(“**%d):

(“##%d\n”),x);

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

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

main()

{intI;

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

{if(I%2)printf(“*”);

elsecontinue;

printf(“#”);

}

printf(“$\n”);

}

9、以下叙述正确的是D

A)do_while语句构成的循环不能用其他语句构成的循环来代替.

B)do_while语句构成的循环只能用break语句退出.

C)用do_while语句构成循环时,只有在while后的表达式为非零时结束循环.

D)用do_while语句构成循环时,只有在while后的表达式为零结束循环.

10、以下程序段的输出结果是D

A)3981B)4284C)2668D)2870

main()

{intx,I;

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

{x=I;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf(“%d”,x);

}

printf(“\n”);

}

二、填空题

1、当执行以下程序段后,I的值5,j是的值4,k是的值是6

Inta,b,c,d,I,j,k;

a=10;b=c=d=5;I=j=k=0;

for(;a>b;++b)I++;

while(a>++c)j++;

dok++;while(a>d++);

-1

2、以下程序段的输出结果是

main()

{intx=2;

while(x--);

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

}

3、以下程序段的输出结果是11

intI=0,sum=1;

do{sum+=I++;}while(I<5);

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

4、有以下程序段

s=1.0;

for(k

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

当前位置:首页 > 工程科技 > 能源化工

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

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