2022-2023年内蒙古自治区通辽市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第1页
2022-2023年内蒙古自治区通辽市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第2页
2022-2023年内蒙古自治区通辽市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第3页
2022-2023年内蒙古自治区通辽市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第4页
2022-2023年内蒙古自治区通辽市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022-2023年内蒙古自治区通辽市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.有以下程序:#include<stdio.h>intfun(){staticintx=1;X*=2:returnx;}main(){inti,S=1;for(i=1;i<=3;i++)S*=fun();printf("%d\n",s);}程序运行后的输出结果是()。A.0B.10C.30D.64

2.有以下程序段当执行上述程序段,从键盘上输A,555667777123后,y的值为()。

A.566.0B.55566.0C.7777.0D.566777.0

3.如果树的的结点A有4个兄弟,而且B为A的双亲,则B的度为()。

A.3B.4C.5D.1

4.下列选项中,不属于数据管理员(DBA.职责的是()。

A.数据库维护B.数据库设计C.改善系统性能,提高系统效率D.数据类型转换

5.以下是if语句的基本形式:

if(表达式.语句

其中“表达式”()。

A.必须是逻辑表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.可以是任意合法的表达式

6.已知数据表A中每个元素距其最终位置不远,为节省时间,应该采用的算法是()

A.直接选择排序B.堆排序C.快速排序D.直接插入排序

7.下列数据结构中,按先进后出原则组织数据的是()。

A.循环队列B.栈C.顺序表D.循环链表

8.下列描述中正确的是______。

A.软件工程只是解决软件项目的管理问题

B.软件工程主要解决软件新产品的生产率问题

C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则

D.软件工程只是解决软件开发中的技术问题

9.下列关于字符串的说法中错误的是

A.在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符'\0'作为字符串结束标志

B.'\0'作为标志占用存储空间,计入串的实际长度

C.在表示字符串常量的时候不需要人为在其末尾加入'\0'

D.在C语言中,字符串常量隐含处理成以'\0'结尾

10.以下叙述中正确的是()。

A.C语言的源程序不必通过编译就可以直接运行

B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C.C源程序经编译形成的二进制代码可以直接运行

D.C语言中的函数不可以单独进行编译

11.

12.若有定义:floatx=1.5;inta=1.b=3.c=2;则正确的switch语句是()。A.

B.

C.

D.

13.以下选项中表示一个合法的常量是(说明:符号口表示空格)()。

A.9口9口9B.0XabC.123E0.2D.2.7e

14.对初始状态为递增序列的数组按递增顺序排序,最省时间的是插入排序算法,最费时间的算法是()

A.堆排序B.快速排序C.插入排序D.归并排序

15.有以下函数:intfun(char*x,char*y)intn=0;while((*x==*y)&&*x!=‘\0’)∣x++;y++;n++;∣returnn;函数的功能是()。A.将y所指字符串赋给x所指存储空间

B.查找和y所指字符串中是否有‘\0’

C.统计x和y所指字符串中最前面连续相同的字符个数

D.统计x和y所指字符串中相同的字符个数

16.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。

A.O(n)O(n)B.O(n)O(1)C.O(1)O(n)D.O(1)O(1)

17.下列不属于C语言关键字的是()。A.A.default

B.register

C.enum

D.external

18.如有inta=11;则表达式(a/1)的值是()。

A.0B.3C.4D.11

19.设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为()。

A.fedcbaB.bcafedC.dcefbaD.cabdef

20.

(2)

A.*sB.sC.*s++D.(*s)++

二、2.填空题(20题)21.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。

22.以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。

structnode

{intinfo;

【】link;};

23.以下程序通过函数指针p调用函数fun,请在填空栏内写出定义变量p的语句。

voidfun(intx,int*y)

{……}

main()

{inta=10,b=20;

【】;/*定义变量p*/

p=fun;p(&a,&b);

}

24.下面程序的运行结果是()。#definePOW(r)r*rmain(){intx=2,y=3,t;t=POW(x+y);printf("%d\n",t);}

25.在面向对象方法中,类之间共享属性和操作的机制称为______。

26.有以下定义和语句,则sizeof(a)的值是【】,而sizeof(a.share)的值是【】。

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

27.数据的【】结构在计算机存储空间中的存放形式称为数据的存储结构或物理结构。

28.以下程序运行后的输出结果是【】。

main()

{

intp=30;

printf("%d\n",(p/3>0?p/10:p%3));

}

29.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于【】的联系。

30.设有下列宏定义:

#defineA2

#defineB(A+3)

则执行赋值语句"k=B*20;"(k为int型变量)后,k的值是______。

31.度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为______。

32.与结构化需求分析方法相对应的是【】方法。

33.以下程序段的输出结果是【】。

inti=9;

printf("%o\n",i);

34.在树形结构中,树根结点没有______。

35.下面程序的输出结果是()。#include<stdio.h>main(){staticchara[]="zhao",b[]="juan";char*ptr1=a,*ptr2=b;intk;for(k=0;k<4;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));}

36.软件定义时期主要包括______和需求分析两个阶段。

37.以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。

main()

{intx[10],a[9],I;

for(I=0;I<10;I++)scanf("%d",&x[I]);

for(【】;I<10;I++)

a[I-1]=x[I]+【】;.

for(I=0;I<9;I++)printf("%d",a[I]);

printf("");

}

38.执行以下“for(i=1;i++<=4;i++);”语句后,变量i的值是()。

39.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于______。

40.表达式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的数据类型为______。

三、1.选择题(20题)41.有以下程序main(){inti=0,s=0;for(;;){if(i==3‖i==5)continue;if(i==6)break;i++;s+=i};printf("%d\n",s)}程序运行后的输出结果是

A.10B.13C.21D.程序进入死循环

42.下面程序的输出结果是

#include<stdio.h>

main()

{inta[]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%d\n",*p+9);}

A.0B.1C.10D.9

43.下列程序的输出结果是()。#include<stdio.h>main(){inta[2][3]={{1,2,3},{4,5,6}},(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}

A.8B.7C.12D.9

44.阅读下列程序,则在执行后,程序的运行结果为#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}

A.nicetomeetyouyouB.nicetoC.meetyouyouD.nicetoyou

45.设有下列定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。

A.q=&data.m;

B.q=data.m;

C.q=(structsk*)&data.m;

D.q=(structsk*)data.m;

46.以下不正确的转义字符是()。

A.'\\'B.'\d'C.'\s'D.'088'

47.以下程序段的输出结果是______。main(){chars1[10],s2[10],s3[10];scanf("%s",s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);}输入数据如下:(此处<CR>代表回车符)aaa<CR>bbb<CR>

A.aaabbbB.aaabbbC.aaa\0bbb\0D.aaabbb

48.线性表的链式存储结构是一种______的存储结构。

A.随机存储B.顺序存储C.索引结构D.散列结构

49.有下列程序:main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}程序运行后的输出结果是()。

A.1*1=11*2=21*3=32*1=22*2=43*1=3

B.1*1=11*2=21*3=32*2=42*3=63*3=9

C.1*1=11*2=22*2=41*3=32*3=63*3=9

D.1*1=12*1=22*2=43*1=33*2=63*3=9

50.若有定义和语句:int**pp,*p,a=20,b=1O;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);则输出结果是()。

A.20,10B.20,20C.10,20D.10,10

51.结构化程序设计主要强调的是

A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性

52.有以下程序

#include<string.h>

main()

{charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};

printf("%d%d\n",strlen(p),strlen(q));}

