版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年浙江省嘉兴市全国计算机等级考试C语言程序设计真题二卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.在位运算中,操作数左移一位,其结果相当于A.A.操作数乘以2
B.操作数除以2
C.操作数除以4
D.操作数乘以4
2.有以下程序:voidswap1(intC[]){intt;t=c[0];c[0]=C[1];c[1]=t;}voidswap2(intc0,intc1){intt;t=c0;c0=c1;c1=t;}main(){inta[2]={3,5},b[2]={3,5);swapl(a);swap2(b[0],b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}其输出结果是
A.5353B.5335C.3535D.3553
3.设有定义语句“int(*f)(int);”,则下列叙述中正确的是()。
A.f是基类型为int的指针变量
B.f是指向函数的指针变量,该函数具有一个int类型的形参
C.f是指向int类型一维数组的指针变量
D.f是函数名,该函数的返回值是基类型为int类型的地址
4.
5.在ASC算法team日常开发中,常常面临一些数据结构的抉择,令人纠结。目前大家在策划一个FBI项目(FastBinaryIndexing),其中用到的词汇有6200条,词汇长度在10-15之间,词汇字符是英文字母,区分大小写。请在下面几个数据结构中选择一个使检索速度最快的()
A.二叉搜索树,比较函数开销:1次运算/每字符
B.哈希表,hash算法开销:10次运算/每字符
C.链表,比较函数开销:1次运算/每字符
D.TRIE树,寻找子节点开销:1次运算/每字符
6.当用户要求输入的字符串中含有空格时,应使用的输入函数是()。
A.scanfB.getcharC.getsD.getc
7.直接选择排序的时间复杂度为()。(n为元素个数)
A.O(n)B.O(log2n)C.O(nlog2n)D.O(n2)
8.作为信息处理热点技术之一的“多媒体技术”中的媒体,强调的是()。
A.存储媒体B.表现媒体C.传输媒体D.感觉媒体
9.下面程序的输出结果是#include<stdio.h>#include<string.h>main(){char*p1="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str);}
A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC
10.设有定义“doublex=5.16894;”,则语句“printf(“%lf\n”,(int)(x*1000+0.5)/1000.);”的输出结果是()。
A.5.16900B.5.16800C.0.00000D.输出格式说明符与输出项不匹配,产生错误信息
11.有以下程序:#includeMain(){Int?x=1.y=0;if(!x)y++;elsef(x==0)if(x)y+=2;else?y+=3;printf("%d\n",y);\}程序运行后的输出结果是()。A.3B.2C.1D.0
12.某二叉树结点的中序序列为A、B、C、D、E、F、G,后序序列为B、D、C、A、F、G、E,该二叉树对应的层次遍历序列为()
A.E、G、F、A、C、D、B
B.E、A、C、B、D、G、F
C.E、A、G、C、F、B、D
D.E、G、A、C、D、F、B
13.为了使模块尽可能独立,要求()。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
14.下面程序的运行结果是()。
A.gaeB.gaC.LanguageD.有语法错
15.
16.以下不能对二维数组a进行正确初始化的语句是()。A.inta[2][3]={0};
B.inta[2][3]={{1,2},{3,4},{5,6}};
C.inta[][3]={{1,2},{0}};
D.inta[][3]={1,2,3,4,5,6};
17.下列程序的输出结果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un));}
A.6,2B.6,4C.8,4D.8,6
18.
19.最坏情况下时间复杂度不是n(n-1)/2的排序算法是()
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
20.字符(char)型数据在微内存中的存储形式是______。
A.反码B.补码C.EBCDIC码D.ASCII码
二、2.填空题(20题)21.深度为5的满二叉树中,叶子结点的个数为______。
22.有以下程序:
main()
{intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\n",t);
}
执行后的输出结果是【】。
23.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。
24.在数据流图的类型中有两种类型,它们是变换型和()。
25.在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
26.以下程序用来输出结构体变量student所占存储单元的字节数,请填空。
structst
{charname[20];doublescore;
};
main()
{structststudent;
printf("studentsize:%d\n",sizeof(【】));
}
27.下列程序的输出结果是16.00,请填空。
#include<stdio.h>
main()
{inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
28.设有如下程序:
main()
{intn1,n2;
scanf("%d",&n2);
while(n2!=0)
{n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298,贝愉出结果为【】。
29.需求分析的最终结果是产生【】。
30.数据库系统中实现各种数据管理功能的核心软件称为【】。
31.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。
32.以下scanf函数调用语句中对结构体变量成员的引用不正确的是{charname[20];}pup[5],*p;
33.若a是血型变量,则表达式(a=2*3,a*2),a+6的值为______。
34.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示______,用带空心圆的箭头表示传递的是数据。
35.在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间______的信息。
36.函数fun的返回值是【】。
fun(char*a,char*b)
{intnum=0,n=0;
while(*(a+num)!='\0')num++;
while(b[n]){*(a+num)=b[n];num++;n++;}
returnnum;
}
37.在最坏情况下,冒泡排序的时间复杂度为【】。
38.下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
intword(char*s)
{intnum=0,flag=0;
while(*s)
{if(【】='')flag=0;
elseif(【】){flag=1;num++}
}
return【】}
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.以下程序的输出结果是【】。
#include<stdio.h>
main()
{structstru
{inta;
floatb;
chard[4];
};
printf("%d\n",sizeof(structstru));}
三、1.选择题(20题)41.分析下列程序,其最终执行结果是______。main(){intn[3],i,j,k;for(i=0;i<3;i++)n[i]=O;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]-1;printf("%d\n",n[0]);}
A.-2B.-1C.0D.-3
42.下列选项中不合法的十六进制数是()。
A.OxffB.OXllC.OxlgD.OXabc
43.下列语句中,在字符串s1和s2相等时显示"theyareEqual"的是()。
A.if(*s1==*s2)
B.if(!strcmp(s1,s2))puts("theyareEqual");puts("theyareEqual");
C.if(s1==s2)
D.if(strcmp(s1,s2))Puts("theyareEqual");puts("theyareEqual");
44.以下对C语言中共用体类型数据的正确叙述是______。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
45.不合法的main函数命令行参数表示形式是______。
A.main(inta,char*c[])
B.main(intarc,char**arv)
C.main(intargc,char*argv)
D.main(intargv,char*argc[])
46.下面说法正确的是()。A.A.一个C程序可以有多个主函数
B.一个C语言的函数中只允许有一对花括号
C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内
D.在对C程序进行编译时,可以发现注释行中的拼写错误
47.设有程序段:intk=12:while(k=1)k=k-1:则下列描述中正确的是()。
A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次
48.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为()。
A.GEDHFBCAB.DGEBHFCAC.ABCDEFGHD.ACBFEDHG
49.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用"",(双撇号)括起时,寻找被包含文件的方式是()。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
50.下列程序的输出结果是______。main(){char*s="121";intk=0,a=0,b=0;do{k++;if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0';}while(s[k+1]);printf("k=%da=%db=%d\n",k,a,b);}
A.k=3a=2b=3B.k=3a=3b=2C.k=2a=3b=2D.k=2a=2b=3
51.下列程序段的运行结果是()。#include<stdio.h>voidmain(){charstr[]="ABC",*p=str;printf("%d\n",*(p+3));}
A.67B.0C.字符'C'的地址D.字符'C'
52.下列语句中,错误的是(x,y,a,b假设已经定义好)
A.while(x=y)5;
B.dox++while(x==10);
C.while(0);
D.d02;while(a==b);
53.设a、b和、c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式为()
A.'a'&&'b'
B.a<=b
C.a‖b+c&&b-c
D.!(a-b)&&(!c‖1)
54.下列说法错误的是()。
A.下列结构体定义时,占据了5个字节的空间structstudent“ntnum;intage;charsex;}
B.结构体的成员名可以与程序中的变量名相同
C.对结构体中的成员可以单独使用,它的作用相当于普通变量
D.结构体可以嵌套定义
55.若int类型数据占两个字节,则下列语句intk=-1;printf("%d,%u\n",k,k);的输出为()
A.-1,-1B.-132,767C.-132,768D.-165,535
56.在结构化程序设计中,模块划分的原则是()。
A.各模块应包括尽量多的功能
B.各模块的规模应尽量大
C.各模块之间的联系应尽量紧密
D.模块内具有高内聚度,模块间具有低耦合度
57.若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是______。
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
58.在标准C语言中,下列程序的输出结果为______。main(){printf("%e",123.456);}
A.123.456B.123.4560C.1.23456e2D.1.234560e+002
59.若w、x、y、z、m均为int型变量,则执行下列的语句后m的值是()。w=2,x=3,y=4,z=5;m=(w<x)?w:x;m=(m<z)?m:z;m=(m<y)?m:y;
A.2B.3C.5D.4
60.下列函数定义中,会出现编译错误的是______。
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;}
四、选择题(20题)61.有以下程序:#include<stdio.h>main(){inta[5]={1,2,3,4,5),b[5]={0,2,1,3,o},i,s=0;for(i=o;i<5;i++)s=s+a[b[i]];printf(”%d\n”,s);}程序运行后的输出结果是()。A.6B.10C.11D.15
62.设有定义:
63.设有如下定义:char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。
A.aa数组成元素的值分别是"abcd"和ABCD"
B.aa是指针变量,它指向含有两个数组元素的字符型一维数组
C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D.aa数组的两个元素中各自存放了字符’a’和’A’的地址
64.
65.HTTP协议的消息有()两种类型。
A.发送消息和接收消息B.请求消息和响应消息C.消息头和消息体D.实体消息和控制消息
66.以下程序的输出结果是()。
A.678910
B.13579
C.12345
D.62345
67.
68.
69.在下述程序中,判断条件“i>j”共执行的次数是
main()
{inti=0,j=10,k=2,s=0;
for(;;)
{i+=k;
if(i>j)
{printf("%d",s);
break;
}s+=i;
}
}
A.4B.7
C.5D.6
70.若k是int类型变量,且有以下for语句:
for(k=-1;k<O;k++)printf("****\n");
下面关于语句执行情况的叙述中正确的是()。、
A.循环体执行一次
B.循环体执行两次
C.循环体一次也不执行
D.构成无限循环‘
71.若有定义语句:
则strlen(s)的值是()。
A.7B.8C.9D.10
72.结构化程序设计的三种结构是()。
A.顺序结构、选择结构、转移结构
B.分支结构、等价结构、循环结构
C.多分支结构、赋值结构、等价结构
D.顺序结构、选择结构、循环结构
73.有以下程序:
以下叙述中正确的是()。
A.在给P和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B.由于P数组中没有字符串结束符,长度不能确定;但q数组中字符长度为3
C.由于q数组中没有字符串结束符,长度不能确定;但P数组中字符长度为3
D.由于P和q数组中没有字符串结束符,故长度都不能确定
74.开发大型软件时,产生困难的根本原因是()
A.大系统的复杂性B.人员知识不足C.客观世界千变万化D.时间紧、任务重
75.
76.第
42
题
若有说明语句
chara[]="Itismine";
char*p="Itismine";
则以下不正确的叙述是
A.a+1表示的是字符t的地址
B.p指向另外的字符串时,字符串的长度不受限制
C.p变量中存放的地址值可以改变
D.a中只能存放10个字符
77.
78.有以下程序:
程序运行后的输出结果是()。
A.10B.11C.20D.21
79.
80.
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是l5。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
六、程序设计题(1题)82.学生的记录由学号和成绩组成,M名学生的数据已在主函数中放人结构体数组stu中,请编写函数proc(),它的功能是:把指定分数范围之外的学生数据放在b所指的数组中,分数范围之外的学生人数由函数值返回。
例如,输入的分数是70和79,则应当把分数低于70和高于79的学生数据输出,不包含70分和79分的学生数据。主函数中把70放在low中,把79放在heigh中。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。
试题程序:
参考答案
1.A左移运算符“<<”是双目运算符,其功能是把“<<”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。例如,a<<4是把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。
2.B解析:本题中函数swapl()是传递的地址。所以对该形参c的改变将影响实参,分析可知该函数的作用,是使数组c的第一个元素和第二个元素的值互换。主函数中调用该函数将a作为实参传递给形参c,故执行该函数后a的第一个元素和第二个元素的值将交换。分别为5和3。函数swap2()是值传递的,所以该函数执行后对数组b将没有任何改变,此时该数组的第一个和第二个元素依然为3和5,因此最后的输出为5、3、3和5,所以,4个选项中选项B符合题意。
3.B此定义语句“int(*f)(int);”为指向函数的指针变量的定义方法,其中f为指向函数的指针变量,第1个int为函数返回值类型,第2个int为函数的形参类型。故本题答案为B选项。
4.C
5.D
6.C解析:C语言提供了许多输入函数,其中有:getchar(输入字符)、scanf(格式输入)和gets\u3000(输入字符串)等。题目要求输入的是字符串,所以可以排除getchar,而且要求输入的字符串中包含空格,而scanf函数默认将输入的空格字符作为分割符,所以空格不会被输入,故可排除scanf。getc的作用是从文件中输入一个字符,故也不可取。gets函数可以输入一整行作为一个字符串,其中也包括空格字符,故应该选择C。
7.D
8.D媒体分为感觉媒体、表示媒体、存储媒体、传输媒体和表现媒体五种,“多媒体技术”中的媒体强调的是感觉媒体。
9.C解析:本题考查的重点是拷贝字符串——使用strcpy()函数,该函数的调用方式是:strcpy(字符数组,字符串)其中“字符串”可以是字符串常量,也可以是字符数组。函数的功能是:将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。
使用该函数时注意:①字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志‘\\0’一起复制。②不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数来处理。
另外,本题还考查连接字符串的strcat()函数,其调用方式是:strcat(字符数组,字符串)
功能是把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。
使用该函数时注意:①由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。③连接前两个字符串都有结束标志‘\\0’,连接后“字符数组”中存储的字符串的结束标志‘\\0’被舍弃,只在目标串的最后保留一个‘\\0’。
10.A表达式“(int)(x*1000+0.5)”使用了强制转换,其计算结果为5169,(5169/1000.0)=5.169。所以“printf(“%lf\\n”,5.169);”结果是5.16900。故本题答案为A选项。
11.D[解析]在ifelse语句中else,总是与离它最近的配对。本题目中x为1所以!劝0.所以执行elsei语句中的内容,判断(x==0)是否成立,因为劝1所以条件不成立,所以else内部的if..else语句不再执行,所以y的值还是初始值0.
12.C
13.B解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。本题答案为B。
14.A考查用指针来引用字符数组元素的方法。指针pl+k相当于指针pl向后移动了k个字符的位置,指针p2同理。
15.D
16.B选项A中,将二维数组a的6个元素都赋值为0,正确;选项B中,由于a包含2个元素,每个元素都是包含3个元素的一维数组,初始化列表中包含3个元素,每个元素是包含2个元素的数组,错误;选项C中,a的每个元素是包含3个元素的一维数组,初始化列表将a[0]的3个元素初始化为1,2,0,将a[1]的3个元素初始化为0,0,0,正确;选项D中,将a[0]初始化为1,2,3,将a[1]初始化为4,5,6,正确。本题答案为B选项。
17.B解析:本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立;联合所占用的内存空间为最长的成员所占用的空间。
18.A
19.D
20.D解析:将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的ASCII码值放到存储单元中。
21.1616解析:满二叉树的叶子结点都在最后一层,即第4层,且第4层的结点达到最大数,即25-1=16。
22.00解析:for循环执行完成后t=5×4×3×2×1×0=0。
23.数据存储数据存储
24.事务型事务型解析:典型的数据流类型有两种:变换型和事务型。
25.自顶向下自顶向下解析:在程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。
26.structst或studentstructst或student
解析:本题以浮点格式输出z值,宽度为5,有2位小数。应该注意的是,两个整数运算结果仍为整数,如1/2的结果为0。本题可逐步求解:
16.00=9/2+2*x/1.1+1/2
16.00=4+2*x/1.1+0
12.00=2*x/1.1
所以,x的值为6.6。
28.89218921解析:本题的程序的功能是将输入的整数反向输出。
29.需求规格说明书需求规格说明书解析:软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。需求规格说明书包括正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性和可追踪性等。
30.数据库管理系统数据库管理系统(DBMS)
31.实体实体
32.D
33.1212解析:本题考查逗号表达式的运算规则。逗号表达式的基本格式为:“表达式1,表达式2,…”,其整个表达式的结果取最后一个子表达式的值。本题中首先计算逗号表达式中的第1个表达式a=2*3=6,然后计算第2个表达式a*2,这时整个表达式的值为12,但要注意,因为第2个表达式并没有给a赋值,因此a的值不变;接下来执行最后一个表达式a+6=12,所以整个表达式最后的值为12。
34.模块模块解析:矩形表示的是模块,箭头表示的是模块间的调用关系。用带实心圆的箭头表示传递的是控制信息,用带空心圆的箭头表示传递的是数据。
35.前后件关系前后件关系解析:在数据存储结构中,除了要存储数据,还要存储数据的前后件关系,对于顺序存储的数据结构,前后件之间的关系,是通过存储空间的位置来实现的,而对于链式存储来说,数据元素之间的前后件关系是通过指针来实现的。
36.字符串a和b的长度之和字符串a和b的长度之和解析:本题首先通过第一个while循环计算字符串a的长度,再通过第二个循环,将字符串a和b相连,最后返回连接后的总长度。
37.
解析:冒泡排序法是通过相邻数据元素的交换逐步将线性表变成有序。假设线性表的长度为n,则在最坏的情况下,冒泡排序需要经过遍的从前往后的扫描和遍的从后往前的扫描,需要的比较次数为。
38.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在统计字符串单词个数的算法中,本题的flag是为了记录一个单词是否结束。第13空应填*s++;如果某个字符不是空格,则必须判断它是否是单词,如是,则使得flag的标志为1,num的值加1。本题判断方法是:先判断s所指向的字符是否为空格,如果是则使得flag=0,否则判断前一个字符是否是空格,如果是则说明这个字符是一个单词的开始,将flag标志为1,num的值加1,如果不是,则不必记录。故第14空应填flag=0或*(s-1)='';最后一个空格需填写的是返回的单词的个数,即num。
39.\0'n++
40.14
41.D解析:当i为0,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[0]-1,n[0]值变为-1:在j为1时,执行n[j]=n[i]-1;,即n[1]=n[0]-1,将-2赋给n[1]。当i为1时,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[1]-1,n[0]值变为-3;在j为1时,执行n[j]=n[i]-1;,即n[1]=n[1]-1,将-3赋给n[1];最后n[0]和n[1]的值均为-3。
42.C解析:十六进制是以“0x”或“0X”开头的字符串,字符串中只能含有0~9这10个数字和a、b、c、d、e、f这6个字母。
43.B解析:字符串比较不能用两个等于号(=)来进行比较,应使用函数strcmp(s1,s2)来比较。函数strcmp(s1,s2)的功能:当字符串s1和s2相等时,返回值为0。因此,当表达式!strcmp(s1,s2)=1时,条件成立,执行后面的语句,输出theyareEqual。
44.C解析:共用体变量中的所有成员共享一段公共存储区,并非同时存放于共用体变量中,如共用体变量中有两个成员,int型成员占两个字节,float型成员占4个字节,则该共用体变量占4个字节,并非2+4=6个字节。
45.C解析:main()函数可以带有参数,并且参数只能有两个,第一个参数类型为整型,用来记下命令行的参数个数;第二个参数为一个字符型指针数组,或字符型二级指针变量(指向一个数组,数组元素又是一个一级字符指针),其各个元素用来记下从命令行各参数字符中的首地址。故本题只有C选项不符合要求。
46.C解析:本题涉及C语言基本的3个知识点:①C语言规定一个程序只允许有一个主函数,一个函数内可以允许有多个花括号;②C程序的注释部分仅仅是方便程序员阅读,提高程序的可读性和可移植性,它并不参与程序的编译,所以编译器也就不会发现注释中的错误。
47.C本题考查while,while循环表达式k-1是个赋值表达式而不是逻辑表达式,k的初值为l2不符合循环条件,所以循环体语句一次也不执行。
48.B遍历是按照一定规则对树中全部结点逐一访问的方法。二叉树可由根结点、左子树和右子树三个部分组成。根据对根结点访问的先后顺序,可将遍历方法分为先序遍历、中序遍历和后序遍历三种。先序遍历首先访问根结点,再先序遍历左子树,最后先序遍历右子树,可见遍历是一个递归的过程。求树的遍历这种问题的关键在于认清每棵子树的根结点的访问顺序。题目给出了一棵树的先序遍历和中序遍历的结点顺序,先序遍历的第一个结点为整棵树的根结点,即根结点为A,而在中序遍历的顺序中,结点A的前面还有DBGE四个结点,表示这四个结点构成以A为结点的二叉树的左子树,同理,中序遍历中A结点后面的CHF三个结点构成以A为结点的二叉树的右子树。于是原来的对一棵二叉树的分析变为对该二叉树的左右子树的分析。以左子树为例,左子树结点的先序遍历为BDEG,中序遍历为DBGE,该子树的根结点为B,B结点的左子树为一个结点D,右子树为以E为根结点,结点G是E的左孩子。同理,可对CHF三个结点进行分析。
最后得到整棵树的结构后,按照后序遍历写出所有结点的顺序:DGEBHFCA。
49.B解析:本题考查库函数调用的知识点。格式1:#include<文件名>,预处理程序在标准目录下查找指定的文件;格式2:#include'文件名',预处理程序首先在引用被包含文件的源文件所在的目录下搜索指定的文件,如没找到,再按系统指定的标准目录搜索。
50.C
51.B解析:先定义了一个指向字符型数组str的指针p,指针p旨向数组str的首地址,p+3将指针指向str[3],又因为字符型数组在存放字符串时会自动在末尾加上'\\0',所以*(p+3)=0。
52.B解析:do和while之间只能是一条可以执行的语句。分号是语句的一部分。d…while执行多条语句时,应用“{}”括起来,组成复合语句。
53.D
54.A解析:本题主要考查定义结构体的几个特点:①结构的定义明确了结构的组成形式,定义了一种C语言中没有而用户需要的新的数据类型。与其他的数据类型不同,在程序编译的时候结构的定义并不会使系统为该结构分配内存空间,只有在说明结构变量时才分配内存空间;②结构体的成员名可以与程序中的变量名相同:⑧结构体中的成员可以单独使用,它的作用相当于普通变量:④结构体可以嵌套定义。
55.D
56.D解析:本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则:
(1)改进软件结构,提高模块独立性;通过模块的分解或合并,力求降低耦合提高内聚。低耦合也就是降低不同模块间相互依赖的紧密程度,高内聚是提高一个模块内各元素彼此结合的紧密程度。
(2)模块的规模应适中。一个模块的规模不应过大,过大的模块往往是由于分解不够充分:过小的模块开销大于有益操作,而且模块过多将使系统接口复杂。因此过小的模块有时不值得单独存在。
(3)模块的功能应该可以预测,但也要防止模块功能过分局限。如果模块包含的功能太多,则不能体现模块化设计的特点:如果模块的功能过分的局限,使用范围就过分狭窄。
经过上述分析,本题的正确答案是选项D。
57.D解析:通常,引用一个数组元素可以用下标法,如a[P-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出了数组范围,注意,数组的下标是从0开始的。
58.D
59.A解析:条件表达式“a?b:c”的含义是:当a为真时,其值等于表达式b的值;当a为假时,其值等于表达式c的值。
表达式运算过程:第1个表达式:w=2<x=3为真,所以返回w的值,即m=w=2;第2个表达式:m=2<z=5为真,所以返回m的值,即m=2;第3个表达式:w=2<y=4为真,所以返回m的值,即m=2。
60.B解析:在C语言中,不可以在函数的参数声明列表中用一个类型名指定多个参数。故选项B是错误的。其正确的表示方式应为:
intmax(intx,inty){…}
或
intmax(:1
intx,y;
{…)
61.C本题考查数组的使用。本题定义了两个数组,注意数组的下标是从0开始的,进行第1次for循环:当i=0时,b[0]为数组b中第l个元素,结果为0,那么a[0]也是数组a中第l个元素,结果为1,所以S的值为1。第2次循环:i此时自加为l,b[1]为数组的第2个元素,值为2,所以可求出a[2](数组中的第3个元素)的值为3,s=s+3,所以S的值为4。进入第3次for循环,依此类推,第3次for循环结束时s的值为6。第4次for循环,s的值变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 19183.2-2024电气和电子设备机械结构户外机壳第2部分:协调尺寸
- PB-22-N-4-Hydroxypentyl-3-carboxyindole-metabolite-生命科学试剂-MCE-7583
- EMPO-生命科学试剂-MCE-2695
- 二零二五年度自动驾驶车辆测试与示范运营合同
- 二零二五年度健康产品销售折扣与会员管理系统合同
- 2025年度体育设施建设与运营签合同授权委托书
- 2025年度董事薪酬体系设计与聘任合同
- 2025年度荒山开发使用权出让合同
- 2025年度林业保护驾驶员聘用与巡护服务合同
- 二零二五年度船舶船员劳动合同及船舶事故应急处理合同
- GB/T 19228.1-2024不锈钢卡压式管件组件第1部分:卡压式管件
- 2024年计算机二级WPS考试题库380题(含答案)
- (高清版)DZT 0399-2022 矿山资源储量管理规范
- 初一英语英语阅读理解专项训练15篇
- 部编人教版五年级道德与法治下册全册课件(完整版)
- 广西贵港市2023年中考物理试题(原卷版)
- 仁爱英语八年级阅读理解测试题和答案
- DB11∕T 1875-2021 市政工程施工安全操作规程
- 传统节日春节英文介绍课件
- 水资源论证报告
- 实现结构化:初中语文大单元教学设计的核心
评论
0/150
提交评论