版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年贵州省遵义市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.有下列程序:
程序执行后的输出结果是()。A.3,7,3,7B.7,3,7,3C.3,7,7,3D.7,3,3,7
2.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()
A.a<>0B.!aC.a=0D.a
3.有以下程序,其中函数f的功能是将多个字符串按字典顺序排序:#include<string.h>voidf(char*p[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)ifstrcmp(p[i],p[j])>0{t=p[i]p[i]=p[j];p[j]=t;}}main(){char*p[5]=("abc","aabdfg","abbd","dcdbe","cd"};f(p,5);printf("%d\n",strlen(p[1]));}程序运行后的输出结果是______。A.2B.3C.6D.4
4.有以下程序
main()
{intk=5,n=0;
do
{switch(k)
{case1:case3:n+=1;k--;break;
default:n=0;k--;
case2:case4:n+=2;k--;break;
}
printf("%d",n);
}while(k>0&&n<5);
}
程序运行后的输出结果是
A.235B.0235C.02356D.2356
5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是()。
A.9B.11C.15D.不能确定
6.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为()。
A.顺序表B.用头指针表示的循环单链表C.用尾指针表示的循环单链表D.单链表
7.标准库函数fgets(s,n,file)的功能是()。
A.从文件file中读取长度为n的字符串存入字符数s由
B.从文件file中读取长度不超过n-1个字符的字符放到字符数组S中
C.从文件file中读到n个字符串存入字符数组s中
D.从文件file中读取长度为n-1个字符的字符串存字符数组S中
8.下列关于栈的描述中错误的是()。A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针
9.有定义语句:inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是
A.if(c<a)x=1;elseif(b<a)x=1;elsex=3;
B.if(a<3)x=3;elseif(a<2)x=2;elsex=1;
C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;
D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;
10.
11.设x=011050,则x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
12.
13.设单链表中结点的结构为非空的循环单链表first的尾结点(由p所指向)满足:______A.p->link==NULL;B.p==NULL;C.p->link==first;D.p==first;
14.有以下程序:main(){intX,i;for(i=1;i<=50;i++){x=i;if(X%2=O)if(x%3=O)if(X%7=0)printf("%d,i)";}}输出结果是()。A.28B.27C.42D.41
15.算法分析的目的是()。
A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性
16.程序设计的任务包括()。
A.编写程序代码并上机调试B.确定所用数据结构C.确定所用算法D.以上选项均正确
17.具有20个结点的二叉树,其深度最多为_______。
A.4B.5C.6D.20
18.若有定义“floata=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为()。
A.两个语句都是将变量a的值赋予变量P
B.*p=a是使P指向变量a,而p=&a是将变量的值赋予变量指针P
C.*p=a是将变量a的值赋予变量b,而&a是使P指向变量a
D.两个语句都是使P指向变量a
19.有以下程序:#include<stdio.h>main(){charc;for(;(c=getchar())!=‘#’;){if(c>=‘a’&&c<=‘z’)c=c-‘a’+‘A’;putchar(++c);}}执行时输入aBcDefG##并按<Enter>键,则输出结果是()。
A.AbCdEFgB.ABCDEFGC.BCDEFGHD.bcdefgh
20.
二、2.填空题(20题)21.以下程序运行后的输出结果是【】。
#include<stdio,h>
main()
charc1,c2;
for(el='0',c2='9';e1<c2;c1++,c2--)printf("%c%c",c1,c2);
printf("\n");
}
22.已有文本文件test.txt,其中的内容为:Hello,everyone!。以下程序中,文件test.txt已正确为“读”而打开,由文件指针fr指向该文件,则程序的输出结果是【】。
#include<stdio.h>
main()
{
FILE*fr;charstr[40];
fgets(str,5,fr);
printf("%s\n",str);
fclose(fr);
}
23.以下程序调用函数swap将指针s和t所指单元(a和B)中的内容交换,请填空。main(){inta=10,b=20,*s,*t;s=&a;t=&b;()printf("%d%d",a,B);}swap(int*ss,int*tt){intte;te=*ss;*ss=*tt;*tt=te;}
24.在关系模型中,把数据看成是二维表,每一个二维表称为一个【】。
25.数据库系统中实现各种数据管理功能的核心软件称为【】。
26.下列程序的输出结果是______。
#include<stdio.h>
main()
{intx=3,y=2,z=1;
if(x<y)
if(y<0)z=0;
elsez+=1;
printf("%d\n",z);
}
27.关系表达式x<y<z,用C语言的表达式为【】。
28.下列程序的输出结果是______。
main()
{inti,sum;
for(i=1;i<7;i++)
sum+=i;
primf("%d",sum);
}
29.数据结构分为线性结构和非线性结构,带链的队列属于[]。
30.下列程序的运行结果是______。
#defineP(A)printf("%d",A)
main()
{intj,a[]={1,2,3,4,5,6,7),i=5;
for(j=3;j>1;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
31.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为______。
32.以下程序调用随机函数得到N个20以内的整数放在s数组中。函数fun的功能是找出s数组中的最大数(不止一个)所在下标传回主函数进行输出,并把最大值作为函数值返回,请填空。
#defineN30
man()
{ints[N],d[N],i,k,m;
for(i=0,i<N;i++){s[i]=rand()%20;printf("%3d",s[i]);}
m=fun(【】);
printf("m=%d\n",m);
printf(”Theindex;\n");
for(i=0;i<k;i++)printf("%4d",d[i]);
printf("\n\n");
}
fun(int*w,int*d,int*k)
{inti,j,m=0,v;
for(i=0;i<N;i++)
if(w[i]>w[m])【】;
v=w[m];
for(i=0,j=0;i<N;i++)
if(w[i]==v)【】;
*k=【】;
return【】;
}
33.当调用函数时,实参是一个数组名,则向函数传递的是【】。
34.在树型结构中,根结点没有【】结点,其余每个结点有且仅有【】个前驱结点;叶结点没有后继结点,其余每个结点的【】结点数不受限制。
35.以下程序运行后的输出结果是【】。
main()
{inti,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
{case0:m++;n++;break;
case1:n++;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
36.设Y是int型变量,请写出判断Y为奇数的关系表达【】。
37.执行以下程序,输入-10的结果是【】,输入5的结果是【】,输入10的结果是
【】,输入30的结果是【】。
#include<stdio.h>
main()
{
intx,c,m;
floaty;
scanf("%d",&x);
if(x<0)c=-1
elsec=x/10;
switch(c)
{
case-1;y=0;break;
case0;y=x;break;
case1;y=10;break
case2:
case3;y=-0.5*x+20;break;
default:y=-2;
}
if(y!=-2)printf("y=%f"\n",y);
elseprintf("error\n");
}
38.表达式pow(2.8,sqrt(float(x)))值的数据类型为______型。
39.数据库系统中实现各种数据管理功能的核心软件是______。
40.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作______。
三、1.选择题(20题)41.以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是()。abs(intx){if(x>=0)returnx:elsereturn-x;}main(){inty,z,(*p)(intx)=abs;scanf("%d",&y);z=(*p)(y);______;}
A.printf("%d%d\n",&p,z)
B.printf("%d%d\n",p,z)
C.printf("%d%d\n",*p,z)
D.Printf("%d%d\n",p,*z)
42.下列选项中不是字符常量的是()。
A.'\v'B.'\x2a'C.'a'D."\0"
43.关系表中的每一横行称为一个()。A.元组B.字段C.属性D.码
44.有以下程序段:intk=Owhile(k=1)k++;while循环执行的次数是()。
A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次
45.若有以下定义和语句,则对w数组元素非法引用的是______。intw[2][3],(*pw)[3];pw=w;
A.w[0]+2B.*(pw+1)[2]C.pw[0][0]D.*(pw[1]+2)
46.下列叙述中正确的是______。
A.软件交付使用后还需要维护
B.软件一旦交付使用就不需要维护
C.软件交付使用后其生命周期就结束
D.软件维护是指修复程序中被破坏的指令
47.有下列程序:
main()
{intx=5;
do
(printf("%d",x-=4);}
while(!(--X));
}
程序的输出结果是()。
A.1B.20C.1-4D.死循环
48.数据库设计包括两个方面的设计内容,它们是()
A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计
49.下面程序的输出是______。main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("x=%d,y=%d,a=%d\n",x,y,a);}
A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=1
50.在三级模式之间引入两层映像,其主要功能之一是()。
A.使数据与程序具有较高的独立性B.使系统具有较高的通道能力C.保持数据与程序的一致性D.提高存储空间的利用率
51.请选出以下程序的输出结果()。#include<stdio.h>#defineMIN(x,y)(x<y)?x:ymain(){inti,j,k;i=10;j=15;k=10*MIN(i,j);printf("%d\n",k);}
A.15B.100C.10D.150
52.下列说法中不正确的是()。
A.指针是一个变量B.指针中存放的是数值C.指针可以进行加、减等算术运算D.指针变量占用存储空间
53.按照“先进后出”原则组织数据的数据结构是()。
A.队列B.栈C.双向链表D.二叉树
54.有以下程序:voidswap(char*x,char*y){cbart;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
55.下列程序的输出结果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}
A.2B.3C.4D.5
56.若有说明:inta[][3]={0,0};则不正确的叙述是()。
A.数组a的每个元素的初值都是0
B.数组a的第一维大小为1
C.数组a的行数为1
D.只有元素a[0Ⅱ0]和a10][1]可得到初值0,其余元素均得不到初值0
57.一个良好的算法由下面的基本结构组成,但不包括______。
A.顺序结构B.选择结构C.循环结构D.跳转结构
58.下列叙述中错误的是()。
A.一种数据的逻辑结构可以有多种存储结构
B.数据的存储结构与数据的处理效率无关
C.数据的存储结构与数据的处理效率密切相关
D.数据的存储结构在计算机中所占的空间不一定是连续的
59.sizeof(float)是()。
A.一种函数调用B.一种函数定义C.一个浮点表达式D.一个整型表达式
60.有以下程序inta=3;main(){ints=0;{inta=5;s+=a++;}s+=a++;printf("%d\n",s);}程序运行后的输出结果是______。
A.8B.10C.7D.11
四、选择题(20题)61.
62.
63.软件按功能可以分为:应用软件、系统软件和支撑软件(工具软件)。下面属于应用软件的是().
A.编译程序B.操作系统C.教务管理系统D.汇编程序
64.下列关系表达式中,结果为“假”的是()。
A.(3+4)>6
B.(3!=4)>2
C.3<=4
D.
E.3
F.(3<4)=1
65.
66.
67.以下不能正确定义二维数组的选项是A.inta[2][2]={{1},{2}};
B.inta[][2]={1,2,3,4};
C.inta[2][2]={{1},2,3};
D.inta[2][]={{1,2},{3,4}};
68.下列选项中不是字符常量的是()。
A.'\v'B.'\x2a'C.'a'D."\0"
69.
70.以下程序的输出结果是()。
#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
71.
72.以下程序段
73.有以下程序
#include<stdio.h>
voidfun(ints[])
{staticintj=0;
do
s[j]+=s[j+1];
while(++j<2);
}
main()
{
intk,a[10]={1,2,3,4,5};
for(k=1;k<3;k++)fun(a);
for(k=0;k<5;k++)
printf("%d",a[k]);
}
程序的运行结果是
A.34756B.23445
C.35745D.12345
74.
下列程序的运行结果是()。
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
75.
76.
77.
78.在软件设计中,不属于过程设计工具的是()。
A.PDL(过程设计语言B.PAD图C.N—S图D.DFD图
79.当执行下面的程序时,如果输入ABC,则输出结果是()。
#include<stdio.h>
#include<string.h>
voidmain()
{charss[10]="12345",
gets(ss);strcat(ss,"6789");
printf("%s\n",ss);
}
A.ABC6789B.ABC67C.12345ABC6D.ABC456789
80.以下说法中正确的是()。
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main函数中定义
C.C语言程序总是从main函数开始执行
D.C语言程序中的main函数必须放在程序的开始部分
五、程序改错题(1题)81.下列给定程序中,fun()函数的功能是:从整数1~50中,选出能被3整除且有一位上的数是5的数,并把这些数放b所指的数组中,这些数的个数作为函数值返回。规定,函数中a1放个位数,a2放十位数。
请修改函数中的错误,得出正确的结果。
注意:不要改动main()函数,不能增行或减行,也不能更改程序的结构。
试题程序:
六、程序设计题(1题)82.请编写函数proc,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
例如,若字符串数组中的M个字符串为:
ABCD
BCDEFG
CDEFGHI
则合并后的字符串内容应该是ABCDBCDEFGCDEF—GHl。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#defineM3
#defineN20
voidproc(chararr[M][N],char*b)
{}
voidmain
{
charstr[M][N]={"ABCD","BCDEFG","
CDEFGHI"},i;
chararr[100]={"#############
#####");
printf("Thestring:\n");
for(i=0;i<M;i++)
puts(str[i]);
printf("\n");
proc(str,arr);
printf("TheAstring:\n");
printf("%s",arr);
printf("\n\n");
}
参考答案
1.C程序定义两个整型变量i、j,初值为3,7。另外,定义两个整型指针变量p、q,其中p指向i,q指向j。将i、j的地址传给swap函数。在swap函数中,a指向i,b指向j。通过临时变量t交换a和b指向的值,此时a指向的实参i、b指向的实参j的值发生了交换。即a指向i的值为7,b指向j的值为3;再通过临时变量tp交换a和b的指针值,使得a指向j,b指向i。所以swap中输出a指向的值为3(j),b指向的值为7(i);swap函数调用结束后,输出p和q指向的值,即i、j的值为7、3。所以程序输出:3,7,7,3。本题答案为C选项。
2.D
3.D解析:字符串比较函数“strcmp(char*s1,char*s2)”的比较规则是对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到到"\\0"为止。如果全部相同,则认为相等:若出现不相同的字符,则以第一个不相同的字符的比较结果为准。当s1<s2,返回值<0;当s1=s2时,返回值二0:当s1>s2时,返回值>0。故本题经过排序后,得到第二个字符串是“abbd”,所以输出结果是4。
4.A解析:因为变量的初始值分别为“k=5,n=0”,所以程序第一次进入循环时,执行default语句,这时k=4,执行'case4:”这个分支,结果是“n=2,k=3”,打印出2;然后程序进行第二次循环,这时“n=2,k=3”,执行'case3:”这个分支,结果是“n=3,k=2”,打印出3;程序进行第三次循环,这时“n=3,k=2”,执行“case2:case4:”这两个分支,结果是“n=5,k=1”,打印出5,这时因为n=5不满足n<5的循环条件,因此退出循环,程序运行结束,故输出结果为235。
5.B
6.C
7.B本题考查fgets函数的使用调用形式:fgets(s,n,fp)。fgets函数参数说明:“S”可以是一个字符数组名,也可以是指向字符串的指针;“n”为要读取的最多的字符个数;“fp”是指向该文件型指针。fgets函数的功能是:从fp所指向的文件中读取长度不超过n-1个字符的字符串,并将该字符串放到字符数组S中,读入字符串后会自动在字符串末尾加入"\0"结束符,表示字符串结束。
8.B栈是限定只能在表的一端进行插入和删除操作的线性表,入栈和出栈都是在栈顶进行,它们的操作特点是先进后出,因此具有记忆作用。栈可以采用顺序存储,也可以采用链式存储。
9.C解析:选项A首先判断if语句条件中表达式的值“3<1”为假,然后执行最近的else后面的语句,该else后面又为if-else语句,在这个if-else语句中首先判断该if语句条件中表达式的值“2<1”为假,程序执行其最近的else后面的语句,将3赋值给x。
选项B中首先判断if语句条件中表达式的值“1<3”为真,然后执行最近的else后面的语句“x=3”,后面的else不再执行,最后x的值为3。
选项C中,首先执行第一条if语句,由于“1<3”为真,执行此if后面的语句“x=3”,接着执行第二条if语句,由于“1<2”为真,执行此if后面的语句“x=2”,接着执行第三条if语句,由于“1<1为假,后面的语句不执行,所以最后的x值为2不为3。
选项D中;首先执行第一条if语句,由于“a<b”为真,执行此if后面的语句“x=b”;接着执行第二条if语句,由于“b<c”,为真,执行此if后面的语句“x=c”,接着执行第三条if语句,由于“c<a”为假,后面的语句不执行,所以最后的x值为c即为3。
10.A
11.A本题考查按位与运算,按位与就是相同为1,不同为0,把x=011050化成二进制为0001001000101000,把01252化成二进制为0000001010101010,两者相与得0000001000101000。
12.D
13.C
14.C只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择c选巩。
15.C
16.D程序设计是一门技术,需要相应的理论、技术、方法和工具来支持。程序设计的任务包括选项A)、B)、c)等方面。
17.D
18.C“P”是指针变量,指向一个地址:“*P”为P指针所指向地址的内容“&”是取变量地址。
19.C题干中,循环的作用是将输入的字符串转化为大写,getchar函数读入一个字符,putchar函数输出一个字符,当遇到‘#’字符结束。“putcha(++C);”,表示将字符变量c加1后输出。当输入“aBcDefG##”时,得到的结果是BCDEFGH。故本题答案为C选项。
20.B
21.918273645918273645解析:程序通过for循环将字符'0'~'9'从前向后,同时从后向前依次输出,所以输出结果为:0918273645。
22.HellHell解析:该函数有3个参数,第三个参数是文件指针指向要读取数据的文件,第二个参数是一个整数(假设为n),表示从文件中读取n-1个字符并在其后加一个'\\0',第一个参数为存放读取的字符串的内存区的起始地址,读取的数据保存在其中。可见本题的输出结果为Hell。
23.swap(st);swap(s,t);解析:本题要在主函数中调用swap函数交换a、b的值,实现数据交换需要进行地址传递,所以函数的形参都应该是需要交换的数据的地址,程序中通过“s=&a;t=&b;”将指针变量s和t指向变量a、b的地址,因此,引用时直接引用指针变量s和t即可。
24.关系关系解析:在数据库中,一个表就是一个关系。一个关系的逻辑结构就是一张二维表。
25.数据库管理系统数据库管理系统(DBMS)
26.11解析:ifelse语句的功能是:若表达式的值为真,执行语句1,并跳过其他语句,执行ifelse语句的下一条语句,若表达式的值为假,跳过语句1,执行语句2,依次往下判断。题中,x=3,y=2,第一个if语句的控制条件x<y就不满足,又没有与之配对的else语句,所以直接执行printf语句,在整个过程中变量z的值都没发生变化。
27.(x<y)&&(y<z)(x<y)&&(y<z)解析:x<y<z的意思是y大于x并且y小于z。在C语言中,表达“并且”用逻辑与运算符“&&”。
28.无定值无定值解析:for(i=l;i<7;i++)决定了循环次数为6次,每次执行的操作是sum+=i,但由于sum没有初始化,并不知道sum的初值是多少,所以结果无定值。
29.线性结构线性结构解析:与栈类似,队列也是线性表,也町以采用链式存储结构。
30.5555解析:分析程序执行过程,第一次循环时,j=3,i=5。因为switch(3),所以执行case3,调用P(a[--i])=P(a[4])=P(5),输出5;第二次循环时,j=2,i=4,因为switch(2),所以执行case2,调用P(a[i++])-P(a[4])=P(5),输出5,之后i自加等于5。
31.物理独立性物理独立性解析:数据的独立性是指数据和应用程序相互独立,分为物理独立性和逻辑独立性。其中物理独立性是指数据的物理结构(包括存储结构、存取方式)改变时,不需要修改应用程序。而逻辑独立性是指当逻辑结构改变时,不需要修改应用程序。
32.sd&km=id[j++]=ijv
33.数组的首地址数组的首地址解析:在函数中,可以通过指针变量来引用调用函数中对应的数组元素,此操作是通过传递数组的首地址来实现的。
34.前驱一后继前驱\r\n一\r\n后继
35.130130解析:本题主函数中用了一个for循环,循环了3次:当i=9时,i/10=0,执行switch语句中case0分支,m和n的值各增1,变为1和1,然后遇到break语句,退出switch语句;当i=10和11时,i/10都等于1,执行switch语句中的case1分支,两次使n增1,变为3,退出switch语句。故该空格处应该填130。
36.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判断变量是否为奇数可以用变量与2取模,判断结果是为1或不为0。本题具体做法如下:Y%2=1或Y%2!=0。
37.05105
38.floatfloat解析:在此表达式中x是float类型的变量,经过开方所得到的结果仍是float类型,再和2.8进行运算时,应该先将2.8转换成float类型再运算,最后结果仍是float型。
39.数据库管理系统数据库管理系统解析:数据库管理系统是数据库的管理机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。
40.队尾队尾解析:在队列中,允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。
41.B解析:可以使用函数指针来调用函数。调用形式为:(*指针变量)(实参表列)。注意:调用函数和被调用函数之间的数据传递。
42.Dc语言规定,一个字符常量代表ASCII码字符集里的一个字符,在群序中用单引号括起来,以便区分。'\v'表示的是竖向跳格:'kx2a'表示的是两位十六迸制数;'a'表示的是字符a对应的ASCII码值。"\0"用双引号故不正确。
43.A解析:关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,对应表中的一个字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。
44.A解析:程序中,k的初值为0。执行while后面小括号中的赋值表达式k=1,则k的值为1,即整个表达式的值为真。所以执行循环体,执行语句“k++;”。因为k进行自加,不再减小,没有值为0的可能,即while后面小括号中的赋值表达式的值一直为真,不能退出循环,因此while循环将无限次地执行下去,所以,选项A正确。
45.B解析:选项A表示元素w[0][2],选项C表示元素w[0][0],选项D表示元素w[1][2],而选项B中pw+1表示第2行元素的地址,(pw+1)[2]相当于(pw+1)+2,表示第4行元素的地址,显然超出该二维数组的范围。
46.A解析:软件交付后还要进行维护,软件维护不仅要修复程序中被破坏的指令.还要根据新提出的内容进行必要而且可能的扩充和删改。软件的生命周期是从提出、实现、使用维护到停止使用退役的过程。
47.C解析:本题考查do…while循环。①执行printf语句,x=x-4=1,输出1,判断while循环的控制条件,--x=0,则(!(--x))非零,循环条件成立,执行下一次循环;②执行printf语句,x=x-4=-4,输出-4,判断while循环的控制条件,--X=-5,则(!(--X))为零,循环条件不成立,结束循环。
48.A解析:模式设计和内模式设计是概念设计的两种方法。物理设计是根据特定的计算机系统,对数据的存储结构和存取方法进行设计,从而实现从逻辑结构到物理结构的转换。从系统开发的角度来看,结构特性设计和行为特性-设计是数据库应用系统所具有的两个特性。结构特性的设计,设计各级数据库模式(静态特性):行为特性的设计,改变实体及其特性,决定数据库系统的功能(动态特性)。
49.D解析:注意的是X++中x值的引用时,这里应当是先引用,后自加,具体执行过程如下:
第一次while循环;条件为真,执行a=a+1=1;此时,x的值已为4,判断y<x不成立,继续执行循环;
第二次while循环:条件为假,此时x的值已为5,退出while循环,执行printf。
50.AA.【解析】数据库管理系统在数据库的三级模式之间提供了两层映像,保证了数据库中数据的较高的逻辑独立性和物理独立性。使系统具有较高的通道能力和提高存储空间的利用率是操作系统的职能,而不是数据库管理系统的职能。在数据库系统中没有“数据和程序一致性”这一概念。
51.C解析:本题考查宏定义。在C语言中,宏是直接替换的,所以表达式k=10*MIN(i,j)被直接替换为k=10*(i<j)?i:j,在这个表达式中,10*(i<j)的值为非零,所以整个表达式的值应为i的值,即为10。
52.B解析:指针中存放的是变量的地址,指针也可以进行增减运算,这时指针移动的最小单位是—个存储单元,而不是一个字节。
53.BB.【解析】栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另一端是封闭的。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元索是最后被插入的元素,也是最后被删除的元素。栈是按先进后出的原则组织数据的。
【知识拓展】“栈”的形式如手枪的弹匣,最后压入的子弹总是最先被弹出,而最先压人的子弹最后才被弹出,也就是“先进后出”。
54.C解析:函数swap()实现的功能为交换字符指针x和y首位的数值。
55.C解析:带参数的宏定义命令行形式如下:
#define宏名(形参表)替换文本
在编译的时候编译预处理程序用“替换文本”来替换宏,即M(n,m)被替换为n%m,之后计算,将计算的结果赋给a。注意,宏替换是在编译时由预处理程序完成的,宏替换不占用运行的时间,而函数调用是在程序运行时进行的,在函数的调用过程中需要占用一系列的处理时间。
56.D解析:本题考查给二维数组元素赋值。给二维数组元素赋值时应注意两点:①在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取0。②二维数组第一维的大小由如下规则确定:当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小;当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小等于所得商数加1。
57.D解析:1966年,Bohra和Jacopini提出了以下三种结构,用这三咱基本结构作为表示一个良好算法的基本单元:1、顺序结构;2、选择结构;3、循环结构。
58.BB。【解析】数据的存储结构分为顺序结构和链式结构,一个数据的逻辑结构可以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素所占的存储空间不一定是连续的。数据的存储结构与数据的处理效率密切相关。
59.D解析:sizeof(float)是c语言内部规定的用于计算单精度型变量(float)在计算机的内存中所占用的字节数量的函数,返回一个整数值。
60.A解析:本题中定义一个全局变量a和一个局部变量a。局部变量和全局变量的不同在于,局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失,而全局变量是在函数外部任意位置上定义的变量,它的作用域从变量定义的位置开始,到整个源文件结束为止。若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽,在该函数内,起作用的将是局部变量,与同名的全局变量不发生任何关系。在程序中首先定义了变量s并赋值为0,接着在嵌套的复合语句{}中定义了变量a并赋初值为5,接着执行语句s+=a+a;在这条语句中a加1,但表达式a++还是原来的值,故s=s+5,s为5,程序执行到外层,此时{}内定义的变量a不再有效,此时的变量a为{}之前定义的且初值为3,接着执行{}后面的语句s+=a++;相当于执行语句s=s+(++);即s=5+3,最后值为8,所以最后输出的s值为8。所以4个选项中A正确。
61.B
62.C
63.C编译程序、操作系统、汇编程序都属
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度房地产项目营销策划承包合同3篇
- 2025公司股权整体转让合同范本
- 二零二五年度分居双方子女抚养费及教育金支付合同3篇
- 二零二五年度快递企业快递收派服务合同范本及操作规范2篇
- 2025年度智能安防系统维护与管理服务合同范本
- 二零二五年度区域性汽车租赁企业联盟合同2篇
- 感恩同行青春共筑辉煌
- 二零二五年度电子商务平台运营合作协议2篇
- 2025年度网络安全风险评估与应急演练合同2篇
- 品牌联合推广合同(2篇)
- 卷扬机专项施工方案
- 对外投资合作国别(地区)指南 -泰国
- 2023年-2024年岗位安全教育培训试题及答案通用
- 口腔修复学(全套课件290p)课件
- 小学生心理问题的表现及应对措施【全国一等奖】
- 小学生科普人工智能
- 初中学段劳动任务清单(七到九年级)
- 退耕还林监理规划
- GB/T 1335.2-2008服装号型女子
- DCC20网络型监视与报警
- 项目实施路径课件
评论
0/150
提交评论