以下叙述中正确的是

A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3

C.由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3

D.由于p和q数组中都没有字符串结束符,故长度都不能确定

53.以下叙述中错误的是______。A.用户所定义的标识符允许使用关键字

B.用户所定义的标识符应尽量做到“见名知意”

C.用户所定义的标识符必须以字母或下划线开头

D.用户定义的标识符中,大、小写字母代表不同标识

54.有下列二叉树,对此二叉树中序遍历的结果为()。

A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ

55.下列关于栈的描述中错误的是______。

A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入和删除操作中,不需要改变栈底指针

56.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是

A.ABCEDB.DCBEAC.DBCEAD.CDABE

57.有以下计算公式:

若程序前面已在命令行中包括math.h文件,不能够正确计算上述公式的程序是()。

A.if(x>=0)y=sqrt(x);

B.y=sqrt(x);elsey=sqrt(-x);if(x<0)y=sqrt(-x);

C.if(x>=0)y=sqrt(x);

D.y=sqrt(x>=0?x:-x);

58.下列程序的输出结果是______。#include<stdio.h>main(){inta,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}

A.2,1B.3,2C.4,3D.2,-1

59.设有如下定义structss{charname[10];intage;charsex;}std[3],*p=std;下列各输入语句中错误的是_______。

A.scanf("%d",&(*p).age);

