给学生C语言复习题.docx

上传人:b****6 文档编号:4167250 上传时间:2022-11-28 格式:DOCX 页数:75 大小:61.80KB
下载 相关 举报
给学生C语言复习题.docx_第1页
第1页 / 共75页
给学生C语言复习题.docx_第2页
第2页 / 共75页
给学生C语言复习题.docx_第3页
第3页 / 共75页
给学生C语言复习题.docx_第4页
第4页 / 共75页
给学生C语言复习题.docx_第5页
第5页 / 共75页
点击查看更多>>
下载资源
资源描述

给学生C语言复习题.docx

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

给学生C语言复习题.docx

给学生C语言复习题

《C语言程序设计》复习题

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

一、选择题

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

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

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

C.C语言属于高级语言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

B.函数组成

C.若干过程组成

D.若干子程序组成

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第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.以下运算符中优先级最低的是___C___,以下运算符中优先级最高的是___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.下面程序的运行结果是___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值的语句是___B___。

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);

执行后输出结果是___C____。

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

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

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。

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

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,以下选项中正确的输入语句是___C___。

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输入数据,正确的输入语句是___B____。

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,则正确的输入是___B____。

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

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

已有定义:

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()函数的叙述中,正确的是___D____。

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____。

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

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

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

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

三、程序阅读题

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;

}

y=4630

4.下面程序的运行结果是___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.下面程序的运行结果是__c:

dec=120,oct=170,hex=78,ASCII=x___。

#include

intmain()

{

charc='x';

printf("c:

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

return0;

}

x=1y=2*sum*=3

7.下面程序的运行结果是__10squaredis:

100___。

#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.下面程序的运行结果是__24820.020.0___。

#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.下面程序的运行结果是__x+y+z=48__。

运行时从键盘输入:

251310↙。

#include

intmain()

{

intx,y,z;

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

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

return0;

}

10.下面程序的运行结果是__55,空格,A_____。

运行时从键盘输入:

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;

}

第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("**\n");

}}

C.switch(b)D.switch(a+b);

{{

case1:

printf("*\n");case1:

printf("*\n");

default:

printf("\n");case2:

printf("**\n");

case1+2:

printf("**\n");default:

printf("\n");

}}

二、程序阅读题

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

运行时从键盘输入:

9↙。

#include

intmain()

{

intn;

scanf("%d",&n);

if(n++<10)printf("%d\n",n);

elseprintf("%d\n",n--);

return0;

}

2.下面程序的运行结果是__2,2,2__。

#include

intmain()

{

inti=1,j=1,k=2;

if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);

return0;

}

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

#include

intmain()

{

intm=5;

if(m++>5)printf("%d\n",m);

elseprintf("%d\n",m--);

return0;

}

4.下面程序的运行结果是___97,b____。

#include

intmain()

{

charc1=97;

if(c1>='a'&&c1<='z')

printf("%d,%c",c1,c1+1);

else

printf("%c",c1);

return0;

}

5.下面程序的运行结果是__C=-1__。

#include

intmain()

{

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

if(a>b)c=1;

else

if(a==b)c=0;

elsec=-1;

printf("c=%d",c);

return0;

}

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

运行时从键盘输入:

88↙。

#include

intmain()

{

inta;

scanf("%d",&a);

if(a>90)printf("%d",a);

if(a>80)printf("%d",a);

if(a>70)printf

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

当前位置:首页 > 初中教育 > 政史地

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

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