




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022-2023年河北省承德市全国计算机等级考试C语言程序设计测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.设栈S的初始状态为空,栈的容量为5,若入栈元素的顺序是e1、e2、e3、e4、e5,则出栈元素的顺序不可能是______。
A.e1、e2、e3、e4、e5
B.e5、e4、e3、e2、e1
C.e2、e4、e3、e5、e1
D.e3、e4、e1、e2、e5
2.
3.在关系数据库中,用来表示实体间联系的是()。
A.网状结构B.树状结构C.属性D.二维表
4.执行下列程序后,输出的结果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/S(k+m):printf("%d",a);}A.1B.4C.9D.0
5.若有定义语句:“intx=10;”,则表达式x-=x+x的值为()。
A.-20B.-l0C.0D.10
6.对包含N个元素散列表进行查找,平均查找长度()。
A.为OB.为O(N)C.不直接依赖ND.上述三者都不是
7.
8.面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是()。
A.模拟现实世界中不同事物之间的联系
B.强调模拟现实世界中的算法而不强调概念
C.使用现实世界的概念抽象地思考问题从而自然地解决问题
D.不强调模拟现实世界中的算法而强调概念
9.设有定义“Charp[]={‘1’,‘2’,‘3’},*q=p;”,以下不能计算出一个char型数据所占字节数的表达式是()。A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
10.下列选项中,当X为大于1的奇数时,值为0的表达式是()。
A.x%2==0B.x/2C.x%2!=0D.x%2==1
11.以下程序是用来计算两个非负数之间的最大公约数:我们假设x,y中最大的那个数的长度为n,基本运算时间复杂度为O(1),那么该程序的时间复杂度为()A.O(1)B.O(logn)C.O(n)D.O(n^2)
12.有以下程序:#include<stdio.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf(“%d,%d\n”,a,b);}程序运行后的输出结果是()。
A.9,18B.8,11C.7,11D.10,14
13.二叉树的后序排列DBEFCA,中序排列DBAECF,那么对其做先序线索化二叉树,节点E的线索化指向节点()
A.BCB.ACC.DFD.CF
14.若有定义“doublea;”,则正确的输入语句是()。A.A.seaM("%1f",&a);B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
15.以下说法正确的是()。
A.函数可以返回另一个函数的整个函数体
B.函数返回值只能是基本数据类型的数值或指针
C.函数返回值可以是一个指向函数的指针
D.函数返回值可以是一个数组,同时返回多个值
16.在一个链式队列中,假设f和r分别为队头和队尾指针,则插入S所指结点的运算是()。
A.f->next=s;f=s;
B.r->next=s;r=s;
C.S->next=rr=s;
D.r->next=f;f=s;
17.设有以下程序段:要求输入字符串给结构体变量rec的title成员,错误的输入语句是()A.seanf(”%s”Ptrtitle);
B.scanf(”%s”,rec.title);
C.scanf(’’%s”,(*pu).title);
D.scanf(”%s”,ptr->title);
18.一个顺序栈一旦声明,其占用空间的大小()。
A.已固定B.可以变动C.不能固定D.动态变化
19.给定数列(541,132,984,746,518,181,946,314,205,827)按照从小到大的顺序排列,采用冒泡排序时,第一趟扫描结果是()
A.(541,132,827,746,518,181,946,314,205,984)
B.(205,132,314,181,518,746,946,984,541,827)
C.(132,541,746,984,181,518,314,946,205,827)
D.(132,541,746,518,181,946,314,205,827,984)
20.有以下程序
#include<stdio.h>
main()
{inty=10
while(y--);
printf(“y=%d\n”,y);
}
程序执行后的输出结果是()。A.y=0B.y=-1C.y=1D.while构成无限循环
二、2.填空题(20题)21.以下程序输出的结果是【】。
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
22.以下程序的输出结果是______。
#include<stdio.h>
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
23.以下程序的输出结果是【】。
#defineMAX(x,y)(x)>(y)?(x):(y)
main()
{
inta=5,b=2;c=3,d=3,t;
t+MAX(a+,b,c+D)*10;
printf("%d\n",t);
}
24.以下程序运行后的输出结果是【】。
main()
{inti,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)a[j][i]=0;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)printf("%d",a[i][j]);
printf("\n");
}
}
25.在链表的运算过程中,能够使空表与非空表的运算统一的结构是______。
26.求任意一个数(用16位二进制码表示)的补码。
main()
{unsignedinta;
【】;
scanf("%O",&a);
printf("%o\n",getbits(a));
}
unsignedintgetbits(value)
unsignedintvalue;
{unstgnedintz;
z=【】;
if(z==0100000)
【】;
else
z=value;
return(z);
}
27.数据库三级模式体系结构的划分,有利于保持数据库的【】。
28.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【】。
29.下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。
word_num(str)
charstr[];
{inti,num=0,word=0;
fo(i=0;str[i]!=【】;i++)
if(【】=='')word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
30.以下程序的输出结果是【】。
main()
{charc='z';
printf("%c",c-25);}
31.在面向对象方法中,【】描述的是具有相似属性与操作的一组对象。
32.有以下程序:
#include<string.h>
structSTU
{charname[10];
intnum;};
voidf(char*name,intnum)
{structSTUs[2]={{"SunDan",20044},{"Penghua",20045}};
num=s[0].num;
strcpy(name,s[0].name);
}
main()
{structSTUs[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p;
p=&s[1];f(p->name,p->num);
printf("%s%d\n",p->name,p->num);
}
程序运行后的输出结果是【】。
33.下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3,请填空。#include<conio.h>#include<stdio.h>#defineM81intfun(char*ss,charC){inti=0;for(;();ss++)if(*ss==C)i++;returni;}main(){chara[M],ch;printf("\nPleaseenterastring:");gets(A);printf("\nPleaseenterachar:");ch=getchar();printf("\nThenumberofthecharis:%d\n",fun(a,ch));}
34.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【】。
35.以上程序运行后的输出结果是【】。
main()
{inti=10,j=0;
do
{j=j+i;i-;}
while(i>2);
printf("%d\n",j);
}
36.若有定义inta=10,b=9,c=8;,接着顺序执行下列语句,变量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
37.下述函数用于统计一行字符中的单词个数,单词之问用空格分隔。
word_num(str)
charstr[];
{inti,num=0,word=0;
fot(i=0;str[i]!=【】;i++)
if【】=='')word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
38.下列程序的输出结果是______。
#include<stdio.h>
sb(ints[],intb)
{staticintn=3;
b=s[n];
n--;
return(b);
}
main()
{ints[]={1,5,6,8};
inti,x=0;
for(i=0;i<4;i++)
{x=sb(s,x);
printf("%d",x);
}
printf("\n");
}
39.设y是int型,请写出y为奇数的关系表达式【】。
40.关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。
三、1.选择题(20题)41.数据库设计包括两个方面的设计内容,它们是()
A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计
42.用C语言编写的代码程序
A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释即可执行
43.有以下程序:main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执行后输出结果是______。
A.2B.3C.4D.编译时有错,无结果
44.栈通常采用的两种存储结构是()。
A.顺序存储结构和链式存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构
45.下列对于线性链表的描述中正确的是______。
A.存储空间不一定是连续,且各元素的存储顺序是任意的
B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C.存储空间必须连续,且各前件元素一定存储在后件元素的前面
D.存储空间必须连续,且各元素的存储顺序是任意的
46.当运行以下程序时,从键盘输入;AhaMA(空格)Aha<CR>,则下面程序的运行结果是#include<stdio.h>main(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\n'){if(s[i]==c)s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;}puts(s);}
A.ahaMaB.AbAMaC.AhAMa[空格]ahAD.ahAMa[空格]ahA
47.有以下程序main(){intx=10,y=10;printf("%d%d\n",x--,--y);}程序运行后的输出结果是()
A.1010B.99C.910D.109
48.以下能正确定义一维数组的选项是
A.inta[5]={0,1,2,3,4,5);
B.chara[]={0,1,2,3,4,5);
C.chara={'A''B''C');
D.inta[5]="0123";
49.有以下程序段:typedefstructNODE{intnum;structNODE*next;}OLD;以下叙述中正确的是()。
A.以上的说明形式非法B.NODE是一个结构体类型C.OLD是一个结构体类犁D.OLD是一个结构体变量
50.以下程序的输出结果是
intf()
{staticinti=0;
ints=1;
s+=i;i++;
returns;}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf("%d\n",a);}
A.20B.24C.25D.15
51.以下定义语句中正确的是______。
A.chara='A'b='B';
B.floata=b=19.0;
C.inta=10,*b=&a;
D.float*a,b=&a;
52.执行下面的程序后,a的值为main(){inta,b;for(a=1,b=1;a<=10;a++){if(b%3==1){b+=3;continue;}b-=5;}}
A.7B.8C.9D.10
53.对于一个正常运行的C语言程序,以下叙述中正确的是()。
A.程序的执行总是从main函数开始,在main函数结束
B.程序的执行总是从程序的第一个函数开始,在main函数结束
C.程序的执行总是从main函数开始,在程序的最后一个函数中结束
D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
54.在软件工程中,高质量的文档是______、一致性和无二义性的。
A.安全性B.完整性C.组合性D.统一性
55.以下选项中,能定义s为合法的结构件变量的是_______。
A.typedefstructabc{doublea;charb[10];}s;
B.struct{doublea;charb[10];}s
C.structABC{doublea;charb[10];}ABCs;
D.typedefABC{doublea;charb[10];}ABCs;
56.设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是()。
A.x&&y
B.x<=y
C.x||++y&&y-z
D.!(x<y&&!z||1)
57.能正确表示逻辑关系""a≥10或a≤0"",的C语言表达式是_____。
A.a>=10ora<=0
B.a>=0|a<=10
C.a>=10&&a<=0
D.a>=10||a<=10
58.设x为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为()。
A.14B.6C.2000D.4000
59.设i是int型变量,f是float型变量,用下面的语句给这2个变量输入值。为了将,100和765.12分别赋给i和f,则正确的输入为______。scanf("i=%d,f=%f”,&i,&f);
A.100<空格>765.12<回车>
B.i=100,f=765.12<回车>
C.100<回车>765.12<回车>
D.x=100<回车>y=765.12<回车>
60.C语言中共用体类型变量在程序运行期间()
A.最后一次存放的成员起作用,其他成员都已失去作用
B.已存放的一部分成员在内存中起作用
C.已存放的成员没有一个在内存中起作用
D.已存放的所有成员在内存中都起作用
四、选择题(20题)61.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。
A.编译程序B.操作系统C.教务管理系统D.汇编程序
62.
63.设有定义:intX=2;,以下表达式中,值不为6的是()。
A.2*x.x+=2B.x++,2*xC.x*=(1+x)D.x*!x+1
64.下列选项中不属于结构化程序设计原则的是()。
A.可封装B.自顶向下C.模块化D.逐步求精
65.下列关于信息系统的叙述中,错误的是()。
A.广播电视是一种双向的、点到多点的信息交互系自
B.网络聊天是一种双向的,以信息交互为主要目的系统
C.电话是一种双向的、点对点的、以信息交互为主要的的系统
D.雷达是一种以感测和识别为主要目的的系统
66.
67.有以下程序
#include<stdio.h>
main()
{
intnum=0;
while(num<=2)
{
num++;
printf("%d\n",num);
}
}
上面程序的输出结果是
68.软件生命周期中的活动不包括()
A.软件维护B.市场调研C.软件测试D.需求分析
69.有以下程序:
main
{inti,j;
for(j=10;j<11;j++)
{for(i=9;i<j;i++)
if(!(j%i))break;
if(i==j-1)
printf("%d",j);
}
}
输出结果是()。A.A.11B.10C.9D.1011
70.有以下程序程序的运行结果是()。
71.有以下程序:
程序运行后的输出结果是()。
A.12
B.15
C.16
D.20
72.
73.若有下面的程序段
#include"stdio.h"
main()
{inti=6;
while(i--)
printf("%d",--i);
printf("\n");
}
那么程序的输出结果为
A.531B.420
C.654321D.死循环
74.
75.若要求从键盘读入含有空格字符的字符串,应使用函数
76.
77.下列叙述中正确的是()。
A.为了建立一个关系,首先要构造数据的逻辑关系
B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项
C.一个关系的属性名表称为关系模式
D.一个关系可以包括多个二维表
78.一间宿舍可住多名学生,则实体宿舍和学生之间的联系是()。A.一对一B.一对多C.多对一D.多对多
79.有以下程序(函数fun只对下标为偶数的元素进行操作):
#include<stdio.h>
voidfun(int*n)
{inti,j,k,t;
for(i=0;i<n-1;i+=2)
{k=i;
for(j=i;j<n;j+=2)if(a[j]>a[k])k=j;
t[a[i];a[i]=a[k];a[k]=t;
}
}
main
{intaa[lO]=[1,2,3,4,5,6,7],a;
fun(aa,7);
for(i=0;i<7;i++)printf("%d,",aa[i]);
printf("n");
}
程序运行后的输出结果是()。
A.7,2,5,4,3,6,1,
B.1,6,3,4,5,2,7,
C.7,6,5,4,3,2,1,
D.1,7,3,5,6,2,1,
80.有以下结构体说明、变量定义和赋值语句:
则以下scanf函数调用语句有错误的是()。
A.scanf(”%s”,s[0].name);
B.scanf(”%d”,&s[0].age);
C.scanf(”%c”,&(ps一>sex));
D.scanf(”%d”,ps一>age):
五、程序改错题(1题)81.给定程序中,函数proc()的功能是:使数组中的元素的值增加10倍。修改其中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.…请编写函数。fun能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。例如:若输入的数据为l23,则输出结果为:输入的数字是3位。注意:部分源程序存在PROGl.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所缩写的若干语句。试题程序:
参考答案
1.D解析:栈是仅在表头和表尾进行插入和删除元素操作的线性表,其特点是“先进后出”。本题中,进栈的过程中可以出栈。选项D中,如果第一个出栈的元素为e3,由于入栈顺序是e1、e2、e3,那么e3出栈后,栈中元素必定有e1和e2,因为e1先入栈,故e1应在e2后出栈,所以选项D是不可能的出栈顺序。
2.D
3.D单一的数据结构——关系,现实世界的实体以及实体间的各种联系均用关系来表示。数据的逻辑结构——二维表,从用户角度,关系模型中数据的逻辑结构是一张二维表。但是关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种关系。
4.D本题主要考查带参数的宏定义,过程如下:由于定义为define(x)x*x没有括号优先级,所以: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。
5.B表达式x-=x+X可以写成x=x-(x+x),所以X的值为-l0。
6.C
7.A
8.C\n面向对象的设计方法的基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。它虽强调模拟现实世界中的概念而不强调算法,但是它鼓励开发者在软件开发的过程中从应用领域的概念角度去思考。
\n
9.A根据题目中的定义可知,“sizeof(p)”计算的是数组p中所有元素所占用的字节数,而不是char型数据所占的字节数。故本题答案为A选项。
10.A算术运算符的优先级高于关系运算符的优先级。所以当x为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是0。C选项的值为真,即1。0选项的值为真,即1。故本题答案为A选项。
11.B
12.D第1次循环,a的值为1,满足条件,执行“b+=a;”与“a+=2;”,则b的值变为3,a的值变为3。执行“a++”,a的值为4,满足条件进入第2次循环,执行完循环体后,b的值为7,a的值为6。执行“a++”,a的值为7,满足条件进入第3次循环,执行完循环体后,b的值为14,a的值为9。执行“a++”,a的值为10。条件不满足,退出循环。故本题答案为D选项。
13.D
14.D本题考查seanf函数的调用形式:scanf(格式字符串,输入项地址表)。题中定义变量a为双精度型变量,双精度变量的格式符为“le”;变量的地址用取地址符“&”加变量名表示,所以选项D正确。
15.C函数的返回值是通过return语句返回的,返回值是一个表达式,不限于基本数据类型或指针,也可以是结构体类型等,但不能是数组,选项A、B、D错误;函数的返回值可以是一个指向函数的指针,选项C正确。故本题答案为C选项。
16.B
17.A符号“_>”是指针特用的,符号“.”用于指定元素的成员。ptr是指针,只能用符号“一>”,因此选项A错误。+P是指定元素(Fee)可以使用“.”运算,因此选项D正确。选项B,Fee.title代表数组title,同理选项C正确。答案为A选项。
18.A
19.D
20.B解析:y-的作用是先取其值作为表达式的值,然后y的值减1存入y。当y>0时循环继续,直到y=0时循环结束,然后y值减1存入y中,所以选B。
21.00解析:本题的关键在于对变量c的赋值运算:
d=(a>b>c)
d=(5>4>3)
先算5>4,为真,得1,即:d=(1>3),此时1>3,为假,得0。
22.指针P指向数组a的首地址,执行语句p++;后p指向数组a的第2个元素的地址,即a[1]的地址,因此*p=a[1]=4。\r\n\r\n
23.77解析:宏替换后,表达式t=MAX(a+b,c+d)*10即变为:t=(a+b)>(c+d)?(a+b):(c+d)*10;由于(a+b)>(c+d)为真,所以t=(a+b),即为7。
24.123056009123\r\n056\r\n009解析:数组a中元素的初值为:a[0][0]=1、a[0][1]=2、a[0][2]=3、a[1][0]=4、a[1][1]=5、a[1][2]=6、a[12][0]=7、a[2][1]=8、a[2][2]=9。执行第1个for循环后a[1][0]=0、a[2][0]=0、a[2][1)=0;第2个for循环的功能是将数组元素按照3行3列的格式输出。
25.循环链表循环链表解析:在循环链表中,由于设置了一个头结点,因此在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一。
26.unsignedintgetbits()value&0100000z=~value+1unsignedintgetbits()\r\nvalue&0100000\r\nz=~value+1
27.数据独立性数据独立性解析:数据库的三级模式体系结构把数据的组织管理工作进行了划分,把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式,保证了数据的独立性。
28.物理独立性物理独立性
29.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:观察题目要求,可以知道以下几点:
①for循环的结束条件应当是:str[i]已是字符串的最后—个字符;
②str[i]代表字符串str中的第i+1个字符;
③整型变量num的值是要记录的单词的个数。
C语言中规定字符串的最后一个字符是一个隐含的字符串结束符“\\0”,所以在题中第—个空中应填写“\\0”;题中第二个空应填写“str[i]”,以判断当前位置的字符是否为空格;题中第三个空中应当填写“num++”,通过变量num的加1累加得到字符串中的单词个数。
30.aa解析:“z”的ASCII码值为122,经过c-25运算后得97,以字符形式输出是a。
31.类类解析:在面向对象方法中,类描述的是具有相似属性与操作的一组对象。
32.SunDan20042SunDan20042解析:f函数中形参1用的是显式传地址的方式,因此p->name的值发生改变,而形参2用的传值的方式,在调用时不改变实参的值,因此p->num的值不发生变化。
33.*ss!='\0'*ss!='\\0'解析:本题考查的是指针的应用。题目要求求出字符串ss中指定字符的个数。分析整个程序,空缺处是检验指针ss是否指向了字符串的末尾,如没有,即执行下面语句,判断指针ss指向的字符是否字符c,若是,i自加1;所以空缺处填入*ss!='\\0',作为循环终止的条件。
34.软件生命周期软件生命周期解析:软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。
35.5252解析:do...while语句的形式为:
do
{
语句;
}while(条件表达式)
当条件表达式为非零时,继续执行循环体,直到条件表达式为零时退出循环。
36.33解析:这里:b-5=4,a-=4之后a的值为6,并把它赋给c。此时b的值并未被改变。在第2个表达式中,也只有赋值表达式b=3改变了b的值。所以两行语句执行完毕,b的值应该为3。
37.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:观察题目要求,可以知道以下几点:①for循环的结束条件应当是:str[i]已是字符串的最后一个字符;②str[i]代表字符串str中的第i+1个字符;③整型变量num的值是要记录的单词的个数。C语言中规定字符串的最后一个字符是一个隐含的字符串结束符“\\0”,所以在题中第一个空中应填写“\\0”;题中第二个空应填写“str[i]”,以判断当前位置的字符是否为空格;题中第三个空中应当填写“num++”,通过变量num的加1累加得到字符串中的单词个数。
38.86518651解析:主程序中,第一次循环时,i=0,调用sb(s,x)子函数,此时n=3,x=s[n]=s[3]=8,然后将n减1变为2;第二次循环时,i=1,调用sb(s,x)子函数,因为将n定义为了静态变量,所以此时n=2,返回x=s[n]=s[2]=6;第三次循环时,i=2,调用sb(s,x)子函数,此时n=1,返回x=s[n]=s[1]=5;第四次循环时,i=3,调用sb(s,x)子函数,此时n=0,返回x=s[n]=s[0]=1。此程序实际上是将数组s逆序输出。
39.y%2==1y%2==1解析:由关系运算符组成的表达式称为关系表达式。判断2除y的余数是否为1,即可判断y是否为奇数。
40.查询查询
41.A解析:模式设计和内模式设计是概念设计的两种方法。物理设计是根据特定的计算机系统,对数据的存储结构和存取方法进行设计,从而实现从逻辑结构到物理结构的转换。从系统开发的角度来看,结构特性设计和行为特性-设计是数据库应用系统所具有的两个特性。结构特性的设计,设计各级数据库模式(静态特性):行为特性的设计,改变实体及其特性,决定数据库系统的功能(动态特性)。
42.B解析:C语言一种高级语言,C语言源程序经过C语言编译程序编译之后,生成一个后缀为。OBJ的二进制文件(称为目标文件),最后还要由称为“连接程序”(Link)的软件,把此。OBJ文件与C语言提供的各种库函数连接在一起,生成一个后缀.EXE的可执行文件。显然C语言不能立即执行,故选项A错误;根据以上定义,选项C和选项D错误,所以,4个选项中选项B符合题意。
43.B解析:C语言规定else总是和离它最近的if语句配对。故第一个else和第一个if配对,第二个else和第二个if配对。首先计算第一个if后面的表达式“a>b>c”,表达式“a>b”是为1,表达式“1>c”为0,所以执行else后面的语句。先执行if后面的表达式,“c-1>d”为真,值为1。“1==1”为真,执行printf语句。
44.A解析:和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素的位置,由于栈的操作是线性表操作的特例,相对而言,链式栈的操作更易于实现。注意:这3种运算方法在各种存储结构中的应用。
45.A解析:线性表的链式存储结构称为线性链表,是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的。
46.A解析:本题主要考查的知识点是大写字母比它对应的小写字母ASCII码值小32,并且字符可以看作整数进行算术运算等操作。
47.D
48.B解析:本题考查的是一维数组的定义及初始化。定义并初始化一维数组的一般形式如下:
类型名数组名[常量表达式]={初始化列表};
当使用初始化列表初始化数组时,需要注意以下几点:初始化列表项的个数必须小于等于常量表达式的值,因此选项A是错误的;常量表达式可以省略,但不能省略其外面的中括号,因此选项C是错误的;特殊的,当类型名为char时,{初始化列表}可以用一个字符串常量来代替,由于字符串常量必须以'\\0',结尾,所以此时的初始化列表项的个数是字符串常量的长度加1,选项D的类型是int,使用字符串常量来初始化数组是错误的。所以,4个选项中选项B符合题意。
49.C解析:将题目中的定义语句去掉前面的typedef和后面的OLD(分号保留),就是一条完整的结构体定义语句,其中struct是说明符,NODE是结构体名,大括号里面的是结构体成员的定义。此时要声明该结构体变量时需要使用struct加结构体名.起来声明,structNODE一起构成一个结构体类型,就好像字符类型char。若只去掉前面的typedcf,就是一条结构体定义同时声明一个结构体变量OLD的语句,因为OLD的前面部分是structNODE的完整写法,可以看作是structNODE。C语言允许用typedef说明一种新类型名,其语法格式为:
typedef类型名标识符;
以后就可以用该标识符来代替被说明的类型名了。因此,当前面存在typedef时,该语句就变成了给structNODE的完辖写法定义一个新的名称OLD。所以,此时的OLD是一个结构体类型,它相当于structNODE,即可以和char一样单独用来声明该结构体变量,而NODE只是一个结构体名,不能单独用来声明变量。所以,4个选项中C符合题意。
50.D解析:函数的静态局部变量在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。
51.C解析:选项A中a='A'b='B'中缺少一个逗号;B中只能定义一个,如a=19.0;D中b是float类型的,不能取指针地址。
52.D
53.A解析:在C语言中,所有函数的定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。但是函数之间允许互相调用.也允许嵌套调用,习惯上把调用者称为主函数。调用函数还可以调用自己,称为递归调用。main函数是主函数,它可以调用其他函数,而不允许被其他函数调用。因此,C程序的执行总是从main函数开始.完成对其他函数的调用后返回到main函数,最后由main函数结束整个程序。一个C源程序必须有也只能有一个main函数。
54.B
55.B解析:定义一个结构体类型的变量,可采用三种方法:①先定义结构体类型,再定义变量名;②在定义类型的同时定义变量;③直接定义结构类型变量,即不出现结构体名;选项B符合第三种定义方法。
56.D解析:该题考查逻辑与“&&”和逻辑或“||”以及逻辑非“!”符号的用法。选项A)即3&&4为真,选项B)即3<=4为真,选项C)是一个逻辑或与逻辑与的混合运算,只要执行了逻辑或左半部分,程序将直接停止执行逻辑或右半部分程序,因为x的值为真,此时选项C)变为1&&-1为真。选项D)不用计算,括号内逻辑或右边的值为1,因而括号内的值为1,再进行逻辑非运算得0。
57.D解析:C语言中的“或”关系用“||”表示,其他相关逻辑运算符“与”用“&&”表示;运算符“非”用“!”来表示。
58.D解析:&是取地址运算符,表达式x=&a是表示将a的地址赋给变量x。
59.B
60.A
61.C解析:软件按功能可以分为:应用软件,系统软件、支撑软件(或工具软件)。应用软件是为解决特定领域的应用而开发的软件。例如,事务处理软件、工程与科学计算软件,实时处理软件,嵌入式软件,人工智能软件等应用性质不同的软件。因此选项C教务管理系统属于应用软件。系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。如操作系统,编译程序,汇编程序,网络软件,数据库管理系统等。因此选项A、B、D都属于系统软件。
62.A
63.AA选项中逗号表达式先计算第一表达式2*x,然后计算表达式x+=2的值,即x=x+2即4,整个逗号表达式为第二个表达式的值4,所以选择A。B选项中首先计算逗号表达式中第一表达式x++,此时x为3,在执行第二个表达式2·X=2*3=6,所以逗号表达式为第二个表达式的值6。C选项的赋值表达式可以表示为x=x*(1+x)=2}(1+2)=6。D选项中的表达式可以表示为x=X}(x+1)=2·3=60
64.AA。【解析】结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用goto语句等。
65.A广播/电视是一种单向的、点对多点(面)的以信息传递为主要目的的系统。
66.D
67.C本题考查while()语句。程序中使用的是while循环,为“当型”循环结构,即当条件为真时循环,将值代入循环,当num为3时,循环的条件已经为假,将不再循环。故本题答案为C。
68.B【答案】:B
【知识点】:软件生命周期
【解析】:一个软件产品或软件系统要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生命周期。它把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。通常,软件生存周期包括可行性分析与开发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省湘潭县2025年上半年公开招聘辅警试题含答案分析
- 湖北省浠水县2025年上半年公开招聘辅警试题含答案分析
- 福建省政和县2025年上半年公开招聘辅警试题含答案分析
- 安徽省无为县2025年上半年公开招聘辅警试题含答案分析
- 2025年能源行业数字化转型中智能电网智能电网与氢能应用优化报告
- 文旅产业新质生产力全市实践
- 妇科疾病科普课件
- 难点解析自考专业(小学教育)测试卷及答案(考点梳理)
- 二零二五年度办公楼装修与智能化升级合同
- 二零二五年度螺杆机生产线自动化升级与维护服务合同
- 传统白酒生产项目商业计划书
- 2025年教师资格证考试综合素质(中学)试题及答案
- 江苏省淮安市2024-2025学年高一下学期期末考试物理试卷(解析版)
- 从力的做功到平面向量数量积说课稿省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件
- 骨科常见体位和摆放课件
- 中国传统文化概论绪论
- 这么写网约车事故索赔误工费的起诉状更容易胜诉
- 固体废物污染环境防治法课件
- 2022年高校教师资格证(高等教育学)考试题库评估300题有解析答案(四川省专用)
- 精装修安全文明施工方案
- 肺结核共45张课件
评论
0/150
提交评论