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.某二叉树的前序和后序序列正好相反,则该二叉树一定是_____的二叉树

A.空或者只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子

2.对n个数进行排序,哪种算法,其时间复杂度在最坏和最好都是O(nlogn)()

A.快速排序B.希尔排序C.堆排序D.选择排序

3.请阅读以下程序:#include<stdio.h>voidfun(ints[]){staticintj=0;dos[j]+=s[j+1];while(++j<2);}main(){intk,a[10]={1,2,3,4,5};for(k=1;k<3;k++)fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}上面程序的输出是

A.34756B.23445C.35745D.12345

4.C语言常量的类型从字面形式上可区分,以下判断中正确的是()。

A.2E3——整型B.2.0E3——实型C.‘\025’——字符串D.“a”——字符型

5.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。

A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统

6.依次读入数据元素序列{a,b,c,d,e,f,g}进栈,每进一个元素,机器可要求下一个元素进栈或弹栈,如此进行,则栈空时弹出的元素构成的序列是以下哪些序列?

A.{d,e,c,f,b,g,a}

B.{f,e,g,d,a,c,b}

C.{e,f,d,g,b,c,a}

D.{c,d,b,e,f,a,g}

7.

8.下列叙述中正确的是A.程序设计就是编制程序

B.程序的测试必须由程序员自己去完成

C.程序经调试改错后还应进行再测试

D.程序经调试改错后不必进行再测试

9.

10.若函数中有定义语句:inta;,则()。

A.系统将自动给a赋初值0B.这时a中的值是和随机数C.系统将自动给a赋初值-1D.这a中无任何值

11.

12.有以下程序执行程序时,给变量X输入l0,程序的输出结果是()。

A.55B.54C.65D.45

13.若有定义“intx,y;”,并已正确给变量赋值,则以下选项中与表达式“(x-y)?(x++):(y++)”中的条件表达式“(x-y)”等价的是()。

A.(x-y<0||x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y==0)

14.命令“DIRA:*.*/W”的功能是()

A.宽行显示A盘当前目录的所有文件

B.宽行显示A盘所有目录的所有文件

C.宽行显示A盘的所有目录

D.显示A盘中的文件名,每满一屏后停顿一下

15.有以下程序#include<stdio.h>#include<string.h>main(){chara[10]=”abcd”;printf("%d,%d\n",strlen(a),sizeof(a));}程序运行后的输出结果是()。A.7,4B.4,10C.8,8D.10,10

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

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

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

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

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

17.有以下程序:#include<stdio.h>#definePT3.5;#defineS(x)PT*x*x;main(){inta=1,b=2;printf(“%4.1f\n”,S(a+b));}程序的运行结果是()。

A.7.5B.31.5C.程序有错,无输出结果D.14.0

18.下面描述中,不属于软件危机表现的是()A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高

19.已知a,b均被定义为double型,则表达式:a=5/2的值为()。

A.1B.3C.3.0D.2.5

20.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为________。

A.24B.48C.72D.53

二、2.填空题(20题)21.函数调用语句:“fgets(buf,n,fp);”从中指向的文件中读入n个字符放到buf字符数组中,函数返回值为______。

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

#include<stdio.h>

main()

{charm;

m='B'+32;

printf("%c\n",m);

}

23.程序测试分为静态分析和动态测试。其中【】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。

24.已定义charch=′$′;inti=1,j;,执行j!=ch&&i++以后,i的值为【】。

25.以下程序运行的结果是【】。

#include<conio.h>

#include<stdio.h>

#defineM100

voidfun(intm,int*a,int*n)

{inti,j=0;

for(i=1;i<=m;i++)

if(i%7==0‖i%11==0)

a[j++]=i;

*n=j;}

main()

{intaa[M],n,k;

clrscr();

fun(10,aa,&n);

for(k=0;k<n;k++)

if((k+1)%20==0)printf("\n");

elseprintf("%4d",aa[k]);

printf("\n");}

26.以下程序的运行结果是【】。

#include<stdio.h>

longfib(intg)

