版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年宁夏回族自治区固原市全国计算机等级考试C语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.给定数列(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)
2.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,下列选项中错误的程序是()。
A.main(){…x=fun(2,10);…}floatfun(inta,intB){…}
B.floatfun(inta,intB){…}main(){…x=fun(i,j);…}
C.floatfun(int,int);main(){…x=fun(2,10);…}floatfun(inta,intB){…}
D.main()…{floatfun(inti,intj);…x=fun(i,j);…}floatfun(inta,intB){…}
3.若k是int类型变量,且有以下for语句:for(k=-1;k<O;k++)printf("****\n");下面关于语句执行情况的叙述中正确的是()。、A.循环体执行一次B.循环体执行两次C.循环体一次也不执行D.构成无限循环
4.有以下程序main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%4c",");for(j=______;j<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式输出数组右上半三角1234678111216则在程序下划线处应填入的是______。
A.i-1B.iC.i+1D.4-i
5.C语言中不合法的字符串常量是
A.\121B.'Y'C.\n\nD.ABCD\x6d
6.与单链表相比,双链表的优点之一是()。
A.插入、删除操作更简单B.可以进行随机访问C.可以省略表头指针或表尾指针D.顺序访问相邻结点更灵活
7.算法应该是()
A.程序B.问题求解步骤的描述C.要满足五个基本特性D.B和C
8.计算机硬件组成中,CPU包含______。
A.控制器和存储器B.控制器和运算器C.控制器、运算器和存储器D.内存储器和外存储器
9.下面的排序算法中初始数据集的排列顺序对算法的性能无影响的是()A.插入排序B.堆排序C.冒泡排序D.快速排序
10.下列正确的实型常量是()。
A.E3.4B.-12345C.2.2eO.8D.4
11.以下说法错误的是()。
A.C语言标识符中可以有多个字母、数字和下划线字符
B.C语言标识符中下划线字符可以出现在任意位置
C.C语言标识符不能全部由数字组成
D.C语言标识符必须以字母开头
12.可用作C语言用户标识符的一组标识符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof
13.执行完下列语句段后,i值为()。A.A.2B.4C.8D.无限递归
14.下列关于信息系统的叙述中,错误的是()。
A.广播电视是一种双向的、点到多点的信息交互系自
B.网络聊天是一种双向的,以信息交互为主要目的系统
C.电话是一种双向的、点对点的、以信息交互为主要的的系统
D.雷达是一种以感测和识别为主要目的的系统
15.栈和队列的共同点是()。
A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点
16.
下列程序的输出结果是()。
#include<stdio.h>
main
{inta=0,i;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:a+=1;
case1;
case2:a+=2;
default:a+=3;
}
}
printf("%d",a);
}
A.19B.1C.6D.8
17.
18.有以下程序:#include<stdio.h>#defineS(x)x*x/xmain(){intk=6,j=3;printf(“%d,%d\n”,S(k+j+2),S(j+k+2);}程序运行后的输出结果是()。
A.11,11B.29,29C.26,29D.121,121
19.c源程序中不能表示的数制是()。
A.二进制B.八进制C.十进制D.十六进制
20.以下语句中,正确制作电子邮件链接的是()。
二、2.填空题(20题)21.顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存储单元中。
22.以下程序运行时,若从键盘输入:102030<回车>,输出的结果是【】。
#include<stdio.h>
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
prinff("%d%d%d\n",i,j,k);
}
23.函数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]=【】;
}
}
24.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。
25.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。
26.栈的基本运算有三种:入栈、退栈和【】。
27.算法的复杂度主要包括空间复杂度和______复杂度。
28.若有以下程序:
main()
{inta=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a<c)t=a;a=c;c=t;
printf("%d%d%d\n",a,b,c);
}
执行后的输出结果是【】。
29.设有下列宏定义:#defineA2
#defineBA+3
则执行赋值语句:t=b*2;t为血型变量后的值是______。
30.将以下程序段写成三目运算表达式:【】。
if(a>b)max=a;
elsemax=b;
31.按"先进后出"原则组织数据的数据结构是【】。
32.以下程序段的输出结果是【】。
inta=1234;
printf("%2d\n",a);
33.函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s>t时返回正值,s<t时返回负值。请填空。
My_cmp(char*s,char*t)
{while(*s==*t)
{if(*s==′\0)return0;
++s;++t;
}return【】;
}
34.下列程序的运行结果是______。
#include<stdio.h>
func(a,b)
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
main()
{intk=5,m=3,p;
p=func(k,m);
printf("%d",p);
p=func(k,m);
printf("%d、n",p);
}
35.函数sstrcmp的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp)。请填空。
#include<stdio.h>
intsstrcmp(char*s,char*t)
{while(*s&&*t&&*s==【】)
{s++;t++;}
return【】;
}
36.以下程序的输出结果是【】。
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf("%d",--y);continue;}}
37.语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)【】。
38.下列程序的输出结果是16.00,请填空:
main()
{
inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
39.软件工程研究的内容主要包括:【】技术和软件工程管理。
40.以下程序中给指针p分配三个double型动态内存单元,请填空。
#include<stdio.h>
main()
{dOuble*p;
p=(double*)malloc();
p[0]=1.5;p[1]=2.5;p[2]=3.5
printf("%f%f%f\n",p[0],p[1],p[2]);
}
三、1.选择题(20题)41.若有定义:intaa[8]则以下表达式中不能代表数组元aa[1]的地址的是
A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1
42.现代计算机之所以能自动地连续进行数据处理,主要是因为()
A.采用了开关电路B.采用了半导体器件C.具有存储程序的功能D.采用了二进制
43.SQL语言又称为______。
A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言
44.请读程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的输出结果是______。
A.正数B.负数C.零D.不确定的值
45.若变量a是int类型,并执行了语句:a='A'+1.6;则正确的叙述是()。
A.a的值是字符'C'B.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符'A'的ASCII码值加上1
46.请读程序:#include<stdio.h>inta[]={2,4,6,8,};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p++;priatf("%d\n",a[2]);}上面程序的输出结果是()。
A.6B.8C.4D.2
47.数据库系统可分为三级模式,下列选项中不属于数据库三级模式的是
A.抽象模式B.外模式C.概念模式D.内模式
48.检查软件产品是否符合需求定义的过程称为()。
A.确认测试B.集成测试C.验证测试D.验收测试
49.假定所有变量均已正确说明,下列程序段运行后x的值是()a=b=c=0;x=35;if(!a)x--;elesif(b);if(c)x=3;elsex=4;
A.34B.4C.35D.3
50.可以在C语言程序中用做用户标识符的一组标识符是()。
A.void123BBNB.aaabccasC.as+b3-123IfD.6fDoSIG
51.有以下程序main(){intm=0256,n=256;printf("%o%o\n",m,n);}程序运行后的输出结果是
A.02560400B.0256256C.256400D.400400
52.下面叙述正确的是()
A.define和auto都不能定义为用户标识符
B.可以把define和auto定义为用户标识符
C.可以把define定义为用户标识符,但auto是C语言的关键字
D.可以把auto定义为用户标识符,但define是C语言的关键字
53.已知字母A的ASCII码为十进制的65,下面程序的输出结果是()。main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,"c/n",ch1,Ch2);}
A.67,DB.B,CC.C,DD.不确定的值
54.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间
55.下列函数定义中,会出现编译错误的是______。
A.max(intx,inty,int*z){*z=x>y?x:y;}z=x>y?x:y;
B.intmax(intx,y){intz;returnz;}
C.max(intx,inty){intz;z=x>y?x:y;return(z);}
D.intmax(intx,inty){returnx>y?x:y;}
56.以下叙述中正确的是()。
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.main函数必须放在其他函数之前
D.C函数定义的格式是K&R格式
57.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。下列不能将变量c中的大写字母转换为对应小写字母的语句是()。
A.c=(c-'A')%26+'a'
B.c=c+32
C.c=C-'A'+'a'
D.c=('A'+C)%26-'a'
58.以下4个选项中,不能看作一条语句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
59.下列特征中不是面向对象方法的主要特征的是()。
A.多态性B.继承C.封装性D.模块化
60.下列程序的输出结果是()。#include<stdio.h>voidmain(){inta=0,b=1,c=2;if(++a>0‖++b>0)++c;printf("%d,%d,%d",a,b,c);}
A.0,1,2B.1,2,3C.1,1,3D.1,2,2
四、选择题(20题)61.
下列程序的输出结果是()。
intfl(intx,inty){returnx>y?x:y;)
intf2(intx,inty){returnx>y?y:x;}
main
{inta=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(c,d));
f=f1(f2(a,b),f2(c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);}
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
62.有两个关系R和T如下:
则由关系R得到关系T的操作是()。A.选择B.投影C.交D.并
63.设有定义
64.
65.有以下程序
main()
{
intx=3,y=2,z=1;
printf("%d\n",x/y&~z);
}
程序运行后的输出结果是
A.3B.2
C.1D.0
66.以下只有在使用时才为该类型变量分配内存的存储类型说明是()。
A.auto和static
B.auto和register
C.register和static
D.extern和register
67.有以下程序
#include"stdio.h"
main()
{structdate
{intnumber;
floatfenzhi;
charname;
}stu;
printf("%d\n",sizeof(stu));
}程序的运行结果是
A.3B.5
C.7D.8
68.
程序运行后的输出结果是()。
A.ABCDE\0FG\OUKB.ABCDUKC.UKD.EFGUK
69.程序调试的目的是
A.发现程序中的错误B.改正程序中的错误C.验证程序的正确性D.改善软件的性能
70.
71.程序流程图中带有箭头的线段表示的是()。
A.图元关系B.数据流C.控制流D.调用关系
72.
73.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是()。A.学生管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统
74.
75.若有以下程序段:
程序运行后的输出结果是()。
A.16B.8C.4D.2
76.有以下函数intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函数的功能是()。A.查找X和y所指字符串中是否有\o
B.统计x和Y所指字符串中最前面连续相同的字符个数
C.将Y所指字符串赋给X所指定存储空间
D.统计X和Y所指字符串中相同的字符个数
77.有以下程序:
程序运行后的输出结果是()。
A.0B.一1C.1D.7
78.在一个C源程序文件中所定义的全局变量,其作用域为()。
A.由具体定义位置和extem说明来决定范围B.所在程序的全部范围C.所在函数的全部范围D.所在文件的全部范围
79.
80.
五、程序改错题(1题)81.下列给定的程序中,函数proc()的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。
请修改函数proc()中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。此程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数该函数的功能是使数组下三角元素中的值乘以n。注意:部分源程序给出如下。请勿改动函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineN5voidfun(inta[][N],intn){}main(){inta[N][N],n,i,j;printf(“*****Thearray*****\n”);for(i=0;i<n;i++)<p=""></n;i++)<>{for(j=0;j<=""p="">{a[i][j]=rand()%10;printf(“%4d”,a[i][j]);}printf(“\n”);}n=rand()%4;printf(“n=%4d\n”,n);fun(a,n);printf(“*****TheResult*****\n”);for(i=0;i<=""p="">{for(j=0;j<=""p="">printf(“%4d”,a[i][j]);printf(“\n”);}}
参考答案
1.A
2.A在调用函数时,应对其进行说明。A选项中,调用时没有对函数进行说明。B、C选项中,被调用函数在主调函数之前定义,不用说明。D选项中,在主函数中对被调用函数的返回值类型进行了说明。故本题答案为A选项。
3.A本题考查简单的for语句,程序中当k<0时循环才执行,所以答案选择A。
4.B
5.B解析:字符串常量是由双引号括起来的一串字符,其中的双引号不可缺少。由此可知,选项A)、C)、D)都是含法的字符串常量,而选B)是一个字符常量。
6.D
7.B
8.B
9.B
10.B解析:实型常量有两种书写形式:①小数形式,它由符号、整数部分、小数点及小数部分组成;②指数形式,由十进制小数形式加上指数部分组成,其形式为十进制小数e指数或十进制小数E指数。注:e或E后面的指数必须是整数,并且在e或E的前面必须有数字。本题中,选项A)中E的前面没有数字,因此错误。选项C)中0.8不是整数,因此错误。选项D)中4是整型常量而不是实型常量。
11.DC语言的合法的标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第1个字符必须是字母或下划线。选项D错误。本题答案为D选项。
12.B
13.B
14.A广播/电视是一种单向的、点对多点(面)的以信息传递为主要目的的系统。
15.C解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”(或“先进后出”)的线性表;而队列只允许在表的一端进行插入操作,在另一端:进行删除操作,是一种“先进先出”(或“后进后出”)的线性表。因此栈和队列的共同点是只允许在端点处插入和删除元素。
16.A
\n本题考查switch语句。当i一1时,执行case1,因为没有遇到break语句,所以依次往下运行,“a=a+2=2,a=a+3=5”;当i=2时,执行case2,因为没有遇到break语句,所以依次往下执行,“a=a+2=7,a=a+3=10”;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a—a+2—13,a—a+3一l6:当i=4时,执行default,a=a+3=19,结束循环。
17.D
18.B#define命令是C语言中的一个宏定义命令,为了区分其他标识符,标识符一般使用大写。将标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义不进行其他操作,仅仅只是替换标识符。题目中的S(k+j+2)=k+j+2*k+j+2/k+j+2”,经计算可得29。“S(j+k+2)=j+k+2*k+j+2/j+k+2”,经计算可得29。因此输出为29,29。故本题答案为B选项。
19.AA。【解析】C语言源程序不能表示八进制,在C语言中,所有的数值型常量都带有符号,所以整型数量只区别整型和长整型两种形式,整型常量和长整型常量均可用十进制、二进制、十六进制3种形式表示,故A不正确。
20.C
21.相邻相邻
22.1030010300解析:在scanf格式控制符中有一个“*”附加说明符,表示跳过它指定的列数。程序中'%d%*d%d'表示首先将10赋给i,然后遇%。d读入整数但不赋给任何变量,最后将读人的整数30赋给变量j,变量k并没有重新赋值,仍为初始值0。所以输出的结果为10300。
23.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]。
24.可重用性继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。
25.模块化模块化
26.读栈顶元素读栈顶元素解析:栈的基本运算有三种:入栈、退栈和读栈顶元素。
入栈运算是指在栈顶位置插入一个新元素。这个运算有两个基本操作:首先将栈顶指针进一(即top加1),然后将新元素插入到栈顶指针指向的位置。
退栈运算是指取出栈顶元素并赋给一个指定的变量。这个运算有两个基本操作:首先将栈顶元素(栈顶指针指向的元素)赋给一个指定的变量,然后将栈顶指针退一(即top减1)。
读栈顶元素是指将栈顶元素赋给一个指定的变量。这个运算不删除栈顶元素,只是将它的值赋给一个变量。
27.时间时间解析:算法的复杂度主要指时间复杂度和空间复杂度。
28.503503解析:本题考查的是C语言中if语句的语句体。第一个if语句的语句体为t=a,第二个if语句的语句体为t=a。执行第一个if语句时,条件a<b不成立,所以不执行t=a,直接执行语句a=b和b=t得a=3、b=0,然后判断第二个if语句的条件a<c是否成立,即判断3<5是否成立,显然条件成立,执行语句t=a得t=3,接着执行a=c;c=t得a=5、c=3,所以a=5、c=3、b=0。
29.88解析:本题考查带参数的宏定义及相关运算。运算过程为:t=-B*2=A+3*2=2+3*2=8。
30.max=(a>b)?a:bmax=(a>b)?a:b解析:本题考查三目运算符的用法,条件表达式的一般形式为:
表达式1?表达式2:表达式3
所以,本题可以写成(a>b)?a:b,它是一个条件表达式,执行顺序是:如果条件(a>b)为真,则条件表达式取值a,否则取值b。
31.栈栈解析:考查考生对栈和队列概念的掌握。按'先进后出'原则组织数据的数据结构是栈;按'先进先出'原则组织数据的数据结构是队列。
32.12341234解析:在%与格式符之间插入一个整型数来指定输出宽度,当指定宽度小于输出数的实际宽度时,则按实际宽度输出。
33.*s-*t*s-*t解析:两字符串大小比较必须从它们的首字符开始,在对应字符相等情况下循环,直至不相等结束。相等时,若字符串已到了字符串的结束标记符,则两字符串相同,函数返回0值;如还有后继字符,则准备比较下一对字符。对应字符不相同,循环结束。循环结束时,就以两个当前字符的差返回,所以在空框处应填入*s-*t,保证在s>t时,返回正值,当s<t时,返回负值。
34.11231123解析:在主函数中第一次调用func子函数时,m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因为在子函数中将m和i定义成了static类型,所以在子函数中对m和i进行的改变在下一次调用子函数时能进行保存,所以第二次调用子函数时,m=11,i=3,则i=i+m+1=15,m=i+a+b=15+5+3=23。
35.*t或t[0]*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]*t或t[0]\r\n*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]解析:函数sstrcmp()有两个字符型指针变量,用来指向两个字符串。比较两个字符串的大小方法是:从第一个字符开始依次向后比较,若对应的字符相等则接着比较下一个字符,一直到两个字符串中对应字符不等,或者有一个为\\0,此时字符的ASCII码大的字符串就大。故循环条件是*s和*t不为\\0,且*s和*t相同,第一处应填“*t”或其他等价形式。根据题意可知第二处应填*s-*t或其等价形式。
36.852852解析:循环前,变量y的值为9,其中,循环语句在y大于0情况下循环,每次循环后y的值都减1。循环体是当y能被3整除时输出表达式--y,输出的是减1后的y值。这样,第一次循环因y为9,能被3整除,输出8,y也变成8。又经两次循环,y的值变为6,又让y减1变成5,并输出5;又经两次循环,y的值变成3,让y减1变成2,输出2;再经两次循环后,y的值变成0,结束循环,所以程序输出852。
37.x+=1;
解析:本题,已知结果z=16.00,即16.0=a/2+b*x/y+1/2,分别把a、b,代入,得到16.0=9/2+2*x/1.1+1/2。因为a=9,a是整型,所以9/2的值在没有进行类型转换时,等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。
39.软件开发
40.3*sizeof(double)或size(double)*3或24或3*8或8*33*sizeof(double)或size(double)*3或24或3*8或8*3解析:本题考核的知识点是malloc()函数.该函数的调用格式是“malloc(n)”,作用是申请n个字符的存储单元,并返回该存储区的首地址,实际调用的时候可在前面加上“(类型说明符*)”,以转换成需要的类型的地址.所以在此空格处应该填写3*sizeof(double)或size(double)*3或其他等价的表达式。
41.C解析:本题考核的知识点是数组中元素地址的表示方法。在C语言中:数组的地址和数组中的第一个元素的地址相同。数组中第一个元素地址的表示方法为&aa[0],与其等价的有&aa[0]++,所以选项C不正确的;选项A为数组的第1个元素的地址下移一位即是第二个元素aa[1]的地址;B也为数组的第二个元素的地址,选项D中aa表示数组的地址,加1表示数组首地址后移一位,即代表数组元素中的第二个元素aa[1]的地址。所以,4个选项中C为所选。
42.C
43.CC。【解析】SQL语言的全称为StructuredQueryLanguage,它是一种介于关系代数与关系演算之间的结构化查询语言,是一种面向数据库的通用数据处理语言规范。它包含数据查询语言、数据操纵语言、数据定义语言和数据控制语言4个部分。
44.A解析:本题考查字符串比较函数strcmp()的应用。strcmp(s1,s2)是中比较函数,当s1>s2时返回值为正数,当s1<s2时返回值为负数,当s1=s2时返回值为零。本题中s1,s2分别表示两个串中第一个字符的地址,s1++和s2++是将指针指向串的第二个字符,指针变量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指针变量s2指向的是字符'B'的地址。而在字符串比较中,宁符串大小的确定是各个字符串相应位置字符的ASCII码值的大小决定的,字符'B'的ASCII码值为66,字符“b”的ASCII码值为98,所以s1>s2,返回值为正数。
45.D解析:字符“A”要转换成相应的ASCII码值,由于运算结果要赋值给int型变量,所以对1.6进行取整运算,最后a的值应是66。
46.A解析:本题考查通过指针引用数组元素。程序通过a[i]=*p++;语句,循环地将2赋给a[0],4赋给a[1],6赋给a[2],8赋给a[3],所以输出结果为6。
47.A解析:数据库的三级模式是指概念模式、内模式和外模式,其中外模式又叫子模式,内模式又叫物理模式.所以本题答案为A。
48.A本题主要考查软件测试的基本知识。软件测试的步骤可分为单元测试(模块测试)、集成测试、确认测试和系统测试。
(1)单元测试是针对每个模块进行的测试,它可从程序的内部结构出发设计测试用例,多个模块可以平行、对立地测试。单元测试主要用于发现详细设计和编程时犯下的错误。单元测试多采用白盒测试,辅之以黑盒测试。
(2)集成测试是在单元测试的基础上,根据模块结构图将各个模块连接起来,必须精心计划,应提交集成测试计划、集成测试规格说明和集成测试分析报告。主要目标是发现与接口有关的问题。集成测试可以发现概要设计时犯的错误。
(3)确认测试用于验证软件的功能和性能及其他特性是否与用户的要求一致。确认测试主要用于发现需求分析时犯下的错误,一般使用黑盒法测试,以表明软件符合需求说明书的要求,应该仔细设计测试用例和测试过程。确认测试必须有用户参加,或以用户为主,用户应参与设计测试用例,通常情况下,主要使用生产中的实际数据进行测试,测试数据通过用户接口输入。
(4)系统测试是将已经通过确认测试的软件,作为整个计算机系统的元素与计算机硬件、外设和网络等其他因素结合在一起,进行一系列的组装测试和确认测试。系统测试的目的是通过与系统的需求定义做比较,发现软件与系统的定义不符合的地方。系统测试可以发现问题定义时犯下的错误。
49.B
50.B解析:C语言规定,标识符是由字母、数字或下画线组成,并且它的第一个字符必须是字母或者下画线。
51.C解析:程序中定义了两个整型变量,一个用八进制表示,一个用十进制表示,输出语向中要求m,n都为八进制输出,显然m原样输出为256,n的值转换为八进制输出(256的八进制为400),故输出400.所以,4个选项中选项C符合题意。
52.C
53.A解析:输出函数中的格式控制符要求ch1按带符号的十进制形式输出,'A'+'5'-'3';=65+5—3=67,所以输出变量ch值的ASCII码的十进制表示。格式控制符要求变量ch2按字符形式输出,'A'+'6'-'3'=65+6-3=68,字母D的ASCII码的十进制表示为68,所以输出D。
54.D【解析】算法的空间复杂度是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
55.B解析:在C语言中,不可以在函数的参数声明列表中用一个类型名指定多个参数。故选项B是错误的。其正确的表示方式应为:
intmax(intx,inty){…}
或
intmax(:1
intx,y;
{…)
56.A解析:本题考查C语言的综合基础知识。构成C程序的基本单位是函数,一个C程序总是从main函数开始执行,而不论main函数在整个程序中的位置如何。C语言的函数定义都是互相平行、独立的,在定义函数时,一个函数内不能定义另一个函数。C函数定义的一般格式有两种:传统格式和现代格式。传统格式也称K&R格式,是早期编译系统使用的格式;现代格式又称ANSI格式,是现代编译系统使用的格式。
57.D解析:由题意可知,小写字符a和大写字符A的ASCII代码相差为32,所以选项C)能将大写字符c的ASCII代码转换为小写字符c的ASCⅡ代码;选项A)和C)左侧的表达式都是大写字符c与大写字符A的差与'a'的ASCII代码的和就是小写字符c的ASCII代码。而选项D)中应该是加上'a',而不是减去'a'。
58.D解析:选项D)为两条语句。
59.DD。【解析】面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。
60.C解析:本题考查if语句。先判断if语句的条件是否成立,++a=1>0,此条件成立,又因为是进行逻辑或运算,在已知其中一个运算对象为真的情况下,不必判断另外一个运算符的真假,即不进行++b操作,就可以直接得出整个表达式的值为逻辑1,执行下列的++c。
61.A
\n根据函数的定义可知,如果x>Y成立,则函数f1返回x的值,函数f2返回y的值。所以fl(a,b)=4,n(c,d)=5,f2(a,b)=3;,f2(c,d)=2,故e=f2(4,5)=4,f=f1(3,2)=3,g=4+3斗5+2-4-3=7。
\n
62.A
63.A选项A)定义字符数组str,然后将str赋值给C,c便指向字符串str,符合题意。所以选择A)。
64.A
65.D&是“按位与”运算符,参加运算的两个运算量的相应位都为1,则该位的结果值为1,否则为0。~是“取反”运算符,用来对一个二进制数按位取反,即将0变1,1变0。本题x/y&~z,x/y的值为1,~z的值为0,所以进行&运算后,整个表达式的值为0。
66.B在用静态static与外部extern定义变量时,系统立刻给其分配内存,而定义自动类auto与强制放入寄存器register类型变量时,只有当使用时才分配内存。
67.C本题主要考查结构体所占存储单元的计算。在C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理智慧品质卓越
- 申明食品集团秋招面试题及答案
- 2026六年级道德与法治上册 法律建设我们美好家园
- 粒子聚集效应研究报告
- 金融思维陷阱研究报告
- 矿泉水项目研究报告
- 关于山歌的研究报告
- 2025年主管护师真题与答案解析
- 2025年物流管理专业知识考试试卷及答案
- 2025年湖南省怀化市检察院书记员考试题(附答案)
- 船厂检测计量管理制度
- T/CNFAGS 10-2024双加压稀硝酸工艺用硝酸四合一机组技术规范
- 2024-2025学年河南省郑州市七年级(下)期中数学试卷(含答案)
- 人教版2025-2026学年四年级道德与法治下册教学工作计划(及进度表)
- 2025年安徽工业职业技术学院单招职业适应性考试题库附答案
- 2025年人工智能(AI)训练师专业知识考试题库及答案
- (高清版)DB3715∕T 7-2022 黑水虻饲养技术规程
- JJF1033-2023计量标准考核规范
- 增材制造与3D打印技术及应用课件第2章-增材制造的前处理
- 《体育场馆经营管理》课件
- 井下防中毒窒息培训课件
评论
0/150
提交评论