二级C语言笔试-389
(总分100,考试时间90分钟)
一、选择题
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1. 线性表的顺序存储结构和线性表的链式存储结构分别是( )。
A) 顺序存取的存储结构、顺序存取的存储结构
B) 随机存取的存储结构、顺序存取的存储结构
C) 随机存取的存储结构、随机存取的存储结构
D) 任意存取的存储结构、任意存取的存储结构
2. 下列关于栈的描述中错误的是( )。
A) 栈是先进后出的线性表 B) 栈只能顺序存储
C) 栈具有记忆作用 D) 对栈的插入与删除操作中,不需要改变栈底指针
3. 设有下列二叉树:
对此二叉树前序遍历的结果为( )。
A) ZBTYCPXA B) ATBZXCYP C) ZBTACYXP D) ATBZXCPY
4. 下面关于对象概念的描述中,错误的是( )。
A) 对象就是C语言中的结构体变量
B) 对象代表着正在创建的系统中的一个实体
C) 对象是一个状态和操作(或方法) 的封装体
D) 对象之间的信息传递是通过消息进行的
5. 软件开发的结构化生命周期方法将软件生命周期划分成( )。
A) 定义、开发、运行维护 B) 设计阶段、编程阶段、测试阶段
C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计
6. 在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是( )。
A) 可行性分析 B) 需求分析 C) 详细设计 D) 程序编码
7. 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的( )。
A) 抽象和信息隐蔽 B) 局部化和封装化
C) 内聚性和耦合性 D) 激活机制和控制方法
8. 数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
A) DB包含DBS和DBMS B) DBMS包含DB和DBS
C) DBS包含DB和DBMS D) 没有任何关系
9. 关系数据模型( )
A) 只能表示实体间的1:1联系 B) 只能表示实体间的1:n联系
C) 只能表示实体间的m:n联系 D) 可以表示实体间的上述3种联系
10. 有三个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为( )。
A) 并 B) 自然连接 C) 笛卡儿积 D) 交
11. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是( )。
A) 有零个或多个输入 B) 有零个或多个输出
C) 有穷性 D) 可行性
12. 下列叙述中错误的是( )。
A) 一个C语言程序只能实现一种算法
B) C程序可以由多个程序文件组成
C) C程序可以由一个或多个函数组成
D) 一个C函数可以单独作为一个C程序文件存在
13. 若变量已正确定义为int型,要通过语句scanf("%d, %d, %d", &a, &b, C); 给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是( )。(u代表一个空格符)
A) uuu1, 2, 3<回车> B) 1u2u3<回车>
C) 1, uuu2, uuu3<回车> D) 1, 2, 3<回车>
14. 以下4个选项中,不能看成一条语句的是( )。
A); B) a=5, b=2.5, c=3.6; C) ifa<5); D) if(b!=5) x=2; y=6;
15. 已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是( )。
A) kk>='A'&&kk<='Z' B) !(kk>='A'||kk<='Z')
C) (kk+32) >='a'&&(kk+32) <='z' D) isalpha(kk) &&(kk<91)
16. 当变量c的值不为2、4、6时,值也为“真”的表达式是( )。
A) (c==2) ||(c==4) ||(c==6) B) (c>=2&&c<=6) ||(c!=3) ||(c!=5)
C) (c>=2&&c<=6)&&!(c%2) D) (c>=2&&c<=6) &&(c%2!=1)
17. 有以下程序:
#include<stdio.h>
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);
程序运行后的输出结果是( )。
A) 0 B) 4 C) 6 D) 7
18. 有以下程序:
#include<stdio.h>
main()
int i, s=1;
for(i=1; i<50; i++)
if!(i%5) &&!(i%3) ) s+=i;
printf("%d\n",s); )
程序的输出结果是( )。
A) 409 B) 277 C) 1 D) 91
19. 当运行以下程序时,从键盘输入AhaMA(空格)Aha<CR>,则下面程序的运行结果是( )。
#include<stdio.h>
main()
char s[80], c='a';
int i=0;
scanf("%s", s);
while(s[i]!='\0')
ifs[i]==c) s[i]=s[i]-32;
else if(s[i]==c-32) s[i]=s[i]+32;
i++; c语言while语句流程图
puts(s);
A) ahAMa B) AbAMa C) AhAMa[空格]ahA D) ahAMa[空格]ahA
20. 设变量均已正确定义,若要通过scanf("%d%c%d%c", &a1, &c1, &a2, &c2); 语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是( )。(注:口代表空格字符)
A) 10□X口20口Y<回车> B) 10□X20□Y<回车>
C) 10□X<回车>
20□Y<回车>
D) 10X<回车>
20Y<回车>
21. 以下叙述中错误的是( )。
A) 用户定义的函数中可以没有return语句
B) 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C) 用户定义的函数中若没有return语句,则应当定义函数为void类型
D) 函数的return语句中可以没有表达式
22. 有以下程序:
#include<stdio.h>
fun(int x, int y) return(x+y);
main()
int a=1, b=2, c=3, sum;
sum=fun((a++, b++, a+b), c++);
printf("%d\n",sum);
执行后的输出结果是( )。
A) 6 B) 7 C) 8 D) 9
23. 若有说明语句:double *p, a; ,则能通过scanf语句正确给输入项读入数据的程序段是( )。
A) *p=&a; scanf("%lf", p); B) *p=&a; scanf("%f", p);
C) p=&a; scanf("%lf", *p); D) p=&a; scanf("%lf', p);
24. 已定义以下函数:
int fun(int *p)
return *p;
fun函数返回值是( )。
A) 不确定的值 B) 一个整数 C) 形参p中存放的值D) 形参p的地址值
25. 有以下程序:
#include <stdio.h>
main()
int s[12]=f1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2, 3, c[5]=0), i;
for(i=0; i<1 2; i++) c[s[i]]++;
for (i=1; i<5; i++) printf("%d", c[i]);
printf("\n");
程序的运行结果是( )。
A) 1234 B) 2344 C) 4332 D) 1123
26. 已有定义:int i, a[10], *p; ,则合法的赋值语句是( )。
A) p=100; B) p=a[5] C) p=a[2]+2 D) p=a+2;
27. 有以下程序:
#include <stdio.h>
void fun(int *s, int n1, int n2)
int i, j, t;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论