您当前的位置:《全国计算机等级考试二级(C语言)》听课笔记:76
《全国计算机等级考试二级(C语言)》听课笔记:76
1) 算法的基本特征是可行性、确定性、______和拥有足够的情报。
  答:有穷性
  (2) 顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存储单元中。
  答:相邻
  (3) Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向______的设计方法。
  答:数据结构
  (4) 数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
  答:概念设计阶段#数据库概念设计阶段
  (5) 数据库保护分为:安全性控制 、______、并发性控制和数据的恢复。
  答:完整性控制
  (6) 测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。
  答:调试
  (7) 在最坏情况下,堆排序需要比较的次数为______。
  答:O(nlog2n)
  (8) 若串s="Program",则其子串的数目是______。
  答:29
  (9) 一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于______的联系。
  答:1对多#1:N
  (10) 数据库管理系统常见的数据模型有层次模型、网状模型和______三种。
  答:关系模型
2
(1) 算法的复杂度主要包括______复杂度和空间复杂度。
  答:时间
  (2) 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。
  答:模式#逻辑模式#概念模式
  (3) 若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
  答:黑盒
  (4) 如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在______联系。
  答:一对多#1:N#1:n
  (5) 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。
  答:投影
  (6) 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、______遍历和后序遍历。
  答:中序
  (7) 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。
  答:模块化
  (8) 软件的调试方法主要有:强行排错法、______和原因排除法。
  答:回溯法
  (9) 数据库系统的三级模式分别为______模式、内部级模式与外部级模式。
  答:概念#概念级
  (10) 数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。
  答:数据存储
3
  (1) 栈的基本运算有三种:入栈、退栈和______。
  答:读栈顶元素#读栈顶的元素#读出栈顶元素
  (2) 在面向对象方法中,信息隐蔽是通过对象的______性来实现的。
  答:封装
  (3) 数据流的类型有______和事务型。
  答:变换型
  (4) 数据库系统中实现各种数据管理功能的核心软件称为______。
  答:数据库管理系统#DBMS
  (5) 关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。
  答:查询
  (6) 实现算法所需的存储单元多少和算法的工作量大小分别称为算法的 ______。
  答:空间复杂度和时间复杂度
  (7) 数据结构包括数据的逻辑结构、数据的 ______以及对数据的操作运算。
  答:存储结构
  (8) 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的______。
  答:可重用性
  (9) 面向对象的模型中,最基本的概念是对象和 ______。
  答:类
  (10) 软件维护活动包括以下几类:改正性维护、适应性维护、______维护和预防性维护。
  答:完善性
41) 设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。
  答:250
  (2) 在最坏情况下,冒泡排序的时间复杂度为______。
  答:n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2)
  (3) 面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。
  答:实体
  (4) 软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。
  答:需求获取
  (5) ______是数据库应用的核心。
  答:数据库设计
  (6) 数据结构包括数据的______结构和数据的存储结构。
  答:逻辑
  (7) 软件工程研究的内容主要包括:______技术和软件工程管理。
  答:软件开发
  (8) 与结构化需求分析方法相对应的是______方法。
  答:结构化设计
  (9) 关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。
  答:参照完整性
  (10) 数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。
  答:概念
11、下列描述中不正确的是( )。
A. 字符型数组中可能存放字符串。
B. 可以对字符型数组进行整体输入、输出。
C. 可以对整型数组进行整体输入、输出。
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

12、以下程序的输出结果是( )。
#define f(x) x*x
main()
{int a=6,b=2,c;
c=f(a)/f(b);
printf(“%d\n”,c);
}
A. 9
B. 6
C. 36
D. 18

13、设有如下定义: int x=10,y=3,z;
则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。
A. 1
B. 0
C. 4
D. 3

14、定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};
则语句for(i=0;i<3;i++) printf("%d ",x[i][2-i]); 的输出结果是( )。
A. 1 5 9
B. 1 4 7
C. 3 5 7
D. 3 6 9

15、以下对二维数组a进行正确初始化的是( )
A. int a[2][3]={{1,2},{3,4},{5,6}};
B. int a[ ][3]={1,2,3,4,5,6};
C. int a[2][ ]={1,2,3,4,5,6};
D. int a[2][ ]={{1,2},{3,4}};

16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。
int x;
scanf("%d",&x);
if(x++>5) printf("%d",x);
else printf("%d\n",x - -);
A. 7和5
B. 6和3
C. 7和4
D. 6和4

17、设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是( )。
A)aa数组成元素的值分别是"abcd"和ABCD"
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D)aa数组的两个元素中各自存放了字符'a'和'A'的地址

18、下列程序的输出结果是( )。
char *p1="abcd", *p2="ABCD", str[50]="xyz";
strcpy(str+2,strcat(p1+2,p2+1));
printf("%s",str);
A. xyabcAB
B. abcABz
C. ABabcz
D. xycdBCD