B.scanf("%s",&);

C.scanf("%c",&std[0].sex);

D.scanf("%c",&(p->sex));

60.a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是()

A.'a'&&'b

B.a<=b

C.ab+c&&b-c

D.!((a<b)&&!c1)

四、选择题(20题)61.以下程序的输出结果是______。intx=3;main(){inti;for(i=1;i<x;i++)incre();}incre(){staticintx=1;x*=x+1;printf("%d",x);}

A.33B.22C.26D.25

62.若有定义:doublex;,则表达式IX=0,x+10,x+十的值是()。

A.11.0B.10.0C.0.0D.1.0

63.下面叙述中正确的是(

)。A.全局变量的作用域一定比局部变量的作用域范围大B.静态类型变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋值的auto变量和static变量的初值都是随机值

64.待排序的关键码序列为15,20,9,30,67,65,45,90,要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第()个位置。

A.2B.3C.4D.5

65.有以下程序:

程序运行后的输出结果是()。

A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,1

66.有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母:

程序运行后的输出结果是()。

A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!

67.

68.

69.C语言提供的合法的数据类型关键字是()。

A.DoubleB.shortC.integerD.Char

70.

71.

以下程序的输出结果是()。

main

{charw[][10]={"ABCD","EFGH","IJKL","

MNOP"),K;

for(k=1;k<3;k++)printf("%s\n",w[k]);

A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL

72.程序流程图中带有箭头的线段表示的是()。

A.图元关系B.数据流C.控制流D.调用关系

73.如果在C程序中要用到库函数中的字符串比较函数strcmp(),那么在程序前面应该添加的头文件是()。

A.stdio.hB.string,hC.alloc.hD.math.H

74.有以下程序程序运行后的输出结果是()。

A.m=6B.m=2C.m=4D.m=5

75.有以下程序(strcat函数用于连接两个字符串):

程序运行后的输出结果是()。

A.U-KB.ABCDE\0FG\0UKC.ABCDUKD.EFGUK

76.(69)单个用户使用的数据视图的描述称为()

A.外模式

B.概念模式

C.内模式

D.存储模式

77.

78.for(i=1;i<=10;i=i+3)for(j=2;j<6;j++){··…·}的循环次数是()。

A.16B.18C.14D.12

79.用链表表示线性表的优点是()。

A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同

80.

五、程序改错题(1题)81.下列给定程序中,函数fun()的功能是:将str所指字符串中的字母转换为按字母序列的后续字母(Z转换A,z转换a),其他字符不变。

请修改函数fun()中的错误,得出正确的结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

试题程序:

六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),它的功能是求出能整除x且不是偶数的整数,并将这些整数按从小到大的顺序放在PP所指的数组中,总个数通过形参n返回。如x中的值为30,则有4个数符合要求,它们是1、3、5、15。注意:部分源程序在文件prog1.c中。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:

参考答案

1.D函数fun是2的次方的运算,而s*=fun,所以答案为64。

2.A本题考查的是格式输)ki$i数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其中的格式命令可以说明最大域宽。在百分号(%)与格式码之间的整数用于限制从对应域读入的最大字符数。因此j的值为55,y的值为566.0,字符数组nanle的值为7777123。故本题答案为A)。

3.C

4.DD)【解析】数据库管理员(DataBaseAdministrator,DBA)是指对数据库的规划、设计、维护、监视等的人员,其主要工作如下:数据库设计。DBA的主要任务之一是数据库设计,具体地说是进行数据模式的设计;数据库维护。DBA必须对数据库中的数据安全性、完整性、并发控制及系统恢复、数据定期转储等进行实施与维护;改善系统性能,提高系统效率。DBA必须随时监视数据库的运行状态,不断调整内部结构,使系统保持最佳状态与效率。

