版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年陕西省西安市全国计算机等级考试C语言程序设计测试卷一(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.表达式“a+=a-=a=9”的值是()。
A.18B.-9C.0D.9
2.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是()。
A.1:m联系B.m:n联系C.1:1联系D.m:1联系
3.已知各变量的类型说明如下则以下符合C语言语法的表达式是()。A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=f1oat(i)
4.现有如下定义语句int*p,s[20],i;p=s;表示数组元素s[i]的表达式不正确的是
A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)
5.下列程序的输出结果是()。
#include<stdio.h>
intb=2;
intfunc(int*A)
{b+=*a;retumb;}
main()
{inta=1,t=2;
t+=func(&A);
printf("%d\n",t);
}
A.4B.5C.6D.8
6.下面描述中,不属于软件危机表现的是()A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高
7.对于“if(表达式)语句”,以下叙述正确的是()。
A.“表达式”不能是变量
B.“表达式”的值只能是整数值
C.“表达式”可以是常量
D.“表达式”中不可以出现字符型变量的比较
8.健壮的算法不会因非法的输入数据而出现莫名其妙的状态()
A.对B.错
9.下列程序的输出结果是
#include"stdio.h"
#defineN3
#defineM3
voidfun(inta[M][N])
{printf("%d\n",*(a[1]+2));}
main()
{inta[M][N];
inti,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=i+j-(i-j);
fun(a);}A.A.3B.4C.5D.6
10.
11.有以下程序:程序运行后的输出结果是()。
A.5B.2C.3D.8
12.若有说明语句:double*p,a;则通过scanf语句正确给输入项读人数据的程序段是()。
A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
13.软盘上第()磁道最重要,一旦损坏,该盘就不能使用了。
A.0B.40C.1D.80
14.以下程序的输出结果是_______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}
A.258B.741C.852D.369
15.下列程序的运行结果是()。main{intx=1,y=3,a=0;while(x++!=(y-=l)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}A.2,3,2B.2,3,1C.1,3,3D.3,1,2
16.以下关于C语言数据类型使用的叙述中错误的是A.若要准确无误差的表示自然数,应使用整数类型
B.若要保存带有多位小数的数据,应使用双精度类型
C.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D.若只处理“真”和“假”两种逻辑值,应使用逻辑类型
17.已知二叉树后序遍历序列是dabeC,中序遍历序列是debaC,它的前序遍历序列是()。
A.aChedB.deCabC.deabeD.Cedba
18.线性表是具有n个()的有限序列。
A.字符B.数据元素C.数据项D.表元素
19.下述关于数据库系统的叙述中,正确的是()。
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致
D.数据库系统比文件系统能管理更多的数据
20.计算机系统的组成是______。
A.主机、外设B.运算器、控制器C.硬件系统和软件系统D.CPU、内存储器
二、2.填空题(20题)21.#define命令出现在程序中函数的外面,宏名的有效范围为______。
22.以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:
ABCDE
FGHI
JKL
MN
O
请填空完成该程序。
main()
{inti,j,n;charch='A';
scanf("%d",&n);
if(n<11)
{for(i=1;i<=n;i++)
{for(j=1;j<n-i+1;j++)
{printf("%2c",ch);
[10];
}
[11];
}
23.下列程序的运行结果是______。
main()
{inti,a[10];
a[0]=a[1]=1;
for(i=2;i<5;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<5;i++)
{if(i%2==0)printf("\n");
printf("%d",a[i]);
}
}
24.在面向对象方法中,【】描述的是具有相似属性与操作的一组对象。
25.需求分析的最终结果是产生【】。
26.在面向对象的程序设计中,类描述的是具有相似性质的一组【】。
27.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种;前序遍历、【】遍历和后序遍历。
28.若有定义:intx=1,y=2;floata=3.7,b=2.1;则(x+y)%2+(int)a/(int)b表达式的值为()。
29.若a是int型变量,则表达式(a=2*3,a*2),a+6的值为______。
30.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。
31.为了便于对照检查,测试用例应由输入数据和预期的【】两部分组成。
32.以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。
intisprime(inta)
for(i=2;i<=a/2;i++)
if(a%i==0)[8];
[9];
33.下面rotate函数的功能是:将n行n列的矩阵A转置未AT,例如:
请填空
#defineN4
voidrotate(inta[][])
{inti,j,t;
for(i=0;i<N;i++)
for(j=0;【】;j++)
{t=a[i][j];【】;a[j][i]=t;}
}
34.执行以下程序后,输出“#”的个数是【】。
#include<stdio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
35.观察题目要求,可以知道以下几点:}
36.下列程序执行后输出的结果是【】。
f(intA)
{staticc=0;
c=a+c++;
return(c);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
37.x和y都是double型变量,x的初值为4.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为______。
38.存储结构的4种基本类型分别是顺序、链式、索引和【】。
39.软件产品从提出、实现、使用维护到停止使用退役的过程称为()。
40.对于一棵具有n个结点的树,则该树中所有结点的度之和为【】。
三、1.选择题(20题)41.在设计程序时,应采纳的原则之一是______。
A.程序结构应有助于读者理解B.不限制goto语句的使用C.减少或取消注解行D.程序越短越好
42.有以下函数intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下关于aaa函数的功能的叙述正确的是A.求字符串s的长度B.比较两个串的大小C.将串s复制到串tD.求字符串s所占字节数
43.软件工程的结构化生命周期方法,通常是将软件生命周期划分为计划、开发和运行3个时期,下列选项中的______工作应属于软件开发期的内容。
①需求分析
②可行性研究
③总体设计
④问题定义
A.①和②B.①和③C.①、②和④D.全部
44.设x,y和z都是血型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
A.x&&y
B.x<=y
C.x‖++y&&y-z
D.!(x<y&&!z‖1)
45.fseek函数是C语言系统提供的标准库函数,其实现的具体操作是______。
A.实现文件的顺序读写B.实现文件的随机读写C.改变文件的位置指针D.以上答案均不正确
46.下列程序段的输出结果为()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}
A.1B.4C.9D.0
47.第
13
题
设有程序段
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次
48.有以下程序:main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}执行后输出结果是()。
A.赋初值的字符串有错B.6,7C.5,6D.6,6
49.以下叙述中正确的是
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
50.下面不属于软件设计原则的是()。
A.抽象B.模块化C.自底向上D.信息隐蔽
51.不能把字符串"Hello!"赋给数组b的语句是______。
A.charb[10]={'H','e','l','l','o','!'};
B.charb[10]={'h','e','l','l','o','!'};
C.charb[10];strcpy(b,"Hello!");
D.charb[10]="Hello!";
52.有以下程序:voidswap(char*x,char*y){chart;t=*x,*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序执行后的输出结果是()。
A.123,abcB.abc,123C.1bc,a23D.321,cba
53.有以下程序:#include<stdio.h>voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}执行后的输出结果()。
A.1,2,3B.3,1,2C.1,3,2D.2,3,1
54.设有下列语句inta=1,b=2,c;c=a^(b<<2);执行后,C的值为()。
A.6B.7C.8D.9
55.数据库系统的核心是()
A.数据库B.数据库管理系统C.模拟模型D.软件工程
56.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A.整型表达式B.整型常量C.整型常量或整型表达式D.任何类型的表达式
57.软件生命周期一般包括:软件计划期、开发期和软件运行期。因此,在下述项目中,______不是软件开发期的内容。
A.需求分析B.结构设计C.程序编制D.性能优化
58.下面关于完全二叉树的叙述中,错误的是______。
A.除了最后—层外,每—层上的结点数均达到最大值
B.可能缺少若干个左右叶子结点
C.完全二叉树—般不是满二叉树
D.具有结点的完全二叉树的深度为[log2n]+1
59.当个人计算机以拨号方式接入Internet网时,必须使用的设备是()
A.电话机B.浏览器C.网卡D.调制解调器(Modem)
60.下列叙述中正确的是A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构
四、选择题(20题)61.下列数据结构中,能够按照“先进后出”原则存取数据的是()。
A.循环队列B.栈C.队列D.二叉树
62.有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;……}程序在执行了“c=&b;b=&a;”语句后,表达式“**c”的值是()。
A.变量a的地址B.变量b中的值C.变量a中的值D.变量b的地址
63.有以下程序
64.
65.若有以下说明,则能打印出”An”的语句的是()。
A.
B.
C.
D.
66.以下选项中,合法的一组c语言数值常量是()。
A.12.0Xa234.5e0
B.028.5e…30xf
C.1774el.50abe
D.0x8A10,0003.e5
67.软件需求分析一般应确定的是用户对软件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
68.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。
A.X…Y5;B.X=n%2.5;C.X+n=i;D.x=5=4+1:
69.若已包括头文件<string.h>且已有定义charsl[18],s2={"ABCDE")和inti,现要将字符串”ABCDE”赋给sl,下列语句错误的是()。A.A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.sl="ABCDE";
D.for(i=0;i<6;i++)sl[i]=s2[i]
70.以下程序的运行结果是()。
A.m=4k=5i=5k=5
B.m=4k=4i=5k=5
C.m=4k=4i=4k=5
D.m=4k=5i=4k=5
71.有以下程序
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));
}
程序的运行结果是
A.9B.编译出错
C.21D.9.0
72.有以下程序:
程序运行后的输出结果是()。
A.2,4B.1,2C.1,4D.2.3
73.
74.有下列函数定义:intfun(doublea,doubleb){returna*b;}若下列选项中所用变量都已经正确定义并赋值,错误的函数调用是()。A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(X,y)x,y);
D.fun(x,y);
75.
76.有以下程序:#include〈stdio.h〉intabe(intu,intv);main{inta=24,b=16,c;c=abc(a,b);printf(“%d\n”,c);}intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w;)returnu;}输出结果是()。A.6B.7C.8D.9
77.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
#include<stdio.h>
#defineN10
voidfun(intx[N])
{inti=0;
while(i<N)scanf("%d",
);
}
在程序中下划线处应填入的是()A.x+i
B.&x[i+1]
C.x+(i++)
D.&x[++i]
78.
79.已知大写:字母A的ASCIl码是65,小写字母a的ASCIl码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是()。
80.
五、程序改错题(1题)81.下列给定的程序中,函数proc()的功能是:计算并输出m以内最大的6个能被7或11整除的自然数之和。m的值由主函数传人。例如,若m的值为600,则函数的值为3515。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下析prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859。注意:部分源程序在文件prog1.c中。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:
参考答案
1.C首先计算表达式“a=9”;再计算表达式“a-=9”;即“a=a-9”,结果为0;最后计算表达式“a+=0”,即“a=a+0”,所以最终结果为0。故本题答案为C选项。
2.A部门到职员是一对多的,职员到部门是多对一的,因此,实体部门和职员间的联系是l:m联系。
3.A
4.C解析:当p指向s数组的首地址时,表示数组元素s[i]的表达式应当有:①s[i],②,(s+i),③*(p+i),④p[i]四种形式。选项C)错误的原因是,数组的地址是不可变的,指针的地址是可以变的。
5.B解析:本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行时b=2+1=3,最终t=2+3=5。
6.A软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A。
7.CC语言中没有规定“if(表达式)语句”中的“表达式”的形式,其可以是任意合法的表达式。故本题答案为C选项。
8.A
9.B
10.C
11.D题干中,函数fun的第2个参数通过指针作为函数返回值,它的功能是通过递归,求得fun(n)的值为fun(n-1)+fun(n-2)。由于当n取值为1和2时,值为1。所以可知整个数列如下:1,1,2,3,5,8,…,即某一项是前两项之和。所以当n取值为6时,fun(6,*s)返回s的值为3+5=8。本题答案为D选项。
12.Ddouble*p,a定义了一个指向双精度型的指针变量P和双精度型变量a,p=&a表示将变量a的地址赋给指针变量p;scanf("%If",p)表示用键盘输入的数赋给指针变量P所指向的地址单元中,scanf函数要求在输入double型数据,格式控制符必须用%1f。否则,数据不能正确输入。所以选项D正确。
13.A
14.C解析:在本题运行时主要注意的是当i=9时,a[i]=10-9=1:i=8时,a[i]=10-8=2;i=7时,a[i]=10-7=3;……依此类推,直到i=0时,a[i]=10-0=10:此时,i的值已变为-1,判断for的循环条件,不成立,然后输出a[2],a[5],a[8]分别为8,5,2。
15.D本题考查"drhile循环。第一次循环,y=y-1,y=2,循环条件成立,x=1,X++后值为1,x自加变成2,进入循环,a=a+1=1,判断if语句条件是否成立,y<x不成立,接着执行下一次循环。第二次循环,x=2,y-1=1,循环条件成立,进入循环,a=a+1=2,判断if语句的控制条件是否成立,y<X成立,执行break语句,退出循环。结果为D。
16.D解析:C语言中没有逻辑类型,若只处理"真"或"假"两种逻辑值,可以使用整型数"1"或"0"表示,故选D。
17.D二叉树的遍历有3种:前序、中序和后序。①前序遍历访问根结点,然后按左右顺序遍历子结点;②中序首先遍历左子树,然后访问根结点,最后遍历右子树;③后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点。本题根据后序和中序遍历的结果可以得出二叉树的结构,然后再对其进行前序遍历,正确答案选项为D。
18.B
19.A解析:数据库是一个通用化的、综合性的数据集合,它可以为各种用户所共享,具有最小的冗余度和较高的数据与程序的独立性,而且能并发地为多个应用服务,同时具有安全性和完整性。即数据库系统减少了数据冗余,但不能避免一切冗余。所以选项A正确,选项B错误。在数据库管理阶段中,数据是结构化的,面向系统,数据冗余度小,从而节省了数据的存储空间,也减少了对数据的存取时间,提高了访问效率,避免了数据的不一致性。数据的不一致性,是指对数据的存取方式,选项C错误。数据库系统比文件系统能管理更多的数据,并非是数据库系统的特点,选项D错误。本题正确答案是A。
20.C
21.从定义到本源文件结束从定义到本源文件结束解析:C语言规定,宏名的有效范围为从定义宏到本源程序结束。
22.C语言允许字符数据与整数进行直接的算术运算,故输出大写字母A开始的连续字符,可通过白加运算ch++完成。三角形字符阵列第i行的字符个数为n-i+1,在每行结尾以回车字符‘\\n’换行。\r\n\r\n
23.11<CR>23<CR>5(<CR代表换行)11<CR>23<CR>5(<CR,代表换行)解析:本题通过语句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”将数组中前面两项的和赋值给数组当前元素,得到a的值应为(1,1,2,3,5)。语句if(i%2==0)pfintf('\\n')是要将数组中的元素以每行2个的形式输出。
24.类类解析:在面向对象方法中,类描述的是具有相似属性与操作的一组对象。
25.需求规格说明书需求规格说明书解析:软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。需求规格说明书包括正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性和可追踪性等。
26.对象对象解析:将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。
27.中序中序解析:在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历和后序遍历.前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历指在访问根结点、遍历左了树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树:并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历右子树,然后访问根结点,最后遍历左子树;并且遍历左、右子树时,仍然光遍历右子树,然后访问根结点,最后遍历左子树。
28.22解析:本题考查表达式的运算。因为x=1,y=2,所以表达式(x+y)%2=3%2=1,(int)a/(int)b=(int)}(3/2)=1,因此整个表达式的结果为(x+y)%2+(int)a/(int)b=1+1=2。
29.1212解析:本题考查逗号表达式的运算规则。逗号表达式的基本格式为:“表达式1,表达式2,…”,其整个表达式的结果取最后一个子表达式的值。本题中首先计算逗号表达式中的第1个表达式a=2*3=6,然后计算第2个表达式a*2,这时整个表达式的值为12,但要注意,因为第2个表达式并没有给a赋值,因此a的值不变;接下来执行最后一个表达式a+6=12,所以整个表达式最后的值为12。
30.模块化模块化
31.输出结果输出结果解析:注意:测试的基本方法和步骤。
32.如果a能被i整除,则a是素数,返回值为0。如果a不能被i整除,则a不是素数,返回值为1。
33.j<=ia[i][j]=a[j][i]j<=i\r\na[i][j]=a[j][i]解析:将矩阵转置就是将行列互换,所以第一处应填j<=i,第二处应填a[i][j]=a[j][i]。
34.66解析:本题考察的是一个嵌套的循环,当满足j<=i时,输出一个“#”号,符合条件的有i=2,j=2;i=3,j=2;i=3,j=3;i=4,j=2;i=4,j=3;i=4,j=4,共输出6个“#”。
35.p=i;i>=pi<=Np=i;\r\ni>=p\r\ni<=N解析:本题主要考查了插入排序。由于程序中的数组在开始已经按从小到的大顺序排好。在插入时,首先要查到第一个大于待插入数的数组下标,即当待插入元素小于数组中当前元素时,记下数组的当前下标p,并结束循环。故第一空目的是为了记下数组下标,应填p=i;插入的第二部是将大于待插入元素的所有元素都向后移动一位,故在循环时,要从最后一个元素到第p个元素都要后移一位,因此第二空应填i>=p。最后一个循环是将N+1个元素都输出,故最后一空应为i<=N。(注:本题有多种答案,以上仅提供一种)
36.77解析:在程序执行时,static变量仅初始化一次,下次使用时将使用上次保存的值。
37.1616解析:函数运算不改变数据类型,所以结果也是double型,fabs(x)是对x取绝对值,pow(y,fabs(x))是y的labs(x)次幂,即2.04。0=16.000000(注意;结果为double型)。
38.散列散列
39.软件生命周期软件生命周期解析:软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。在国家标准“计算机软件开发规范”中,把软件生命周期划分为8个阶段,即可行性研究与计划、需求分析、概要设计、详细设计、实现、综合测试、确认测试、使用与维护,对每个阶段,都明确规定了该阶段的任务、实施方法、实施步骤和完成标志,其中特别规定了每个阶段需要产生的文档。
40.n-1
41.A解析:程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。因此选项A是正确答案。程序滥用goto语句将使程序流程无规律,可读性差;添加的注解行有利于对程序的理解,不应减少或取消;程序的长短要依照实际需要而定,并不是越短越好。因此选项B、C、D都是错误的。
42.A解析:aaa()函数中,首先定义了一个字符指针t指向形参s,然后通过一个while循环让指针\u3000t不断递增,直到t指向字符串结束标志处。当t指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,所以接卜来的t--;语句让它回到结束标志处。最后返回t-s,因此s还是指向字符串第1个字符处,而t指向了字符串结尾,故返回值为字符串的长度值。
43.B
44.D解析:该题考查逻辑与“&&”和逻辑或“‖”以及逻辑非“!”符号的用法。选项A)即3&&4为真;选项B)即3<=4为真;选项C)是一个逻辑或与逻辑与的混合运算,只要执行了逻辑或左半部分,程序将直接停止执行逻辑或右半部分程序,因为x的值为真;此时选项C)变为1&&-1为真。选项D)不用计算,括号内逻辑或右边的值为1,因而括号内的值为1,再进行逻辑非运算得0。
45.C解析:fseek函数的原形为intfseek(FILE*fp,longoffset,intbase);函数的功能是将fp所指向的位置指针移到以base所指位置为基准、以offset为位移量的位置。可见,fseek是改变文件的位置指针。
46.D解析:本题主要是考查带参数的宏定义及其相关运算。本题中宏运算过程如下:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
47.C本题中,首先将0赋给k,表达式变为0,跳出循环,没有执行循环体语句。解答本题的关键是掌握while语句。
48.C解析:本题在定义字符数组时没有定义数组长度,但用字符常量给数组赋了初值,这时初值的个数即为数组的长度,故数组长度为6(包括'\\0')。字符串的长度为有效字符的个数5。strlen(s)返回值为串中字符的个数(不计最后的'\\0'),则输出值为5。sizeof(s)计算数组所占的字节数,包含'\\0',则输出值为6。因此,C选项正确。
49.C算法具有的5个特性是:有穷性、确定性、可行性、有0个或多个输入、有一个或多个输出。所以说,用C程序实现的算法可以没有输入,但必须要有输出。因此本题答案选C。
50.C解析:软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念。①抽象是一种思维工具,就是把事物本质的共同特性抽出来而不考虑其他细节。②模块是指可以单独命名且可编址的元素。如高级语言中的过程、函数、子程序等。③信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。④模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。因此,本题的正确答案是C。
51.B解析:在C语言中,大写字母和小写字母被认为是两个不同的字符,因此,“hello!”和“Hello!”是两个不同的字符串。
52.C解析:首先看swap()函数,函数中定义了一个临时字符变量t,然后将形参指针x所指内容存入t,再将形参指针y所指内容存入到x所指内容中,最后将临时变量t的内容存入到y所指内容中。所以该函数实现的是:交换两个字符指针所指向的内容。在主函数中,首先定义了两个字符指针s1和s2,同时用字符串'abc'和'123”来初始化它们,此时它们指向的是两个字符串的第1个字符。所以,在调用完swap()函数后,彼此交换了两个字符串的第1个字符,最后输出结果为1bc,a23。故应该选择C。
53.C解析:程序中if语句的条件只有y>z为真,所以执行f(y,z)。函数f的功能是交换两形参的值,但由于实参和形参都是一般变量,因此形参变量值的交换不能影响实参的值,main函数中的y和z并来互换,因此输出结果为:1,3,2。
54.D解析:变量b的初值等于2,所以表达式b<<2表示b的值二进制左移两位,即扩大4倍,所以变量b的等于8。然后与a的值1进行异或运算,得9。
55.B解析:数据库管理系统(DataBaseManagementSystem,简称DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系统是数据库系统的核心。
56.C解析:在C语言中,引用数组元素时,其数组下标的数据类型可以是整型常量,也可以是整型表达式。
57.D解析:瀑布模型把软件生命周期划分为3个时期,时期又划分为若干阶段:①软件定义期——问题定义和可行性研究;②软件开发期——需求分析、总体设计、详细设计、编码和测试;③运行及维护阶段——维护。所以,性能优化不是软件开发期所应包含的内容。
58.B解析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后—层上只缺少右边的若干子结点(叶子结点)的二叉树。
59.D
60.A根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:1,有且只有一根节结点,2,每一个结点最多有一个前件,也最多有一个后件,则称该数据结构为线性结构,又称线性表。所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。
61.BB。【解析】在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。
62.C解析:主函数中定义了一个整型变量a,一个整型指针变量b和一个二级指针变量c,并让c指向指针变量b,让指针b指向整形变量a,所以**c为变量a的值,所以,4个选项中选项C符合题意。
63.Amain函数输出字符串第6个元素对应的数据,所以答案为A)。
64.D
65.Cstr是指针数组,每个元素存放的是指向结构体类型数据的地址,每个元素可看作是一个指针变量,通过结构体指针变量引用结构体变量各成员的形式有两种,一是(*指针变量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《大学计算机基础》课件-第5章 电子表格处理软件
- 填报志愿 合同
- 《正向间接血凝试验》课件
- 2025年吐鲁番道路货运驾驶员从业资格考试题库
- 2025年湖北货运从业资格证考试模拟考试题目
- 2025年长沙货运从业资格证考试题目和答案
- 2025年张掖驾校考试货运从业资格证模拟考试
- 2025年河源考货运资格证考试内容
- 工业用地交易中介合同样本
- 水利工程机械施工安全协议
- 大学物业服务月考核评价评分表
- 福建师范大学《歌曲写作》2023-2024学年第一学期期末试卷
- 医学教程 《疼痛与护理》课件
- 2023-2024学年天津市部分区八年级(上)期末物理试卷
- 律师事务所薪酬分配制度
- 2024山东高速路桥集团股份限公司社会招聘455人高频难、易错点500题模拟试题附带答案详解
- 第10课《往事依依》公开课一等奖创新教学设计
- 2024-2030年中国呼叫中心外包行业市场发展趋势与前景展望战略研究报告
- Unit 4 My Favourite Subject Section B(教学教学设计) 2024-2025学年人教版(2024)七年级英语上册
- 汽车之家:2024年增换购用户需求洞察1727674734
- 陕西省师大附中2025届高三下学期联考物理试题含解析
评论
0/150
提交评论