C语言选择题复习资料Word下载.docx
《C语言选择题复习资料Word下载.docx》由会员分享,可在线阅读,更多相关《C语言选择题复习资料Word下载.docx(11页珍藏版)》请在冰点文库上搜索。
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D.运算优先级不同的运算符也要先看结合方向
7.设有inta=2,b=4,c=6,y=3;
则执行语句y=((b=a+b),(b+c));
后,y的值是(C)
A.6
B.10
C.12
D.3
8.C语言中用于结构化程序设计的三种基本结构是(D)
A.if,switch,break
B.If,while,for
C.While,do-while,for
D.顺序结构,选择结构,循环结构
9.下列叙述中正确的是(B)
A.调用printf()函数时,必须要有输出项
B.使用printf()函数时,必须在之前包含头文件stdio.h
C.在C语言中,实数可以以十进制,八进制或十六进制的形式输出
D.调用getchar()函数读入字符时,可以从键盘上输入字符所对应的ASCII码
10.程序段:
intx=12;
()
A.123.141593
B.12
3.141593
C.12,3.141593
D.123.141593
11.(D)不是算法的表达方式。
A.流程图
B.N-S流程图
C.伪代码
D.数据结构
12.有如下程序()
#include“stdio.h”
A.0
B.-1
C.1
D.2
13.下列叙述中正确的是(D)
A.break语句只能用于switch语句中
B.在switch语句中必须使用default
C.break语句必须与switch语句中的case配对使用
D.在switch语句中,不一定使用break语句
14.语句while(!
E)中表达式!
E等价于(D)
A.E==0
B.E!
=1
C.E!
=0
D.E==1
15.若变量已正确定义,有下列程序段:
i=0;
A.0,0
B.0,1
C.1,1
D.程序进入无限循环
16.有以下程序
#include<
stdio.h>
A.234
345
B.432
543
C.23
34
45
D.45
23
17.在循环中使用break语句的功能是(A)
A使程序的执行跳出break所在的那一重循环
B.是程序执行结束
C.跳出包含此break语句的所以循环
D.终止本次循环,继续下次循环
18.下列程序的输出结果( )
main()
A.1B.2C.3D.4
19.若说明:
inta[][3]={1,2,3,4,5,6,7};
则a数组第一维的大小是( D)
A.2B.3C.4D.无确定值
20.下列能正确定义字符串的语句是(A)
A.charstr[]={`\064`};
B.charstr=“kx43”;
C.charstr=”;
D.charstr[]=“\0”
21.表达式strlen(“hello”)的值是(B)
A.4B.5C.6D.7
22.已有定义:
chara[]=“xyz”,b[]={‘x’,‘y’,‘z’};
下列叙述中正确的是(B)
A.数组a和b的长度相同
B.a数组长度大于b数组长度
C.a数组长度小于b的数组长度
D.上述说法都不对
23.有下列程序:
Main()
A.1,6,5,7B.8,7,3,1C.4,7,5,2D.1,6,,2,1
24.以下所列的各函数首部中,正确的是(C)
A.voidplay(var:
Integer,varb:
Integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.Subplay(aasinteger,basinteger)
25.以下正确的描述是(B)
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
26.有以下程序
Intf1(intx,inty)
A.3,4,5B.5,3,4C.5,4,3D.3,5,4
27.以下叙述不正确的是(D)
A.在不同的函数中可以使用同名的变量
B.函数中的形式参数是局部变量
C.在函数内定义的变量只在本函数范围内有效
D.在函数内复合语句中定义的变量也可在本函数范围内有效
28.有以下程序
Voidf(intb[])
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,6,8,10,12,7,8,9,10,
C.1,2,3,4,10,12,14,16,9,10,
D.1,2,6,8,10,12,14,16,9,10,
29.若有以下程序
A.6B.8C.4D.2
30.有定义:
int:
*p,m=5,n;
以下正确的程序段是(A)
此题答案都有问题(因为&
符号未显示出来)
A.p=n;
scanf(“%d”,p);
B.p=n;
scanf(“%d”,*p);
C.scanf(“%d”,n);
*p=n;
D.p=n,*p=m;
31.C语言特点不包括(D)
A.生成的目标代码质量高
B.程序执行效率高
C.兼备高级语言、低级语言的双重特点
D.依赖计算机的硬件系统
32.以下说法错误的是(C)
A.高级语言都是接近人们习惯的自然语言和数字语言作为语言的表达形式
B.计算机智能处理由0和1的代码构成的二进制指令或数据
C.C语言源程序经过C语言编译程序之后生成一个后缀为.EXE的二进制文件
D.每一种高级语言都有它对应的编译程序
33.语句unsigunedshorta;
将a定义为(C)变量
A.短整型B.无符号整型C.无符号短整型D.有符号短整型
34.以下为十进制无符号长整数的是(B)
A.23LuB.23LC.23uD.23
35.设有intx=66;
则语句printf(“%c\n”,x);
的运行结果是(C)
A.AB.BC.66D.编译出错
36.设有intx=11;
则表达式(x++*1/3)的值是(A)
A.3B.4C.11D.12
37.如有如下定义:
float=2.5;
则表达式(int)a+5的值为( A)
A.7B.7.5C.8D.8.5
38.下列不是赋值语句的是(A )
A.a--B.a==0C.a=100D.a*=10
39.putchar函数可以向终端输出一个(D)
A.整型变量表达式值B.实型变量值
C.字符串D.字符或字符型变量值
40.下列几种说法中,正确的是(C)
A.else语句需与他前面的if语句配对使用
B.else语句需与前面最接近它的if语句配对使用
C.else语句需与前面最接近它的,且没有和其他else语句配对的if语句配对
D.以上都正确
41.程序段:
inta=1,b=2,c=3;
if(a<
b){c=a;
a=b;
b=c;
}执行后a,b,c的值分别为多少(D)
A.a=1,b=2,c=3B.a=2,b=3,c=1
C.a=2,b=3,c=3D.a=2,b=1,c=1
42.以下不构成无限循环的语句或语句组是(D)
A.n=0;
do{++n;
}
B.n=0;
while(n<
=0);
while
(1){n++;
C.n=10;
while(n);
{n--;
D.for(n=0;
i=1;
;
i++)n+=1
43.设变量已正确定义,则以下能正确计算f=n!
的程序段是(D)
A.f=0;
for(i=1;
i<
=n;
i++)f*=i;
B.f=1;
n;
C.f=1;
for(i=n;
i>
1;
D.f=1;
=2;
i--)f*=i;
44.在循环中使用break语句的功能是(A)
A.使程序的执行跳出break所在的那一重循环
B.使程序执行结束
C.跳出包含此break语句的所有循环
45.有两个字符数组a、b,则以下正确的输入格式是(B)
A.gets(a,b);
B.scanf(“%s%s”,a,b);
C.scanf(“%s%s”,a,b);
D.gets(“a”),gets(“b”);
46.以下正确的说法是(D)
A.用户若需要调用标准库函数,调用前必须重新定义
B.用户可以重新定义标准库函数,如若此,该函数将失去原有定义
C.系统不允许用户重新定义标准库函数
D.用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用
47.用一维数组名作函数的实际参数,则传递给形式参数的是(A)
A.数组首元素的地址B.数组中第一个元素的值
C.数组中元素的个数D.数组中全部元素的值
判断题
1.#include命令不能包含用户自己建立的头文件。
错
2.用标识符来表示的常量称为符号常量。
对
3.(int)x+y的作用是把x+y的结果转换成整型。
4.如果赋值运算符两边的数据类型不一致,在赋值时要进行类型转换。
5.要使用printf函数输出字符“%”,需要在格式控制字符串中用连续两个%来表示。
6.只有在a为真(非0)时,表达式a&
b才需要判断b的值。
7.switch语句中,case语句后如没有break,则顺序向下执行。
8.do-while循环中,根据情况可以省略while。
对错
9.如果形参与实参的类型不一致,以实参类型为准。
10.“一个单精度指针变量只能赋单精度变量的地址,单精度数组名,另外单精度指针变量的值”这种说法正确否?
11.后缀为f或F的数为浮点数。
12.‘5’于5是一样的。
13.在赋值运算中,类型转换是由系统自动进行的。
14.条件运算符?
和:
是一对运算符,不能分开单独使用。
错对
15.在switch语句中,每一个的case常量表达式的值可以相同。
16.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成。
17.全局变量的作用域一定比局部变量的作用域范围大。
18.C程序一行只能写一个语句。
19.C语言的数据类型只有int型、float型、char型。
20.表达式1\4*3的值是0.75。
21.关系运算符的优先级高于逻辑运算符(不包括!
)。
对
22.若有inti=10,j=0;
则执行完语句if(j=0)i++;
elsei--;
i的值为11。
23.Continue语句的作用是结束整个循环的执行。
24.若有定义语句:
doublea,*p=&
a;
定义语句中的*号是一个间址运算符,这种说法是否正确?
25.注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。
26.变量可以先使用后定义。
27.在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。
28.a=b+c=1是正确的赋值表达式。
29.用putchar函数可以输出能在屏幕上显示的字符,也可以输出屏幕控制字符及其他转义字符。
30.表达式‘c’&
&
‘d’的值为0。