计算机等级考试c语言程序设计习题.docx

上传人:b****6 文档编号:8832969 上传时间:2023-02-02 格式:DOCX 页数:87 大小:95.02KB
下载 相关 举报
计算机等级考试c语言程序设计习题.docx_第1页
第1页 / 共87页
计算机等级考试c语言程序设计习题.docx_第2页
第2页 / 共87页
计算机等级考试c语言程序设计习题.docx_第3页
第3页 / 共87页
计算机等级考试c语言程序设计习题.docx_第4页
第4页 / 共87页
计算机等级考试c语言程序设计习题.docx_第5页
第5页 / 共87页
点击查看更多>>
下载资源
资源描述

计算机等级考试c语言程序设计习题.docx

《计算机等级考试c语言程序设计习题.docx》由会员分享,可在线阅读,更多相关《计算机等级考试c语言程序设计习题.docx(87页珍藏版)》请在冰豆网上搜索。

计算机等级考试c语言程序设计习题.docx

计算机等级考试c语言程序设计习题

 

第1章C语言程序设计概述

一、选择题

1.下列关于计算机语言的叙述中,正确的是_______。

A.在计算机语言中,只有机器语言属于低级语言

B.高级语言的源程序可以被计算机直接执行

C.C语言属于高级语言

D.机器语言是与所有机器无关的语言

2.源程序TEST.C经编译产生的目标文件和连接后产生的可执行文件是_______。

A.TEST.BAK和TEST.OBJB.TEST.OBJ和TEST.EXE

C.TEST.EXE和TEST.CD.TEST.BAK和TEST.EXE

3.一个C程序的执行是从_______。

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序文件的第一个函数开始,到本程序main函数结束

4.以下叙述正确的是_______。

A.在C程序中,main函数必须位于程序的最前面

B.程序的每行中只能写一条语句

C.C语言本身没有输入输出语句

D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误

5.以下叙述不正确的是_______。

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.在C程序中,注释说明只能位于一条语句的后面

D.C程序的基本组成单位是函数

6.一个C语言程序是由_______。

A.一个主程序和若干子程序组成

B.函数组成

C.若干过程组成

D.若干子程序组成

7.关于C语言程序书写规则说法中正确的是_______。

A.程序语句必须占一行B.不区分大小写

C.每行必须有行号D.每条语句用分号结束

8.下面关于算法的说法,错误的是_______。

A.算法必须有输出,但不一定有输入

B.算法必须在计算机上用某种语言实现

C.算法必须在有限步执行后能结束

D.算法的每一步骤必须有确切的定义

9.结构化程序设计规定的3种基本控制结构是_______。

A.顺序、选择和转向B.层次、网状和循环

C.模块、选择和循环D.顺序、选择和循环

10.结构化程序由三种基本结构组成,三种基本结构组成的算法_______。

A.可以完成任何复杂的任务B.只能完成部分复杂的任务

C.只能完成符合结构化的任务D.只能完成一些简单的任务

二、填空题

1.C源程序的基本单位是________,一个C源程序中必须包括一个________。

2.在一个C源程序中,注释部分两侧的分界符分别为________和________。

3.C语言源程序文件的后缀是________;经过编译后,生成文件的后缀是________;经过连接后,生成的文件的后缀是________。

4.结构化程序由________、________、________,3种基本结构组成。

三、编程题

1.编写一个程序,用2个printf()语句分别输出学校名称和自己的姓名。

2.编写一个程序,用1个printf()语句输出学校名称和自己的姓名。

第2章数据类型及其运算

一、选择题

1.下面四个选项中,均是不合法的用户标识符的选项的是____C___。

A.Ap_odoB.floatlao_A

C.b-agotointD._123tempINT

2.以下选项中可以作为C语言中合法整数的是___C____。

A.10110BB.0386C.0XffaD.x2a2

3.以下选项中合法的实型常数是__C_____。

A.5E2.0B.E-3C.2E0D.1.3E

4.以下选项中可作为C语言合法常量的是__A_____。

A.-80B.-080C.-8e1.0D.-80.0e

5.下面四个选项中,均是合法转义字符的选项是__B___。