19、下列程序的输出结果是( )。
int a[5]={2,4,6,8,10},*P,* *k;
p=a; k=&p;
printf("%d",*(p++));
printf("%d\n",* *k);
A. 4 4
B. 2 2
C. 2 4
D. 4 6

20、不能把字符串:Hello!赋给数组b的语句是( )。
A. char b[10]={'H','e','l','l','o','!'};
B. char b[10]; b="Hello!";
C. char b[10]; strcpy(b,"Hello!");
D. char b[10]="Hello!";
三、读程序题
1、float f=3.1415927;
printf(“%f,%5.4f,%3.3f”,f,f,f);
则程序的输出结果是__________ 。

2、int x=6, y=7;
printf(“%d,”,x++);
printf(“%d\n”,++y);
程序的输出结果是__________ 。

3、a=3;
a+=(a<1)?a:1;
printf(“%d”,a);
结果是__________。

4、for (a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1)
{b+=3; continue;}
b-=5; }
程序的输出结果a的值为__________ 。

5、 int y=1, x, *p, a[ ]={2,4,6,8,10};
p=&a[1];
for(x=0;x<3;x++)
y + = * (p + x);
printf("%d\n",y);
程序的输出结果y的值是__________ 。

四、程序填空题
1、从键盘上输入10个数,求其平均值。
main()
{int i;
float f,sum;
for(i=1,sum=0.0;i<11;i++)
{__________ ;
__________ ; }
printf(“average=%f\n”,sum/10); }

2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
#include
main()
{ FILE *fp;
char c;
fp=__________ ;
do{
c=getchar();
fputs(c,fp);
}while(c!=EOF);
__________ }

3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.
main()
{ float x,amax,amin;
scanf("%f",&x);
amax=x; amin=x;
while( )
{ if(x>amax) amax=x;
if( ) amin=x;
scanf("%f",&x); }
printf("\namax=%f\namin=%f\n",amax,amin); }

五、编程题
1.三个整数a、b、c,由键盘输入,输出其中最大的一个数。
2.输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)
3.请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0。A的值由主函数从键盘读入。
4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩

参考答案

一、 填空题
(1)整型、实型、字符型。 (2) int , 2 , -32768~ +32767
(3) 1111111111011101 (4) - 112 (5)14,’m’
(6) ”a”是字符串常量,而’a’是字符常量。
(7) 存放地址值的变量或常量,或者答地址。
(8)取运算对象的地址。 取指针变量所指的内容。 (8) a=1,b=3,c=2

二、 选择题
1、C 2、C 3、D 4、B 5、D
6、A 7、C 8、C 9、D 10、A
11、C 12、C 13、D 14、C 15、B
16、C 17、D 18、D 19、C 20、B

三、 阅读程序题
(1) 3.141593,3.1416,3.142 (2) 6,8 (3) 4 (4) 22 (5) 19

四、程序填空题
1、scanf(“%f”,&f); sum+=f;
2、fopen(“myfile”,w) fclose(fp);
3、x>=0.0 x<=amin

五、编程题
1、main()
{int a,b,c;
printf(“请输入三个整数:”);
scanf(“%d,%d,%d”,&a,&b,&c);
if(aif(belse printf(“max=%d\n”,b);
else if(aelse printf(“max=%d\n”,a); }

2、#include”stdio.h”
main()
{int I,n;
for(n=0,I=1900;I<=2000;I++)
{if(I%4==0&&I0!=0||I@0==0)
{printf(“%d ”,I); n++; }
if(n%3==0)
printf(“\n”); } } }

3、#include”stdio.h”
int fun(int a)
{int I;
if(a==2) return 1; I=2;
while((a%I)!=0&&I<=sqrt((float)a))
I++;
if(a%I==0)
{printf(“%d is not a prime!”,a);
return 0; }
printf(“%d is a prime!”,a);
return 1; }
main()
{int x;
printf(“\n please enter a number:”);
scanf(“%d”,&x);
printf(“%d\n”,fun(x)); }

4、#include"stdio.h"
#define N 3
struct student
{long stu_num; char sex;
char name[15]; int score[4];
float average; };
main()
{int I,j,index; float sum,max;
struct student stuarr[N];
for(I=0;I{printf("please input %d student information:\n",I+1);
scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);
for(j=0;j<4;j++)
scanf("%d",&stuarr[I].score[j]); }
for(I=0;I{sum=0.0;
for(j=0;j<4;j++)
sum+=stuarr[I].score[j];
stuarr[I].average=sum/4.0; }
max=stuarr[0].average;
index=0;
for(I=1;Iif(stuarr[I].average>max)
{max=stuarr[I].average;
index=I; }
printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);
}


收藏状态
收藏本课程的同学
相关课程