文档介绍:选择题题库
下列数据结构中,属于非线性结构的是() 。
循环队列
带链队列
二叉树
带链栈
1、参考答案:C
【解析】树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。
下列数据结构中,能够按照 " 先进后出 符。其中,ddd”表示用ASCII码(八进制数)表示一个字符,本题中的 char c= '\2'
即表示占一个字符的变量 c的ASCII码值。
.现有定义 int a; double b; float c; char k;,则表达式 a/b + c— k值的类型为()。
int
double
float
char
14、参考答案:B
【解析】双目运算中两边运算量类型转换规律:
运算数1
运算敷2
转榛造果宴蜃
妲整至
长堂型
矩整金->长整型
整理
长胃型
螫型- > 长整型
字符堂
整型
字符堂-,整型
存符号整型
元符号里生
行符号整堂-,无符号整覆
整理
浮菱量
整型->浮菱型
()。
A) int a =b=0;
B) char A =65+1, b=' b';
C) float a = 1, *b = &a, *c = &b;
D) double a = ; b=
15、参考答案:B
【解析】本题考查变量的定义方法。如果要一次进行多个变量的定义,则在它们之间要
用逗号隔开。因此选项 A)和D)错误;在选项C)中,变量c是一个浮点型指针,它只能指向一
个浮点型数据,不能指向指针变量b;所以正确答案为B)。
a, b, c, *p = &c;之后,接着执行以下选项中的语句,则能正确 执行的语句是()。
scanf("%d” , a, b, c);
scanf("%d%d%d", a, b, c);
scanf("%d" , &p);
scanf("%d" , p);
16、参考答案:D
【解析】scanf函数中的输入项必须是指针,只有选项D)符合这个要求。
.以下程序的运行结果是()。
int k = 0;
void fun(int m)
{ m+ =k; k + = m; printf("m = %d k= %d ", m, k++); }
main()
{ int i =4;
fun(i + + ) ; printf("i = %d k= %d\n", i , k);
}
m= 4k= 5i= 5k = 5
m= 4k=4i=5k=5
m= 4k=4i=4k=5
m= 4k=5i=4k=5
17、参考答案:B
【解析】由于在main()函数中,变量i=4,所以就调用fun(4),则输出"m= 4 k=4"。
然后变量U曾1等于5,变量i增1等于5,所以main()函数的"printf (" i = % k= % n", i , k); "语句输出"i =5 k = 5"。
.在执行下述程序时,若从键盘输入6和8,则结果为()。
main()
{ int a , b , s;
scanf("%d%d" , &a, &b) ;
s= a ;
if(a<b) s= b; s* = s;
printf("%d" , s) ; }
36
64
c) 48
D) 以上都不对
18、参考答案:B
【解析】本题中a的值为6, b的值为8,最后s的值为8, s* = s等价于s=s*s。
: main() { int k =5, n=0; while(k>0) { switch(k) { default : break ; case 1 : n + = k; case 2 :
case 3 : n + = k;
} k--; } printf("%d\n" , n) ; }
程序运行后的输出结果是() 。
0
4
6
7
19、参考答案:D
【解析】本题考查的是switch语句。在switch语句中,表达式的值与某一个case后面的 常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没 有与表达式的值匹配的,就执行default后面的语句,各个case和default的出现次序不影响
执行结果。所以在本题中,当 k=5和k=4的时候,case都没有与其匹配的值,所以执行了 default 语句;当 k=3时,执行"case 3 : n + =k;"得n=3,然后执行 default ;当 k=2 时,执行"case 2 : case 3 : n+=k;"得n=5,然后执行default ;当k=1时,执行 "case