C语言复习题.docx
- 文档编号:25169003
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:37
- 大小:32.90KB
C语言复习题.docx
《C语言复习题.docx》由会员分享,可在线阅读,更多相关《C语言复习题.docx(37页珍藏版)》请在冰豆网上搜索。
C语言复习题
第1章基础知识
1.下列变量名中合法的是
A.B.C.Tom
B.3a6b
C._6a7b
D.$ABC
2.C语言的基本单位是(函数)
3.以下说法中正确的是
A.C语言程序总是从第一个定义的函数开始执行;
B.C语言程序中至少有一个main函数;
C.C语言程序总是从main函数开始执行;
D.C语言程序中的main函数必须放在程序的开始部分;
4.C源程序文件的扩展名为(..c)
5.以下说法中正确的是
A.C源程序可以直接运行产生结果;
B.C源程序经编译后才可直接运行产生结果;
C.C源程序经连接后才可直接运行产生结果;
D.C源程序经编译和连接后才可直接运行产生结果;
6.在C程序中,main()函数的位置是(可以任意;)
7.以下叙述不正确的是
A.一个C源程序可由一个或多个函数构成;
B.一个C源程序必须包含一个main函数;
C.C程序的基本组成单位是函数;
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误;
8.可在C语言中用作用户标识符的一组标识符是
A.voiddefineword
B.as_b3_123ff
C.for_abccase
D.2cdosig
9以下是正确的C语言标识符是____。
A.#define
B._123
C.%d
D.\n
10C语言中,下列正确的叙述是
A.C程序中的关键字必须小写,其他标识符不区分大小写
B.C程序中的所有字母都不区分大小写
C.C程序中的所有字母都必须小写
D.所有的C语言关键字必须小写
11.算法具有五个特性,以下选项中不属于算法特性的是
A.简洁性
B.有穷性
C.确定性
D.可行性
12.以下不正确的C语言标识符是
A.int
B.a_1_2
C.ab1exe
D._x
13.下列四组字符串中都可以用作C语言程序标识符的一组是
A.print
_3d
oodb
aBc
B.i\am
one_half
start$it
3pai
C.Pxq
My->book
line#
His.age
D.str_l
Cpp
pow
while
14.下面各选项组中,均是C语言关键字的组是。
A.auto,enum,include
B.switch,typedef,continue
C.signed,union,scanf
D.if,struct,type
15.下列不属于C语言关键字的是。
A.default
B.register
C.enum
D.external
16.C语言程序从main()函数开始执行,所以这个函数要写在_.程序文件的任何位置___。
17。
下面符号中,____不是C语言允许的一般标识符。
A.sum
B.lotus_1
C.#33
D.a5
18.下列选项中,合法的C语言关键字是
A.VAR
B.cher
C.integer
D.default
19.以下叙述中正确的是
A.C程序由主函数组成;
B.C程序由函数组成;
C.C程序由函数和过程组成;
D.在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示出来;
20.要把高级语言编写的源程序转换为目标程序,需要使用
A.编辑程序
B.驱动程序
C.诊断程序
D.编译程序
参考答案:
D
21.下列选项中不属于结构化程序设计方法的是
A.自顶向下
B.逐步求精
C.模块化
D.可复用
参考答案:
D
22.两个或两个以上模块之间关联的紧密程度称为
A.耦合度
B.内聚度
C.复杂度
D.数据传输特性
参考答案:
A
23.以下不合法的用户标识符是
A.j2_KEY
B.dobule
C.4d
D._8_
参考答案:
C
24.以下叙述中正确的是
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
25.以下叙述中错误的是
A.C语句必须以分号结束
B.复合语句在语法上被看作一条语句
C.空语句出现在任何位置都不会影响程序运行
D.赋值表达式末尾加分号就构成赋值语句
26.用C语言编写的代码程序
A.可立即执行
B.是一个源程序
C.经过编译即可执行
D.经过编译解释才能执行
参考答案:
B
27.下列选项中,不能用作标识符的是
A._1234_
B._1_2
C.int_2_
D.2_int_
28.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是( )。
A.有零个或多个输入
B.有零个或多个输出
C.有穷性
D.可行性
参考答案:
B
29.以下叙述中正确的是
A.C语言的源程序不必通过编译就可以直接运行
B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C.C源程序经编译形成的二进制代码可以直接运行
D.C语言中的函数不可以单独进行编译
参考答案:
B
30.以下4组用户定义标识符中,全部合法的一组是
A._main
enclude
sin
B.if
-max
turbo
C.txt
REAL
3COM
D.int
k_2
_001
参考答案:
A
31.以下叙述中正确的是
A.C语言比其他语言高级
B.C语言可以不用编译就能被计算机识别执行
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D.C语言出现的最晚,具有其他语言的一切优点
参考答案:
C
32.以下叙述中正确的是
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.main()函数必须放在其它函数之前
D.所有被调用的函数一定要在调用之前进行定义
参考答案:
A
33在C语言提供的合法的关键字是
A.swicth
B.cher
C.Case
D.default
参考答案:
D
34.下列字符串不是标识符的是
A.sum
B.Average
C.Day_night
D.M.D.JOHN
参考答案:
D
35.C语言规定:
在一个源程序中,main函数的位置
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
参考答案:
C
第2章数据类型运算符与表达式
1.设有intn=3;则n++的结果是(3)
2.设有intn=3;则++n,n的结果是(4)
3.逗号表达式(a=3*5,a*4),a的值为(15)
4.若有intq,p;以下不正确的语句是
A.p*=3;
B.p/=q;
C.p+=3;
D.p&&=q;
参考答案:
D
5.设i=5,j=6,表达式k=(i++)*(--j)的值为(25)
6.若有说明inti,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为(900)
7.C语言中运算对象必须是整型的运算符是
A.%=
B./
C.=
D.<=
参考答案:
A
8.若变量已正确定义并赋值,下面符合C语言语法的表达式是
A.a:
=b+1
B.a=b=c+2
C.int18.5%3
D.a=a+7=c+b
参考答案:
B
9.以下程序的输出结果是(13.700000)
main()
{inta=1,b=4,c=2;
floatx=10.5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
printf(“%f”,z);
}
10.字符串""的长度是(0)
11.以下语句的输出结果是(9)(strlen()为求字符串长度函数)
printf(“%d\n”,strlen(“xyz\n099\8\\”));
12.,号运算符得结合方向为自左向右的
13.与条件表达式"(n)?
(c++):
(c--)"中的表达式(n)等价的表达式是 (n!
=0)。
14.C语言中,所有的C语言关键字必须小写。
15.检查以下的C语言标识符的正确性:
A intB a_1_2C ab1exeD _xE printF i\am
16.检查以下的C语言的关键字的正确性:
auto,enum,include switch,typedef,continue,signed,union,scanf if,struct,type
default, register,enum,external
17.字符串""的长度是0
18.如果inta=1,b=2,c=3,d=4;则条件表达式"a
a:
c c: d"的值是1 19.为求出s=10! 的值,则变量s的类型应当为ong 20.已知inti=10;表达式"20-0<=i<=9"的值是1 21.在32位的计算机中,一个字长等于1个字节。 22.设y是int型变量,判断y为奇数的关系表达是(y%2)==1. 23.计算机机领域中,通常用英文单词“Byte”表示字节。 24.表示“整数x的绝对值大于5”时值为“真”的C语言表达式是x>5||x<-5. 25.设有以下变量定义,并已赋确定的值 charw;intx;floaty;doublez; 则表达式: w*x+z-y所求得的数据类型为: double. 26.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1。 27.若已知a=10,b=20,则表达式! a*b的值是1。 28.计算机网络分为广域网和局域网,因特网属于____广域网____。 29.C语言的函数体一般包括____声明____部分和执行部分。 30.一个C程序总是从main函数开始执行,在____main____函数中结束运行。 31.C程序的注释是由____/**/____所界定的文字信息组成的。 32.一个C语言程序有且仅有一个____main()____函数。 33.C语言源程序的语句分隔符是____;____。 34.在程序设计语言中,计算机能够识别的语言是____机器____语言。 35.标识符的第一个字符必须是____字母或下划线____。 36.关键字是一种C语言中规定的具有____特定____含义的标识符 37.已知字母b的ascii码为98,且charch;则表达式ch=’b’+’8’-‘3’的值为____103____。 38.表达式10/3的结果是____3____。 表达式10%3的结果是____1____。 39.以下程序运行后的输出结果是____220____ main() {charc;intn=100; floatf=10;doublex; x=f*=n/=(c=50); printf("%d%f\n",n,x); } 40.以下程序运行后的输出结果是____b____。 main() {charm; m='B'+32;printf("%c\n",m); } 41.若有语句 inti=-19,j=i%4; printf("%d\n",j); 则输出结果是 ____-3____. 42.若有以下程序 main() { chara; a='H'-'A'+'0'; printf("%c\n",a); } 执行后的输出结果是____7____. 43.以下程序的输出结果是____2,1____ main() {inta=1,b=2; a=a+b;b=a-b;a=a-b; printf(“%d,%d\n”,a,b); } 44.若有定义: inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是____3____。 c=(a-=(b-5)); c=(a%11)+(b=3); 45.若有定义: inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是____3____。 c=(a-=(b-5)); c=(a%11)+(b=3); 46.请写出以下数学式的C语言表达式____a/(b*c)____. a ─── b.c 47.程序设计的三种基本结构是顺序结构、选择结构、循环结构。 (正确) 48.C语言中可以把一个字符串赋给一个字符变量。 (错误) 第3章顺序结构 1.以下程序的输出结果是___101_。 main() {intn=1; printf("%d%d%d\n",n,n++,n--); } 2.从键盘输入12345,则下面程序的输出结果是__.a=12b=345__。 main() {inta,b; scanf("%2d%3d",&a,&b); printf("a=%db=%d\n",a,b); } 3.以下程序段的输出结果是1234 4.若要求从键盘读入含有空格字符的字符串,应使用函数 A.getc() B.gets() C.getchar() D.scanf() 参考答案: B 5.有以下程序 #include main() { charc1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c5=getchar();c6=getchar(); putchar(c1);putchar(c2); printf("%c%c\n",c5,c6); } 程序运行后,值为(1245) 6.有以下程序 main() {chara,b,c,d; scanf("%c,%c,%d,%d",&a,&b,&c,&d); printf("%c,%c,%c,%c\n",a,b,c,d); } 若运行时从键盘上输入: 6,5,65,66<回车>。 则输出结果是(6,5,A,B )。 7.有以下程序 main() { intx=102,y=012; printf(“%2d,%2d\n”,x,y); } 执行后输出结果是( 102,10)。 8.设有如下程序段: intx=2002,y=2003; printf("%d\n",(x,y)); 则以下叙述中正确的是( )。 A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B.运行时产生出错信息 C.输出值为2002 D.输出值为2003 参考答案: D 9.已知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); 参考答案: C 10.设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是(10,2 )。 printf(”%d,%d\n”,x--,--y); 题目: 以下程序的输出结果是____261____。 main() {inta=177; printf("%o\n",a); } 11.以下程序的输出结果是____0____。 main() {unsignedshorta=65536;intb; printf(“%d\n”,b=a); } 12.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是____5.0,4,c=3____intb,c;floata; scanf("%f,%d,c=%d",&a,&b,&c); 13.若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应该是____a=1,b=2____。 inta,b; scanf("a=%b,b=%d,&a,&b); 14.下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() {inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ____a+b____; b=____a-b____; a=____a-b____; printf("a=%d,b=%d\n",a,b); } 15.假设变量a和b均为整型,以下语句可以不借助任何变量把a,b中的值进行交换。 请填空。 a+=____b____; b=a-b; a-=b; 16.有以下程序段,说明其输出结果,请填空。 int a=3,b=4; printf("%d\n",a=a+1,b+a,b+1); printf("%d\n",(a=a+1,b+a,b+1)); 输出结果是____ 4 5 ____。 17.intx;floaty,z; scanf("%2d%3f%4f",&x,&y,&z); printf("\n"); printf("x=%d,y=%f,z=%f\n",x,y,z); 当执行以上程序段时,在键盘上从第一列开始输入9876543210l,则程序的输出结果是 ____x=98,y=765.000000,z=4321.000000____。 18.有以下程序段 intx,y,z; scanf("%d%d%d",&x,&y,&z printf("x+y+z=%d\n",x+y+z); 当程序运行时输入数据的形式为: 25,13,10时,正确的输出结果为 ____无正确值;无正确结果____。 19.有以下程序段: chara,b,c,d; c=getchar();d=getchar(); scanf("%c%c",&a,&b); putchar(a);putchar(b); printf("%c%c",c,d); 程序运行后,若从键盘输入(从第1列开始) 9l 876l 则输出结果是____879____。 所属章节: 顺序结构 20.有以下程序段 intm=0,n=0;charc='a'; scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输入: 10A10l 则输出结果是____10,A,10____。 21.编写一个程序,从键盘输入一个三位整数,将它们逆序输出。 例如输入127,输出721。 22.求华氏温度100°F对应的摄氏温度。 计算公式: c=5*(f-32)/9,式中: c表示摄氏温度,f表示华氏温度。 23.编写程序,要求输入某学生期末考试四门成绩(成绩为整数),然后将四门成绩的总分及平均分输出,平均分的结果保留小数点后一位数字。 24.编写一个四则运算的程序,要求输入两个整数,依次求出两数的和、差、积和商,并输出。 25.变量a=30,变量b=20,编写程序实现交换a和b的值,并输出。 26.从键盘输入任意字符,若是大写字母原样输出,若是小写字母则转为大写字母再输出。 27.输入矩形的长及宽,输出矩形的面积。 28.输入三角形的三边长,求三角形面积。 提示: 三角形面积area,公式为: area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=(a+b+c)/2. 29.输入两个整数a和b,要求把他们的值互换再输出。 第4章选择结构 1.执行下列语句后a的值为 (2) inta,b,c; a=b=c=1; ++a||++b&&++c; 2.执行下列语句后a的值为(0) inta=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z); 3.执行下列语句后b的值为(6) inta=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z); 4.以下程序的输出结果是(.$$$) main() {inta=5,b=0,c=0; if(a=b+c)printf(“***\n”); elseprintf(“$$$\n”); } 5.若运行时给变量x输入12,则以下程序的运行结果是(0) main() {intx,y; scanf(“%d”,&x); y=x>12? x+10: x-12; printf(“%d\n”,y); } 6.以下程序的输出结果是 (1) main() {intk=4,a=3,b=2,c=1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题