{switch(g)

{case0:return0;

case1:

case2:return1;}

return(fib(g-1)+fib(g-2));}

main()

{longk;

k=fib(5);

printf("k=%5ld\n",k);}

27.Jackson方法是一种面向【】的结构化方法。

28.下面程序输出的结果是()。intm=17;intfun(intx,inty){intm=3;return(x*y-m);}main(){inta=5,b=7;printf("%d\n”,fun(a,B)/m);}

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

#include<stdlib.h>

main()

{char*s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;*s2=20;m=*s1+*s2;

printf("%d\n",m);

}

30.下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。

structstu

{intx;

【】

【】next;}

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

main()

{

chara[]="Language",b[]="Programe";

char,p1,*p2;

intk;

p1=a,p2=b;

for(k=0;k<=7;k++)

if*(p1+k)==*(p2+k))printf("%c",*(p1+k));

}

32.若变量a,b已定义为int类型并分别赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句行:【】。

33.测试的目的是暴露错误,评价程序的可靠性;而______得目的是发现错误的位置并改正错误。

34.在计算机软件系统的体系结构中,数据库管理系统位于用户和【】之间。

35.当m=1,n=2,a=3,b=2,c=4时,执行d=(m=a!=B)&&(n=b>C)后,m的值为()。

36.在E-R图中,矩形表示【】。

37.下面函数的功能是将一个字符串的内容颠倒过来,请填空。

voidfun(charstr[])

{inti,j,k;

for(i=0,j=【】;i<j;i++,j--)

{k=str[i];

str[i]=str[j];

str[j]=k;}}

38.在关系模型中,把数据看成是二维表,每一个二维表称为一个【】。

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

structnode

{intinfo;

【】link;};

40.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块),其中【】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。

三、1.选择题(20题)41.在下列叙述中,错误的一条是()

A.scanf()函数可以用来输入任何类型的多个数据

B.数组名作函数参数时,也采用“值传送”方式

C.如果形参发生改变,不会改变主调函数的实参值

D.函数的实参与形参的类型应一致

42.设整型数i=5,则printf("%d",i+++++i);的输出为______。

A.10B.11C.12D.语法错误

