




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年江苏省泰州市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.数据结构主要研究的是数据的逻辑结构、数据的运算和()。A.数据的方法B.数据的存储结构C.数据的对象D.数据的逻辑存储
2.
3.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
4.以下选项中不属于字符常量的是
A.′C′B.′′C′′C.′\xCC′D.′\072′
5.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.没有任何关系
6.以下程序的输出结果是()。A.1010B.99C.910D.109
7.有以下程序:#include<stdio.h>main(){inta[3][3]={0,1,2,3,4,5,6,7,8},(*p)[3],i;p=a;for(i=0;i<3;i++){printf(“%d”,(*p)[i]);p++;}}程序的运行结果是()。
A.036B.012C.048D.147
8.设有定义“intk=0;”,以下选项的4个表达式中与其他3个表达式的值不相同的是()。
A.++kB.k+=1C.k++D.k+1
9.下列关于标识符的说法中错误的是
A.合法的标识符是由字母、数字和下划线组成
B.C语言的标识符中,大写字母和小写字母被认为是两个不同的字符
C.C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符
D.用户标识符与关键字不同时,程序在执行时将给出出错信息
10.以下叙述中错误的是A.gets函数用于从终端读入字符串
B.getchar函数用于从磁盘文件读入字符
C.fputs函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
11.下列对队列的叙述正确的是A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据
12.下列描述中正确的是()。
A.软件工程只是解决软件项目的管理问题
B.软件工程主要解决软件产品的生产率问题
C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D.软件工程只是解决软件开发中的技术问题
13.在线索化树中,每个结点必须设置一个标志来说明它的左、右链指向的是树结构信息,还是线索化信息,若0标识树结构信息,1标识线索,对应叶结点的左右链域,应标识为()。
A.00B.01C.10D.11
14.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序运行的结果是()。A.1,2,3,4,5,6,7,8,9,0,
B.0,9,8,7,6,5,1,2,3,4,
C.0,9,8,7,6,5,4,3,2,1,
D.1,2,3,4,9,8,7,6,5,0,
15.以下选项中,合法的一组C语苦数值常量是()。
A.28.5e-3-0xf
B.12OXa234.5
C.1774c1.5Oabc
D.0x8A10,0003.e5
16.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()。
A.求子串B.联接C.匹配D.求串长
17.下面程序的运行结果是
#include<stdio.h>
main()
{inta=28,b;
chars[10],*p;
p=s;
do{b=a%16;
if(b<10)*p=b+48;
else*p=b+55;
p++;a=a/5;}while(a>0);
*p=′\0′;puts(s);}
A.10B.C2C.C51D.\0
18.
19.第
42
题
若有说明语句
chara[]="Itismine";
char*p="Itismine";
则以下不正确的叙述是
A.a+1表示的是字符t的地址
B.p指向另外的字符串时,字符串的长度不受限制
C.p变量中存放的地址值可以改变
D.a中只能存放10个字符
20.二叉树的后序排列DBEFCA,中序排列DBAECF,那么对其做先序线索化二叉树,节点E的线索化指向节点()
A.BCB.ACC.DFD.CF
二、2.填空题(20题)21.以下程序运行后的输出结果是【】。
main()
{intx=15;
while(x>10&&x<50)
{x++;
if(x/3){x++;break;}
elsecontinue;
}
printf(“%d\n”,x);
}
22.结构化程序设计的3种基本结构分别是顺序、选择和______。
23.程序的功能是将文件filel.c的内容输出到屏幕上并复制到文件file2.c中,请填空。
#include<stdio.h>
main()
{FILE【】;
fp1=fopen("filel.c","r");
fp2=fopen("file2.c","w");
while(!feof(fp1))putchar(getc(fp1));
rewind(fp1);
while(!feof(fp1))putc(【】);
fclose(fp1);
fclose(fp2);
}
24.算法的复杂度主要包括【】复杂度和空间复杂度。
25.若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
26.函数compare的功能是比较两个字符串是否相等,若相等则函数返回值0,否则返回值1,请填空。
compare(chars[],chart[])
{inti=0;
while(s[i]==t[i]||【】)i++;
return(【】?1:0);
}
27.下列软件系统结构图的宽度为[]。
28.下列程序的输出结果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
29.己定义charch='$';inti=l,j;,执行j=!ch&&ii++以后,i的值为【】。
30.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
31.下面程序的输出结果是【】。
charb[]="ABCD";
main()
{char*chp;
for(chp=b;*chp;chp+=2)printf("%s",chp);
printf("\n");
}
32.数据的物理结构在计算机存储空间中的存放形式称为数据的【】。
33.若有以下程序:
main()
{int,p,a=5;
if(P=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
}
执行后输出结果是【】。
34.下面程序的输出是【】。
main()
{enumern{em1=3,em2=1,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
35.函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下:
1
11
121
1331
14641
其构成规律是:
①第0列元素和主对角线元素均为1;
②其余元素为其左上方和正上方元素之和;
③数据的个数每行递增1。
请将程序补充完整。
#defineN6
voidYangHui(intx[N][N])
{inti,j;x[0][0]=1;
for(i=1;i<N;i++)
{x[i][0]=x[i][i]=1;
for(j=1;j<i;j++)
x[i][j]=【】;
}
}
36.下面程序的功能是求整数m、n的最大公约数,请填空。
main()
{intm,n,r;
scanf("%d,%d",m,n);
if(【】){r=m;m=n;n=r;}
while(【】)
{r=m%n;m=n;n=r;}
printf("%d",m);
}
37.软件工程的出现是由于【】。
38.若给fun函数的形参s传送字符串“∪∪6354'abc"(其中∪表示空格字符),则函数的返回值是【】。
longfun(chars[])
{longn;intsign;
for(;isspace(*s);s++);
sign=(*s=='-')?-1:1;
if(*s=='+'||*s=='-')s++;
for(n=0;isdigit(*s);s++)
n=10*n+(*s-'0');
returnsign*n;
}
39.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。
40.阅读下列程序,则程序的输出结果为______。
#include"stdio.h"
struetty
{intdata;
charc;};
main()
{streettya={30,'x'};
fun(a);
printf("%d%c",a.data,a.c);}
fun(structtyb)
{b.data=20;
b.c='y';}
三、1.选择题(20题)41.设有变量说明int(*p)[m],其中的标识符p是()。
A.m个指向整型变量的指针
B.指向m个整型变量的指针
C.一个指向具有m个整型元素的一维数组的指针
D.具有m个指针元素的一维指针数组,每个元素都指向整型变量
42.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上三种说法都不对
43.下面程序输出的结果是______。main(){inti=5,j=9,x;x=(i==j?:(j=7));printf("\n%d,%d",i,j);}
A.5,7B.5,5C.语法错误D.7,5
44.以下程序的输出结果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20
45.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。
A.4B.16C.32D.52
46.设有说明int(*ptr)[M];其中的标识符ptr是______。
A.M个指向整型变量的指针
B.指向M个整型变量的函数指针
C.一个指向具有M个整型元素的一维数组的指针
D.具有M个指针元素的一维指针数组,每个元素都只能指向整型变量
47.若以“a+”方式打开一个已存在的文件,则下列叙述正确的是()。
A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作
B.文件打开时,原有文件内容不被删除,只能进行读操作
C.文件打开时,原有文件内容被删除,只能进行写操作
D.以上三种说法都不正确
48.结构化程序设计主要强调的是()。
A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性
49.软件生命周期中花费时间最多的阶段是()
A.详细设计B.软件编码C.软件测试D.软件维护
50.有以下程序main(){charst[20]="hello\0\t'\\";printf("%d%d\n",strlen(st),sizeof(st));}程序运行后的输出结果是()
A.99B.520C.1320D.2020
51.若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是
A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)
52.下列选项中不属于结构化程序设计方法的是()。
A.自顶向下B.逐步求精C.模块化D.可复用
53.下列说法不正确的是()。
A.C程序是以函数为基本单位的,整个程序由函数组成
B.C语言程序的一条语句可以写在不同的行上
C.C程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写
D.C程序的每个语句都以分号结束
54.在下列四条叙述中,错误的一条是()
A.内存是主机的组成部分
B.对于种类不同的计算机,其机器指令系统都是相同的
C.CPU由运算器和控制器组成
D.十六进制微型机的含义是:这种机器能同时处理十六位二进制数
55.设a和b均为双精度型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是()。
A.6.5B.6C.5.5D.6
56.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#defineN10voidarrin(intx[N]){inti=0;while(i<N)scanf("%d",______);}在下划线处应填入的是
A.x+iB.&x[i+1]C.x+(i++)D.&x[++i]
57.设x=2.5、a=7、y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为______。
A.2.5B.7C.4.7D.2.75
58.执行以下程序段后,m的值为______。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));
A.15B.14C.13D.12
59.为了提高测试的效率,应该()。
A.随机选取测试数据
B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.集中对付那些错误群集的程序
60.字长为16位的计算机是指______。
A.该计算机能够处理的最大数不超过16
B.该计算机中的CPU可以同时处理16位的二进制信息
C.该计算机的内存量为16MB
D.该计算机每秒钟所能执行的指令条数为16MIPS
四、选择题(20题)61.函数fseek的正确调用形式是()。
A.fseek(位移量,起始点,文件类型指针);
B.fseek(文件类型指针,位移量,起始点);
C.fseek(文件类型指针,起始点,位移量);
D.fseek(起始点,位移量,文件类型指针);
62.
63.某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)()。
A.3B.4C.6D.7
64.
65.若有定义intx'y;并已正确给变量赋值。则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x_y)等价的是()。
A.(x-y011x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y=o)
66.以下程序的输出结果是()。
#include<stdio.h>
voidmain()
{inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
67.
执行下述程序后,输出的结果是()。
#include<stdio.h>
#defineS(X)X*X
voidmain
{inta=9,k=3,m=2;
a/=S(k+m)/s(k+m);
printf("%d",a);
}
A.1B.4C.9D.0
68.
69.以下叙述中错误的是()。A.使用三种基本结构构成的程序只能解决简单问题
B.结构化程序由顺序、分支、循环三种基本结构组成
C.c语言是一种结构化程序设计语言
D.结构化程序设计提倡模块化的设计方法
70.当把以下四个表达式用做if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是()。
A.k%2B.k%2==1C.(K%2)!=0D.!k%2==1
71.有以下程序:执行时输入:0<;回车>;后,则输出结果是()。A.5,B.0,0,0,0,0,C.0,1,2,3,4,D.0,1.
72.
73.下列关于Internet和Web的说法中,正确的是()。
A.Web就是Internet的别称
B.Web是基于Internet之上的一个应用服务
C.Internet是基于Web之上的一个信息系统
D.Internet与Web没有任何关系
74.有以下程序:
程序运行后的输出结果是()。
A.9.One*World
B.9.One*Dream!
C.10.One*Dream!
D.10.One*World
75.下面概念中,不属于面向对象方法的是()。A.对象B.继承C.类D.过程调用
76.以下选项中,能用作用户标识符的是()。A._0_B.8—8C.voidD.unsigned
77.若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是
A.EOFB.-1C.1D.NULL
78.若有定义和语句:
int*(*pp),*P,a=20,b=10;
pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,**PP);
则输出结果是()。A.A.20,10B.20,20C.10,20D.10,10
79.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
A.-369B.369C.0.369D.整数集合{1,2,3,4,5}
80.有以下程序:
程序执行后的输出结果是()。
A.321,cbaB.abc,123C.123,abcD.lbe,a23
五、程序改错题(1题)81.写出下列程序的运行结果。
#include“stdio.h”
Main
{inta[]={1,2,3,-4,5};
intm,n,*p;p=&a[0];m=*(p+1);n=*(p+4);
printf(“%d%d%d”,*p,m,n);}
六、程序设计题(1题)82.编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为abcdefabcdeabceabcdef,子字符串为cd,则应当输出3。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:
参考答案
1.B详细解答:
数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方面的内容,即数据的逻辑结构、存储结构和数据的运算。
2.D
3.D解析:文件系统所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在3个缺点,数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。注意:文件系统和数据库系统各自的特点,人工管理阶段及数据库系统三代的特点。
4.B解析:在C语言程序中,用单引号把一个字符或反斜线后跟一个特定的字符括起来表示一个字符常量。选项A)、C)和D)为正确的字符常量,而选项B)是用双引号括起来的字符,表示一个字符串常量。
5.C(10)C)解析:DB即数据库(Database),是统一管理的相关数据的集合;DBMS即数据库管理系统(DatabaseManagementSystem),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法;DBS即数据库系统(DatabaseSystem)由如下5部分组成,数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。
6.D
7.Cmain函数定义3行3列的整型二维数组a;定义数组指针P,P指向包含3个元素的数组。程序首先将a赋给p。for循环中,i=0时,P指向a的第1个元素{0,1,2},输出p[0]即0;i=1时,p指向a的第2个元素{3,4,5},输出P[1]即4;i=2时,p指向a的第3个元素{6,7,8},输出P[2]即8。所以程序输出048。故本题答案为C选项。
8.C表达式“++k”是先使得k的值自增1后再使用。表达式“k++”是先取得k的值再将k的值自增1。所以C选项中表达式的值为0,而其他3个选项中表达式的值均为1。故本题答案为C选项。
9.D解析:用户标识符与关键字相同时,程序在编译过程中将给出出错信息。注意:选项D)应该改为用户标识符与关键字相同,程序在编译时将给出出错信息。注意:合法的标识符第一个字符必须为字母或下划线。
10.B其中B选项的getchar函数用于从终端读入字符。故本题答案为B选项。
11.D解析:本题考查数据结构中队列的基本知识。队列是一种限定性的线性表,它只允许在表的一端插入元素,而在另一端删除元素,所以队列具有先进先出的特性。在队列中,允许插入元素的一端叫做队尾,允许删除的一端则称为队头。这与日常生活中的排队是一致的,最早进入队列的人最早离开,新来的人总是加入到队尾。因此,本题中只有选项D的说法是正确的。
12.C\r\n软件工程是试图用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术及管理方法。软件工程的主要思想是强调在软件开发工程中需要应用工程化的原则。软件工程用来解决以下问题:软件需求的增长得不到满足、软件开发成本和进度无法控制、软件质量难以保证、软件不可维护或维护程度低、软件得成本不断提高、软件开发生产率的提高赶不上硬件的发展和应用需求的增长。软件项目的管理、软件产品的生产率、软件开发中的技术都是软件工程需要解决的部分问题。因此选项C正确。
13.D
14.Dfun函数的功能是对数组a[]的元素从大到小进行排序。
15.B
16.C
17.C解析:考查用字符指针处理字符串的方法。语句'p=s;'是使指针p指向字符数组s。*p则引用了p所指位置的数组元素。通过指针来引用一维数组元素。
18.D
19.D在C程序中,可以用字符数组存放一个字符串,然后输出该字符串,也可以用字符指针指向一个字符串。
题目中用字符数组a[]来存放字符串'Itismine',a为数组名,表示首元素的地址,即字母I的地址。a+1表示数组中第二个元素t的地址,选项A正确。当用字符串指针指向字符串时,只是将字符串的第一个元素的地址赋给指针,当该指针指向其他字符串时,只需将该字符串的第一个元素地址赋给这个指针即可,和字符串的长度没有关系,选项B也是正确的。指针变量的值为元素的地址,和元素具体的值没有关系,当指针指向不同的元素时,存放的地址也会发生改变,故选项C是正确的。数组a初始化时没有指定数组长度,系统自动根据初值个数确定数组长度,题目中只是将10个有效字符存放到数组中,不能说明这个数组只能存放10个字符。
20.D
21.1717解析:bteak语句只能在循环体和switch语句体内使用,当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。当break出现在循环体中,但不在switch语句体内时,则在执行break后,跳出本层循环体。而continue语句的作用时结束本次循环;即跳过本次循环中余下尚未执行的语句,接着再一次进行循环的条件判定。本题中首先定义了一个变量x并赋初值15,然后判断循环条件“x>5&&x<50”,即“x>5&&x<50”,为真,执行循环体。语句“x++;”执行后,x的值变为16,“x/3”的值为5为真,执行其后的语句“x++;”,x的值变为17,执行语句“break”,退出循环,输出x的值为17。
22.重复(循环)重复(循环)解析:结构化程序设计包括3种基本的结构:顺序结构、选择结构和重复结构(循环结构),利用这3种结构就足以表达出各种其他形式结构的程序设计方法。其中利用循环结构,可以简化大量的程序执行。
23.*fp1*fp2getc(fp1)fp2*fp1,*fp2\r\ngetc(fp1),fp2解析:本题主要考查函数intputc(intch,FILE*fp)的功能,把ch中的字符输出到fp所指文件,以及intgetc(FILE*fp),从fp所指文件中读取一个字符。
24.时间时间解析:算法的复杂度主要指时间复杂度和空间复杂度。所谓算法的时间复杂度,是指执行算法所需要的计算工作量;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
25.*(p+5)或p[5]*(p+5)或p[5]
26.s[i]!='\0'||t[i]!='\0's[i]=='\0'&&t[i]=='\0's[i]!='\\0'||t[i]!='\\0'\r\ns[i]=='\\0'&&t[i]=='\\0'
27.33解析:软件系统结构图的宽度:整体控制跨度(最大模块数的层)的表示。
28.1234theend1,2,3,4,theend解析:本题考查带参数的宏的定义。第1次循环,i=1时,调用PRINT(1),P(1)输出1;第2次循环,i=2时,调用PRINT(2),P(2)输出2:第3次循环,i=3时,调用PRINT(3),P(3)输出3:第4次循环,i=4时,调用PRINT(4),P(4)输出4,theend。
29.11解析:本题中的ch是一个字符变量,其初始值为'$'(非0值即为真),所以!ch的结果为假,此时&&右边的i++被“短路”,即不会被计算。由此可见,i的值不会改变,故本题应该填1。
30.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
31.ABCDCD
32.内模式或物理模式或存储模式内模式或物理模式或存储模式解析:一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据库内部的表示方法。例如,记录的存储方式是顺序存储、索引按照什么方式组织;数据是否压缩存储,是否加密等。
33.11解析:首先计算if语句后面的表达式,根据运算符的优先级可知,先算“a!=0”,该值为1,再把1赋值给p,结果为1(真),执行其后的printf语句,输出的值为1。
34.DDBBCCDDBBCC解析:c语言对枚举的定义规定定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素em3的值,则em3=em2+1=1+1=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3]、aa[1]、aa[2],因此最后的打印结果应当为“DDBBCC”。
35.x[i-1][j-1]+x[i-1][j]x[i-1][j-1]+x[i-1][j]解析:在程序外层i循环中先将数组的第0列元素和主对角线元素置1,内层j循环的功能是给其余元素赋值,根据题意,空格内应填入x[i-1][j-1)+x[i-1][j]。
36.m<nn!=0
37.软件危机的出现软件危机的出现
38.63546354解析:函数fun的第一个for循环跳过字符串的前导空白符,接着判断第一个非空白符是否是负号,若是,则置变量sign为-1;否则,置变量sign为1。接着的if语句在第一个非空白字符是负号或正号时,跳过该字符。以后的for循环将后面的数字符当作十进制数的各位数字转换为一个长整数n,当遇字符a时,结束循环。最后,函数返回sign与n的乘积。所以若调用函数时提供的实参是“∪∪6354abc”,则函数的返回值是6354。
39.可重用性继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。
40.30x30x解析:本题的参数传递属于值传递,所以被调用函数内不能改变调用函数中的数据。
41.C解析:本题考查指向数组的指针变量的声明。这里的p表示一个指向数组的指针;*p表示指针p指向地址的内容。
42.B解析:本题考查数据库系统的基本概念和知识。
数据库系统除了数据库管理软件之外,还心须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项A的说法是错误的。
数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且容许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项B的说法是正确的。
通常将引入数据库技术的计算机系统称为数据库系统。一个数据库系统通常由五个部分组成,包括相关计算机的硬件、数据库集合、数据库管理系统、相关软件和人员。
因此,选项C的说法是错误的。
因此,本题的正确答案是选项B。
43.A解析:条件表达式的一般形式为:表达式1?表达式2:表达式3;先求解表达式1,若为真则求解表达式2;若表达式1的值为假,则求解表达式3。本题中先判断i=j,不等,执行j=7;然后执行x=7。故本题为A。
44.B
45.C本题主要考查逗号表达式。逗号是一个特殊的运算符,它具有所有运算符中最低的优先级。在C语言中,用它可以将两个表达式连接起来,逗号表达式的一般表现形式为:
表达式1,表达式2,…,表达式n
逗号表达式的求解过程是:先求解表达式1,再求解表达式2,依次往后计算,整个逗号表达式的值是最后一个表达式的值,如“3+5,5+6”的值是11。
在本题中,逗号表达式为i=4,j=16,k=32,根据上面的分析,计算逗号表达式得到的结果为k=32,最后将逗号表达式的结果赋值给变量x,那么变量x的值为32。因此,本题的正确答案选C。
46.C解析:(*pd)[M]中,由于一对圆括号的存在,所以*首先与prt结合,说明ptr是一个指针变量,然后与[M]结合,说明prt的基类型是一个包含M个int型元素的数组。
47.A解析:本题考查文件使用方式标识符,以“a+”方式打开一个已存在的文件,则表示保留文件中原有的数据,文件的位置指针在文件末尾,此时,可以进行追加或读操作。
48.D解析:程序不仅是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一,效率第二”。
49.D解析:软件生命周期分为软件定义、软件开发及软件运行维护3个所段。本题中,详细设计、软什编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性.降低维护的代价。
50.B
51.B解析:条件运算符要求有3个操作对象,称三目(元)运算符,它是C语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式17表达式2:表达式3其求解顺序是:先求解表达式1,若为非O(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。并且注意++、--的用法。
52.D解析:20世纪70年代以来,提出了许多软件设计方法,主要有①逐步求精:对复杂的问题,应设计一些子目标作过渡,逐步细化;②自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化;⑧模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块,而可复用是面向对象程序设计的一个优点。
53.C解析:本题涉及C语言基本的3个知识点:①C语言的源程序是由函数构成的,函数是其基本单位,每一个函数完成相对独立的功能,其中只能包括一个主函数;②C语言规定每个语句以分号结束,其书写格式是自由的,一条语句可以写在不同的行上,或者一行也可以写多条语句;③注释行虽然对程序的运行不起作用,但是它可以方便程序员阅读,提高程序的可读性和可移植性,所以书写注释行还是很有必要的。
54.B
55.D解析:在这个表达式中,优先级最高的是(int)a,也就是对5.5取整,结果是5,其次是b/b,即2.5/2.5,结果是1.000000,最后相加结果为6.000000(表达式的最终结果为实型),所以4个选项中D正确。
56.C解析:本题考核的知识点是scarf()函数的输入格式。在stallf()函数中有两个参数,其中第一个参数为输入格式字符串,第二个参数是地址字符串.根据scanf()的定义,故应该在空白处填入一地址,4个选项中只有B和D符合,又由题意要给数组的每个成员赋值,i表示数组的下标,那么i必须每循环一次加1,即指向下一个数组元素,当i=7时循环体执行了7次,数组的每个成员都被赋值了,退出循环,因此选项B错误。所以,C选项为所选。
57.A解析:取模运算只能在整型数据之间进行,a为整型变量。因为%、*、/这三个运算符的优先级别相同,而类型转换符优先于*和/运算符。a的值为7,7%3=1,所以(int)(2.5+4.7)=7,1*7=7,7%2=1,1/4=0,所以表达式x+a%3*(int)(x+y)%2/4=x+0=2.5。
58.A
59.D本题主要考查软件的测试。软件测试的主要目的体现在下面几个方面。
(1)软件测试是为了发现错误而执行程序的过程。
(2)一个好的测试用例能够发现至今尚未发现的错误。
(3)一个成功的测试是发现了至今尚未发现的错误的测试。
软件测试的效率是指利用更少的成本创造更多的价值,提供软件测试效率的方法有很多,如制定一个合理的详细的测试计划,了解测试项目的业务需求,集中对付那些错误群集的程序等。而选项A所描述的随机选取测试数据是不能保证提高测试效率的,选项B描述的取一切可能的输入数据作为测试数据显然不能提高测试效率,反而使工作量加大,降低测试效率。
60.B解析:字长是指CPU可以同时处理二进制的位数,是由CPU的型号和类型决定的。
61.B解析:改变文件位置的指针函数fseek()的调用形式为:fseek(fp,offset,position);。fseek函数参数说明:“fp”是指向该文件的文件型指针;“offset'’为位移量,指从起始点position.到要确定的新位置的字节数。也就是以起点为基准,向前移动的字节数。ANSIC要求该参数为长整型量;“position”为起始点,指出以文件的什么位置为基准进行移动,position的值用整型常数表示,“0”表示文件的开头,“1”表示文件的当前位置,“2”表示文件的末尾。
62.C
63.D根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总比度为2的结点多一个,因此本题中度为2的结点为l一1=0个,据此可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即深度为7,选择D)。
64.A
65
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗辅助教育数据的解读与利用
- 儿童心理健康与共情能力的关系研究
- 学习动机从理论到实践的教育心理学解读
- 学生学习成效与心理支持的关联性
- 抖音商户剪辑师成片质量评估制度
- 全球创新药研发管线动态与2025年生物制药行业研发创新成果转化路径优化路径优化分析报告
- 八大城市幼教市场洞察:2025年幼儿早期教育产品与服务创新报告
- 公交优先战略在城市交通拥堵治理中的2025年实施挑战报告
- Calanolide-A-生命科学试剂-MCE
- 广西医科大学《日语论文写作》2023-2024学年第一学期期末试卷
- 财务审计财务审计进度控制方案
- 井下作业工:初级井下作业工考试答案
- 架线弧垂计算表(应力弧垂插值计算)
- 保安培训课程表(完整版)咨询培训
- 《飞机电子显示器显示符号》
- 赢利:未来10年的经营能力
- 光伏支架风荷载分析
- 头等大事:脱发青年自救指南
- 马拉色菌相关疾病诊疗指南(2022年版)
- 哈雷之约:基于指数成分股调整的选股策略
- 湖北省随州市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
评论
0/150
提交评论