A.'\''\\''\n'B.'\'''\017''\t'

C.'\018''\f''\xab'D.'\\0''\101''x1f'

6.下面不正确的字符串常量是__A_____。

A.'abc'B."12’12"C."0"D.""

7.以下选项中不属于C语言的类型的是____D___。

A.signedshortintB.unsignedlongint

C.unsignedintD.longshort

8.在C语言中,要求运算数必须是整型的运算符是___D____。

A./B.++C.!

=D.%

9.以下运算符中优先级最低的是___A____,以下运算符中优先级最高的是__B_____。

A.&&B.<=C.||D.==

10.若x=2,y=3,则x&&y的结果是___B____。

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

11.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为__C_____。

A.4B.16C.32D.52

12.若有定义:

inta=7;floatx=2.5,y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是__A_____。

A.2.500000B.2.750000C.3.500000D.0.000000

13.若有以下类型说明语句:

charw;intx;floaty;doublez;,则表达式w*x+z-y的结果为_D______类型。

A.floatB.charC.intD.double

14.已有定义:

intx=3,y=4,z=5;则表达式!

(x+y)+z–1&&y+z/2的值是__D_____。

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

15.以下选项中非法的表达式是___D____。

A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1

16.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为___C____。

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

17.若变量c为char类型,能正确判断出c为小写字母的表达式是___D____。

A.'a'<=c<='z'B.(c>='a')||(c<='z')

C.('a'<=c)and('z'>=c)D.(c>='a')&&(c<='z')

18.若x和y代表整型数,以下表达式中不能正确表示数学关系|x―y|<10的是____C___。

A.abs(x–y)<10B.x–y>-10&&x–y<10

C.!

(x–y)<-10||!

(y–x)>10D.(x–y)*(x–y)<100

二、填空题

1.C语言中的标识符只能由三种字符组成,它们是_______,_______和_______。

2.在C语言中(以32位PC机为例),一个char型数据在内存中所占的字节数为_______,一个int型数据在内存中所占的字节数为_______,一个float型数据在内存中所占的字节数为_______,一个double型数据在内存中所占的字节数为_______。

3.有以下定义intm=5,y=2;则计算表达式y+=y-=m*=y后的y值是_______。

4.若定义:

inta=2,b=3;floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是_______。

5.x和n均为int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为_______。

6.设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。

7.a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为_______,b值为_______,c值为_______。

8.a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为_______。

9.设y是int型变量,请写出判断y为奇数的关系表达式_______。

10.若a,b,c均为整型变量,则执行以下语句a=b=c=0;a++&&++b||c++;后,a的值为_______,b的值为_______,c的值为_______。

三、程序阅读题

1.下面程序的运行结果是__b_____。

#include

intmain()

{

charm;

m='B'+32;

printf("%c\n",m);

return0;

}

2.下面程序的运行结果是__0_____。

#include

intmain()

{

intx=3,y=5;

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

return0;

}

3.下面程序的运行结果是___0____。

#include

intmain()

{

intm=0xabc,n=0xabc;

m-=n;

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

return0;

}

4.下面程序的运行结果是__10,2_____。

#include

intmain()

{

intx=10,y=3;

printf("%d,%d\n",x++,--y);

return0;

}

5.下面程序的运行结果是_9,10,9,10______。

#include

intmain()

{

inti,j;

i=8;

j=10;

printf("%d,%d,%d,%d\n",i,j,++i,j++);

return0;

}

6.下面程序的运行结果是____3,1,0,0___。

#include

intmain()

{

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

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

return0;

}

7.下面程序的运行结果是__3,20,30,1_____。

#include

intmain()

{

inta=2,b=20,c=30,d;

d=++a<=10||b-->=20||c++;

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

return0;

}

第3章语句与输入输出

一、选择题

1.设有定义:

longx=123456L;,则以下能够正确输出变量x值的语句是_______。

A.printf("x=%d\n",x);B.printf("x=%ld\n",x);

C.printf("x=%8dL\n",x);D.printf("x=%LD\n",x);

2.若有以下程序段

intm=0xabc,n=0xabc;

m-=n;

printf("%X\n",m);

执行后输出结果是_______。

A.0X0B.0x0C.0D.0XABC

3.已知chara='\103';则语句printf("%3d",a);执行后的输出结果为_______。

A.67B.'C'C.67D.103

4.已知a、b、c为int类型,执行语句:

scanf("a=%d,b=%d,c=%d",&a,&b,&c);,若要使得a为1,b为2,c为3。

则以下选项中正确的输入形式是_______。

A.a=1B.1,2,3C.a=1,b=2,c=3D.123

b=2

c=3

5.已知i、j、k为int型变量,若从键盘输入:

1,2,3↙,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是_______。

A.scanf("%2d%2d%2d",&i,&j,&k);B.scanf("%d%d%d",&i,&j,&k);

C.scanf("%d,%d,%d",&i,&j,&k);D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);

6.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是_______。

A.INPUTx、y、z;

B.scanf("%d,%d,%d",&x,&y,&z);

C.scanf("%d,%d,%d",x,y,z);

D.read("%d,%d,%d",&x,&y,&z);

7.若有inta;floatb;scanf("%d,%f",&a,&b);使a、b的值分别为30和5.5,则正确的输入是_______。

A.305.5B.30,5.5C.a=30,b=5.5D.a=30b=5.5

8.根据以下定义语句和数据的输入方式,scanf语句的正确形式应为_______。

已有定义:

floatf1,f2;

数据的输入方式:

4.52↙

3.5↙

A.scanf("%f,%f",&f1,&f2);

B.scanf("%f%f",&f1,&f2);

C.scanf("%3.2f%2.1f",&f1,&f2);

D.scanf("%3.2f%2.1f",&f1,&f2);

9.以下针对scanf()函数的叙述中,正确的是_______。

A.输入项可以为一实型常量,如scanf("%f",3.5);

B.只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");

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

scanf("%4.2f",&f);

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

10.有以下程序

#include

intmain()

{

charc1='1',c2='2';

c1=getchar();c2=getchar();

putchar(c1);putchar(c2);

}

当运行时输入a↙后,以下叙述正确的是_______。

A.变量c1被赋予字符a,c2被赋予回车符

B.程序将等待用户输入2个字符

C.变量c1被赋予字符a,c2中仍是原有字符2

D.变量c1被赋予字符a,c2中将无确定值

二、填空题

1.已知floatf=123.467;,则执行语句printf("%.2f\n",f);,输出结果是_______。

2.已知字符'A'的ASCII值为十进制65,变量c为字符型,则执行语句c='A'+'6'-'3';printf("%c\n",c);,输出结果是_______。

3.scanf()函数在输入数据时默认的分隔符有_______、Tab、空格。

4.已知:

inti=10,j=1;则执行语句printf("%d,%d",i++,++j);后,输出结果_______。

三、程序阅读题

1.下面程序的运行结果是__261_____。

#include

intmain()

{

intm=177;

printf("%o\n",m);

return0;

}

2.下面程序的运行结果是___20____。

#include

intmain()

{

intn=0;

n+=(n=10);

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

return0;

}

3.下面程序的运行结果是_201,10______。

#include

intmain()

{

inta=201,b=012;

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

return0;

}

4.下面程序的运行结果是_y=4630,y=4630______。

#include

intmain()

{

inty=2456;

printf("y=%3o\n",y);

printf("y=%8o\n",y);

return0;

}

5.下面程序的运行结果是__*3.140000,3.142*_____。

#include

intmain()

{

printf("*%f,%4.3f*\n",3.14,3.1415);

return0;

}

6.下面程序的运行结果是_______。

#include

intmain()

{

charc='x';

printf("c:

dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c);

return0;

}

7.下面程序的运行结果是_______。

#include

intmain()

{

intx=1,y=2;

printf("x=%dy=%d*sum*=%d\n",x,y,x+y);

printf("10squaredis:

%d\n",10*10);

return0;

}

8.下面程序的运行结果是_______。

#include

intmain()

{

intn=100;

charc;

floatf=10.0;

doublex;

x=f*=n/=(c=48);

printf("%d%d%3.1f%3.1f\n",n,c,f,x);

return0;

}

9.下面程序的运行结果是_______。

运行时从键盘输入:

251310↙。

#include

intmain()

{

intx,y,z;

scanf("%d%d%d",&x,&y,&z);

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

return0;

}

10.下面程序的运行结果是_______。

运行时从键盘输入:

55AB↙。

#include

intmain()

{

intk=0;charc1='a',c2='b';

scanf("%d%c%c",&k,&c1,&c2);

printf("%d,%c,%c\n",k,c1,c2);

return0;

}

四、编程题

1.编写一个程序,读入一个字母,输出与之对应的ASCII码值。

2.编写一个程序,从键盘输入圆的半径r,圆柱的高h,分别计算出圆周长cl、圆面积cs和圆柱的体积cv,输出计算结果时要求保留小数点后4位。

3.编写一个程序,输入一个三位数,分别求出这个三位数的个位、十位和百位上的数。

第4章选择结构程序设计

一、选择题

1.if语句的选择条件是_d____。

A.只能用关系表达式B.只能用关系表达式或逻辑表达式

C.只能用逻辑表达式D.可以用任何表达式

2.已知intx=2,y=-1,z=3;,执行下面语句后,z的值是____c___。

if(x

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

3.以下程序段的输出结果是___c____。

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

if(a

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

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

4.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为__b_____。

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

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

5.为了避免嵌套的if-else的二义性,C语言规定,else与___b____配对。

A.与最外层的ifB.其之前最近的不带else的if

C.其之后最近的ifD.与最近的{}之前的if

6.若有定义:

floatw;inta,b;则合法的switch语句是__d_____。

A.switch(w)B.switch(a)

{{

case1.0:

printf("*\n");case1printf("*\n");

case2.0:

printf("**\n");case2printf("

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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