43.以下程序的输出结果是_______。main(){charst[20]="hello\0\t\\";printf(%d%d\n",strlen(st),sizeof(st));}

A.99B.520C.1320D.2020

44.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是

A.c=(c-′A′)%26+′a′B.c=c+32C.c=c-′A′+′a′D.c=(′A′+c)%26-′a′

45.有以下程序,程序运行后的输出结果是______。intf(intb[][4]){inti,j,s=0;for(j=0;j<4;j++){i=j;if(i>2)i=3-j;s+==b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}

A.22B.11C.18D.16

46.下列所述中,是软件调试技术的是()。

A.错误推断B.集成测试C.回溯法D.边界值分析

47.若有说明inta[][3]={1,2,3,4,5,6,7,8,9},则a数组第一维的大小是()。

A.2B.3C.4D.无确定值

48.下列关系运算的叙述中,正确的是()。A.A.投影、选择、连接是从二维表行的方向进行的运算

B.并、交、差是从二维表的列的方向来进行运算

C.投影、选择、连接是从二维表列的方向进行的运算

D.以上3种说法都不对

49.设有声明语句chara='\72';,则变量a______。

A.包含1个字符B.包含2个字符C.包含3个字符D.声明不合法

50.结构化程序设计的主要特点是()。

A.每个控制结构要模块化B.每个控制结构具有封装性C.每个控制结构具有独立性D.每个控制结构只有一个入口和一个出口

51.下面程序的输出结果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}

A.SOB.SPC.SPOPKD.SHOB

52.下面程序的运行结果是______。main(){charch[7]={"65ab21"};inti,s=0;for(i=0;ch[i]>='0'&&ch[i]<='9';i+-2)s=10*s+ch[i]-'0';printf("%d\n",s)'}

A.12ba56B.652C.6D.62

53.若整型变量a、b、c、d中的值依次为1、4、3、2。则条件表达式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4

54.以下叙述中正确的是______。

A.C语言比其他语言高级

B.C语言可以不用编译就能被计算机识别执行

C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D.C语言出现的最晚,具有其他语言的—切优点

55.若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是()。

A.p1:&n;p2=&pl;

B.p1=n;

C.p1=&n;*p2=p1;

D.p1=&n;p2=p1;

56.有以下程序:main(){intx=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);}程序执行后的输出结果是

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

57.以下程序输出的结果是

#include<stdio.h>

#include<string.h>

main()

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

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

A.ABCDFGHKLB.ABCEFGIJMC.EFGJK0D.FGHKL

58.有以下程序:main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}程序运行后的输出结果是______。

A.42B.45C.56D.60

59.设有定义:inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是

A.scant("%d",pa);

B.scant("%d",a);

C.scanf("%d",&pa);

D.scanf("%d",*pa);

60.下列程序的输出结果是()。

main

{intx=8,y=8;

printf("%do%od\n",x--,--y);

}

A.88B.77C.78D.87

四、选择题(20题)61.如果要在表单中创建一个普通文本框,下列标记中正确的是()。

A.<inputtype=”text”>

B.<inputtype=”password”>

C.<inputtype=”CheCkbox”>

D.<inputtype=”radio”>

62.下列哪个属性是用来定义内联样式的?()

A.fontB.classC.stylesD.style.

63.有三个关系R、S和t如下:由关系R和s通过运算得到关系T,则所使用的运算为()。

A.笛卡儿积B.交C.并D.自然连接

64.在软件开发中,需求分析阶段可以使用的工具是()。A.N—s图B.DFD图C.PAD图D.程序流程图

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

#definef(x)x*x

main

{inta=6,b=2,c;

c=f(a)/f(b);

printf(“%d\n”,c);

}

A.9B.6C.36D.18

66.若已包括头文件<string.h>且已有定义charsl[18],s2={"ABCDE")和inti,现要将字符串”ABCDE”赋给sl,下列语句错误的是()。A.A.strcpy(s1,s2)

B.strcpy(s1,"ABCDE");

C.sl="ABCDE";

D.for(i=0;i<6;i++)sl[i]=s2[i]

67.设有数组定义:chararray[]="China";则数组array所占的空间为()。

A.4个字节

B.5个字节

C.6个字节

D.7个字节

A.EFGHIJABCD

B.bcdefghij

C.abdefCghij

D.不确定的值

68.已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是

A.一个整型变量,代表要读入的数据项总数

B.一个文件指针,指向要读的文件

C.一个指针,指向要读入数据的存放地址

D.一个存储区,存放要读的数据项

69.

70.

71.

72.有以下程序

main()

{

intn[3],i,j;

for(i=0;i<3;i++)

n[i]=0;

for(i=0;i<2;i++)

for(j=0;j<2;j++)

n[j]=n[i]+1;

printf("%d\n",n[1]);

}

程序运行后的输出结果是A.A.2

B.1

C.0

D.3

73.

74.有以下程序:

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

A.0B.3C.7D.8

75.

76.有以下程序:

运行时,若输入123450<;回车>;,则输出结果是()。

A.66656B.6566456C.66666D.6666656

77.

78.(13)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为()

A.349

B.350

C.255

D.351

79.

80.在C语言中,要求运算数必须是整型的运算符是()。

A)%B)/

C)<D)!

五、程序改错题(1题)81.下列给定的程序中,函数proc()的功能是:计算并输出k以内最大的10个能被15或18整除的自然数之和,k的值由主函数传人。若k的值为800,则函数的值为7605。

请改正程序中的错误,使它能得出正确的结果。

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

试题程序:

六、程序设计题(1题)82.编写fun()函数,它的功能是:利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。

yn+1=cos(yn)

迭代步骤如下:

(1)取y1初值为0.0;

(2)y0=y1,把y1的值赋给y0;

(3)y1=cos(y0),求出一个新的y1;

(4)若y0=y1的绝对值小于0.000001,则执行步骤

(5),否则执行步骤(2);

(5)所求y1就是方程COS(y)-y=0的一个实根,作为函数值返回。

