(考试时间120 分钟,满分100 分)
一、选择题(每小题1 分,共40 分)
A)算法的时间复杂度与算法程序中的撰写细节有关
B)算法的时间复杂度与计算机的运行速度有关
C)算法的时间复杂度与运行算法时特定的输入有关
D)算法的时间复杂度与算法程序编制者的水平有关
2.下列各排序算法中,最坏情况下的时间复杂度最低的是( )。
A)快速排序 B)冒泡排序
C)堆排序 D)希尔排序
3.下列叙述中正确的是( )。
B)只有一个根结点的数据结构不一定是线性结构
D)双向链表是非线性结构
4.某二叉树共有121 个结点,其中有78 个度为2 的结点,则该二叉树中的叶子结点数为( )。
A)不存在这样的二叉树 B)79
C)120 D)49
5.在设计计算机程序时,结构化程序的三种基本结构是( )。
A)跳转、迭代和回溯 B)跳转、函数和子程序
C)顺序、选择和循环 D)调用、返回和选择
6.下面描述中错误的是( )。
B)软件设计是将软件需求转换为软件表示的过程
C)数据结构与数据库设计是软件设计的任务之一
D)PAD 图是软件详细设计的表示工具
7.计算机软件设计过程中,不属于需求规格说明的是( )。
A)运行环境 B)算法详细设计
C)软件的性能 D)软件的主要功能
8.不属于数据库管理技术发展的三个阶段的是( )。
A)人工管理阶段 B)文件系统阶段
C)数据库阶段 D)面向对象阶段
9.建立表示学生借书活动的实体联系模型,其中的两个实体分别是( )。
A)书号和学号 B)学生和图书
C)学生和学号 D)书名和书号
10.一个教师可讲授多门课程,一门课程可由多个教师讲授。 则实体教师和课程间的关系是( )。
A)1:1 关系 B)1:m 关系 C)m:1 关系 D)m:n 关系
11.关于计算机算法的叙述中不正确的是( )。
A)只要能够成功编译和运行的算法都会得到期望的结果
B)算法的操作步骤应该是有限的
C)算法中每一条指令必须有确切的含义
D)算法可以用各种描述方法来进行描述
12.若有定义语句:
int x=1;
则表达式x-=x+2 的值为( )。
A)2 B)-2 C)0 D)-1
13.若有定义:
float a =22; int i=0,k =18;
下列选项中不合法的C 语言表达式是( )。
A)a=a+=3,i++; B)i=(a+i)<=(a+k);
C)i=a%3; D)i=! k;
14.关于科学计数法,下列选项中合法的C 语言实数是( )。
A).2e0 B)0.2e0.2 C)E2.1 D)3E
15.以下C 语言表达式中,与k=i++完全等价的表达式是( )。
A)k=i, i=i+1 B)i=i+1, k=i
C)k=++i D)k+=i+1
16.关于C 语言用户标识符的叙述中,错误的是( )。
A)若用户标识符的命名与预定义标识符相同,命名无效
B)若用户标识符的命名与关键字相同,将产生编译错误
C)若用户标识符的命名与预定义标识符相同,预定义标识符失去原有含义
D)若用户标识符的命名与预定义标识符相同,可能引发运行错误
17.设有定义:double x;,以下选项中不能将输入数据0.681 读入赋给变量x 的是( )。
A)scanf("%5lf",&x); B)scanf("%lf",&x);
C)scanf("%le",&x); D)scanf("%5.3f",&x);
18.若有定义:
则关于C 语言中的switch 语句,下列选项中正确的是:
19.有以下程序段:
程序的输出结果是( )。
A)a=1 b=5 c=1 B)a=1 b=5 c=3
C)a =1 b =3 c =1 D)a=5 b=3 c=5
20.关于C 语言中循环语句的叙述中正确的是( )。
A)for 语句的循环体至少执行一次
B)while 语句的循环体至少执行一次
C)do…while 语句的循环体至少执行一次
D)上述说法均正确
21.有以下程序:
程序运行时输入:-1 1 -2 2 0<回车>,则输出结果是( )。
A)0,0 B)3,0 C)3,-3 D)0,-3
22.有以下程序:
程序运行后的输出结果是( )。
A)15 B)6 C)16 D)26
A)float a[][2]={{1,4}}; B)float a[2][]={1,2,3};(www.xing528.com)
C)float a[][2]={}; D)float a[2][3]={{1.0},{2.0},{3.0,4.0}};
24.若有函数定义如下:
则以下涉及上述函数的说明语句错误的是( )。
A)int fun( int x,y); B)int fun( int,int);
C)int fun( int a,int B); D)int fun( int x,int y);
25.有以下程序:
执行后的输出结果是( )。
A)2 2 2 2 B)2 1 1 2 C)1 1 1 1 D)1 2 2 1
26.有以下程序:
程序运行后的输出结果是( )。
A)17 B)8 C)9 D)26
27.有以下程序:
执行后的输出结果是( )。
28.若有以下函数:
此函数的功能是( )。
B)将字符串a 改名为字符串b
C)将字符串变量a 的值赋给字符串变量b
D)判断a 和b 两个字符串是否相等
29.设有如下定义和语句:
[1] char *s; s="China";
[2] chars[7]; s="China";
[3] chars[]="China";
[4] char s[];s="China";
其中定义项可以作为字符串使用的是( )。
A)[1]和[2] B)[1]和[3]
C)[1]和[4] D)[3]和[4]
30.有以下程序:
程序的运行结果是( )。
A)15 B)20 C)0 D)出错
31.有以下程序:
程序运行后的输出结果是( )。
A)10 B)11 C)20 D)21
32.关于C 语言中对文件操作叙述中正确的是( )。
A)C 语言中的文件是流式文件,因此只能顺序存取数据
B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C)在对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1 个数据
D)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
33.有以下程序:
程序运行后的输出结果是( )。
A)abcdef B)ab C)f D)fedcba
34.有以下程序:
程序运行后的输出结果是( )。
A)26,6 B)28,6 C)6,6 D)26,26
35.下列选项中结果为0 的是( )。
A)a=a&0; B)a=a|0; C)a=a^0: D)a=! a;
36.程序中若有以下的说明定义和语句:
下列语句不能正确赋值的是( )。
A)(*p).s=2;p->num[0]='\0'; B)p->s=12; p->num[0]=0;
C)(*p).s=12;(*p).num=" "; D)p->s=12; strcpy((*p).num,"");
37.有以下程序:
执行后的输出结果是( )。
A)987 B)888
C)678 D)666
38.设已定义inti 和char c1[10],c2[ 10]="Chinese";则能正确赋值的语句是( )。
A)c1=c2; B)for(i=0;i<=7;i++)c1[i]=c2[i];
C)while(c2)c1++=c2++; D)for(i=0;c2[i];i++)c1[i]=c2[i];
39.以下程序拟读取一个学生结构体中的人名,查找其年龄并输出:
程序有语法错误,出错的是( )。
A)printf("%d\n",team[i].age)
B)p=(struct stu*)malloc( sizeof( structstu))
C)if((strcmp(p->name,team[i].name)==0))
D)gets( &p->name);
40.有以下程序:
程序运行时输入:hello!<回车>,则程序的输出结果是( )。
A)hello B)he llo
C)hell o D)hell
二、程序填空题(共18 分)
给定程序中,函数fun 的作用是:不断从终端读入整数,由变量a 统计大于10 的个数,用变量c 来统计小于10 的个数,当输入0 时结束输入,并通过形参pa 和pb 把统计的数据传回主函数进行输出。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在BLANK1.C 中。 不得增行或删行,也不得更改程序的结构!
试题程序:
三、程序修改题(共18 分)
给定程序modil.c 的主函数中,将a、b、c 三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun()的作用是:累加链表结点数据域中的数据作为函数值返回。
请改正函数fun 中指定部位的错误,使它能得出正确的结果。
注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。
试题程序:
四、程序设计题(共24 分)
请编写函数fun,其功能是分别统计形参t 所指二维数组中字母#和*的个数。
注意:部分源程序存在PROG1.C 中,请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。
试题程序:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。