




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年江苏省泰州市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.有以下程序:#include<stdio.h>main(){charch[]=“uvwxyz”,*pc;pc=ch;printf(“%c\n”,*(pc+5));}程序的运行结果是()
A.zB.0C.元素ch[5]的地址D.字符y的地址
2.设一棵满二叉树共有15个结点,则在该满二叉树中的叶子结点数为()
A.7B.8C.9D.10
3.
(2)
A.*sB.sC.*s++D.(*s)++
4.有以下程序:main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}执行后输出结果是()。
A.77B.88C.810D.1010
5.下列字符数组初始化语句中,不正确的是()。A.A.charc[]='goodmorning';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d');
D.charc[]={"ffgoodmorning"};
6.以下程序段运行后x的值为()。inti,j,x=0;for(i=3;i>=1;i--)for(j=1;j<=i;j++)x=x+2A.8B.14C.10D.12
7.设有定义:inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是()
A.scanf(“%d”,pa);
B.scanf(“%d”,a);
C.scanf(“%d”,&pa);
D.scanf(“%d”,*pa);
8.
9.下面关于B树和B+树的叙述中,不正确的结论是()。
A.B树和B+树都能有效的支持顺序查找
B.B树和B+树都能有效的支持随机查找
C.B树和B+树都是平衡的多叉树
D.B树和B+树都可用于文件索引结构
10.下列说法正确的是()。
A.在C语言中,可以使用动态内存分配技术定义元素个数可变的数组
B.在c语言中,数组元素的个数可以不确定,允许随机变动
C.在C语言中,数组元素的数据类型可以不一致
D.在C语言中,定义一个数组后.就确定了它所容纳的元素的个数
11.有以下程序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
12.将发送端数字脉冲信号转换成模拟信号的过程称为
A.链路传输B.调制C.解调D.数字信道传输
13.以下叙述中正确的是()。
A.在C语言中,预处理命令行都以“#”开头
B.预处理命令行必须位于c源程序的起始位置
C.#include<stdi0.h>必须放在C程序的开头
D.C语言的预处理不能实现宏定义和条件编译的功能
14.
15.算法分析的目的是()。
A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进
16.命令“DIRA:*.*/W”的功能是()
A.宽行显示A盘当前目录的所有文件
B.宽行显示A盘所有目录的所有文件
C.宽行显示A盘的所有目录
D.显示A盘中的文件名,每满一屏后停顿一下
17.栈和队列的共同特点是()。
A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点
18.有以下程序main(){intp[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k);}执行后输出结果是
A.58B.56C.45D.24
19.设变量已正确定义并赋值,下列表达式中正确的是()。
A.x=y+z+5,++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0
20.有以下程序: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
二、2.填空题(20题)21.设有定义:
struct{inta;floatb;charc;}abc;*p_abc=&abc;
则对结构体成员a的引用方法可以是abc.a和p_abc【】a。
22.已有定义:charc=′′;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。
23.若有语句:
inti=-19,j=i%4;
printf("%d\n",j);
则输出结果是【】。
24.下列程序的运行结果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
25.若有下列定义:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,则值为3的表达式为:______。
26.下列程序段的运行结果是______。
intx=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
27.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。
28.度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为______。
29.在循环中,continue语句与break语句的区别是:______语句只是结束本次循环,然后进行循环的条件判定。
30.若有以下定义和语句,则使指针p指向值为36的数组元素的表达式是【】。
inta[10]={19,23,44,17,37,28,49,36},*p;
p=a;
31.设有下列宏定义:
#defineA2
#defineB(A+3)
则执行赋值语句“k=B*20;”(k为int型变量)后,k的值是______。
32.以下程序运行后的输出结果是【】。
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");
}
}
33.设有下列宏定义:#defineA2
#defineBA+3
则执行赋值语句;t=B*2;t为int型变量后的值是______。
34.以下程序的运行结果是()。main(){inta=1,b=2,c;if(a>B)c=1;elseif(a==B)c=0;elsec=-1;printf("%d\n",C);}
35.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中______的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
36.软件开发过程中所使用的资源一般包括:【】、软件资源和硬件资源。
37.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。
______(double,double);
main()
{doublex,y;
scanf("%lf%lf",&x.&y);
printf("%lf\n…,max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a=B);}
38.若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是【】。
chara[10],b;scanf("a=%sb=%c",a,&b);
39.以下函数把b字符串连到a字符串的后面,并返回a中新字符串的长度,请填空。
strcen(chara[],charb[])
{
intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;}
returnnum;
}
40.在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有______个元素。
三、1.选择题(20题)41.设intx=7,则~x的值是()。
A.-8B.-7C.-1D.1
42.若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是
A.EOFB.-1C.1D.NULL
43.软件需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求分析说明书和
A.阶段性报告B.需求评审C.总结D.都不正确
44.下列数据结构中,能用二分法进行查找的是()。
A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表
45.下列选项中,合法的C语言关键字是______。
A.VARB.cherC.integerD.default
46.请读程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的输出结果是______。
A.正数B.负数C.零D.不确定的值
47.若有下面的程序段:chars[]="china";char*p;p=s;则下列叙述正确的是()。
A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相等
C.数组s的长度和p所指向的字符串长度相等
D.*p与s[0]相等
48.下列选项中,不是一个算法的基本特征的是()。
A.完整性B.可行性C.有穷性D.拥有足够的情报
49.下列叙述中,不属于测试的特征的是
A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性D.测试的经济性
50.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示______。A.A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向
51.设已定义i和k为int类型变量,则以下for循环语句______。for(i=0;k=-1,k=1;i++,k++)printf("****\n");
A.判断循环结束的条件不合法B.是无限循环C.循环一次也不执行D.循环只执行一次
52.以下不是网络操作系统的是()
A.Windows3.1B.WindowsNTC.NetWareD.UNIX
53.以下程序(程序左边的数字为附加的行号)______。1#include<str.h>2#include<stdio.h>3main()4{chars[]="string";5puts(s);6strcpy(s,"hello");7printf("%3s\n",s);}
A.没有错B.第1行有错C.第6行有错D.第7行有错
54.软件生命周期中花费费用最多的阶段是
A.详细设计B.软件编码C.软件测试D.软件维护
55.源程序的文档化不包括()。
A.符号名的命名要有实际意义B.正确的文档形式C.良好的视觉组织D.正确的程序注释
56.对关系S和只进行集合运算,结果中既包含S中的所有元组也包含只中的所有元组,这样的集合运算称为()。
A.并运算B.交运算C.差运算D.积运算
57.设有以下说明语句structex{intX;floaty;charz;}example;则下面的叙述中不正确的是
A.struct结构体类型的关键字
B.example是结构体类型名
C.x,y,z都是结构体成员名
D.structex是结构体类型名
58.以下叙述中错误的是()。
A.改变函数形参的值,不会改变对应实参的值
B.函数可以返回地址值
C.可以给指针变量赋一个整数作为地址值.
D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
59.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间
60.以下合法的十六进制数是()。
A.0xB.0x4deC.0x1hD.oX77
四、选择题(20题)61.
62.
下列程序的运行结果是()。
inty=5,x=14;
y=((x=3*Y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27
63.若有定义语句:“charsE10]="1234567\0\0";”,则strlen(s)的值是()。
A.7B.8C.9D.10
64.
65.冒泡排序的时间复杂度为
A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)
66.有下列程序:
main()
{char*P[]={"3697","2584");
inti,j;longnum=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=\0)
{if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;
j+=2;
}
}
printf("%d\n",num);
}
程序执行后的输出结果是()。
A.35B.37C.39D.3975
67.下列叙述中正确的是()。A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定
68.
69.
70.
71.有以下程序程序的运行结果是()。
A.1B.41C.2D.331
72.下列叙述正确的是()。
A.C语言中的文件是流式文件,因此只能顺序存取数据
B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
73.
74.结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法
A.对象B.数据结构C.数据流D.目标
75.执行下面的程序后,a的值为()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
76.
77.关系数据库管理系统能实现的专门关系运算包括()。
A.选择、投影、连接B.排序、查找、统计C.关联、更新、排序D.显示、打印、制表
78.有以下程序:
程序的运行结果是()。
A.y=0B.y=1C.y=2D.y=3
79.对于循环队列,下列叙述中正确的是()。
A.循环队列中元素的个数是由队头指针和队尾指针共同决定的
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,队头指针一定大于队尾指针
D.在循环队列中,队头指针一定小于队尾指针
80.有以下程序
五、程序改错题(1题)81.下列给定程序中,函数fun的功能是:计算整数n的阶乘。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.请编写一个函数voidproc(intm,intk,intxxE3),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。例如,若输入206,则应输出232931374143。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.A语句“pc=ch;”使得指针变量pc指向字符数组ch的首地址,即指向字符‘u’。而“pc+5”指向的是指针向后移动5位所指的字符,即指向字符‘z’,所以输出的“*(pc+5)”的值为‘z’。故本题答案为A选项。
2.BB)【解析】在具有11个结点的满二叉树,其非叶子结点数为int(n/2),而叶子结点数等于总结点数减去叶子结点数。本题n=15,故非叶子结点数等于int(15/2)=7,叶子结点数等于15-7=8。
3.A
4.C解析:本题考核的知识点是字符数组的定义、赋初值以及函数sizeof()的应用。本题中定义两个字符型数组,其中a省略了长度,定义了b的长度为10,并赋初值分别为“abcdefg”和“abcdfg”。所以a的长度为赋值给它的字符串的字符个数7加上一个结束转义字符,即a的长度为7+1为8.定义时b的长度定义为10,故b的长度为10,因此最后通过函数sizeof()求得的数组a和数组b的长度分别为8和10,所以,4个选项中选项C符合题意。
5.A本题考查两个概念:①用单引号括起来的一个字符常量只能存放一个字符;②℃语言中没有字符串变量,只能用字符数组来存储字符串。
6.D
7.A
8.A
9.A
10.D在C语言中,数组元素的个数是确定的,不允许随机变动,数组定义好后,它所能容纳的元素的个数也就确定了,并且同一个数组中所有元素都是同一类型。
11.B
12.B
13.A预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,所以B、c错误。C语言的预处理能够实现宏定义和条件编译等功能,所以D错误。
14.A
15.D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度;提高算法的执行效。率。
16.A
17.C解析:考查栈和队列概念的掌握。栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种'后进先出'的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种'先进先出'的线性表。模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强,可以将其分成5级,分别是:数据耦合、同构耦合、控制耦合、公用耦合和内容耦合。选项C),没有这种耦合方式。
18.D解析:在主函数中首先定义了一个数组p并初始化,在while后面括号里的表达式中,i初值为0,当p[i]为偶数时,P[i]%2等于0,根据“&&”运算符的规则,其表达式为假退出循环,显然当i=2时,p[i]=14为偶数,此时while后面括号里的表达式的值为假,退出循环,此时k=p[0]+p[1],即k=11+13。所以最后输出k为24。
19.A运算符“%”的左右两个操作数均应为整数,所以B选项与D选项错误。C选项中不能将“x+z”的值赋给表达式“y*5”,所以C选项错误。故本题答案为A选项。
20.C只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择c选巩。
21.->->解析:结构变量abc有成员a,并有指针pabc指向结构变量abc,则引用变量abc成员a的形式有abc.a和p_abc->a。
22.11解析:字符空格的ASCII码不为0,所以本题中表达式\ue008!c\ue009的值为0,b=0&&1的结果显然为0。
23.-3-3解析:%运算符是求两个数相除的余数,其结果与被除数的符号一致,本题中“-19%4”的值为“-3”。
24.22132,2,1,3解析:本题考查++,--运算符和条件运算符的使用。
“表达式1?表达式2:表达式3”的功能是:表达式1的值若非0,则计算表达式2的值,且表达式2的值为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。
本题中,x=1,y=2时,x<y成立,输出y的值2;y=2,z=3时,z<y不成立,执行y++,输出2后y值增1,所以最后一个输出x的值不变为1,y的值为增加后的3。
25.p+=2*(p++)p+=2,*(p++)解析:由题可知a[2]=3,因此只要使指针p指向a[3],然后再引用指针的值就可以了。
26.8208,20解析:本题考查while循环和++运算符的运用。x=0符合条件x<15,则执行y++,x+=++y后,y=1,x=0+2=2后y=2,符合条件继续循环,y=3,x=x+4=6后y=4,再循环y=5,x=x+6=6+6=12后,y=6,继续循环y=7,x=x+8=12+8-20,此时y=8。
27.数据存储数据存储
28.4545解析:对于长度为N的线性表,在最坏情况下(即线性表中元素现在的顺序与目标顺序正好相反),冒泡排序需要经过N/2遍的从前往后的扫描和N/2遍的从后往前的扫描,需要的比较次数为N(N-1)/2。
29.continuecontinue解析:continue语句只是结束本次循环,然后进行循环的条件判定。break语句是终止整个循环的执行,不再进行条件判定。
30.p=p+7或p+=7p=p+7或p+=7解析:本题考查通过指针引用数组元素。值为36的数组元素在a数组中是第8个元素,即a[7]。在程序中,p=a;语句将数组a的首地址赋给了指针变量p,则可以用*(p+i)来表示数组元素,*(p+i)与a[i]等价,a[7]可表示为*(p+7)。要使指针p指向a[7],可以用p=p+7移动指针,故填写p=p+7或p+=7。
31.100100解析:本题考查带参数的宏定义及相关运算。运算过程为:k=B*20=(A+3)*20=(2+3)*20=100。
32.123056009123\r\n056\r\n009解析:本题中,定义了一个元素类型为整型的二维数组a[][3]={1,2,3,4,5,6,7,8,9},它是一个3*3的矩阵,“for(i=0;i<3;i++)for(j=i=1;j<3;j++)a[j][i]=0;”将列下标i小于行下标j的元素a[1][0]、a[2][0]、a[2][1]赋值为0,最后“for(j=0;j<3;j++)printf('%n',a[i][j]);printf('\\n');”进行换行输出,所以输出结果为:
123
056
009
33.88解析:本题考查带参数的宏定义及相关运算.运算过程为:t=B*2=A+3*2=2+3*2=8。
34.-1-1解析:if~else语句的形式:if(表达式)语句1elseif语句2else语句3它的功能是:若表达式的值为真,执行语句1,并跳过其他语句,执行ifelse语句的下一条语句,若表达式的值为假,跳过语句1,执行语句2,依次往下判断;a=1,b=2,条件a>b不成立,继续判断a==b,仍不成立,则执行c=-1,输出-1。
35.驱动模块驱动模块解析:由于模块通常不是独立的程序,自己不能运行,而需要其他模块调用或驱动,同时被测试模块还要去调用其他模块,前者称为驱动模块,后者称为承接模块。其中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果;承接模块的作用是代替被测模块,调用其他模块。
36.人员资源人员资源
37.doublemax或externdoublemaxdoublemax或externdoublemax解析:函数声明是对所用到的函数的特征进行必要的声明,编译系统以函数声明中给出的信息为依据,对调用表达式进行检测,以保证调用表达式与函数之间的参数正确传递.函数声明的一般格式为:类型标识符函数名(类型标识符形参,…);这些信息就是函数定义中的第一行的内容。本题中main()函数需要调用max()函数,在main()之前就需要声明函数max(),并且可以用extern说明符使变量的作用域扩充到需要用到它的函数,所以,填写doublemax(或externdoublemax)。
38.a=123b=5
39.\0'n++
40.3131解析:设队列容量为m,如果:rear>front,则队列中元素个数为rear-front;如果rear<front,则队列中元素个数为m+(rear-front)。本题rear<front,则m=32+(2-3)=31。
41.A解析:本题主要考查按位求反运算和C语言中正负数的表示,“0”代表正数,“1”代表负数;x=7的二进制为00111,第一个0代表正数,~x为11000,第一个1代表负数,值为8。
42.C解析:EOF是文本文件的文件结束标志,NULL是打开文件错误的时候返回值。foef(fp)用来判断文件位置指针是否在文件末尾,文本文件和二进制文件均可以使用此函数。如果遇到文件结束就返回1,否则返回0。
43.B解析:本题考查软件需求分析的四个阶段,分别为需求获取、需求分析、编写需求分析说明书和需求评审。
44.A\nA。【解析】二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查找。
\n
45.D解析:选项A中的VAR不是C语言中关键字,故选项A不正确:选项B中cher,应改char,char才是C语言中的关键字,故选项B不正确;选项C中integer在C语言中简化为int,这里应该将integer改为int,int才是C语言中的关键字,选项D中default为C语言中默认的关键字,故选项D正确。所以,4个选项中选项D符合题意。
46.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,返回值为正数。
47.D解析:字符型指针变量p中存放的是“china'的首地址,所以选项A)和B)错误;s数组长度为6,而p所指向的字符串长度为5,二者不相等,排除选项C)。
48.A解析:作为一个算法,一般应该具有下列4个特征:(1)可行性,即考虑到实际的条件能够达到一个满意的结果;(2)确定性,算法中的每一个步骤都必须是有明确定义的,(3)有穷性,一个算法必须在有限的时间内做完;(4)拥有足够的情报。
49.C解析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中没有测试的可靠性这一说法。注意:软件测试与软件调试的概念,以及相应的方法。
50.A解析:让考生对常用的软件结构设计工具要有较深入的了解。常用的软件结构设计工具是结构图(SC-structureChart),也称程序结构图。其中,矩形内用于注明模块的功能和名字;箭头表示模块间的调用关系,带实心圆的箭头表示传递的是控制信息,带空心圆的箭头表示传递的是数据。注意:根据结构图设计思想,了解结构图构成的基本形式。
51.B解析:本题定义了一个for循环,循环变量是i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。
52.A
53.B解析:字符串复制函数strcpy包含在头文件string.h中,因此,程序中的第1行文件包含命令是错误的。
54.D解析:软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。
55.B解析:源程序的文档化主要包括3点:(1)符号名应具有一定实际的含义,便于理解程序功能:(2)正确的程序注释;(3)良好的视觉组织。利用空格、空行、缩进等技巧使程序层次清晰。
56.A解析:关系的并运算是指,由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。
57.B解析:本题中,structex是结构体类型名,ex-ample是结构体变量名。
58.C解析:函数形参和实参分别占用不同的内存单元,改变形参的值不会影响对应实参的值,选项A)正确。指针类型的函数可以返回地址值,选项B)正确。在文件stdio.h中,NULL被定义为void型的指针,选项D)也正确。指针变量的值只能是存储单元地址,而不能是一个整数,选项C)错误。
59.D解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
60.B解析:考查十六进制数的表示方法。十六进制数以0x开头,后面跟着若干位1f的数,所以正确答案为B)。整形常量、实型常量和字符型常量的合法性判断。
61.D
62.C解析:逗号表达式的求解步骤是先求解表达式1,然后依次求解表达式2,直到表达式N的值。整个逗号表达式的值就是最后一个表达式N的值。
表达式(x=3*y,x+1)中,第一个表达式x=3*y=3*5=15;第二个表达式x+1=16,但没有给x或y赋值,所以x还是等于15;第3个表达式x-1=15-1=14,所以y的值为14。
63.A"\0"表示空字符,strlen函数求得的是不包括字符串结束符\0的长度。故选A。
64.A
65.B冒泡排序的基本概念是:以升序为例,依次比较相邻的两个数,将小数放在前面,大数放在后面。第一趟排序过程是这样的,首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。这样一次排序后,最后一个数为所有数中的最大数。第二趟排序重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。
冒泡排序的时间复杂度是指执行冒泡排序算法所需要的时间。冒泡排序算法最好的时间复杂度为所要排序的数列为正序,即在执行排列算法之前就已经达到目标的顺序。这样只需要执行一次排序算法,算法所需要进行数据比较的次数为n-1次。冒泡排序算法最差的时间复杂度为当前所要进行排列的数列顺序与目标数列的顺序相反。算法所需要进行数据比较的次数为n(n-1)/2=O(n2)。算法的平均时间复杂度为O(n2)。
66.D\n执行第一次for循环时,用表达式p[i][J]!=\o来判断字符串数组指针P是否到达字符串的结尾,如果没有到达,继续执行while中的语句。if语句表示(p[i][j]-\o)除2的余数不为0时,即字符串所有奇数,执行后面的语句。所以退出第1次for的循环体时,输出为397,执行第2次循环体。对字符串“2584”进行处理,输出结果为5,因而最后输出结果为3975。
\n
67.D\r\n所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针real指向的位置之间所有的元素均为队列中的元素。求解队列中元素个数的方法是:若front>rear,队列中有n-front+rear个元素(其中n为循环队列的容量);若front<rear,队列中有real-front个元素;若front=rear,队列中有n个或0个元素。循环队列是线性结构。因此本题的正确答案是D。
68.B\r\n
69.C
70.C
71.Ax>y不成立,之后的if
和lelse都不执行,输出x++表达式值为1。
72.D在C语言中,文件的存取方式有两种:顺序存取和直接存取。如果以“a”的方式对已打开的文件进行写操作后,则原文件中内容将保存,新的数据写在原有内容之后。如果以“a+”的方式勾读和写操作而打开文件,则可以对文件进行读写,而且在读和写操作之间不必关闭文件,可以从头开始读。当对文件的读(写)操作完成之后,必须将它关闭。
73.D
74.CC。【解析】结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
75.D本题考查continue的用法,continue语句的作用是结束本次循环,直接进行下次循环。所以在程序中,只有当a=10时,才退出循环,故选择D选项。
76.B
77.A\n关系数据库管理系统能实现的专门关系运算,包括选择运算、投影运算、连接运算。本题答案为A)。
\n
78.D在程序中指针变量P初始指向a[3],执行P减1后,P指向a[2],语句y=*P的作用是把a[2]的值赋给变量y,所以输出为y=3。
79.A\n循环队列是将顺序队列首尾相连形成的,随着插入元素或删除元素的进行,其队头指针及队尾指针是在不断变化的,有时可能会出现队头指针大于队尾指针的情况,也可能是队尾指针大于队头指针。
\n
80.Aa<<2的值为20,2011结果为21,所以答案选择A)。
81.
82.
【解析】要将大于整数m且紧靠m的k个素数存入所指的数组中,首先应该判断大于整数m且紧靠m的整数是否为素数。将紧靠m且为素数的k个整数放入数组xx中。
2022年江苏省泰州市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.有以下程序:#include<stdio.h>main(){charch[]=“uvwxyz”,*pc;pc=ch;printf(“%c\n”,*(pc+5));}程序的运行结果是()
A.zB.0C.元素ch[5]的地址D.字符y的地址
2.设一棵满二叉树共有15个结点,则在该满二叉树中的叶子结点数为()
A.7B.8C.9D.10
3.
(2)
A.*sB.sC.*s++D.(*s)++
4.有以下程序:main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}执行后输出结果是()。
A.77B.88C.810D.1010
5.下列字符数组初始化语句中,不正确的是()。A.A.charc[]='goodmorning';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d');
D.charc[]={"ffgoodmorning"};
6.以下程序段运行后x的值为()。inti,j,x=0;for(i=3;i>=1;i--)for(j=1;j<=i;j++)x=x+2A.8B.14C.10D.12
7.设有定义:inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是()
A.scanf(“%d”,pa);
B.scanf(“%d”,a);
C.scanf(“%d”,&pa);
D.scanf(“%d”,*pa);
8.
9.下面关于B树和B+树的叙述中,不正确的结论是()。
A.B树和B+树都能有效的支持顺序查找
B.B树和B+树都能有效的支持随机查找
C.B树和B+树都是平衡的多叉树
D.B树和B+树都可用于文件索引结构
10.下列说法正确的是()。
A.在C语言中,可以使用动态内存分配技术定义元素个数可变的数组
B.在c语言中,数组元素的个数可以不确定,允许随机变动
C.在C语言中,数组元素的数据类型可以不一致
D.在C语言中,定义一个数组后.就确定了它所容纳的元素的个数
11.有以下程序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
12.将发送端数字脉冲信号转换成模拟信号的过程称为
A.链路传输B.调制C.解调D.数字信道传输
13.以下叙述中正确的是()。
A.在C语言中,预处理命令行都以“#”开头
B.预处理命令行必须位于c源程序的起始位置
C.#include<stdi0.h>必须放在C程序的开头
D.C语言的预处理不能实现宏定义和条件编译的功能
14.
15.算法分析的目的是()。
A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进
16.命令“DIRA:*.*/W”的功能是()
A.宽行显示A盘当前目录的所有文件
B.宽行显示A盘所有目录的所有文件
C.宽行显示A盘的所有目录
D.显示A盘中的文件名,每满一屏后停顿一下
17.栈和队列的共同特点是()。
A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点
18.有以下程序main(){intp[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k);}执行后输出结果是
A.58B.56C.45D.24
19.设变量已正确定义并赋值,下列表达式中正确的是()。
A.x=y+z+5,++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0
20.有以下程序: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
二、2.填空题(20题)21.设有定义:
struct{inta;floatb;charc;}abc;*p_abc=&abc;
则对结构体成员a的引用方法可以是abc.a和p_abc【】a。
22.已有定义:charc=′′;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。
23.若有语句:
inti=-19,j=i%4;
printf("%d\n",j);
则输出结果是【】。
24.下列程序的运行结果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
25.若有下列定义:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,则值为3的表达式为:______。
26.下列程序段的运行结果是______。
intx=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
27.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。
28.度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为______。
29.在循环中,continue语句与break语句的区别是:______语句只是结束本次循环,然后进行循环的条件判定。
30.若有以下定义和语句,则使指针p指向值为36的数组元素的表达式是【】。
inta[10]={19,23,44,17,37,28,49,36},*p;
p=a;
31.设有下列宏定义:
#defineA2
#defineB(A+3)
则执行赋值语句“k=B*20;”(k为int型变量)后,k的值是______。
32.以下程序运行后的输出结果是【】。
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");
}
}
33.设有下列宏定义:#defineA2
#defineBA+3
则执行赋值语句;t=B*2;t为int型变量后的值是______。
34.以下程序的运行结果是()。main(){inta=1,b=2,c;if(a>B)c=1;elseif(a==B)c=0;elsec=-1;printf("%d\n",C);}
35.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中______的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
36.软件开发过程中所使用的资源一般包括:【】、软件资源和硬件资源。
37.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。
______(double,double);
main()
{doublex,y;
scanf("%lf%lf",&x.&y);
printf("%lf\n…,max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a=B);}
38.若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是【】。
chara[10],b;scanf("a=%sb=%c",a,&b);
39.以下函数把b字符串连到a字符串的后面,并返回a中新字符串的长度,请填空。
strcen(chara[],charb[])
{
intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;}
returnnum;
}
40.在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有______个元素。
三、1.选择题(20题)41.设intx=7,则~x的值是()。
A.-8B.-7C.-1D.1
42.若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是
A.EOFB.-1C.1D.NULL
43.软件需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求分析说明书和
A.阶段性报告B.需求评审C.总结D.都不正确
44.下列数据结构中,能用二分法进行查找的是()。
A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表
45.下列选项中,合法的C语言关键字是______。
A.VARB.cherC.integerD.default
46.请读程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的输出结果是______。
A.正数B.负数C.零D.不确定的值
47.若有下面的程序段:chars[]="china";char*p;p=s;则下列叙述正确的是()。
A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相等
C.数组s的长度和p所指向的字符串长度相等
D.*p与s[0]相等
48.下列选项中,不是一个算法的基本特征的是()。
A.完整性B.可行性C.有穷性D.拥有足够的情报
49.下列叙述中,不属于测试的特征的是
A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性D.测试的经济性
50.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示______。A.A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向
51.设已定义i和k为int类型变量,则以下for循环语句______。for(i=0;k=-1,k=1;i++,k++)printf("****\n");
A.判断循环结束的条件不合法B.是无限循环C.循环一次也不执行D.循环只执行一次
52.以下不是网络操作系统的是()
A.Windows3.1B.WindowsNTC.NetWareD.UNIX
53.以下程序(程序左边的数字为附加的行号)______。1#include<str.h>2#include<stdio.h>3main()4{chars[]="string";5puts(s);6strcpy(s,"hello");7printf("%3s\n",s);}
A.没有错B.第1行有错C.第6行有错D.第7行有错
54.软件生命周期中花费费用最多的阶段是
A.详细设计B.软件编码C.软件测试D.软件维护
55.源程序的文档化不包括()。
A.符号名的命名要有实际意义B.正确的文档形式C.良好的视觉组织D.正确的程序注释
56.对关系S和只进行集合运算,结果中既包含S中的所有元组也包含只中的所有元组,这样的集合运算称为()。
A.并运算B.交运算C.差运算D.积运算
57.设有以下说明语句structex{intX;floaty;charz;}example;则下面的叙述中不正确的是
A.struct结构体类型的关键字
B.example是结构体类型名
C.x,y,z都是结构体成员名
D.structex是结构体类型名
58.以下叙述中错误的是()。
A.改变函数形参的值,不会改变对应实参的值
B.函数可以返回地址值
C.可以给指针变量赋一个整数作为地址值.
D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
59.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间
60.以下合法的十六进制数是()。
A.0xB.0x4deC.0x1hD.oX77
四、选择题(20题)61.
62.
下列程序的运行结果是()。
inty=5,x=14;
y=((x=3*Y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27
63.若有定义语句:“charsE10]="1234567\0\0";”,则strlen(s)的值是()。
A.7B.8C.9D.10
64.
65.冒泡排序的时间复杂度为
A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)
66.有下列程序:
main()
{char*P[]={"3697","2584");
inti,j;longnum=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=\0)
{if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;
j+=2;
}
}
printf("%d\n",num);
}
程序执行后的输出结果是()。
A.35B.37C.39D.3975
67.下列叙述中正确的是()。A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定
68.
69.
70.
71.有以下程序程序的运行结果是()。
A.1B.41C.2D.331
72.下列叙述正确的是()。
A.C语言中的文件是流式文件,因此只能顺序存取数据
B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
73.
74.结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法
A.对象B.数据结构C.数据流D.目标
75.执行下面的程序后,a的值为()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
76.
77.关系数据库管理系统能实现的专门关系运算包括()。
A.选择、投影、连接B.排序、查找、统计C.关联、更新、排序D.显示、打印、制表
78.有以下程序:
程序的运行结果是()。
A.y=0B.y=1C.y=2D.y=3
79.对于循环队列,下列叙述中正确的是()。
A.循环队列中元素的个数是由队头指针和队尾指针共同决定的
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,队头指针一定大于队尾指针
D.在循环队列中,队头指针一定小于队尾指针
80.有以下程序
五、程序改错题(1题)81.下列给定程序中,函数fun的功能是:计算整数n的阶乘。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.请编写一个函数voidproc(intm,intk,intxxE3),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。例如,若输入206,则应输出232931374143。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.A语句“pc=ch;”使得指针变量pc指向字符数组ch的首地址,即指向字符‘u’。而“pc+5”指向的是指针向后移动5位所指的字符,即指向字符‘z’,所以输出的“*(pc+5)”的值为‘z’。故本题答案为A选项。
2.BB)【解析】在具有11个结点的满二叉树,其非叶子结点数为int(n/2),而叶子结点数等于总结点数减去叶子结点数。本题n=15,故非叶子结点数等于int(15/2)=7,叶子结点数等于15-7=8。
3.A
4.C解析:本题考核的知识点是字符数组的定义、赋初值以及函数sizeof()的应用。本题中定义两个字符型数组,其中a省略了长度,定义了b的长度为10,并赋初值分别为“abcdefg”和“abcdfg”。所以a的长度为赋值给它的字符串的字符个数7加上一个结束转义字符,即a的长度为7+1为8.定义时b的长度定义为10,故b的长度为10,因此最后通过函数sizeof()求得的数组a和数组b的长度分别为8和10,所以,4个选项中选项C符合题意。
5.A本题考查两个概念:①用单引号括起来的一个字符常量只能存放一个字符;②℃语言中没有字符串变量,只能用字符数组来存储字符串。
6.D
7.A
8.A
9.A
10.D在C语言中,数组元素的个数是确定的,不允许随机变动,数组定义好后,它所能容纳的元素的个数也就确定了,并且同一个数组中所有元素都是同一类型。
11.B
12.B
13.A预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,所以B、c错误。C语言的预处理能够实现宏定义和条件编译等功能,所以D错误。
14.A
15.D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度;提高算法的执行效。率。
16.A
17.C解析:考查栈和队列概念的掌握。栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种'后进先出'的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种'先进先出'的线性表。模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强,可以将其分成5级,分别是:数据耦合、同构耦合、控制耦合、公用耦合和内容耦合。选项C),没有这种耦合方式。
18.D解析:在主函数中首先定义了一个数组p并初始化,在while后面括号里的表达式中,i初值为0,当p[i]为偶数时,P[i]%2等于0,根据“&&”运算符的规则,其表达式为假退出循环,显然当i=2时,p[i]=14为偶数,此时while后面括号里的表达式的值为假,退出循环,此时k=p[0]+p[1],即k=11+13。所以最后输出k为24。
19.A运算符“%”的左右两个操作数均应为整数,所以B选项与D选项错误。C选项中不能将“x+z”的值赋给表达式“y*5”,所以C选项错误。故本题答案为A选项。
20.C只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择c选巩。
21.->->解析:结构变量abc有成员a,并有指针pabc指向结构变量abc,则引用变量abc成员a的形式有abc.a和p_abc->a。
22.11解析:字符空格的ASCII码不为0,所以本题中表达式\ue008!c\ue009的值为0,b=0&&1的结果显然为0。
23.-3-3解析:%运算符是求两个数相除的余数,其结果与被除数的符号一致,本题中“-19%4”的值为“-3”。
24.22132,2,1,3解析:本题考查++,--运算符和条件运算符的使用。
“表达式1?表达式2:表达式3”的功能是:表达式1的值若非0,则计算表达式2的值,且表达式2的值为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。
本题中,x=1,y=2时,x<y成立,输出y的值2;y=2,z=3时,z<y不成立,执行y++,输出2后y值增1,所以最后一个输出x的值不变为1,y的值为增加后的3。
25.p+=2*(p++)p+=2,*(p++)解析:由题可知a[2]=3,因此只要使指针p指向a[3],然后再引用指针的值就可以了。
26.8208,20解析:本题考查while循环和++运算符的运用。x=0符合条件x<15,则执行y++,x+=++y后,y=1,x=0+2=2后y=2,符合条件继续循环,y=3,x=x+4=6后y=4,再循环y=5,x=x+6=6+6=12后,y=6,继续循环y=7,x=x+8=12+8-20,此时y=8。
27.数据存储数据存储
28.4545解析:对于长度为N的线性表,在最坏情况下(即线性表中元素现在的顺序与目标顺序正好相反),冒泡排序需要经过N/2遍的从前往后的扫描和N/2遍的从后往前的扫描,需要的比较次数为N(N-1)/2。
29.continuecontinue解析:continue语句只是结束本次循环,然后进行循环的条件判定。break语句是终止整个循环的执行,不再进行条件判定。
30.p=p+7或p+=7p=p+7或p+=7解析:本题考查通过指针引用数组元素。值为36的数组元素在a数组中是第8个元素,即a[7]。在程序中,p=a;语句将数组a的首地址赋给了指针变量p,则可以用*(p+i)来表示数组元素,*(p+i)与a[i]等价,a[7]可表示为*(p+7)。要使指针p指向a[7],可以用p=p+7移动指针,故填写p=p+7或p+=7。
31.100100解析:本题考查带参数的宏定义及相关运算。运算过程为:k=B*20=(A+3)*20=(2+3)*20=100。
32.123056009123\r\n056\r\n009解析:本题中,定义了一个元素类型为整型的二维数组a[][3]={1,2,3,4,5,6,7,8,9},它是一个3*3的矩阵,“for(i=0;i<3;i++)for(j=i=1;j<3;j++)a[j][i]=0;”将列下标i小于行下标j的元素a[1][0]、a[2][0]、a[2][1]赋值为0,最后“for(j=0;j<3;j++)printf('%n',a[i][j]);printf('\\n');”进行换行输出,所以输出结果为:
123
056
009
33.88解析:本题考查带参数的宏定义及相关运算.运算过程为:t=B*2=A+3*2=2+3*2=8。
34.-1-1解析:if~else语句的形式:if(表达式)语句1elseif语句2else语句3它的功能是:若表达式的值为真,执行语句1,并跳过其他语句,执行ifelse语句的下一条语句,若表达式的值为假,跳过语句1,执行语句2,依次往下判断;a=1,b=2,条件a>b不成立,继续判断a==b,仍不成立,则执行c=-1,输出-1。
35.驱动模块驱动模块解析:由于模块通常不是独立的程序,自己不能运行,而需要其他模块调用或驱动,同时被测试模块还要去调用其他模块,前者称为驱动模块,后者称为承接模块。其中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果;承接模块的作用是代替被测模块,调用其他模块。
36.人员资源人员资源
37.doublemax或externdoublemaxdoublemax或externdoublemax解析:函数声明是对所用到的函数的特征进行必要的声明,编译系统以函数声明中给出的信息为依据,对调用表达式进行检测,以保证调用表达式与函数之间的参数正确传递.函数声明的一般格式为:类型标识符函数名(类型标识符形参,…);这些信息就是函数定义中的第一行的内容。本题中main()函数需要调用max()函数,在main()之前就需要声明函数max(),并且可以用extern说明符使变量的作用域扩充到需要用到它的函数,所以,填写doublemax(或externdoublemax)。
38.a=123b=5
39.\0'n++
40.3131解析:设队列容量为m,如果:rear>front,则队列中元素个数为rear-front;如果rear<front,则队列中元素个数为m+(rear-front)。本题rear<front,则m=32+(2-3)=31。
41.A解析:本题主要考查按位求反运算和C语言中正负数的表示,“0”代表正数,“1”代表负数;x=7的二进制为00111,第一个0代表正数,~x为11000,第一个1代表负数,值为8。
42.C解析:EOF是文本文件的文件结束标志,NULL是打开文件错误的时候返回值。foef(fp)用来判断文件位置指针是否在文件末尾,文本文件和二进制文件均可以使用此函数。如果遇到文件结束就返回1,否则返回0。
43.B解析:本题考查软件需求分析的四个阶段,分别为需求获取、需求分析、编写需求分析说明书和需求评审。
44.A\nA。【解析】二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查找。
\n
45.D解析:选项A中的VAR不是C语言中关键字,故选项A不正确:选项B中cher,应改char,char才是C语言中的关键字,故选项B不正确;选项C中integer在C语言中简化为int,这里应该将integer改为int,int才是C语言中的关键字,选项D中default为C语言中默认的关键字,故选项D正确。所以,4个选项中选项D符合题意。
46.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,返回值为正数。
47.D解析:字符型指针变量p中存放的是“china'的首地址,所以选项A)和B)错误;s数组长度为6,而p所指向的字符串长度为5,二者不相等,排除选项C)。
48.A解析:作为一个算法,一般应该具有下列4个特征:(1)可行性,即考虑到实际的条件能够达到一个满意的结果;(2)确定性,算法中的每
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康餐饮管理培训课件
- 变电安全培训课件
- 2025至2030年中国管衬套数据监测研究报告
- 2025年食品行业技能鉴定考试-酿酒师历年参考题库含答案解析(5卷套题【单项选择题100题】)
- 2025年道路运输企业主要负责人-多选题历年参考试题库答案解析(5卷套题【单项选择题100题】)
- 2025年财会类考试-初级审计师-审计专业相关知识历年参考题库含答案解析(5卷套题【单项选择题100题】)
- 2025年航空职业技能鉴定考试-飞机勤务知识考试历年参考题库含答案解析(5卷套题【单项选择题100题】)
- 2025年继电保护综合-判断题2历年参考试题库答案解析(5卷套题【单项选择题100题】)
- 2025年石油石化技能考试-中国石化零售管理系统考试历年参考题库含答案解析(5卷套题【单项选择题100题】)
- 2025年煤炭矿山职业技能鉴定考试-煤矿矿井主扇风机操作工历年参考题库含答案解析(5卷套题【单项选择题100题】)
- UL1569标准中文版-2018铠装线缆UL中文版标准
- 10kV供配电系统电气运行规程
- 蜱虫咬伤患者的护理
- GB/T 19609-2024卷烟用常规分析用吸烟机测定总粒相物和焦油
- 公路工程标准施工招标文件(2018年版)
- 安全生产管理体系建设(共27张课件)
- 附件2:慢病管理中心评审实施细则2024年修订版
- 和父亲断绝联系协议书范本
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 《慢性阻塞性肺疾病中医肺康复指南》
- 会议室改造方案
评论
0/150
提交评论