2019 浙江杭州师范大学软件专业基础考研真题
sum
turb
3COM
_001
clu_1
-max
REAL
k_2
C 程序设计部分(75 分)
一、单项选择题(每小题 1 分,共 10 分)
1.在 ANSI C 中以下 4 组用户定义标识符中,全部合法的一组是( )
A)_total
B)if
C)txt
D)int
2.以下程序的输出结果是( )
#include
main( )
{
int a = 1, b = 2, c = 3;
printf(“%d”, c>b>a);
}
A) 2
B) 1
C) 0
D) 3
3.以下正确的叙述是( )
A) 在 C 语言中,main 函数必须位于文件的开头
B) C 语言每行中只能写一条语句
C) C 语言本身就有输入、输出语句
D) 对一个 C 语言进行编译预处理时,可检查宏定义的语法错误
4.设有定义:int a,*pa=&a; 以下 scanf 语句中能正确为变量 a 读入数据的是( )
A)scanf("%d",pa);
C)scanf("%d",&pa);
5.若有以下程序段,
D)scanf("%d",*pa);
B)scanf("%d",a);
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
C) 1
D) 2
B) 0.5
B)a>=0|a<=10
D)a>=10‖a<=0
则执行后,c3 中的值是( )
A) 0
6.能正确表示逻辑关系:“a≥10 或 a≤0”的 C 语言表达式是( )
A) a>=10 or a<=0
C)a>=10 &&a<=0
7.执行下面的程序时,将 1、2、3、4 分别赋给 a、b、c、d,正确的输入是( )
main( )
{
int
scanf(“%d,%d,%d%d”,&a,&b,&c,&d);
…
}
A)1
4
C) 1,2,3,4
8.有以下程序段
main( )
B)1
3,4
D) 1,2,3 4
a,b,c,d;
2
3
2
{
int k=0;
while(k=1) k++;
B) 有语法错,不能执行
D) 执行 1 次
}
则 while 循环执行的次数是( )
A) 无限次
C) 一次也不执行
9.以下程序的输出结果是( )
#include
main( )
{
int a = 5, b = 4, c = 6, d;
printf(“%d”,d=a>b?(a>c?a:c): b);
}
A) 5
B) 4
C) 6
D) 不确定
10.下面是对数组 a 的初始化,其中不正确的是( )
A)a[5]={"ABCD"}
C)a[5]=""
B)a[5]={'A','B','C','D'}
D)a[5]="ABCDE"
[2] 、 [3] 。
二、填空题(每空 1 分,共 16 分)
1.结构化程序设计中的三种基本结构是 [1] 、
2.C 程序的基本组成单位是 [4]
[6]
3.标识符的第一个字符必须是 [5]
4.实常数 123.457 的规范化指数表示形式是 [7]
5.表达式 7/2 的结果是[8]。表达式 7%2 的结果是 [9] 。
6.定义一个整型数组 a[10],则下标最大的数组元素为
7.在函数的递归调用过程中,要使递归过程不是无限制进行下去,必须具有 [11] 。
8.C 语言提供了 [12]
9.已知:char c[ ]={“china”};将字符数组 c 中整个字符串一次输出的语句书写格式为
[13] 。
10.表达式 4>3 && 7<5-!0 的值为 [14]
11.按照变量在函数中作用域不同,可以将变量分为 [15] 和 [16] 。
命令用来实现“文件包含”的操作。
。
。
[10]
。
。
或
。
三、阅读下列程序,写出程序的运行结果(4×3=12 分)
1.已知字符 A 的 ACSII 码值为 65,写出以下语句的输出结果
main( )
{
char ch=‘A’;
printf("%c,%d",ch,ch+3);
}
2.
{
main( )
int a = 10;
printf(“%d ”, ++a);
printf(“%d ”, a--);
}
3. main( )
{
int t=1;
for(i=1 ; i<5 ; i++) t=t*i;
printf("%d",t);
}
4. f(int *a, int b)
{b=b+*a; *a=*a+b;}
main( )
{
int x=2,y=4;
int *p;
p=&x;
f(p,y);
printf("%d ,%d",x,y);
}
int
temp;
四、程序填空(每空 2 分,共 14 分)
1.下列程序段以函数 swap( )调用的形式实现两个变量值的互换,请填空完善程序。
swap(int * m,int * n)
{
temp=[1];
[2];
*n=[3];
}
main( )
{
scanf(“%d,%d”,&x,&y);
swap([4]);
printf(%d,%d”,x,y);
}
intx,y;
2.下面程序是计算 1-3+5-7+…… -99+101 的值,请填空完善程序。
main( )
{
int i,m,t=1,s=0;
for (i=1;i<=101;[5])
{[6];
s=s+m ; [7];}
printf(“%d\n”,s);
}
五、编程题:(共 23 分)
1. 编程求 1!+2!+3!+……+n!的值,要求分别用递归和非递归两种方法完成该计算。(每种
方法 5 分,共 10 分)
2. 编写程序输出下列形式的杨辉三角形的前 10 行。(13 分)
1
1
1
2
1
3
1
1
4
……
1
3
6
1
4
1
数据库原理部分(75 分)
六、选择题(共 15 分,每小题 3 分)
1、一个关系是一张二维表,在这张二维表里,每一行对应于关系的一个___________。
A)属性 B)子关系 C)元组
D)分量
B)日期
C)航班号+日期
D)航班号+值飞飞机编号
2、有一名为“航班运营”实体,含有航班号、日期、计划起飞时间,计划到达时间,实际
起飞时间、实际到达时间、值飞飞机编号、情况摘要等属性,该实体主码可能是_________。
A)航班号
3、在正常运行的现代数据库管理系统中,两个或者多个事务竞争多个相同的资源时,就可
能会发生_______。
A)死锁
4.设关系 R(A,B,C)和关系 S(A,B)具有不同的元数(目),以下关系运算__________是不合
法的。
A) R÷S
5.第一范式(1NF)要保证____________。
B)数据库损坏
D)ΠA(R)
C)数据丢失
D)死机
B)R-S
C)R×S
A)所有属性都是原子的
B)主码是唯一的
C)不允许有外码
D)满足第 2 范式(2NNF)
七、填空题(共 10 分,每空格 2 分)
1.在设计传统的二维表数据库过程中,最常用的数据模型是_______(1)______。
2.设关系模式 R(A,B,C,D,E)的函数依赖集为 F={A→C, BC→D, D→E},则 R 的候选码
(Candidate Key)可为_________(2)___________。
3.SQL 查询语言中,如要表达任意多个任意字符,应使用通配符______(3)____。
4.数据库管理系统中,为了保证事务的正确执行,维护数据库的完整性,当事务被提交
(commit)后就不会再被回滚。这是事务四个属性中的____(4)______。
5.数据库系统中的外键对应关系模式的三种完整性约束中的______(5)__。
八、综合应用题(共 50 分)
1. 数据库概念设计(16 分)
一个企业人力资源数据库要求提供下述服务:
可随时查询企业中所有部门的信息,包括部门名称、办公室门牌和工作电话。所有部门
均由部门名称唯一标识。
可随时查询所有职员的信息,包括其姓名、年龄、岗位、所属部门以及在该部门的入职
时间。一个部门有多名职员,一位职员只能隶属于一个部门,工作证号具有唯一性。
可随时查询每个部门职员信息,包括工号、姓名、汇报对象(本部门或其他部门的上级
职员)、工作职责。多名职员的汇报对象可以为同一人,一位职员的汇报对象只能有一个。
(1)根据以上需求,绘制出 E-R 图。(8 分)
(2)根据 E-R 图转换成关系模型,并标明主键和外键。(8 分)
2. 规范化题(10 分)
假设有一个出租车公司的系统中有如下关系 R(司机 ID,司机姓名,车牌号,交易号、金额)。
其中,每一次载客交易都有一个交易号,并有相应金额。每辆车各自编制交易号,不同车辆
的交易号有可能相同。
(1)给出上述关系 R 的函数依赖集,以及候选码。
(2)说明 R 非 BCNF 模式的理由,并将上述关系 R 分解为 BCNF 模式。
3. SQL 应用题(24 分,共 6 小题,每小题 4 分)
设有一个毕业论文管理系统,
系(系编号,系名称,系办公室电话)
指导教师(工号,姓名,职称,所属系编号,入职时间)
学生(学号,姓名,所属系编号,联系电话)
毕业论文信息(论文编号,学生学号,指导教师工号,答辩日期,论文题目,成绩)
注意:考虑到可能有论文答辩未通过重新撰写论文的情况,学生和毕业论文不是一对一的关
系。同时学生和教师都只能属于一个系。
要求用 SQL 语言完成如下题目,字段名称和数据表名请直接使用上面的汉字:
(1)创建“系”表,注意完整性约束。(4 分)
(2)检索出所有职称为“教授”的指导教师信息。(4 分)
(3)检索出所有在 2018 年 11 月 11 日参加答辩的学生姓名和学号。(4 分)
(4)检索出指导学生论文数最多的老师,要求返回教师工号、姓名和指导的论文数。(4 分)
(5)查询论文题目包含“机器学习”的学生学号、姓名和答辩日期。(4 分)
(6)将张三老师的职称设置为“副教授”。(4 分)