5.D解析:本题主要考查关于if语句的说明,if后面圆括号中的表达式,可是任意合法的C语言表达式(如:逻辑表达式、关系表达式、算术表达式、赋值表达式等),也可以是任意类型的数据(如:整型、实型、字符型、指针型等。)

6.D

7.B解析:循环队列是队列的一种顺序存储结构,队列是以先进先出为原则组织数据的一种特殊线性表,选项A错误;栈是以先进后出为原则组织数据的一种特殊线性表,选项B正确;顺序表是线性表的顺序存储结构,选项C错误;循环链表是一般线性表的一种链式存储结构,选项D错误。

8.C解析:软件工程是解决软件项目的管理、软件开发过程中的技术、软件产品的生产率等问题,它的主要思想是强调在软件开发过程中需要应用工程化原则。

9.B解析:'\\0'作为标志占用存储空间,但是不计入串的实际长度。当给一个字符型指针赋值时,赋给这个指针的是这个字符串的地址。

10.B解析:本题考核的知识点是C程序从编写到生成可执行文件的步骤。C语言采用编译方式将源程序转换为二进制的目标代码,编写好一个C程序到完成运行一般经过以下几个步骤:编辑;编译,就是将已经编辑好的源程序翻译成二进制的目标代码,经编译后的得到的二进制代码还不能直接执行,因为每一个模块往往是单独编译的,必须把经过编译的各个模块的目标代码与系统提供的标准模块连接后才能运行;连接,将各模块的二进制目标代码与系统标准模块经连接处理后,得到具有绝对地址的可执行文件,它是计算机能直接执行的文件;执行,执行一个经过编译和连接的可执行的目标文件。由以上定义可知,选项A、C、D均不正确。所以,4个选项中选项B符合题意。

11.B

12.AB)选项中switch(n[nx);语句中不应该有最后的分号。switch(expr1),中的exp1不能用浮点类型或Iong类型,也不能为一个字符串,所以C)错误。case后面常量表达式的类型必须与switch后面表达式的类型一致,所以D)错误。

13.B当用指数形式表示浮点数据时,E的前后都要有数据,并且E的后面数要为整数。

14.B

15.C本题中由循环条件可知遇到‘\\0’或x与y所指的字符的值不等中的一个条件时就结束,所以功能是统计x和y所指字符串中最前面连续相同的字符个数。

16.C

17.Dregister声明寄存器变量enum声明枚举类型default开关语句中的“其他”分支

18.D

19.D

20.A

21.数据存储数据存储

22.structnode*structnode*解析:本题中的结构类型名为structnode,所以空白处应填:structnode*。即定义一个指向自身的结构体指针。

23.void(*p)()或void(*p)(int*int*)void(*p)()或void(*p)(int*,int*)

24.11

25.继承继承

26.10410\r\n4解析:结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。int占2个字节,float占4个字节,共用体变量所占的内存长度等于最长的成员的长度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。

27.逻辑逻辑解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构或物理结构。

28.33解析:条件表达式的一般形式为;表达式1?表达式2:表达式3条件运算符的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值;若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。30/3=10>0,所以执行p/10,结果为3。

29.一对多(或1∶N)一对多(或1∶N)解析:两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有3种,即一对一(1∶1)的联系、一对多(1∶N)或多对一(N∶1)的联系和多对多(N∶N)的联系。

30.100100解析:本题考查带参数的宏定义及相关运算。运算过程为:k=B*20=(A+3)*20=(2+3)*20=100。

31.4545解析:对于长度为N的线性表,在最坏情况下(即线性表中元素现在的顺序与目标顺序正好相反),冒泡排序需要经过N/2遍的从前往后的扫描和N/2遍的从后往前的扫描,需要的比较次数为N(N-1)/2。

32.结构化设计结构化设计解析:与结构化需求分析方法相对应的是结构化设计方法。结构化设计就是采用最佳的可能方法设计系统的各个组成部分以及各个成分之间的内部联系的技术。

