二级C语言-115
(总分100, 做题时间90分钟)
一、选择题
1.
下列数据结构中,属于非线性结构的是______。
A 循环队列
B 带链队列
C 二叉树
D 带链栈
2.
在面向对象方法中,实现信息隐蔽是依靠______。
A 对象的继承
B 对象的多态
C 对象的封装
D 对象的分类
3.
软件设计中划分模块的一个准则是______。
A 低内聚低耦合
B 高内聚低耦合
C 低内聚高耦合
D 高内聚高耦合
4.
C语言中,下列不合法的字符常量是______。
A "\xff"
B "\65"
C "&"
D "\028"
5.
以下选项中,能用作用户标识符的是______。
A void
B 8_8
C _0_
D unsigned
6.
下列叙述中正确的是______。
A 程序执行的效率与数据的存储结构密切相关
B 程序执行的效率只取决于程序的控制结构
C 程序执行的效率只取决于所处理的数据量
D 以上三种说法都不对
7.
软件详细设计产生的图如图所示。该图是______。
A N-S图
B PAD图
C 程序流程图
D E-R图
8.
下列运算符中优先级最低的算符是______。
正则化可理解为一种罚函数法
A ||
B !=
C <=
D +
9.
在E-R图中,用来表示实体联系的图形是______。
A 椭圆形
B 矩形
C 菱形
D 三角形
10.
有三个关系R、S和T如下:
R | ||
A | B | C |
a | 1 | 2 |
b | 2 | 1 |
c | 3 | 1 |
S | ||
A | B | C |
d | 3 | 2 |
T | ||
A | B | C |
a | 1 | 2 |
b | 2 | 1 |
c | 3 | 1 |
d | 3 | 2 |
其中关系T由关系R和S通过某种操作得到,该操作为______。
A 选择
B 投影
C 交
D 并
11.
下列关于C语言文件的叙述中正确的是______。
A 文件由一系列数据依次排列组成,只能构成二进制文件
B 文件由结构序列组成,可以构成二进制文件或文本文件
C 文件由数据序列组成,可以构成二进制文件或文本文件
D 文件由字符序列组成,其类型只能是文本文件
12.
对于循环队列,下列叙述中正确的是______。
A 队头指针是固定不变的
B 队头指针一定大于队尾指针
C 队头指针一定小于队尾指针
D 队头指针可以大于队尾指针,也可以小于队尾指针
13.
阅读以下程序:
#include<stdio.h>
main()
{ int case; float printF;
printf("请输入2个数: ");
scanf("%d%f", &case, &printF);
printf("%d%f\n", case, printF);
}
该程序在编译时产生错误,其出错原因是______。
#include<stdio.h>
main()
{ int case; float printF;
printf("请输入2个数: ");
scanf("%d%f", &case, &printF);
printf("%d%f\n", case, printF);
}
该程序在编译时产生错误,其出错原因是______。
A 定义语句出错,case是关键字,不能用作用户自定义标识符
B 定义语句出错,printF不能用作用户自定义标识符
C 定义语句无错,scanf不能作为输入函数使用
D 定义语句无错,printf不能输出case的值
14.
表达式:(int)((double)9/2)-(9)%2的值是______。
A 0
B 3
C 4
D 5
15.
若有定义语句:“int x=10;”,则表达式x-=x+x的值为______。
A -20
B -10
C 0
D 10
16.
下面是有关C语言字符数组的描述,其中错误的是______。
A 不可以用赋值语句给字符数组名赋字符串
B 可以用输入语句把字符串整体输入给字符数组
C 字符数组中的内容不一定是字符串
D 字符数组只能存放字符串
17.
下面结构体的定义语句中,错误的是______。
A struct ord{int x; int y; int z; }; struct ord a;
B struct ord{int x; int y; int z; } struct ord a;
C struct ord{int x; int y; int z; } a;
D struct{int x; int y; int z; }a;
18.
有以下程序:
#include<stdio.h>
main()
#include<stdio.h>
main()
{ int c=0, k;
for(k=1; k<3; k++)
switch(k)
{default: c+=k;
case2: c++; break;
case4: c+=2; break;
}
printf("%d\n", c);
}
程序运行后的输出结果是______。
for(k=1; k<3; k++)
switch(k)
{default: c+=k;
case2: c++; break;
case4: c+=2; break;
}
printf("%d\n", c);
}
程序运行后的输出结果是______。
A 3
B 5
C 7
D 9
19.
以下程序段中,与语句“k=a>b?(b>c?1:0):0;”功能相同的是______。
A if(a>b)&&(b>c)k=1;else k=0;
B if((a>b)||(b>c))k=1;else k=0;
C if(a<=b)k=0;else if(b
D if(a>b)k=1;else if(b>c)k=1;else k=0;
20.
有以下程序
#include<stdio.h>
#include<stdio.h>
#include<string.h>
main()
{char a[10]="abcd";
printf("%d, %d\n", strlen(a), sizeof(a));
}
程序运行后的输出结果是______。
main()
{char a[10]="abcd";
printf("%d, %d\n", strlen(a), sizeof(a));
}
程序运行后的输出结果是______。
A 7,4
B 4,10
C 8,8
D 10,10
21.
有以下程序
#include<stdio.h>
main()
{ int n=2, k=0;
while(k++&&n++>2);
printf("%d%d\n", k, n);
}
程序运行后的输出结果是______。
#include<stdio.h>
main()
{ int n=2, k=0;
while(k++&&n++>2);
printf("%d%d\n", k, n);
}
程序运行后的输出结果是______。
A 02
B 13
C 57
D 12
22.
有以下定义语句,编译时会出现编译错误的是______。
A char a="a";
B char a="\n"
C char a="aa";
D char a="\x2d";
23.
有以下程序
#include<stdio.h>
main()
#include<stdio.h>
main()
{ char c1, c2;
c1="A"+"8"-"4";
c2="A"+"8"-"5";
printf("%c, %d\n", c1, c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是______。
c1="A"+"8"-"4";
c2="A"+"8"-"5";
printf("%c, %d\n", c1, c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是______。
A E,69
B D,69
C E,D
D 输出无定值
24.
有以下程序
#include<stdio.h>
void fun(int p)
{ int d=2;
p=d++; printf("%d", p); }
main()
{ int a=1;
fun(a); printf("%d\n", a);}
程序运行后的输出结果是______。
#include<stdio.h>
void fun(int p)
{ int d=2;
p=d++; printf("%d", p); }
main()
{ int a=1;
fun(a); printf("%d\n", a);}
程序运行后的输出结果是______。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论