




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022-2023年内蒙古自治区包头市全国计算机等级考试C语言程序设计测试卷一(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.
2.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间
3.有下列程序:intfunl(doublea){returna*=a;)intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……)程序执行后变量w中的值是()。A.5.21B.5C.5.0D.0.0
4.如果最常用的操作是取第i个结点及其前驱,最节省时间的存储方式是()。
A.单链表B.双向链表C.单循环链表D.顺序表
5.
6.有以下程序:#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf("%d\n",S(k+j));}程序运行后的输出结果是()。A.197B.143C.33D.28
7.下列定义数组的语句中错误的是()。
A.intnum[][3]={{1,2},3,4,5,6};
B.intnum[2][4]={{1,2},{3,4},{5,6}};
C.intnum[]={1,2,3,4,5,6};
D.intnum[][4]={1,2,3,4,5,6};
8.当很频繁的对序列中部进行插入和删除操作时,应该选择使用的容器是()
A.vectorB.listC.dequeD.stack
9.
10.下面说法正确的是()。A.A.一个C程序可以有多个主函数
B.一个C语言的函数中只允许有一对花括号
C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内
D.在对C程序进行编译时,可以发现注释行中的拼写错误
11.下列关于效率的说法不正确的是()
A.效率是一个性能要求,其目标应该在需求分析时给出
B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法
C.效率主要指处理机时间和存储器容量两个方面
D.程序的效率与程序的简单性无关
12.
13.已知字符A的ASCⅡ代码值是65,字符变量c1的直是A,c2的值是D。执行语句printf("%d,%d",c1,c2-2);后,输出结果是()。
A.A,BB.A,68C.65,66D.65,68
14.有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
15.若已包括头文件<string.h>且已有定义chars1[18],s2={"ABCDE"}和inti,现要将字符串"ABCDE"赋给s1,下列语句错误的是()。
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.s1="ABCDE";
D.for(i=0;i<6;i++)s1[i]=s2[i];
16.下列对于线性链表的描述中正确的是()
A.存储空间不一定是连续,且各元素的存储顺序是任意的
B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C.存储空间必须连续,且前件元素一定存储在后件元素的前面
D.存储空间必须连续,且各元素的存储顺序是任意的
17.若已定义:“inta[9],*p=a;”,并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是______。
A.p+1B.a+1C.a++D.++p
18.下列运算符中优先级最低的算符是()。
A.||B.!=C.<;=D.十
19.
20.下列数据结构中,能够按照“先进后出”原则存取数据的是()。
A.循环队列B.栈C.队列D.二叉树
二、2.填空题(20题)21."printf("%d\n",strlen("\t\"'\023\xABC\n"));"语句的输出结果是______。
22.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。
main()
{inti,a[20],sum,count;
sum=count=0;
for(i=0;i<20;i++)scanf("%d",【】);
for(i=0;i<20;i++)
{if(a[i]>0)
{count++;
sum+=a[i];
}
}
printf("sum=%d,count=%d\n",sum,count);
}
23.解题方案的准确而完整的描述称为______。
24.下列语句能循环______次。
ints=12;
while(s);
--s;
25.若x=3,y=2,z=1,表达式z-=x<y?x++:++y的值为______。
26.以下程序的运行结果是【】。
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
27.有以下程序
main()
{intx=1,y=1,z=1;
y=y+z;x=x+y;
printf("%d",x<y?y:x);
printf("%d",x<y?x++:y++);
printf("%d",x);
printf("%d",y);
}
运行结果是【】
28.以下函数的功能是删除字符串s中的所有数字字符。请填空。
voiddele(char*s)
{
intn=0,i;
for(i=0,s[i];i++)
if(【】)
s[n++]=s[i];
s[n]=【】;
}
29.如果调用fopen函数不成功,则函数返回【】;如果调用fclose函数不成功,则函数返回【】。
30.在程序设计阶段应该采取【】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
31.数据结构分为线性结构和非线性结构,带链的队列属于[]。
32.以下sum函数的功能是计算下列级数之和。请给函数中的各变量正确赋初值。
doublesum(doublex,intn)
{inti;doublea,b,s;
for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;}
returns;
}
33.设有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
chars[10],t[10];
gets(t);
for(i=0;i<2;i++)
{gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s\n",t);
}
程序运行后,从键盘上输入(<CR>代表回车符):CDEF<CR>BADEF<CR>QTHRG<CR>,则程序的输出结果是______。
34.表达式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的数据类型为______。
35.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。
36.设有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
执行上面的程序段后,*(ptr+5)的值为______。
37.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是【】。
#include
main()
{chara,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,b);
}
38."print("%d\n",strlen("\t\"\023\xABC\n"));”语句的输出结果是______。
39.以下程序的输出结果是【】。
main()
{inta=0;
a+=(a=8);
printf("%d\n",A);
}
40.函数delete(s,i,n)是作用是从字符串s中删除从第i个字符开始的n个字符,请填空。
voiddelete(chars[],inti,intn)
{intj,k,length=0;
while(s[length])
【】;
-i;
j=i
}
if(【】)
{k=i+n;
if(i+n<=length)
while(k<length)
s[j++]=s[k++];
s[j]='\0';
}
三、1.选择题(20题)41.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是()。
A.(!E==0)B.(E>0‖E<O)C.(E==0)D.(E!=0)
42.对建立良好的程序没计风格,下面描述正确的是______。
A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法即可C.充分考虑程序的执行效率D.程序的注释可有可无
43.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用"",(双撇号)括起时,寻找被包含文件的方式是()。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
44.下列程序的输出结果是______。main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}
A.0B.0.25C.0.5D.1
45.在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是
A.数据定义语言B.数据转换语言C.数据操纵语言D.数据控制语言
46.数据库系统的核心是()。
A.数据模型B.数据库管理系统C.数据库D.数据库管理员
47.下列程序的输出结果为main(){unionu{char*name;intage;intincome;}="WANGLIONG";s.age=28;s.income=1000;printf("%d\n",s.age);}
A.28B.1000C.0D.不确定
48.有以下程序main(){chars[]="159",*p;p=s;printf("%c",*p++);printf("%c",*p++);}程序运行后的输出结果是______。
A.15B.16C.12D.59
49.若要用函数fopen打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件()。
A.wbB.wb+C.rb+D.rb
50.若变量已正确定义,有以下程序段:i=0;doprintf("%d,",i);while(i++);printf("%d\h",i);其输出结果是()。
A.0,0B.0,1C.1,1D.程序进入无限循环
51.有程序:main(){intx,i;for(i=1;i<50;i++){x=i;if(++%2==0)if(x%3==0)if(x%7==0)printf("%d",i);}}输出结果是()
A.28B.27C.42D.41
52.下列选项中,不是一个算法的基本特征的是()。
A.完整性B.可行性C.有穷性D.拥有足够的情报
53.完整的计算机存储器应包括______。
A.软盘、硬盘B.磁盘、磁带、光盘C.内存储器、外存储器D.RAM、ROM
54.数据库管理系统提供给用户的接口是()
A.过程化语言B.数据库语言C.宿主语言D.面向对象语言
55.软件危机是指______。
A.软件开发和软件维护中出现的一系列问题B.计算机出现病毒C.软件的版权得不到法律应有的保护D.以上都不正确
56.有以下程序:main(){unsignedchara,b;a=4|3;b=4&3;printf("%d%d\n",a,b);}执行后输出结果是()。
A.70B.07C.11D.430
57.有下列程序:
fun(intx,inty)
{staticintm=0,i=2;i+=m+1;
m=i+x+y;returnm;
}
main()
{intj=1,m=1,k;
k=fun0,m);printf("%d,"k);
k=fun0,m);printf("%d\n",k);
}
执行后的输出结果是()。
A.5,5B.5,11C.11,11D.11,5
58.设在C语言中,float类型数据占4个字节,则double类型数据占()个字节。
A.1B.2C.8D.4
59.若有如下语句:structa{charx[10]inty;}s,*t;t=&s;则对结构体变量s中的成员y的正确引用是()
A.a.y;B.t->y;C.t.y,D.*t->y;
60.在C语言的循环语句for、while、do-while中,用于结束本次循环,继续执行下一次循环的语句是______。
A.switchB.breakC.continueD.goto
四、选择题(20题)61.
以下叙述中正确的是()。
A.预处理命令行必须位于C源程序的起始位置
B.在C语言中,预处理命令行都以“#”开头
C.每个C程序必须在开头包含预处理命令行:#include<stdio.h>
D.C语言的预处理不能实现宏定义和条件编译的功能
62.有三个关系R、S和T如下:由关系R和s通过运算得到关系T,则所使用的运算为()。
A.并B.自然连接C.笛卡儿积D.交
63.以下正确的字符串常量是()。A.A."\\\"
B.'abc'
C.OlympicGames
D.""
64.(25)下面对对象概念描述错误的是()
A.任何对象都必须有继承性
B.对象是属性和方法的封装体
C.对象间的通讯靠消息传递
D.操作是对象的动态性属性
65.软件生命周期是指()。
A.软件的开发过程
B.软件的运行维护过程
C.软件产品从提出、实现、使用维护到停止使用退役的过程
D.软件从需求分析、设计、实现到测试完成的过程
66.若变量已正确定义并赋值,以下符合C++语言语法的表达式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
67.
68.
69.
70.
71.
72.
73.以下叙述中正确的是()。
A)C程序中的#include和#define行均是C语句,只是语法不同
B)除赋值运算符外,逗号运算符的优先级最低
C)C程序中,j++;是赋值语句
D)C程序中,+、-、*、/、%号是算数运算符,可用于整型和实型数的运算
74.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图
75.以下不构成无限循环的语句或语句组是()。
76.下列程序的输出结果是()。
#include<stdio.h>
main()
{inti,s=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}A.4B.39C.45D.6
77.
78.以下叙述中正确的是()。
A.c语言规定必须用main作为主函数名,程序将从此开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C.c语言程序将从源程序中第一个函数开始执行、
D.main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等
79.
80.若有函数内部说明:inta[3][4];则数组a中各元素
A.可在程序的运行阶段得到初值0
B.可在程序的编译阶段得到初值0
C.不能得到确定的初值
D.可在程序的编译或运行阶段得到初值0
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:计算S=f(-n)+(-n+1)+…+f(O)+f(1)+(2)+…+f(n)的值。例如,当n为l0时,函数值应为22.550361。f(x)函数定义如下:请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.使用VC++2010打开考生文件析下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),tt指向一个M行N列的二维数组,求出二维数组每列中值最大的元素,并依次放入pp所指的一维数组中。二维数组中的元素已在主函数中给出。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#defineM3#defineN4voidfun(inttt[M][N],intpp[N]){}voidmain(){ intt[M][N]={{68,32,54,12},{14,24,88,58},{42,22,44,56}}; intp[N],i,j,k; ystem(“CLS”); printf(“Theoriginaldatais:\n”); for(i=0;i<=""p=""> { for(j=0;j<=""p=""> printf(“%6d”,t[i][j]); printf(“\n”n); } fun(t,p); printf(“\nTheresultis:\n”); for(k=0;k<n;k++)<p=""></n;k++)<> printf(“%4d”,p[k]); printf(“\n”);}
参考答案
1.D
2.D【解析】算法的空间复杂度是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
3.C子函数fun1(doublea)的功能是返回a的平方值的整数部分。子函数fun2(doublex,doubley)的功能是返回X的平方值的整数部分与Y的平方值的整数部分的和。又因为题中变量w的定义为double型,函数fun(2)的定义为int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。所以双精度型变量w的值为5.0。
4.D
5.A
6.B此程序考查带参数的宏定义,S(k+j)展开后即4*(k+j)*k+j+1,所以结果为l43,答案为B。
7.BB选项中定义的数组为2行4列,而赋值时却赋成了3行,所以错误。故本题答案为B选项。
8.B
9.B
10.C解析:本题涉及C语言基本的3个知识点:①C语言规定一个程序只允许有一个主函数,一个函数内可以允许有多个花括号;②C程序的注释部分仅仅是方便程序员阅读,提高程序的可读性和可移植性,它并不参与程序的编译,所以编译器也就不会发现注释中的错误。
11.D
12.D
13.C在C语言中,用整型格式输出字符时,输出的是其ASCII码值。
14.B解析:在C语言的数组元素的引用方法,我们在前面已经讲过了,比如数组元素a[0],可以用表达式*(p+0),即*p来引用,对于数组元素a[1],可以用表达式*(p+1)来引用,在这里,p+1的值就是数组元素a[1]的地址,对此地址使用“间接访问运算符”:*(p+1)就代表存储单元a[1],注意:一对圆括号不可少。同样,对于数组元素a[2],则可以用表达式。(p+2)来引用…,对于数组元素a[9],可以用表达式,(p+9)来引用。因此,当指针变量p指向a数组的起始地址时,若0≤i<10,则数组元素a[i]可以用*(p+i)来表示。
15.C解析:数组名s1是代表s1数组首地址的地址常量,而不是变量,因为“=”左边不能出现常量,因此sl='ABCDE'的方法是错误的。
16.A本题考查的是线性单链表、双向链表与循环链表的结构及其基本运算。\n在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。故本题答案为A。
17.C
18.AC语言中规定运算符的优先顺序:一元算术运算符一>二元算术运算符一>关系运算符一>逻辑运算符一>赋值运算符,A项中为逻辑运算符,B项和c项都为关系运算符,D项为一元运算符。因此最低的是A项。
19.B
20.BB。【解析】在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。
21.66解析:strlen()函数的作用是计算字符串的长度并作为函数的返回值,这里的长度不包括串尾的结束标志\'\\0\'。
\'\\t\'是转义字符,代表横向跳若干格:\'\\\''是转义字符,代表双引号:\'\\023\'只代表一个字符,而不管转义字符后面有几个字符;\'\\xAB\'是以两位十六进制数AB表示的ASCII码字符,只代表一个字符;\'\\n\'是转义字符,代表回车换行。
5个字符常量各代表一个字符,再加上字母C,所以返回的长度是6。
22.&a[i]&a[i]解析:主要考查函数scanf的用法.应填数组a的元素的地址。
23.算法算法解析:算法是指对解题方案的准确而完整的描述。
24.无限无限解析:分析程序“while(s)”语句后面有一个“;”不能执行后面的语句,只是执行空语句,所以s=12保持不变,因此,没有条件限制的能循环无限次(即死循环)。
25.-2。-2。解析:表达式z-=x<y?x++:++y相当于先执行++y,再执行z-=x<y?x:y,最后执行x++,其中z-=x<y?x:y等价于z=z-(x<y?x:y),由于x值为3,y值为3,x<y不成立,返回y的值,z-y的值为-2,赋给z。
26.a=2b=1a=2,b=1解析:本题考查了switch结构的内容。C语言中,程序执行完一个case标号的内容后,如果没有break语句,控制结构会转移到下一个case继续执行,因为case常量表达式只是起语句标号作用,并不是在该处进行条件判断。本题程序在执行完内部switch结构后,继续执行了外部switch结构的case2分支,最后a和b的值分别为2和1。
27.3233
28.s[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigis[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigi解析:从一个字符串中删除某字符的力‘法是从字符串的第一个字符开始一一判断该字符是否是要被删除,若不是则把它放到结果字符串中,若是则不放入结果字符串中。本题的第一个空应判断s[i]是否为数字字符,只有在不是数字字符的情况下才存入结果字符串,所以应填入s[i]<'0'||s[i]>'9'。最后应在结果字符串的末尾填上字符串结束标志\\0。
29.NULL或0EOF或-1NULL或0\r\nEOF或-1解析:如果fopen()函数调用不成功,则返回一个空指针值NULL(0);如果fclose()函数调用不成功,则返回EOF(-1)。所以本题的两个空应分别填NULL和EOF。
30.自顶而下自顶而下
31.线性结构线性结构解析:与栈类似,队列也是线性表,也町以采用链式存储结构。
32.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1s=1或给abs赋1或1.0或1.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1,s=1或给a,b,s赋1或1.0或1.解析:sum函数的功能是求表达式s的级数之和,该函数的大致思路是:在该函数中,定义了—个整型变量i用作循环计数器,定义一个变量a用来表示各个子项的分子,初始为第一个子项的分子,故为1,定义了一个变量b用来表示各个子项大分母,初始为第一个子项的分母,故为1,定义一个变量s存放累加和,初始为第一个子项的值即为1,然后给各个定义的变量初始化,然后通过一个for循环将题目中的数学表达式的各个子项求出来并累加到s中,所以说,在该题的空格处应该填写将a、b和s赋初值的语句,即为a=1;b=1;s=1:(说明:语句的顺序可任意)或a=b=s=1;(说明:变量的顺序可任意)或a=1,b=1,s=1(说明:赋值表达式的顺序可任意)给a,b,s赋1或1.0或1都可以。
33.QTHRGQTHRG解析:strcmp(t,s)函数用来比较t和s所指字符串的大小,若t>s,则函数值大于0;若t=s,则函数值等于0:若t<s,则函数值小于0。strcpy(t,s)函数的功能是把字符数组s所指字符串的内容复制到字符数组t所指的存储空间中。本题中,t[10]='CDEF'。第一次循环,s[10]='BADEF',if语句的控制条件strcmp(t,s)<0不成立,接着执行第二次循环.s='QTHRG',if语句的控制条件strcmp(t,s)<0成立,执行下列的语句,将字符数组s所指字符串的内容复制到字符数组t所指的存储空间中,然后输出字符数组t。
34.整型整型解析:上面的表达式中,通过强制类型转换把最后参与运算的数据都转换成了int型,所以最后得到的结果也是int类型。
35.模块化模块化
36.'\0''\\0'解析:本题涉及字符数组和指针的两个知识点:①在C语言中,字符型数组在存放字符串时会自动在末尾加上字符串结束标识符'\\0'所以题中数组str有6个元素。②ptr指向数组str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
37.1B1B解析:从键盘输入后,有a=B,b=33。a=a-'A'+'0'='B'-'A'+'0'='1',b=b*2=66,在输出时均需要把a,b转化为字符型,因此输出为1B。
38.66解析:strlen()函数的作用是计算字符串的长度并作为函数的返回值,这里的长度不包括串尾的结束标志,\'\\0\'。
\'\\t\',是转义字符,代表横向跳若干格;\'\\\''是转义字符,代表双引号;\'\\023\'只代表一个字符,而不管转义字符后面有几个字符:\'\\xAB\'是以两位十六进制数AB表示的ASCII码字符,只代表一个字符:\'\\n\'是转义字符,代表回车换行。’
5个子符常量各代表一个字符,再加上字母C,所以返回的长度是6。
39.1616解析:在程序中首先将8赋值给变量a,然后在进行复合赋值运算。即a=a+a=8+8=16,所以该空格处应该填16。
40.length++i<lengthlength++\r\ni<length解析:第一个循环极有可能是计算串的长度,在i<=length时字符才被删除,被删除的是从第i个到第i+n或最后一个间的所有字符。删除前,应判断i<=length。由于已经进行了-i运算,故实际应填入i<length。
41.C解析:while(表达式)语句用来实现“当型”循环结构,当表达式为非0值时,执行while循环体语句。选项A)若E非。即为1,选项B)与选项D)的结果也为1,只有选项C)为0。
42.A解析:B选项错误,符号名应该能反映出它所代表的实际东西,应有一定的意义,不是简单的符合语法就可以.C选项不对,应该在保证程序正确的情况下再考虑程序的执行效率。D选项错误,程序的注释有益于对程序的理解和维护,好的程序必不可少。A选项正确。
43.B解析:本题考查库函数调用的知识点。格式1:#include<文件名>,预处理程序在标准目录下查找指定的文件;格式2:#include'文件名',预处理程序首先在引用被包含文件的源文件所在的目录下搜索指定的文件,如没找到,再按系统指定的标准目录搜索。
44.C
45.C【解析】在数据库管理系统提供的数据语言中,数据操纵语言负责数据的查询及增、删、改等操作。故答案为C。
46.B解析:数据库管理系统是数据库系统的核心,是负责数据库的建立、使用和维护的软件。数据库管理系统建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过数据库管理系统。另外,数据库管理系统还承担着数据库的安全保护工作,按照数据库管理员所规定的要求,保证数据库的完整性和安全性。
47.B解析:本题对共用体的使用进行了考查。由于共用体所有成员共同占据一段存储空间,所以对成员变量的赋值,后面的赋值会覆盖掉前面的赋值,因为s.income=1000;是最后一次成员变量赋值,变量age与变量income共同占据一段存储空间,所以age的值也为1000。
48.A解析:自增运算符“++”放在变量之前表示在使用变量之前,先使变量的值加1;放在变量之后表示在使用变量之后,再使变量的值加1。语句p=s;使指针p指向字符串s的首地址,第一次输出语句先输出字符'1',指针p再往后移一位,指向字符'5'的地址,第二个输出语句,同样先输出字符'5',指针p再往后移一位,指向字符'9'的地址。
49.B解析:本题考查文件使用方式标识符。方式“wb”为输出打开一个二进制文件;方式“wb+”为读写建立一个新的二进制文件;方式“rb+”为读写打开一个二进制文件:方式“rb”为输入打开一个二进制文件。
50.B解析:do…while循环的执行过程如下:①执行do后面的循环体中的语句。②计算while后一对圆括号中表达式的值。当值为非0时,转去执行步骤①;当值为0时,执行步骤③。③退出do…while循环。对于本题变量i的初始值等于“0”,接着执行do后面的循环体中的语句,输出变量i的值0。再判断while后面括号中表达式i++的值,其值为0,所以循环结束。此时变量i的值经过自加已经变为1,所以再次输出i的值“1”。
51.D
52.A解析:作为一个算法,一般应该具有下列4个特征:(1)可行性,即考虑到实际的条件能够达到一个满意的结果;(2)确定性,算法中的每一个步骤都必须是有明确定义的,(3)有穷性,一个算法必须在有限的时间内做完;(4)拥有足够的情报。
53.C
54.C
55.A解析:在计算机技术及其应用发展过程中,存在着错误的概念和方法,使得在软件产品开发过程中没有制定相应的质量标准,导致开发出来的软件的可用性和可维护性差,这种情况称为软件危机。因此软件危机是指在软件开发和维护中出现的一系列问题。
56.A解析:在位与运算符&中参加运算的两位都为1时,其结果为1,否则结果为0。所以本题中的4|3:01002|00112=01112=7。位与运算符|中参加运算的两位只要有一个为1,则结果为1,只有当相应的两位都为0结果才为0。所以本题中的4&3=01002&00112=00002=0。最后输出a和b的值为7和0。故4个选项中选项A符合题意。
57.B解析:子函数fun(intx,inty),将变量m和i声明为局部静态变量,因此第1次调用主函数后,局部静态变量m和i的值为5和3,第1次函数调用结束时,它们的值不释放保持不变,所以第2次调用时,局部静态变量m和i的初始值分别为5和3,即在执行“i+=m+1”时,i的值为9,因此,最终m的值为11。
58.C
\n在C语言中各种数据类型在内存中所占的字节数与机器的位数有关,16位机中(也就是在标准c中),若int类型数据占2个字节,则float类型数据占4个字节,double类型数据占8个字节。
\n
59.B解析:本题中的a是结构体名,s是结构体a的变量,t是结构体a的指针。通过变量直接访问结构体成员应该使用“.”运算符,而通过指针间接访问结构体成员应该使用“->”运算符。故本题的正确答案为B。
60.C解析:循环辅助控制语句有continue;和break;,前者跳过本次循环,进行下一次循环,后者跳出整个循环语句。
61.B
\n本题是对基本知识点的理解,预处理命令行的位置没有规定,只是习惯写在起始位置而已,当需要时才用#include<stdio.h>头文件,预处理的作用就是实现宏定义和条件编译。
\n
62.D自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,因此B错误。笛卡儿积是用R集合中的元素为第一元素,s集合中的元素为第二元素构成的有序对,因此C错误。根据关系T可以很明显地看出是从关系R与是系s中取得相同的关系组,所以使用的是交运算,选择D。
63.D选项A中“\\\”为转义字符,故选项A错误,选项B和C显然不是字符串常量。选项D是一个字符串常量,称为空串。
64.A
65.C\n通常将软件产品从提出、实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论