2021年河南省焦作市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第1页
2021年河南省焦作市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第2页
2021年河南省焦作市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第3页
2021年河南省焦作市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第4页
2021年河南省焦作市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

2021年河南省焦作市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.有以下程序:#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf(“%d\n”,t);}程序的运行结果是()。

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

2.采用折半查找法查找长度为n的线性表时,每个元素的平均查找长度为()。

A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)

3.若有定义语句:"inta[4][10],*P,*q[4];"且0≤i<4,则错误的赋值是()。

A.D=aB.q[i]=a[i]C.p=a[l]D.P=&a[2][1]

4.以下()不是队列的基本运算

A.从队尾插入一个新元素B.从队列中删除第i个元素C.判断一个队列是否为空D.读取队头元素的值

5.下列说法错误的是______。

A.关系中每一个属性对应一个值域

B.关系中不同的属性可对应同一值域

C.对应同一值域的属性为不同的属性

D.DOM(A)表示属性A的取值范围

6.

7.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5

8.以下叙述中,不正确的是()。

A.使用staticfloata定义的外部变量存放在内存中的静态存储区

B.使用floatb定义的外部变量存放在内存中的动态存储区

C.使用staticfloatc定义的内部变量存放在内存中的静态存储区

D.使用floatd定义的内部变量存放在内存中的动态存储区

9.若串S1="ABCDEFG",S2="9898",S3="###",S4="012345",执行其结果为()。A.ABC###G0123B.ABCD###2345C.ABC###G1234D.ABCD###1234

10.有以下程序执行后的输出结果是()。A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5

11.以下说法正确的是()。

A.C语言只接受十进制的数

B.C语言只接受八进制、十进制、十六进制的数

C.C语言接受除二进制之外任何进制的数

D.C语言接受任何进制的数

12.若有定义“floata=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为()。

A.两个语句都是将变量a的值赋予变量P

B.*p=a是使P指向变量a,而p=&a是将变量的值赋予变量指针P

C.*p=a是将变量a的值赋予变量b,而&a是使P指向变量a

D.两个语句都是使P指向变量a

13.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()。

A.求子串B.联接C.匹配D.求串长

14.以下正确的字符串常量是()。A.“\\\”B.‘abc’C.OlympicGamesD.“”

15.在一个C语言源文件中定义的全局变量,其作用域为()。

A.由具体定义位置和extern说明来决定范围B.所在程序的全部范围C.所在函数的全部范围D.所在文件的全部范围

16.下列排序算法中,()算法可能会出现下面情况:初始数据有序时,花费的时间反而最多。

A.堆排序B.冒泡排序C.快速排序D.希尔排序

17.下述程序执行的输出结果是()。#includemain{chara[2][4];strcpy(a,"are");strcpy(a[1],"you");a[0][3]='&';printf("%s\n",a);}A.A.are&youB.youC.areD.&

18.

19.下列程序的运行结果是()。

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

20.采用邻接表存储的图的深度优先遍历算法类似于二叉树的()。

A.先序遍历B.中序遍历C.后序遍历D.按层遍历

二、2.填空题(20题)21.下面程序的功能是求整数m、n的最大公约数,请填空。

main()

{intm,n,r;

scanf("%d,%d",&m,&n);

if(【】){r=m;m=n;n=r;)

while(【】)

{r=m%n;m=n;n=r;}

printf("%d",m);

}

22.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种;前序遍历、【】遍历和后序遍历。

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

main()

{intp=30;

printf("%dkn",(p/3>0?p/10:p%3));

}

24.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。

25.在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个______实际上对应一个处理模块。

26.若a=10,b=20,则表达式!(a<b)的值是【】。

27.软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。

28.下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3,请填空。#include<conio.h>#include<stdio.h>#defineM81intfun(char*ss,charC){inti=0;for(;();ss++)if(*ss==C)i++;returni;}main(){chara[M],ch;printf("\nPleaseenterastring:");gets(A);printf("\nPleaseenterachar:");ch=getchar();printf("\nThenumberofthecharis:%d\n",fun(a,ch));}

29.数据库保护分为:安全性控制、______、并发性控制和数据的恢复。

30.以下程序运行后的输出结果是______。

intf(inta[],intn)

{

if(n>=l)

returnf(a,n-1)+a[n-1];

else

return0;

}

main{)