程序将输出结果Result=0.739085。

请勿改动main()函数与其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。

部分源程序给出如下。

试题程序:

参考答案

1.B

2.C

3.C解析:本题考查了通过数组首地址引用数组元素的方法。第一次执行fun(a)后,a[0]=3,a[1]=5。第二次执行fun(a)时,因为static变量j保存着上次执行时的值为2,所以a[2]=7,最后数组a={3,5,7,4,5},所以正确答案为C)。

4.B2E3是实型常量的指数形式,选项A错误;2.0E3是实型常量的指数形式,选项B正确;‘\\025’是八进制表示的转义字符,选项C错误;“a”是双引号标注的字符串常量,选项D错误。故本题答案为B选项。

5.A

6.A

7.C

8.C解析:软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,软件没计是确定系统的物理模型。软件测试即使用人工或自动手段来运行或测定某个系统的过程,其日的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件调试后要进行回归测试,防止引进新的错误。

9.D

10.B本题考查变量赋值基本概念。在声明一个变量后,如果未显式的对其进行赋值,则它的值是一个随机值。

11.B

12.A本题考查的是递归算法的分析。一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的fun()函数在n等于l时返回1,而在其余情况下返[fi]n+fun(n一1),所以本题的递归算法可以这样来表示:fun(n)=1(n=1)(初始值)fun(n)=n+fun(n一1)(n≠1)(递归关系)此时不难看出,该递归算法实现的是计算l+2+3+…+n,而且n必须大于0,否则会陷入死循环。故题目输出的结果是l+2+3+..+10=55.应该选择A)。

13.A条件表达式“x=表达式1?表达式2:表达式3”的含义是:先求解表达式1,若其值不为0(真),则求解表达式2,将表达式2的值赋给x;若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给X。本题中与条件表达式“(x-y)”等价的是“(x-y<0||lx-y>0)”。故本题答案为A选项。

14.A

15.Bstrlen是求字符串的长度,结果为4,sizeof是求数组的长度,而数据在定义时已给出长度为10。

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

17.C宏定义不是C语句,末尾不需要有分号。语句“printf(“%4.1f\\n”,S(a+b));”展开后为“printf(“%4.1f\\n”,3.5;*a+b*a+b;);”,所以程序会出现语法错误。故本题答案为C选项。

18.A软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A。

19.D

20.D

21.buf的首地址buf的首地址解析:考查fsets()函数的功能,f8ets()函数用来从文件中读入字符串。调用格式为:f8ets(buf,n,fp)。此处,fp是文件指针,buf是存放字符串的起始地址,n是一个int型变量。调用函数fsets()时,最多能读入n-1个字符,系统自动在最后加字符串结束标志,并以buf作为函数值返回。

22.bb解析:本题实现的功能是把大写字母转换为小写字母。小写字母的ASCII码值比相应的大写字母的ASCII码值大32。

23.静态分析静态分析解析:程序测试分为静态分析和动态测试。其中,静态分析是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。

24.11解析:在执行逻辑表达式'j=!ch&&i++'时,首先判断j=!ch的值,因为'ch=\'$\''不为0,所以'j=!ch=0',编译系统便不再计算表达式'i++'的值,i的值不变,仍为1。

25.77解析:解答本题的关键是要读懂程序,要找出能被7或11整除的所有整数,注意数学中的“或”和C语言中的“或”的区别,但在此处,if条件语句中用了“‖”运算符,若要找能同时被7和11整除的所有整数则在if的条件中应使用“&&”运算符。

当然,如果m的值输入50,即表达式fun(10,aa,&n);为fun(50,aa,&n);时输入结果为:711142122283335424449。

26.k=5k=5解析:本题主要考查了函数的递归调用方法。g=0或\ue008g=1\ue009或g=2是递归的终止条件,然后用回代的方法从一个已知值推出下一个值,直到计算出最终结果。

27.数据结构数据结构解析:Jackson方法是—‘种面向数据结构的结构化方法。

28.11解析:本题考查局部变量和全局变量的区别:局部变量是指作甩域在函数级和块级的变量,全局变量是指作用域在程序级和文件级的变量。