33.1111解析:本题考核的知识点是printf()函数的输出格式。本题中定义了一个整型变量i并赋初值为9,然后要求以八进制输出i的值,9的八进制数的表示为11。

34.前件前件

35.aa解析:本程序先将指针ptr1和ptr2分别指向字符数组a和b,然后通过指针的移动比较a和b中是否有相同的字符。若有相同的字符则将其输出。

36.可行性研究可行性研究解析:软件生命周期一般包括可行性研究与需求分析、设计、实现、测试、交付使用及维护等,还可以将软件生命周期分为三个阶段:①软件定义阶段:可行性研究和需求分析;②软件开发阶段:设计、实现和测试;③软件运行维护阶段:交付使用和维护。

37.I=1x[I-1]I=1,x[I-1]解析:对于10个数,相临的两个数相加取和,总共要进行9次加法运算,所以空14处应填入I=1。相临的两个数相加取和,放在数组a中,x[0]与x[1]的和存放在a[0]中,所以空15处应填入x[I-1]。

38.6

39.线性结构线性结构解析:数据的逻辑结构是指数据元素之间的逻辑关系,分为线性结构和非线性结构。常见的线性结构有线性表、栈和队列等,常见的非线性结构有树、二叉树等。

40.整型整型解析:上面的表达式中,通过强制类型转换把最后参与运算的数据都转换成了int型,所以最后得到的结果也是int类型。

41.D解析:本题考核的知识点是for循环,continue语句和break语句的运用。程序中for循环中省略了判断退出循环的表达式,for循环将由里面的break语句控制是否结束循环,第一次循环,第一条if语句后面括号里的表达式的值为假,所以该if语句不被执行,执行下面的第二条语句,此时该if语句表达式的值为假,所以该if语句也不执行,执行下面的语句,i++、s+=i,执行完毕后i的值为1,s的值为1,如此循环,直到第三次之后i,s的值都为3,继续第四次循环,显然这时满足第一条if语句的,执行后面的continue;该次循环结束从头开始下次循环,而i的值为3一直没有改变,所以第一条语句始终要执行,因此for循环将一直循环下去,所以,4个选项中选项D符合题意。

42.C解析:此题考查了指针引用一维数组元素的方法。*p+9因为运算符'*'的优先级高于'+',所以输出结果为p指向的元素1,然后加9,值为10。

43.B解析:第1次执行for循环,p[1][0]=p[1][0]-1=3:第2次执行for循环,p[1][1]=p[1][1]-1=4:第3次执行for循环,p[1][2]=1,最后输出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。

44.D解析:考查通过赋值的方式给一维数组赋初值。字符串复制函数strcpy调用形式为:strcpy(s1,s2),此函数用来把s2所指字符串的内容复制到s1所指存储空间中,函数返回s1的值,即目的串的首地址;求字符串长度函数strlen的调用形式如下:strlen(s),此函数计算出以s为起始地址的字符串长度,并作为函数值返回。注意这一长度不包括串的结束标志。用于字符串处理的函数。

45.C解析:利用强制类型转换(structsk*),把整数型地址&data.m转换成结构体变量指针赋给结构体指针变量q。

46.D解析:'\\\\'是反斜线符,'\\d'是整型变量转义字符,'\\s'是字符串型转义字符,C语言中没有规定'088'为转义字符。

47.B解析:scanf是标准输入函数,在输入字符串aaa时,实际的内容为“aaa\\0”,“\\0”是由系统自动加入的:gets的功能是从终端读入一行字符,即一直读到换行符为止,并由系统自动以“/0”代替换行符。

48.B解析:线性表的链式存储结构中的每一个存储结点不仅含有一个数据元素,还包括指针,每一个指针指向一个与本结点有逻辑关系的结点。此类存储方式属于顺序存储。

49.B解析:外层for循环的自变量i从1开始,每次循环后增1,直到i等于3结束.对于外层循环自变量i的每一个值,内层循环的自变量j每次从i开始,每次循环后增1,直到j等于3结束。所以在每次外循环开始后,内层循环在一行先打印i*j=两个乘数的积,然后回车换行,下次循环从下一行开始打印输出结果。

