![2021年湖北省十堰市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第1页](http://file4.renrendoc.com/view/3b68bb35b8f33aac1eaf9238322cb770/3b68bb35b8f33aac1eaf9238322cb7701.gif)
![2021年湖北省十堰市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第2页](http://file4.renrendoc.com/view/3b68bb35b8f33aac1eaf9238322cb770/3b68bb35b8f33aac1eaf9238322cb7702.gif)
![2021年湖北省十堰市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第3页](http://file4.renrendoc.com/view/3b68bb35b8f33aac1eaf9238322cb770/3b68bb35b8f33aac1eaf9238322cb7703.gif)
![2021年湖北省十堰市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第4页](http://file4.renrendoc.com/view/3b68bb35b8f33aac1eaf9238322cb770/3b68bb35b8f33aac1eaf9238322cb7704.gif)
![2021年湖北省十堰市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)_第5页](http://file4.renrendoc.com/view/3b68bb35b8f33aac1eaf9238322cb770/3b68bb35b8f33aac1eaf9238322cb7705.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年湖北省十堰市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.为非法的字符串常量()。A.“case”B.“”C.”056”D.‘123’
2.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是()。
A.1:m联系B.m:n联系C.1:1联系D.m:1联系
3.以下选项中,能表示逻辑值“假”的是()
A.1B.0.000001C.0D.100.0
4.若有定义“intb[8],*p=b;”,则p+6表示()。
A.数组元素b[6]的值B.数组元素b[6]的地址C.数组元素b[7]的地址D.数组元素b[0]的值加上6
5.若有定义“int*p[3];”,则以下叙述中正确的是()。A.定义了一个指针数组p,该数组含有3个元素,每个元素都是基类型为int的指针
B.定义了一个基类型为int的指针变量p,该变量具有3个指针
C.定义了一个名为*p的整型数组,该数组含有3个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个int类型元素
6.下列关于函数的叙述中正确的是()。A.A.每个函数都可以被其他函数调用(包括main函数)
B.每个函数都可以被单独编译
C.每个函数都可以单独运行
D.在一个函数内部可以定义另一个函数
7.
8.线处应填入().A.b[i++]B.b[i]++C.b[i+=2]D.b[i]+=2
9.为了使模块尽可能独立,要求()。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
10.
11.对于一个正常运行的C程序,下列叙述中正确的是()。A.A.程序的执行总是从main函数开始,在main函数结束
B.程序的执行总是从程序的第一个函数开始,在main函数结束
C.程序的执行总是从main函数开始,在程序的最后一个函数中结束
D.程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束
12.以下程序的输出结果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a[3][0]);}
A.650B.1470C.5430D.输出值不定
13.若有定义“inta=0,b=1,c=1;”,关于逻辑表达式“a++||b++&&c++”中各个部分的执行顺序,以下说法正确的是()。
A.先执行“b++”,再执行“c++”,最后执行“a++”
B.先执行“a++”,再执行“b++”,最后执行“c++”
C.先执行“c++”,再执行“b++”,最后执行“a++”
D.先执行“b++”,再执行“a++”,最后执行“c++”
14.当很频繁的对序列中部进行插入和删除操作时,应该选择使用的容器是()
A.vectorB.listC.dequeD.stack
15.是哈希查找的冲突处理方法()。
A.求余法B.平均取中法C.二分法D.开放地址法
16.以下选项中,值为1的表达式是()。
A.1-‘0’B.1-‘\0’C.‘1’-0D.‘\0’-‘0’
17.设有以下说明,则不正确的叙述是()。
A.A.arr所占的内存长度等于成员c的长度
B.arr的地址和它的各成员的地址都是同一地址
C.arr可以作为函数参数
D.不能在定义arr时对它初始化
18.有以下程序
#include<stdio.h>
main()
{charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序运行后,若从键盘输入(从第1列开始)
123<回车>
45678<回车>
则输出结果是
A.1267B.1256C.1278D.1245
19.若果要求一个线性表既能较快查找,又能适应动态变化的要求,可以采用()查找方法。
A.分块B.顺序C.二分D.散列
20.有以下程序voidss(char*s,chart){while{*s)if(*s==t)*s-t-'a'+'A';S++;main(){charstrl[100]="abcddfefdbd",c='d';ss(str1,c);printf("%s\n",str1);}程序运行后的输出结果是
A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd
二、2.填空题(20题)21.以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志,请填空。
#include<stdio.h>
main()
{FILE*fp;
charch,fname[10];
printf("Inputthenam\n");
gets(fname);
if((fp=【】==NULL)
{printf("Cannotopen\n");exit(0);}
printf("Enterdata\n");
while(ch=getchar()!='#')
fputc(【】,fp);
fclose(fp);
}
22.下列程序运行后的输出结果是______。
#include<stdio.h>
main()
{chars[20];
scanf("%s",s);
printf("%s",s);
}
运行程序,输入HOWAREYOU。
23.设y是int型,请写出y为奇数的关系表达式【】。
24.在数据库理论中,数据物理结构的改变,如存储设备的更换、物理存储的更换、存取方式等都不影响数据库的逻辑结构,从而不引起应用程序的变化,称为【】。
25.在具有n个单元、顺序存储的循环队列中,队满时,共有【】个元素。
26.有以下程序
main()
{intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\n",t);
}
执行后输出结果是______。
27.软件的可移植性是用来衡量软件【】的重要尺度之一。
28.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,(),SEEK_END;f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
29.在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的______。
30.Jackson方法是一种面向【】的结构化方法。
31.设Y是int型变量,请写出判断Y为奇数的关系表达式【】。
32.执行下列程序的输出结果是【】。
main()
{
floata=1,b;
b=++a*++a;
printf("%f\n",b);
}
33.以下程序的输出结果是【】。
#include<string.h>
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
34.以下函数将b字符串连接到a字符串的后面,并返回a中新字符串的长度。
strcen(charaC),charb[])
{intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;)
return(num);
}
35.问题处理方案的正确而完整的描述称为______。
36.以下程序中给指针p分配三个double型动态内存单元,请填空。
#include<stdio.h>
main()
{dOuble*p;
p=(double*)malloc();
p[0]=1.5;p[1]=2.5;p[2]=3.5
printf("%f%f%f\n",p[0],p[1],p[2]);
}
37.以下程序中,for循环体执行的次数是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{inti;
for(i=1;i<K;i++){......}
38.下面能正确进行字符串赋值操作的是
39.若下面程序的输出结果是4,请填空。
main()
{inti,j,k;
k=0;i=j=【】;
k+=-(i+j);printf("%d\n",k);
}
40.有以下程序:
intsub(intn){return(n/10+n%10);}
main()
{intx,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若运行时输入:1234<回车>,程序的输出结果是【】。
三、1.选择题(20题)41.下列程序的执行结果是()。#include<stdio.h>main(){inta,b,c;a=b=2;c=(a++)-1;printf("%d,%d",a,c);c+=-a+++(++b);printf("%d,%d",a,c);}
A.3,14,1B.3,14,2C.2,04,1D.2,14,1
42.下述关于C语言文件的操作的结论中,正确的是______。
A.对文件操作必须先关闭文件
B.对文件操作必须先打开文件
C.对文件操作顺序无要求
D.对文件操作前必须先测文件是否存在,然后再打开文件
43.有以下程序:#include<stdio.h>fun(intx,inty,intz){z=x*y;}main(){inta=4,b=2,c=6;fun(a,b,c);printf("%d",c);}程序运行后的输出结果是()。
A.16B.6C.8D.12
44.为了提高测试的效率,应该()。
A.随机选取测试数据
B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.集中对付那些错误群集的程序
45.以下程序的输出结果是(){intx=05;charz='a';printf("%d\n",(x&1)&&(z<'z'));}
A.0B.1C.2D.3
46.以下程序的输出结果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
47.以下选项中不能作为合法常量的是_____。A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0
48.一个C程序可以包含任意多个不同名的函数,但有且仅有一个______。
A.过程B.函数C.主函数D.子程序
49.有以下程序:#include<stdio.h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行时输入:a<回车>后,以下叙述正确的是()。
A.变量c1被赋予字符a,c2被赋予回车符
B.程序将等待用户输入第2个字符
C.变量c1被赋予字符a,c2中仍是原有字符2
D.变量c1被赋予字符a,c2中将无确定值
50.设有如下变量定义:doublea=3.500000;floatb=2.5;intm=2,n=3;则表达式“(float)(m+n)/2+(int)a%(int)b”的值是()
A.2.5B.3.5C.4.5D.表达式不正确
51.有以下程序:#include<string.h>voidf(charp[][10],intn)/*字符串从小到大排序*/{chart[10];inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strcmp(p[i],p[j])>0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[5][10]={"abc","aabdog","abbd","dcdbe","cd"};f(p,5);printf("%d\n",strlen(p[0]));}程序运行后的输出结果是()。
A.2B.4C.6D.3
52.设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1,则T中的叶子结点数为()。
A.5B.6C.7D.8
53.字符串"\\\"ABCDEF\"\\"的长度是()。
A.15B.10C.7D.8
54.下列选项中C语言中不合法的字符串常量的是
A.\121B.'y'C.\n\nD.ABCD\x6d
55.执行语句printf(“%ukn”,+12345)的输出结果是()。
A.12345B.0C.-1D.非定值
56.以下选项中合法的用户标识符是A.longB._2TestC.3DmaxD.A.dat
57.为了避免嵌套的if-else的二义性,C语言规定:else与______配对。
A.缩排位置相同的ifB.其之前最近的ifC.其之后最近的ifD.同一行上的if
58.若有定义:inta=8,b=5,c;执行语句c=a/b+0.4;后,c的值为
A.1.4B.1C.2D.2
59.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。A.编码设计B.测试阶段C.运行阶段D.物理设计
60.下列程序的运行结果是()。
#include<stdiO.h>
main()
{inta=0,b=4,c=0,d=10,x;
if(a)
d=d-10;
e1se
if(!B)
if(!C)
x=15;
else
x=25;
printf("%d\n",D);
}
A.5B.3C.20D.10
四、选择题(20题)61.
下述程序执行的输出结果是()。
#include<stdio.h>
main
{chara[2][4];
strcpy(a,"are");strcpy(a[1],"you");
a[0][3]=&;
printf("%s\n",a):
}
A.are&youB.youC.areD.&
62.
63.设文件指针fp已定义,执行语句fp=fopen(”61e”,”W”);后,以下针对文本文件file操作叙述的选项中正确的是()。
A.只能写不能读B.写操作结束后可以从头开始读C.可以在原有内容后追加写D.可以随意读和写
64.
65.下列叙述中错误的是()。
A.数据库管理系统是数据库的核心
B.数据库系统由数据库、数据库管理系统、数据库管理员三部分组成
C.数据共享最好的是数据库系统阶段
D.数据库中的数据独立于应用程序而不依赖于应用程序
66.(3)在一棵二叉树上第5层的结点数最多是______。
A.8
B.16
C.32
D.15
67.若变量已正确定义并赋值,以下符合C语言语法的表达式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a:a+7:c+b
68.以下选项中,能用作数据常量的是()。
A.115LB.0118C.1.5el.5D.0115
69.
70.有以下程序:
程序运行后的输出结果是()。
A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
71.若有定义语句:“inta=10;doubleb=3.14;”,则表达式A+a+b值的类型是()。
A.charB.intC.doubleD.float
72.在数据结构中,与所使用的计算机无关的是数据的()。
A.存储结构B.物理结构C.逻辑结构D.物理和存储结构
73.表达式a+=a-=a=9的值是()。
A.0B.-9C.18D.9
74.#define能作简单的替代,用宏来替代计算多项式5*x*x+5*x+5的值的函数f,正确的宏定义语句为()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
75.有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是()。
A.自然连接B.交C.除D.并
76.
77.
下列程序的输出结果是()。
#include<stdio.h>
main
{inti;
for(i=1;i<=10,i++)
{if((i*i>=20)&&(i*i<=100))
break;
}
printf("%d\n",i*i;
}
A.49B.36C.25D.64
78.下列函数的功能是
set(s,t)
{char*s,*t;
while((*s)&&(*t)&&(*t++==*s++));
return(*s-*t);
}A.A.求字符串的长度
B.比较两字符串的大小
C.将字符串s复制到字符串t中
D.将字符串s连接到字符串t后
79.
80.下列叙述中正确的是()。A.数据库系统可以解决数据冗余和数据独立性问题,而文件系统不能
B.数据库系统能够管理各种类型的文件,而文件系统只能管理程序文件
C.数据库系统可以管理庞大的数据量,而文件系统管理的数据量较少
D.数据库系统独立性较差,而文件系统独立性较好
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:计算str所指字符串中含有t所指字符串的数目,并作为函数值返回。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
六、程序设计题(1题)82.请编写一个函数proc(),它的功能是:找出一维数组元素中最大的值和它所在的下标,最大值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。
主函数中arr是数组名,n是arr中的数据个数,max存放最大值,index存放最大值所在元素的下标。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
参考答案
1.D
2.A部门到职员是一对多的,职员到部门是多对一的,因此,实体部门和职员间的联系是l:m联系。
3.C\n本题考查逻辑值假,在程序中非0字符表示逻辑真,0表示逻辑假,所以答案选择C。
\n
4.B指针中存放的是变量的地址,指针也可以进行增减运算,这时指针移动的最小单位是一个存储单元,而不是一个字节。所以题中“P+6”指的是将指针向后移动了6个存储单元,即指向uE63,存放的是b[6]的地址。
5.Aint*p[3]含义是定义一个指针数组p,数组中包含3个元素,每个元素都是int*类型的指针。本题答案为A选项。
6.B在C语言中,函数定义是平行的,函数不能嵌套定义,即函数之间没有从属关系。虽然函数之间可以相互调用,但main函数不能被调用,选项A)错误;C程序从main函数开始执行,当main数执行完毕时,整个程序就结束了。C程序的执行必须从main函数开始,选项C)选项错误;函数不能嵌套定义,选项D)错误。
7.A
8.D
9.B解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。本题答案为B。
10.D
11.A解析:一个C语言源程序无论包括了多少函数,总是从main函数开始执行,从main函数结束。
12.A解析:对未给出初始值的整数数组元素,被默认初始化为零。
13.BC语言中运算符有优先级和结合性。自增、自减运算符的优先级高于逻辑运算符,逻辑运算符中逻辑与“&&”的优先级比逻辑或“||”高,逻辑运算符的结合性自左向右。所以题干中表达式等价于“(a++)||((b++)&&(c++))”。运算顺序为:首先执行“a++”,再执行“b++”,最后执行“C++”。故本题答案为B选项。
14.B
15.D
16.B字符‘\\0’为空值,其ASCII值为0,所以B选项的值为1。字符‘0’的ASCII值为48,所以A、C、D选项的值均不为1。故本题答案为B选项。
17.C本题主要考查联合体的内存使用:联合体所占用的内存空间为最长的成员所占用的空间,int占2个字节,char占1个字节,float占4个字节,所以arr所占的内存长度等于成员c的长度:arr的地址和它的各成员的地址都是同一地址;不能直接对arr赋值,即不能在定义arr时对它初始化:arr也不可以作为函数参数。
18.D解析:putchar(c1)输出1,putchar(c2)输出2,printf('%c%c\\n',c5,c6)输出45。
19.A
20.B解析:本题中的函数ss()有两个参数,一个是字符型指针变量s,另一个是字符型变量t在函数中通过一个while循环,在循环中一次取出s指向的字符串并判断它是否和t中存放的字符相同,若相等,则执行“s=t-'a'+'A':”(若是小写字母,则把它转换成大写字母)语句。在主函数中执行函数调用ss(strl,c),很显然是把str1数组中所有字符“d”变成大写字母,其他字符不变。所以4个选项中B正确。
21.fopen(fname"w")chfopen(fname,'w')\r\nch解析:数组fname用来存放终端输入的一个文件的文件名;文件使用方式'w'是为写而打开文本文件。若文件不存在,系统将用在fopen调用中以指定的文件名建立一个新文件;若存在,则覆盖原有内容;fputs(ch,fp)的功能是将字符ch写到文件指针fp所指的文件中去。
22.HOWHOW解析:在scanf()函数中,使用空格作为分隔符,如果输入含有空格的字符中,则不能使用scanf()数,所以本题中输入空格就返回了'\\0\\,s数组也就确定了,后面的输入就不再读入数组s中。
23.y%2==1y%2==1解析:由关系运算符组成的表达式称为关系表达式。判断2除y的余数是否为1,即可判断y是否为奇数。
24.物理独立性物理独立性解析:数据的物理结构改变,不影响数据库的逻辑结构,从而不引起应用程序的变化,这种性质叫做物理独立性。
25.n-1
26.00解析:本题中的for循环共执行了6次,每执行一次将相应i的值相乘,最后当i=-1时停止循环.该for循环执行完后t的值为5*4*3*2*1*0=0,故最后输出I的值为0。
27.质量质量
28.fopenfopen解析:C语言中的文件分为:ASCII文件与二进制文件。文件在使用前打开,使用后要关闭。打开文件的函数为:fopen(),调用形式为:fp=fopen(“文件名”,“使用文件方式”);关闭文件的函数为:fclose(),调用形式为:fclose(fp);其中fp为文件指针。
29.封装性封装性解析:对象具有下列5个基本特点:①标识惟一性;②分类性:③多态性;④封装性;⑤模块独立性好。其中,封装性是指从外面看只能看到对象的外部特征,对象的内部特征即处理能力的实行和内部状态,对外是不可见的,对象的内部状态只能由其自身改变。
30.数据结构数据结构解析:Jackson方法是—‘种面向数据结构的结构化方法。
31.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判断变量是否为奇数可以用变量与2取模,判断结果是为1或下为0。本题具体做法如下:Y%2=1或Y%2!=0。
32.66解析:++的优先级高于*,先作自加运算,b=++a*++a=2.0*3.0=6.0。b按实型输出6.000000。
33.99解析:本题要输出的结果是字符串'IBM\\n012\\1\\\\'的长度,'IBM'是3个字符,\'\\n\'是1个字符,'012'又是3个字符,最后的\'\\1\'和\'\\\\\'都是1个字符。所以最终字符串的长度应该是3+1+3+1+1=9。故本题应该填9。
34.\0n++
35.算法或程序或流程图算法或程序或流程图解析:算法是问题处理方案正确而完整的描述。
36.3*sizeof(double)或size(double)*3或24或3*8或8*33*sizeof(double)或size(double)*3或24或3*8或8*3解析:本题考核的知识点是malloc()函数.该函数的调用格式是“malloc(n)”,作用是申请n个字符的存储单元,并返回该存储区的首地址,实际调用的时候可在前面加上“(类型说明符*)”,以转换成需要的类型的地址.所以在此空格处应该填写3*sizeof(double)或size(double)*3或其他等价的表达式。
37.44解析:本题考查宏定义。预编译时,首先将M的宏定义带入K,得到N+1+1*N+1/2;再将N的宏定义带人,得到2+1+1*2+1/2=3+2+0=5,所以循环4次。
38.C
39.-2-2解析:题目中定义并初始化了变量k为0,最后输出k的值,要求为4,而在此期间只有k+=-(i+j);这条语句改变了k的值,即要求表达式-(i+j)的值为4。所以,答案应该为-2,因为只有i=j=-2时,表达式-(i+j)的值才为4。
40.1010解析:y=sub(sub(sub(x)))=sub(sub(127))=sub(19)=10。
41.A解析:本题主要考查自加运算符(++、--)的使用。①前缀变量“++i、--i”,在使用i之前,先使i的值加1或者减1,再使用此时的表达式的值参与运算;②后缀变量“i++、i--”,先使用此时的表达式的值参与运算,在使用i之后,再使i的值加1或者减1。本题中计算表达式c=(a++)-1时先使用a的值进行计算,结果为c=2-1=1,然后将a的值加1,即执行完此语句后a的值是3;表达式c+=-a+++(++b)等价于c=c+(-a++)+(++b),c=1+(-3)+3=1,此时a=4,b=3。
42.B解析:在C中对文件操作必须先打开文件,待文件操作完毕后要关闭文件。对文件以读的方式进行打开操作时,同时会执行文件的检查文件是否存在,不存在将会返回空的文件指针,如果对文件以写的方式打开时,文件不存在,将会自动创建文件,因此在C中打开文件前不必对其检查文件是否存在,故答案为B。
43.B解析:本题考查函数形参与实参的传递规则,当形参与实参都是简单的数据类型时,形参值的改变不能影响实参值,即本题中c的值未改变,仍然是6。
44.D本题主要考查软件的测试。软件测试的主要目的体现在下面几个方面。
(1)软件测试是为了发现错误而执行程序的过程。
(2)一个好的测试用例能够发现至今尚未发现的错误。
(3)一个成功的测试是发现了至今尚未发现的错误的测试。
软件测试的效率是指利用更少的成本创造更多的价值,提供软件测试效率的方法有很多,如制定一个合理的详细的测试计划,了解测试项目的业务需求,集中对付那些错误群集的程序等。而选项A所描述的随机选取测试数据是不能保证提高测试效率的,选项B描述的取一切可能的输入数据作为测试数据显然不能提高测试效率,反而使工作量加大,降低测试效率。
45.B
46.D解析:C语言的宏定义包括不带参数的宏定义与带参数的宏定义。本题为带参数的宏定义,其形式为:
#define宏名(形参表)字符串
本题的M(a+b,b+c,c+a)被字符串a+b*b+c+c+a代替。
47.B解析:本题考查的是C语言中实型常量的指数表示法。实型常量的指数表示法是用字母e(或E)将一个实数的小数部分和指数部分分隔开。字母e(或E)之前是小数部分,之后是指数部分,这两部分都不能省略,且指数部分必须为整数。故选项B不正确。所以,4个选项中选项B符合题意。
48.C解析:主函数main在C语言程序中有且只能有一个,它是程序执行的入口。
49.A解析:本题考查的是getchar()函数。getchar()函数执行时将从键盘缓冲区中读取用户的输入,而不管输入的是否可打印字符,所以当输入a<回车>后,键盘缓冲区被输入的实际上是两个字符:'a'和'\\n'。故选项A的说法是正确的。
50.B解析:表达式m+n的值被强制转换为实型,则(m=n)/2的值为2.5。变量a和b被强制转换为整型,所以(int)a%(int)b的值为1,因此表达式的值为3.5,选项B正确。
51.C解析:题目中已告知函数f()的作用是将字符串从小到大排序,因此主函数中调用完f(p,5);后,二维数组p中的内容为('aabdfg','abbd','abc','cd','dcdbc'}。输出的结果是strlen(p[0]),即p中第1个字符串的长度,所以结果是6。故本题应该选择C。
52.D解析:根据给定的条件,在树中,各结点的分支总数为:4×1+2×2+1×3+4×1=15:树中的总结点数为:15(各结点的分支总数)+1(根结点)=16:非叶子结点总数为:4+2+1+1=8。因此,叶子结点数为16(总结点数)-8(非叶子结点总数)=8。因此,本题的正确答案为D。
53.B解析:本题涉及字符串最基本的两个概念:①字符串的长度是指字符串中字符的个数,但不包括字符串结束符;②以反斜杠“\\”开头的特殊字符序列,意思是把反斜杠后面的字符序列转换成特定的含义,而不是原来的含义,不包含在字符串长度之内,“\\”连同后面的字符为一个长度。
54.B解析:字符串常量是由双引号括起来的一串字符,其中的双引号不可缺少。由此可知,选项A)、C)、D)都是合法的字符串常量,而选B)是一个字符常量。
55.A解析:“%u”表示输出无符号的整数(注意:如果输出值前有符号,将自动转化为相应的无符号数输出)。
56.B解析:本题考查C语言标识符的命名.在C语言中,合法的标识符由字母,数字和下划线组成,并且第一个字符必须为字母或者下划线,long为C语言的保留字,不能作为用户标识符,故选顷A错误.3Draax开头的第一个为数字,而C语言规定,第一个字符必须为字母或者下划线,故选项C错误;A.dat中的字符“.”不符合C语言中用户标识符只能由字母、数字和下划线组成的规定,故选项D错误.只有迭项B正确。
57.B解析:在if语句中又包含—个或多个if语句称为if语句的嵌套。应当注意if与else的配对关系,在C语言中,从最内层开始,else总是与它上面最近的(未曾配对的)if配对。
58.B解析:在表达式中根据运算的结合性和运算符的优先级,首先计算的是a/b(8/5=1),再将1+0.4赋值给c,由于c为整型变量所以要将1.4转换为整型,即舍弃小数位(c的值变为1)。
59.DD)【解析】数据库设计目前一段采用生命周期法.即将整个数据库应用系统的开分解成目标独立的若干阶段,它们是:需要分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。在数据库设计中采用上面几个阶段中的前四个阶段,并且重点以数据结构和模型设计为主线。
60.D解析:本题考查ifelse语句。第1个if语句,先判断条件,发现a=0条件不成立,则执行与其配对的else语句;第2个if语句,先判断条件,发现b=4,则!b条件不成立,又没有与其配对的else语句,所以执行printf语句,输出do。
61.A
\nstrcpy实现的功能是复制,该操作把are复制到a中,a[0][3]=&,且strcpy(a[1],'you')把you复制到a[1]中,故输出a为“are&you”。
\n
62.B
63.A考查文件操作函数fopen的基础知识,以”W”方式打开文件,只能写不能读。选项A正确。
64.A
65.B\n数据库管理系统是数据库系统的核心,它位于用户和操作系统之间,属于系统软件。数据库系统由数据库、数据库管理系统、数据库管理员、硬件平台和软件平台五部分组成。数据库技术的发展经历了3个阶段,人工管理、文件系统和数据库系统,数据共享最好的是数据库系统阶段,数据库中的数据独立于应用程序而不依赖于应用程序。
\n
66.B根据二叉树的性质,在二叉树的第K层上,最多有2k-1个结点。所以,第五层的结点数最多为16。
67.B选项A)中包含一个不合法的运算符”:|=”;选项c)应改为(int)18.5%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为c语言规定赋值量的左边只能是单个变量,不能是表达式或常量。因此,正确答案是选项B),它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=C+2和a=b。
68.AA选项中l15L表示ll5是长整型数据,合法。B选项是八进制常量的表示方法,但是在八进制中不能含有数字8,所以B错误。c选项中e后面应该是整数不能是小数l.5,所以c错误。D选项中八进制常量应该是数字…0开始,而不是字母…O开始。
69.A
70.A本题重点考察函数的调用,首先要了解字母对应的ASCIl码。例如A为65,a为97。即字母+1劂可得到下一个字母。-其次是函数形参和实参的问题,运行过程如下:在fun(&b,a)中,}c=.a-,d=65。}c+l=V,d+1=66,prinff(”%c,%c,”,}C,d);输出b,B,因为指针c指向地址的值为b,此时b=}C=.b.;豳数返回执行ptud(。%C,%c、n”,b,8);输出b,A,因此A选项正确。
71.C如果是字符数据和整数运算将先转换成整型再进行运算,当整型和浮点数进行运算,为了提高精度将会转化为双精度类型然后进行运算,所以此题结构的数值类型为double类型。
72.C解析:数据结构概念一般包括3个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象地反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。
73.A赋值语句,从右向左执行,先执行a=9,再执行a一:a,a为o,再执行结果仍为0,所以A)正确。
74.C解析:带参数宏的格式为:#define标识符(形参表)形参表达式。其功能是:在预处理程序中将程序中出现的所有带实参的宏名,展开成由实参组成的表达式。
75.C
76.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗设备协议供货合同模板
- 轮渡码头电力系统升级合同
- 鞋厂装修租赁合同样本
- 二零二五年度包装行业企业职工生育保险集体劳动合同
- 医院装修专业工人合同
- 农业技术服务合同协议
- 公司内外墙抹灰劳务合同书
- 狄育的离婚协议书
- 三农项目评估与实施指南书
- 购房合同担保人房子担保书
- 演艺项目投资计划书
- 《学习共同体-走向深度学习》读书分享
- 医学统计学:第五章 统计表和统计图
- 医疗器械耗材售后服务承诺书
- 小学体育与健康水平三五年级体能训练教学案例
- 公司破产解除劳动合同协议书
- 2023-2024学年天津市小学语文一年级期末通关试卷附参考答案和详细解析
- 常见急症的急救处理
- 长沙理工大学所有教学大纲
- 2023年重庆两江新区开发投资集团下属子公司招聘笔试题库含答案解析
- GB/T 6329-1996胶粘剂对接接头拉伸强度的测定
评论
0/150
提交评论