给学生C语言复习考试题.docx
- 文档编号:28008796
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:89
- 大小:66.50KB
给学生C语言复习考试题.docx
《给学生C语言复习考试题.docx》由会员分享,可在线阅读,更多相关《给学生C语言复习考试题.docx(89页珍藏版)》请在冰豆网上搜索。
给学生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)p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 语言 复习 考试题