29.4040解析:本题中指针s1和s2都指向同一个内存中的地址。因此语句“*s2=20;”执行后,*\u3000s1=*s2=20。所以m最后的值为40。

30.floaty;structstu*floaty;\r\nstructstu*解析:float定义变量y为实型变量。要求变量next是指向自身结构体的指针,因此变量next应该是结构体stu的指针型变量。

31.gaegae解析:本题定义了两个字符串数组a[],b[],字符型指针变量p1和p2,且分别指向字符串数组a和b,抽打for循环,当if(*(p1+k)==*(p2+k))条件为真,执行输出*(p1+k)对应的字符。即当k=0时,*(p1+k)对应的字符串数组a中的字符L,*(p2+k)对应的字符串数组b中字符P,因此if(*(p1+k)==*(p2+k))条件为假,不执行printf语句,依此类推,将字符串数组a和b中对应位置上的字符——比较,如果对应位置上的字符相同,则输出该字符。

32.printf("a=%db=%d"ab);printf('a=%d,b=%d',a,b);解析:根据printf函数的格式可知输出语句应该为:printf('a=%d,b=%d',a,b);

33.软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定;调试也称排错,它是一个与测试有联系又有区别的概念。具体来说,测试的目的是暴露错误,评价程序的可靠性,而调试的目的是发现错误的位置,并改正错误。\r\n\r\n

34.操作系统或OS操作系统或OS解析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务。位于用户和操作系统之间。

35.11解析:①“sizeof'、“%”、“>”、“<<”、“*=”,运算符的优先级顺序为:“*=”→“>”→“<<”→“%”→“sizeof”;②位运算的优先级顺序为:“~”→“<<”→“>>”→“&”→“^”。(b=2)>(c=4)不成立,逻辑为假,所以n=0;(a=3)!=(b=2)成立,逻辑为真,所以m=1。

36.实体实体解析:E-R模型中,有3个基本的抽象概念:实体、联系和属性。在E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。

37.strlen(str)-1strlen(str)-1解析:程序中的for循环就是用来完成串反序的,所以应该对循环的条件进行初始化,所以在[18]应该填入strlen(str)-1。注意,在串反序的时候,不应该把串结束符‘\\0’也反序。

38.关系关系解析:在数据库中,一个表就是一个关系。一个关系的逻辑结构就是一张二维表。

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

40.驱动模块驱动模块解析:在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中,驱动模块相当于被测试模块的主程序,它接收测试数据,并传给被测试模块,输出实际测试结果。承接模块通常用于代替被测试模块调用的其他模块,其作用仅做少量的数据操作,是一个模拟子程序,不必将子模块的所有功能带入。

41.B

42.D解析:C语言中有基本的算术运算符(+、-、*、/)还包括自增自减运算符(++、-),在C语言解析表达式时,它总是进行贪婪咀嚼,这佯,该表达式就被解析为i+++++i,显然该表达式不合C语言语法。

43.B解析:C语言中字符串是以'\\0'字符结束的,且strlen()函数计算的是'\\0'字符前的所有字符的个数。本题中strlen(st)应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。sizeof()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的sizeof(st)为20。

44.D解析:C语言中,字符数据参加运算时,实际上是其ASCII码参与运算。大写字母的ASCII码比其对应的小写字母的ASCII码小32。因此大写字母转化为小写字母只需将其加上32即可。所以选项B)、C)都符合条件,因为变量c中存储的是大写字母,所以'c-\'A\''的值一定小于26,故选项A)与选项C)的含义相同。

45.D解析:本题通过函数调用对数组[0][0]、a[1][1]、a[2][2]、对a[0][3]进行求和,然后用return语句返回s的值。

46.C解析:软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法。

47.B解析:本题考查二维数组第一维的大小如何确定。二维数组第一维的大小由下列规则确定:①当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小:②当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小等于所得商数加1。