{

intaa[5]={1,2,3,4,5},s;

s=f(aa,5);

printf{'%d\n",s);

}

31.以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次放到该文

件中,用井作为结束输入的标志。请填空。

#include<stdio.h>

main()

{FILE*fp;

charch,fname[10];

printf("Inputthenameoffile\n");

gets(fname);

if((fp=【】)==NULL)

{printf("Cannotope\n");exit(O);}

printf("Enterdata\n");

while((ch=getchar())!='#')

fputc(【】,fp);

fclose(fp);

}

32.在面向对象的程序设计方法中,类的实例称为______。

33.下列程序的运行结果是______。

main()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

printf("%d,%d\n",a,b);

}

34.下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。请填空。

#include<stdlib.h>

#include<stdio.h>

voidfun(inta[],intn,int*max,int*d)

{intI;

*max=a[0];

*d=0;

for(I=0;【】;I++)

if(*max<【】)

{*max=a[I];*d=i;}}

main()

{inti,x[20],max,index,n=10;

randomize();

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

{x[i]=rand()%50;printf("%4d",x[i]);}

printf("\n");

fun(x,n,&max,&index);

printf("Max=%5d,Index=%4d\n",max,index);}

35.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【】。

36.测试用例包括输入值集和【】值集。

37.已定义charch='$';inti=1,j;,执行j!=ch&&i++以后,i的值为______。

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

39.数据库设计分为以下六个设计阶段:需求分析阶段、【】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。

40.写出下列程序的执行结果。swap(p1,p2)int*p1,*p2;{intp;p=*p1;*p1=*p2;*p2=p;}main(){inta,b,*p1,*p2;scanf("%d%d",&a,&B);p1=&a;p2=&b;if(a<B)swap(p1,p2);printf("\na=%d,b=%d\n",a,B);}若a=7,b=8,则程序的运行结果为()。

三、1.选择题(20题)41.设有下列二叉树:

对此二叉树中序遍历的结果为______。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

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

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

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

D.以上3种说法都不对

43.假定当前盘符下有两个文本文件,如下文件名a1.txta2.txt内容123#321#则下面程序段执行后的结果为#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#')putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar('\n/);}

A.123321B.123C.321D.以上答案都不正确

44.下列语句中,正确的是______。

A.staticcharstr[]="China";

B.staticcharstr[];str="China";

C.staticcharstr1[5],str2[]={"China"};strl=str2;

D.staticcharstr1[],str2[];str2={"China"};strcpy(str1,str2);

45.交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。A.A.&B.^C.||D.~

46.设有定义语句:charb='\123';则变量b包括()。

A.4个字符B.3个字符C.2个字符D.一个字符

47.若有以下程序段(n所赋的是八进制数):intm=32767,n=032767;printf("%d,%\n",m,n);执行后输出结果是()。

A.32767,32767B.32767,032767C.32767,77777D.32767,077777

48.数据库系统可分为三级模式,下列选项中不属于数据库三级模式的是

A.抽象模式B.外模式C.概念模式D.内模式

49.以下只有在使用时才为该类型变量分配存储单元的存储类说明是______。

A.auto和static

B.auto和register

C.register和static

D.extern和register

50.设有如下函数:fun(floatx){x*=x++;printf("%d\n",x);return(x);}则函数的类型是______。

A.floatB.voidC.intD.无法确定

51.有一个数值152,它与十六进制数6A相等,那么该数值是()

A.二进制数B.八进制C.十进制数D.四进制数

52.希尔排序法属于______类型的排序法。

A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法

53.设有以下定义inta=0;doubleb=1.25;charcc='A';#defined2则下面语句中错误的是

A.a++;B.b++;C.c++;D.d++;

54.有以下程序: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

55.请选出以下程序的输出结果______。#include<stdio.h>sub(x,y,z)intx,y,*z;{*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}

A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-7

56.若有以下定义,则表达式a*b+d-c值的类型为______。chara;intb;floatc;doubled;

A.floatB.intC.charD.double

57.计算机辅助教育的英文缩写是()

A.CADB.CAMC.CAID.CAT

58.在下列选项中,______不是一个算法一般应该具有的基本特征。

A.确定性B.可行性C.无穷性D.拥有足够的情报

59.若m,y,z均为int型变量,则执行下面语句后m值是______。m=1;x=2;y=3;z=4;m=(m<x)?m:x;m=(n<y)?m:y;m=(m<z)?m;z;

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

60.下列司用于C语言用户标识符的—组是______。

A.voiddefineWORD

B.a3_b3_123Car

C.For-abcIFCase

D.2aDOsizeof

四、选择题(20题)61.有两个关系R,S如下:

由关系R通过运算得到关系s,则所使用的运算为()。