50.D解析:本题考查指针变量的赋值。**pp是定义了一个指向指针的指针变量,语句pp=&p的意思是将pp指向指针p,*p和**pp都足指针p所指的内存空间的内容,即b的值。

51.D结构化程序设计由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主张“清晰第一,效率第二”,以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变得单纯而明确,为设计一些较大的软件打下了良好的基础。

由于模块相互独立,因此,在设计其中一个模块时,不会受到其他模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为可以充分利用现有的模块作为积木式的扩展。

结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;“单入口单出口”的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序。

52.A解析:在给p和q数组赋初值时,系统会自动添加字符串结束符,从题目中可以看出数组p和q都有3个字符,所以长度均为3。

53.A解析:C语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。大写字母和小写字母被认为是两个不同的字符,用户在定义标识符时应尽量做到“见名知意”,且不允许使用关键字作标识符。

54.B对二叉树的中序遍历是指:首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,注意依旧按照“左子树一根结点一右子树”的顺序。本题的遍历顺序是这样的:①首先访问左予树:BDEY;②在左子树BDEY中,也按中序遍历,先访问左子树DY;在左子树DY中,也按中序遍历,先访问左子树,左子树没有,则访问根结点D,然后访问右子树Y;③接着访问根B,再访问右子树E;④访问左子树BDEY后,接着访问根结点A,接着访问右子树CFXZ;⑤右子树CFXZ的访问顺序同理可得:FCZX。

55.B解析:栈是限定在一端进行插入与删除运算的线性表。在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底,对栈的插入和删除操作中,不需要改变栈底指针。栈是按照“先进后出”或“后进先出”的原则组织数据的。栈具有记忆作用。栈的存储方式和线性表类似,也有两种,即顺序栈和链式栈。

56.B解析:栈操作原则上“后进先出”,栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈。所以出栈时一定是先出D,再出C,最后出A。

57.B

58.A

59.B解析:在C语言中,结构体变量的引用有三种等价方式:

1、结构体变量成员名;2、(*p).成员名;3、p->成员名。

因为std.name是字符数组名,本身代表地址,其前面不应该使用“&”符号,所以选项B错误。

60.D

61.C解析:C语言规定如果全局变量与局部变量同名,则在局部变量的作用域内全局变量不起作用。程序开头定义的变量x为全局变量,函数incre中定义的变量x是局部静态变量,存放在静态存储区,incre调用结束后不释放x占据的存储单元。main函数中使用的x是全局变量x=3,所以main函数中调用函数incre两次。调用过程如下。第1次调用:x=x*(x+1)=1×(1+1)=2,printf函数输出2;第2次调用:x=x*(x+1)=2×(2+1)=6,printf函数输出6。

62.Cc语言中,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式。逗号运算符的优先级是所有运算符中级别最低的,逗号运算符保证左边的子表达式运笑结束后才进行右边的子表达式的运算。也麓是辽,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算,并以最右边表达式值作为整个逗号表达式的值。后置自增运算:k++表示先运算,后自■:曹置自增运算:++k表示先自加,后运算。因此,表达式l;O,I+10。x++的计算过程为首先赋值x=0,然后将x加l0,包是并不对x进行赋值,最后计算x++,并,根据后置自增运算的计算结果,即为x=0.0。故答案为C选项。

63.B

64.A解析:选择排序的基本思想是扫描整个线性表,从中选出最小的元素,将它交换到表的最前面,然后对剩下的子表采用同样的方法,直到子表为空。所以第一趟排序后,将选出最小的元素9放在第一个位置,元素15则放在第二个位置。

65.Dintm=1,n=2,*P=&m,。q=&Il,*r;即指针变量P指向m,指针变量q指向n,r=P;P=q;q=。;即通过指针变量r,将指针P和指针q的指向交换。因此最后输出1,2,2,1。

66.D调用缸函数后,实参数组名sl传给形参指针P,P也指向数组sl。m函数的功能是遍历字符数组中的所有字符,如果某一个字符是空格并且前一个字符是小写字母的话,就把前一个字符转换为大写。程序中语句P[i一1]=P[i—1]一ga’+-A‘;即P[i一1]=P[i一1]一32,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论