48.C解析:在关系模型的数据语言中,一般除了运用常规的集合运算(并、交、差、笛卡尔积等),还定义了一些专门的关系运算,如投影、选择、连接等。前者是将关系(即二维表)看成是元组的集合,这些运算主要是从二维表的行的方向来进行运算的。后者是从二维表的列的方向来进行运算的。

49.A解析:转文字符常量'\\xx'可以把'\\'后面的数字转换为对应的ASCII字符。

50.D解析:结构化程序设计要求把程序的结构限制为顺序、选择和循环三种基本结构,以便提高程序的可读性。这种结构化程序具有以下两个特点:首先,以控制结构为单位,只有一个入口和一个出口,使各单位之间的接口比较简单,每个单位也容易被人们所理解;其次,缩小了程序的静态结构与动态执行之间的差异,使人们能方便、正确地理解程序的功能。本题的正确答案是D。

51.A解析:p[0]存放的是“BOOL\\0”的首地址:p[1]存放的是“OPK\\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串的第—个字符。在for循环中,i的初值为3,那么输出的第—个字符为“S”,接着两次i--,则输出的值为*p[1],即字符“O”,所以本题的输出为SO。

52.C

53.A解析:条件表达式的形式如下:表达式1?表达式2:表达式3,所以本题条件表达式a<b?a:c<d?c:d应该理解为a<b?a:(c<d?c:d),首先求出条件表达式c<d?c:d的值等于2,再求条件表达式a<b?a:2的值,由于a-1<b-4成立,所以上述条件表达式的值等于1。

54.C解析:计算机语言分为低级语言、汇编语言和高级语言,C语言属于高级语言,但并不是说C语言比其他语言高级,所以选项A错误;除了低级语言外,其他各种语言都必须编译成能被计算机识别的二进制数才能执行,选项B错误;C语言出现从1972年到1973年间,并不是出现最晚的语言,所以选项D也是错误的。

55.D解析:本题考查指针变量的赋值。选项A)中,p1、p2本身都是地址变量,不能再将p1取地址赋给p2;选项B)中,不能将整型数据直接赋值给指针型数据;选项C)中,*p2代表了一个整型变量,而*p2=p1这个语句试图把一个地址值放入一个整型变量中是错误的;选项D)中指针间的赋值是正确的。

56.B解析:本题中首先定义了三个整型变量x、y和z并分别赋值为0、5和3,while循环的判定条件为z-->0&&++x<5,由于x的初值为3,所以当z--执行3次后,z-->0将不在成立,又由于x的初值为0,所以++x执行5次,++x<5将不再成立,而它们两个表达式的值为逻辑与的关系,故当z-->0不成立时整个表达式的值为假,因此该循环共执行了3次,即语句y=y-1共执行了三次,但while循环的判定表达式却执行了四次,故起最后输出的x、y、z的值分别为3,2,-1,所以,4个选项中选项B符合题意。

57.D解析:考查二维数组的定义及其元素引用的方法。当k=1时,引用的是二维数组元素w[1][1],值为字符串'FGH';当k=2时,引用的是数组元素w[2][2],即字符串'KL';当k=3时,结束程序的执行。

58.A解析:本题考查while语句和if语句的嵌套,程序段实现的功能是将p[1]至p[7]中的奇数相加求和并输出,j=13+15+17=45。

59.A解析:scanf()函数的功能是进行输入数据,它是按格式参数的要求从终端上把数据传送到地址参数所指定的内存空间中,C语言允许程序员间接地使用内存地址,这个地址是通过对变量名“求地址”运算得到的,求地址的运算符是&,得到的地址是一种符号地址。本题中定义了整型变量a和一个指向整型数据的指针变量pa,并定义pa是一个存放a的地址的变量。选项B中应该将a改为&a;选项C应该将&pa改为pa,因为pa已经表示存放a的地址;选项D中*pa表示的是指针pa所指向存储空间的变量的值,而不是一个地址。

60.D解析:本题考查自减(--)运算符的使用。“x--”是先引用x的值然后将x的值减1,所以输出的x值为8;“--y”是先将y的值减1然后再引用y的值,所以输出的y值

温馨提示

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

最新文档

评论

0/150

提交评论