A.选择B.插入C.投影D.连接

62.设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是()。

A.x++;printf("%dkn",x);

B.n=++x;printf("%d\n",n);

C.++x;printf("%d\n",x);

D.n=x++;printf("%6d\n",n);

63.

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

#include<stdio.h>

main()

{inti,S=0;

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

if(!(i%2)&&!(i%3))s+=i;

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

}

A.4B.39C.45D.6

64.以下叙述中错误的是()。

A.用户所定义的标识符允许使用关键字

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

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

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

65.

66.若有定义语句:inta=3,b=2,c=1;以下选项中错误的赋值表达式是()。

A.a=(b=4)=3;B.a=b=c+1;C.a=(b=4)+c;D.a=1+(b=c=4);

67.若有定义语句:“inta=3,b=2,c=1;”,以下选项中错误的赋值表达式是()。

A.a=(b=4)=3;B.a=b=c+1:C.a=(b=4)+C;D.a=1+(b=c一4);

68.下列条件语句中,输出结果与其他语句不同的是()。

A.if(a)printf("%dn",x);elseprint[("%d\n",y)

B.if(a=0)pritf("%dn",y);elseprint[("%d\n",x)

C.if(a!一0)printf("%dn",x);elseprint[("%a\n",y)

D.if(a=O)print[("%dn",x);elseprintf("%d\n",y)

69.有三个关系R、S和T如下:

则由关系R和s得到关系T的操作是()。

A.自然连接B.并C.交D.差

70.在执行完下列的c语句段之后,则B的值是()。chara=A;intb;B=((34&&56)&&(a<b));A.0B.1C.TRUED.FALSE

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

main()

{char*s="12134211";

intv1=0,v2=0,v3=0,v4=0,k;

for(k=0;s[k];k++)

switch(s[k])

{case’1’:v1++;

case’3’:v3++;

case’2’:v2++;

defaule:v4++;

}

printf("v1=%d,v2=%d,v3=%d,v4=%d\n,v1,v2,v3,v4);

}

A.v1=4,v2=2,v3=1,v4=1

B.v1=4,v2=9,v3=3,v4=1

C.v1=5,v2=8,v3=6,v4=1

D.v1=4,v2=7,v3=5,v4=8

72.以下程序的功能是计算:s=1+12+123+1234+12345

A.tB.t*10C.t*100D.t+10

73.

74.以下定义数组的语句中错误的是()。

A.intnum[][3]={{1,2},3,4,5,6};

B.intnUITI[2][4]={{1,2},{3,4},{5,6}};

C.intnum[]={1,2,3,4,5,6};

D.intnum[][4]={1,2,3,4,5,6’};

75.

下列程序的运行结果是()。

main

{intx=1,y=3,a=0;

while(x++!=(y-=l))

{a+=1;

if(y<x)break;

}

printf("%d,%d,%d\n",x,y,a);

}

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

76.

77.若变量a、i已正确定义,且i已正确赋值,合法的语句是()。A.A.a==1B.++iC.a=a++=5D.a=int(i)

78.若有定义语句:

char}sl=‘’0K”,:Its2=”ok”;

以下选项中,能够输出“OK”的语句是()。

A.if(strcmp(sl,s2)!=0)puts(s2);

B.if(strcmp(sl,s2)!=0)puts(s1);

C.if(strcmp(sl,s2)==1)puts(s1);

D.if(strcmp(sl,s2)==0)puts(s1);

79.

80.有以下程序:

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

五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是l5。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。

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

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

试题程序:

六、程序设计题(1题)82.请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。

例如,当str所指字符串中的内容为abcdefg,则在t所指数组中的内容应是bdf。

注意:部分源程序给出如下。

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

试题程序:

参考答案

1.B内循环只循环一次就结束,第1次外循环时,t=t+b[0][b[0][0]]=1+b[0][0]=1+0=1;第2次外循环时,t=t+b[1][b[1][1]]=1+b[1][1]=1+1=2;第3次外循环时,1=1+b[2][b[2][2]]=2+b[2][2]=2+2=4。故本题答案为B选项。

2.D

3.A数组名是一个存放一个数组首地址的值,是一个地址常量。而p=a不是合法的,因为p和a的基本类型不同。

4.B

5.C解析:关系中每一个属性都有一个取值范围,称为属性的值域。每—个属性对应一个值域,不同属性可对应同一个值域。对应同一值域的却不一定是不同的属性。属性的值域用DOM(A)表示,A表示属性的名称。

6.A

7.C解析:这是一个逗号表达式,它的值应为表达式y=x+3/2的值,而前一个表达式已给x赋值1,在没有进行类型转换的情况下,3/2的值为1,所以x+3/2的值应为2.0。

8.B

9.D

10.B

11.BC语言可以使用格式控制符“%d”“%u”等接受十进制的数,使用“%o”接受八进制的数,使用“%x”接受十六进制的数。本题答案为B选项。

12.C“P”是指针变量,指向一个地址:“*P”为P指针所指向地址的内容“&”是取变量地址。

13.C

14.D在C语言中,字符串常量是用双引号标注的字符序列,因此B选项和C选项不正确。字符序列中可包含一些转义字符,转义字符以“\\”开头。A选项中包含3个前两个(\\\\)代表一个“\\”字符,后面一个为“””。因为\\”被看作一个“””,所以该字符串缺少一个结束的“””。因此A选项不正确。D选项的两个“”之间没有任何字符,代表的是一个空串,是合法的字符串常量,因此D选项正确。B选项的abc应该使用双引号标注。故本题答案为D选项。

15.A全局变量的作用域是从声明处到文件的结束。故本题答案为A选项。

16.C

17.Astrcpy实现的功能是复制,该操作把are复制到a中,a[0][3]='&',且strcpy(a[1],"you")把you复制到a[1]中,故输出a为“are&you”。

18.A

19.D本题考查while循环。第一次循环,y=y-1,y=2,循环条件成立,x=1,x++后值为1,x自加变成2,进入循环,a=a+1=1,判断if语句条件是否成立,y<x不成立,接着执行下一次循环。第二次循环,x=2,y-1=1.循环条件成立,进入循环,a=a+1=2,判断if语句的控制条件是否成立,y<x成立,执行break语句。退出循环。结果为D。

20.A

21.m<n或n>mr或r!=0m<n或n>m\r\nr或r!=0解析:本题使用的是“辗转相除”法求两个数的最大公约数,即以两个数中较大的除以较小的,如果余数不为0,则将较小的数和余数做同样处理,直到被除断为止,此时较小的数就是两个数的最大公约数。本题第一空要求填写一个if语句的判断条件,如果满足此条件则交换m和n的值,再看后面while循环的循环体,使用m%n求余,则此if语句的作用应该是保证m是两个数中较大的那个,故第一空填m<n或n>m。接下来的while循环实现整个辗转相除的过程,其结束条件应该是余数r为0,所以while的循环条件应该填r或r!=0。

22.中序中序解析:在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历和后序遍历.前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历指在访问根结点、遍历左了树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树:并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历右子树,然后访问根结点,最后遍历左子树;并且遍历左、右子树时,仍然光遍历右子树,然后访问根结点,最后遍历左子树。

23.33本试题中,先判断表达式p/3>0,该值为真,所以此表达式等于p/10的值3,故最后输出的值为3。

24.实体实体

25.加工加工解析:数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。其中的每一个加工对应一个处理模块。

26.00解析:已知a=10,b=20,所以逻辑表达式a<b的值为true,即为1,在这个表达式前面有一个逻辑运算符!,表示反操作,所以整个语句的值应当为false,即为0。

27.测试实例测试实例解析:进行软件测试时,应精心设计测试实例和选择测试数据,以对系统进行全面测试。

28.*ss!='\0'*ss!='\\0'解析:本题考查的是指针的应用。题目要求求出字符串ss中指定字符的个数。分析整个程序,空缺处是检验指针ss是否指向了字符串的末尾,如没有,即执行下面语句,判断指针ss指向的字符是否字符c,若是,i自加1;所以空缺处填入*ss!='\\0',作为循环终止的条件。

29.完整性控制完整性控制

30.1515解析:在函数f()中只有一条if语句,如果n不小于1,则返回f(a,n-1)+a[n-1);,否则返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3]……直到f(aa,0)返回0.故f(aa,5)实际返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本题最终输出15。

31.fopen(fname:"w")

32.对象对象解析:在面向对象的程序设计方法中,类是具有相同的属性或方法的对象的抽象,对象是类的实例。

33.282,8解析:do…while语句的功能是:首先执行循环体语句,然后检测循环控制条件表达式的值,若为真,则重复执行循环体语句,否则退出循环。这里程序初始时a=1,b=10,经过操作b-=a;a++后b=9,a=2,判断条件b--<O不成立,退出循环,但b的值被减1,因此结果为:a=2,b=8。

34.I<na[I]I<n,a[I]解析:该程序直接使用形参max和d,由于它们都是指针变量,所以要引用它们所指向的变量时,要对它们进行指针运算,即*号运算。

35.软件生命周期软件生命周期解析:软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。

36.输出输出解析:测试用例曲测试输入数据(输入值集)和与之对应的预期输出结果(输出值集)两部分组成。

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

38.一对多一对多解析:由于一个项目主管可以管理多个项目,而一个项目只能有一个项目主管,“项目主管”这个实体与“项目”这个实体的管理关系属于一对多。

39.概念设计阶段概念设计阶段解析:数据库设计分为以下六个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。

40.a=8b=7

41.B解析:所谓中序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。

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

43.A解析:本题的功能是顺序的读两个文本文件,依次输出。当打开文件时出现错误,fopen函数将返回NULL。

44.A

45.B解析:按逻辑位运算的特定作用主要有3点:①用按位与运算将特定位清0或保留特定位:②用按位或运算将特定的位置设置为1;③用按位异或运算将某个变量的特定位翻转或交换两个变量的值。

46.D解析:\\123为转义字符,是一个字符常量,斜线后面的是八进制数,可以由0开头,最多由3个八进制数组成。它只代表一个字符,此八进制数就是这个字符的代码。语句charb='\\123'是给字符变量赋初值,初值为一个字符。所以,选项D符合题意。

47.A解析:程序在定义时,以十进制形式为m赋初值,以八进制的形式为n赋初值。输出的时候m以十进制形式输出,n以八进制形式输出,因此输出的结果为32767和32767。所以,A选项为所选。

48.A解析:数据库的三级模式是指概念模式、内模式和外模式,其中外模式又叫子模式,内模式又叫物理模式.所以本题答案为A。

49.B解析:auto变量和register变量在使用时,系统自动为其分配存储单元;退出时自动释放这些存储单元另做它用。

50.C解析:函数fun缺省返回值类型时,系统将默认为int型。形参x是float型,和函数返回值类型不一致,此时,以函数返回值类型为准。

51.B

52.B解析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。

53.D解析:自加运算对象可以是整型变量也可以是实型变量,但不能是表达式和常量。本题中,#defined2定义了d为常数2,不能再对d进行自加运算。

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

55.B解析:sub()函数的作用是将形参y和x的差赋给了z指向的那个内存地址,所以在sub(10,5,&A),10和5届于值传递,a是属于地址传递,也就是a与z指向了同一个存储单元,在执行函数后,a的值随*z变化,所以此次函数被调用后,a的值为y-x=-5,同理可知,在sub(7,a,&B)后,b的值发生变化,其值为-5-7=-12,在sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。

56.D解析:在C语言中,不同数据类型的数据运算时要先转换成相同的数据类型再参与运算。在上述表达式中,字符型先转换成整数得到a*b,整数再转换成双精度型执行+d,单精度float型数据c先转换成双精度double型数据后参与减法运算。结果是double型。

57.C

58.C解析:作为一个算法,一般应具有以下几个基本特征。①可行性②确定性③有穷性④拥有足够的情报

59.A

60.B解析:C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,所以排除C和D。C语言还规定标识符不能为C语言的关键字,从而选项A(void是关键字)是错误的。

61.CC专门的关系运算有3种:投影、选择和连接。选择运算是从关系中找出满足给定条件的那些元组,其中的条件是以逻辑表达式给出的,值为真的元组将被选取,这种运算是从水平方向抽取元组。投影运算是从关系模式中挑选若干属性组成新的关系,这是从列的角度进行的运算,相当于

\n对关系进行垂直分解。连接运算是二目运算,需要两个关系作为操作对象。

62.D本题考查++运算操作符,当++在变量前面时,是先加l再赋值,当++在变量后面时,是先赋值再加l,所以答案选择D。

63.D

\nif语句的条件是当i既是3的倍数又是2的倍数时成立,所以此程序实现的功能是将10以内既是3的倍数又是2的倍数的数相加。

\n

64.Ac语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,排除D);用户定义标识符中大小写字母之间是有区别的并且应尽量做到”见名识意”,排除选项B)和c);C语言中还规定标识符不能为c语言的关键字,故选项A)叙述错误,正确答案是选项A)。

65.B

66.A不能将变量或常量赋给一个表达式,所以A选项中(b=4)=3是错误的。

67.A由等式的规则可知,A选项错误。先对括号的b进行等式运算,得出b=4,然后计算得出a=4=3,所以会导致错误。答案选

温馨提示

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

评论

0/150

提交评论