1、计算机二级(C)6 及答案解析(总分:645.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.有以下程序 #include stdio.h main( ) printf(“%d/n“,NULL); 程序运行后的输出结果是( )。 (分数:1.50)A.0B.1C.-1D.NULL 没定义,出错2.有以下程序: int fa(int x) return x *x; int fb(int x) return x *x *x; int f(int( *f1)( ),int( *f2)( ),int x) return f2(x)
2、-f1(x); main( ) int i; i=f(fa,fb,2);printf(“%d/n“,i); 程序运行后的输出结果是( )。 (分数:1.50)A.-4B.1C.4D.83.下面程序的功能是输出以下形式的金字塔图案是: * * * * * * * * * * * * * * * * main( ) int i,j; for(i=1;ik=+i; p+; q-k=i+; q-; q-k=i; for(i=0;i填空项 1:_55.以下程序中,fun 函数的功能是求 3 行 4 列二维数组每行元素中的最大值。请填空。 void fun(int,int,int(*)4,int *);
3、main1 int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i; fun(3,4,a,b); for(i=0;i2=x; (分数:40.00)填空项 1:_56.设有以下定义 stuct ss int info; struct ss *link;x,y,z; 且已建立如下图所示链表结构: (分数:40.00)填空项 1:_57.fun1 函数的功能是首先对 a 所指的 N 行 N 列的矩阵,找出各行中的最大的数,再求这 N 个最大值中 的最小的那个数作为函数值返回,请填空。 #includestdio.h #define N 100 int fun(i
4、nt( * a)N) in(row,col,max,min; for(row=0;rowN;row+) for(max=a row0,col=1;colN;col+) if( 2)max=arowcol; if(row= =0)min=max; else if( 3)min=max; return min; (分数:40.00)填空项 1:_58.从 Windows 环境进入 MSDOS 方式后,返回 Windows 环境的 DOS 命令为 1。(分数:40.00)填空项 1:_59.已有定义 double *p;,请写出完整的语句,利用 malloc 函数使 p 指向一个双精度型 的动态存储
5、单元 1。(分数:40.00)填空项 1:_60.下面程序和运行运行结果是 1。 typedef union student char name 10; long sno; char sex; float score 4; STU; main ( ) STU a5; prinff( “% d/n“, sizeof(a) ); (分数:40.00)填空项 1:_61.以下程序的运行结果是 1 #include string.h typedef struct student char name10; long sno; float score; STU; main( ) STU a=“zhangs
6、an”,2001,95,b=“Shangxian”,2002,90, c=“Anhua”,2003,95,d,*p= d=a; if(strcmp(a.name,b.name)0) d=b; if(strcmp(c.name,d.name)0) d=c; printf(“%ld%s/n”,d.sno,p-name); (分数:40.00)填空项 1:_62.在 Windows 环境下,为了进行“添加/删除程序“操作,首先打开 1,然后双击其中的相应图标。(分数:40.00)填空项 1:_63.以下程序运行后的输出结果是 1。 main ( ) char a=“Language“,b=“Prog
7、rame“; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if(*p1+k)=*(p2+k) printf(“%c“,*(p1+k); (分数:40.00)填空项 1:_64.Internet 的信息服务方式分为基本服务和扩展服务,电子邮件属于 1。(分数:40.00)填空项 1:_65.已有定义如下: struct node int data; struct node *next; *p; 以下语句调用 malloc 函数,使指针 p 指向一个具有 struct node 类型的动态存储空间。请填空。 p = (struct node *
8、)malloc( 1); (分数:40.00)填空项 1:_66.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序等。(分数:-1.00)填空项 1:_67.类是一个支持集成的抽象数据类型,而对象是类的 1。(分数:-1.00)填空项 1:_68.算法的基本特征是可行性、确定性、 1 和拥有足够的情报。(分数:-1.00)填空项 1:_69.关系数据库的关系演算语言是以 1 为基础的 DML 语言。(分数:-1.00)填空项 1:_70.软件工程研究的内容主要包括: 1 技术和软件工程管理。(分数:-1.00)填空项 1:_计算机二级(C)6 答案解析(总分:6
9、45.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.有以下程序 #include stdio.h main( ) printf(“%d/n“,NULL); 程序运行后的输出结果是( )。 (分数:1.50)A.0 B.1C.-1D.NULL 没定义,出错解析:2.有以下程序: int fa(int x) return x *x; int fb(int x) return x *x *x; int f(int( *f1)( ),int( *f2)( ),int x) return f2(x)-f1(x); main( )
10、int i; i=f(fa,fb,2);printf(“%d/n“,i); 程序运行后的输出结果是( )。 (分数:1.50)A.-4B.1C.4 D.8解析:本题考点是函数之间的参数传递。3.下面程序的功能是输出以下形式的金字塔图案是: * * * * * * * * * * * * * * * * main( ) int i,j; for(i=1;ik=+i; p+; q-k=i+; q-; q-k=i; for(i=0;i填空项 1:_ (正确答案:13431)解析:程序执行过程如下:p=m,q=m+4,条件 p!=q 成立,执行 p-k=+i;,由于是“前加”,所以 m0.k=1,执行
11、 p+后 p=m+1;执行 q-k=i+;,由于是“后加”,所以 m4.k=1,然后使得 i 加上 1,即 i=2,q-后,q=m+3; p=m+1,q=m+3,条件 p!=q 成立,执行 p-k=+i; ,由于是“前加”,所以 i=3,m0.k=3,执行 p+后 p=m+2; 执行 q-k=i+; ,由于是“后加”,所以 m4.k=3,i=4,q-后,q=m+2;p=m+2,q=m+2,条件 p!=q 不成立,则执行 q-k=i;即 m2.k=4;故输出的值为 13431。55.以下程序中,fun 函数的功能是求 3 行 4 列二维数组每行元素中的最大值。请填空。 void fun(int,
12、int,int(*)4,int *); main1 int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i; fun(3,4,a,b); for(i=0;i2=x; (分数:40.00)填空项 1:_ (正确答案:bri 或 *(br+i))解析:二维数组 a 存放 3 行 4 列的数组元素,一维数组 b 用于存放每行的最大数。在函数 fun 中,外层 for 循环用于控制行数,内层 for 循环用于控制列数。56.设有以下定义 stuct ss int info; struct ss *link;x,y,z; 且已建立如下图所示链表结构: (分数:40.
13、00)填空项 1:_ (正确答案:x.link=y.link;)解析:57.fun1 函数的功能是首先对 a 所指的 N 行 N 列的矩阵,找出各行中的最大的数,再求这 N 个最大值中 的最小的那个数作为函数值返回,请填空。 #includestdio.h #define N 100 int fun(int( * a)N) in(row,col,max,min; for(row=0;rowN;row+) for(max=a row0,col=1;colN;col+) if( 2)max=arowcol; if(row= =0)min=max; else if( 3)min=max; retur
14、n min; (分数:40.00)填空项 1:_ (正确答案:arowcolmax 或 arow)col=max 或 maxname); (分数:40.00)填空项 1:_ (正确答案:2002ShangXian)解析:62.在 Windows 环境下,为了进行“添加/删除程序“操作,首先打开 1,然后双击其中的相应图标。(分数:40.00)填空项 1:_ (正确答案:控制面板)解析:63.以下程序运行后的输出结果是 1。 main ( ) char a=“Language“,b=“Programe“; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;
15、k+) if(*p1+k)=*(p2+k) printf(“%c“,*(p1+k); (分数:40.00)填空项 1:_ (正确答案:gae)解析:64.Internet 的信息服务方式分为基本服务和扩展服务,电子邮件属于 1。(分数:40.00)填空项 1:_ (正确答案:基本服务)解析:65.已有定义如下: struct node int data; struct node *next; *p; 以下语句调用 malloc 函数,使指针 p 指向一个具有 struct node 类型的动态存储空间。请填空。 p = (struct node *)malloc( 1); (分数:40.00)
16、填空项 1:_ (正确答案:sizeof(struct node))解析:66.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序等。(分数:-1.00)填空项 1:_ (正确答案:交换排序)解析:常见的排序方法有插入排序(包括简单插入排序法和希尔排序法等)、交换排序(包括冒泡排序和快速排序法等)和选择排序(包括简单选择排序和堆排序等)。67.类是一个支持集成的抽象数据类型,而对象是类的 1。(分数:-1.00)填空项 1:_ (正确答案:实例)解析:将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,对象则是其对
17、应类的一个实例。68.算法的基本特征是可行性、确定性、 1 和拥有足够的情报。(分数:-1.00)填空项 1:_ (正确答案:有穷性)解析:算法是指解题方案的准确而完整的描述。它有 4 个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。69.关系数据库的关系演算语言是以 1 为基础的 DML 语言。(分数:-1.00)填空项 1:_ (正确答案:谓词演算)解析:关系数据库中的关系演算包括元组关系演算和域关系演算。二者都是由原子公式组成的公式。而这些关系演算都是以数理逻辑中的谓词演算为基础的。70.软件工程研究的内容主要包括: 1 技术和软件工程管理。(分数:-1.00)填空项 1:_ (正确答案:软件开发)解析:基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括:软件管理学、软件工程经济学,以及软件心理学等内容。