




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年云南省保山市全国计算机等级考试C语言程序设计真题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.若有说明:int*p,m=5,n;以下正确的程序段是
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p)
C.scanf("%d",&n);*p=n;
D.p=&n;*p=m;
2.算法的时间复杂度是指______。
A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数
3.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少()。
A.1和5B.2和4C.4和2D.5和1
4.下述哪一条是顺序存储结构的优点()。
A.插入运算方便B.可方便地用于各种逻辑结构的存储表示C.存储密度大D.删除运算方便
5.在长度为n的顺序表的第i个位置上插入一个元素(1≤i≤n+1),元素的移动次数为:()。
A.n–i+1B.n–iC.iD.i–1
6.表达式a+=a-=a=9的值是()。
A.9B.-9C.18D.0
7.若执行以下程序时从键盘上输入9,则输出结果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8
8.
9.若已定义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]
10.数据结构中,在逻辑上可以把数据结构分成()。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构
11.若有运算符:>、=、<<、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为()
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
12.高度为h的满二叉树的结点数是________个。
A.log2h+1B.2h+1C.2h-1D.2h-1
13.软件调试的目的是______。
A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能
14.
15.
16.以下对于C语言的描述中,正确的是:()
A.C语言调用函数时,值传递方式只能将实参的值传给形参,形参的值不能传递给实参
B.C语言中函数既可以嵌套定义,也可以递归调用
C.函数必须有返回值
D.C程序中有调用关系的所有函数必须放在同一源程序文件中
17.是哈希查找的冲突处理方法()。
A.求余法B.平均取中法C.二分法D.开放地址法
18.已有定义:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字堪的表达式是()。
A.isupper(c)B.A<=c<=ZC.A<=c&&c<=ZD.c<=(z-32)&&(a-32)<=c
19.当n=5时,函数输出为()A.5B.11C.29D.10
20.数据字典(DD)所定义的对象都包含于()。
A.软件结构图B.方框图C.数据流图(DFD图)D.程序流程图
二、2.填空题(20题)21.表示条件:10<x<100或x<0的C语言表达式【】。
22.下列程序执行后输出的结果是【】。
main()
{intarr[10],i,k=0;
for(i=O;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
}
23.下面程序由两个源程序文件:t4.h和t4.c组成,程序编译运行结果是()。t4.h的源程序为:
#defineN10
#definef2(x)(x*N)
t4.c的源程序为:
#include<stdio.h>
#defineM8
#definef(x)((x)*M)
#include"t4.h"
main()
{inti,j;
i=f(1+1);j=f2(1+1);
printf("%d%d\n",i,j);
}
24.有如下程序段:
main(intargc,char*argv[])
{intn,i=0;
while(argv[1][i]!='\0')
{n=fun();i++;}
printf("%d\n",n*argc);
}
intfun()
{staticints=0;
s+=1;
returns;
}
假设程序经编译、连接后生成可执行文件exam,exe,若键入如下命令行:
examl23<回车>
则运行结果为【】。
25.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于______中的一个阶段。
26.函数fun的功能是计算xn
doublefun(doublex,intn)
{inti;doubley=1;
for(i=1;i<=n;i++)y=y*x;
returny;
}
主函数中已正确定义m、a、b变量并赋值,而且调用fun函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调用语句为【】。
27.如果输入'1'、'2'、'3'、'4',则以下程序的运行结果为【】。
#include<stdio.h>
main()
{charc;
inti,k;
k=0;
for(i=0;i<4;i++)
{while(1)
{c=getchar();
if(c>='0'&&c<='9')break;
}
k=k*10+c-'0';
}
printf("k=%d\n",k);
}
28.数据的______结构在计算机存储空问中的存放形式称为数据的存储结构或物理结构。
29.在面向对象方法中,属性与操作相似的一组对象称为【】。
30.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于______。
31.下列程序输出的结果是【】。
fun(intx)
{staticinta=3;
a+=x;
return(a);
}
main()
{intk=2,m=1,n;
n=fun(k);
n=fun(m);
printf("%d\n",n);
}
32.设有下列宏定义:#defineA2
#defineBA+3
则执行赋值语句;t=B*2;t为int型变量后的值是______。
33.在对文件进行操作的过程中,若要使文件位置的指针回到文件的开头,应使用的函数是【】。
34.以下程序的输出结果是【】。
#include<stdio.h>
main()
{ints[]={1,2,3,4},i;
intx=0;
for(i=0;i<4;i++)
{x=sb(s,x);
printf("%d",x);}
printf("\n");}
sb(s1,y)
int*s1,y;
{staticinti1=3;
y=s1[i1];
i1--;
return(y);}
35.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。
36.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于【】的联系。
37.若x和a均是血型变量,则计算完x=(a=4,6*2)后的x值为______。
38.下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是【】。
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\",p+9);
}
39.结构化程序设计的3种基本结构分别是顺序、选择和______。
40.下面程序的功能是输出数组s中最大元素的下标,请填空。
main()
{intk,p,s[]={1,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])【】
printf("%d\n",k);}
三、1.选择题(20题)41.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
42.下列程序段中,不能正确赋值的是
A.char*p,ch;p=&ch;scanf("%c,&p")
B.char*p;p=(char*)malloc(1);scanf("%c",p);
C.char*p;*p=getchar();
D.char*p,ch;p=缸h;*p=getchar();
43.设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是()。
A.for(i=0;i<6;i++)printf("%2d",*(p++));
B.for(i=0;i<6;i++)printf("%2d",*(p+i));
C.for(i=0;i<6;i++)printf("%2d",*p++);
D.for(i=0;i<6;i++)printf("%2d",(*p)++);
44.有以下程序:int*f(int*x,int*y){if(*<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}程序运行后输出结果是______。
A.7,8,8B.7,8,7C.8,7,7D.8,7,8
45.以下对结构体类型变量td的定义中,错误的是
A.typedefstructaa{intn;floatm;}AA;AAtd;
B.structaa{intn;floatm;}td;structaatd;
C.struct{intn;floatm;}aa;structaatd;
D.struct{intn;floatm;}td;
46.有以下程序:#include<stdio.h>main(){FILE*fp;inti,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)fprintf(fp,"%d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}执行后输出结果是()。
A.12B.1230C.123D.00
47.用C语言编写的代码程序
A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释即可执行
48.若有程序fun(inta,intb}{staticintc=0;c+=a+b;returnc;}main(){intx=5,y=3,z=7,r,r=fun(y,x+y),z);r=fun(xy);printf("%d\n",r);}上面程序的输出结果是_____。
A.23B.15C.19D.18
49.下列叙述中正确的是()。
A.线性链表的各元素在存储空间中的位置必须是连续的
B.线性链表的头元素一定存储在其他元素的前面
C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面
D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的
50.执行语句for(i=1;i++<4;);后变量i的值是______。
A.3B.4C.5D.不定
51.设已包含头文件<string.h>,下列程序段的运行结果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));
A.3B.4C.6D.5
52.对于下列字符串,说明表达式strlen(s)值的是()。chars[10]={'a','\n','a','b','\t','c'};
A.10B.1C.6D.7
53.若有以下定义:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;则值为3的表达式是()
A.p+=2,*(pd++)B.p+=2,*++pC.p+=3,*p++D.p+=2,++*p
54.下列程序运行后,输出结果是______。#include<stdio.h>#include<string.h>fun(char*w,intn){chart,*s1,*s2;s1=w;s2=w+n-1;while(s1<s2){t=*s1++;*s1=*s2--;*s2=t;}}main(){char*p;p="1234567";fun(p,strlen(p));puts(p);}
A.1234567B.7654321C.1711717D.7177171
55.设有下列二叉树:
对此二叉树后序遍历的结果是
A.ABCDEFB.BDAECFC.ABDCEFD.DBEFCA
56.以下能正确定义一维数组的选项是
A.inta[5]={0,1,2,3,4,5}
B.chara[]={'0','1','2','3','4','5','\0'};
C.chara={'A','B','C'};
D.inta[5]="0123";
57.C语言结构体类型变量在程序执行期间,()。
A.所有成员一直驻留在内存中B.没有成员驻留在内存中C.部分成员驻留在内存中D.只有一个成员驻留在内存中
58.下列叙述中,错误的是()。
A.在同一C程序文件中,不同函数中可以使用名字相同的变量
B.在main()函数体内定义的变量是全局变量
C.形参是局部变量,函数调用完成即失去意义
D.若同一文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用
59.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间
60.不合法的main函数命令行参数表示形式是______。
A.main(inta,char*c[])
B.main(intarc,char**arv)
C.main(intargc,char*argv)
D.main(intargv,char*argc[])
四、选择题(20题)61.如果将主文件型指针fp指向的文件内部指针置于文件尾,正确的语句是()。
A.feof(fp);
B.rewind(fp);
C.fseek(fp,OL,0);
D.fseek(fp,OL,2);
62.以下符号C语言语法的实型常量是()。
A)1.2E0.5B)3.14159E
C)5E-3D)E15
63.以下程序的输出结果是()。
A.20B.24C.25D.15
64.
65.
66.若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。
A.v0=7,vl=4,v2=7
B.v0=8,vl=4,v2=8
C.v0=11,vl=4,v2=11
D.v0=13,vl=4,v2=12
67.下面程序的输出结果是()。
main()
{inta,b;
scanf("%2d%3d",&a,&b);
printf("a=%db=%d\n",a,b);
}
A.a=12b=34
B.a=123b=45
C.a=12b=345
D.语句有错误
68.
69.下列叙述中错误的是()。
A.列表框和组合框都有List属性
B.列表框有Selected属性,而组合框没有
C.列表框和组合框都有Style属性
D.组合框有Text属性,而列表框没有
70.有下列程序:
intfun(intn)
{if(n==1))returnl;
else
return(n+fun(n-1)):
}
main()
{intx;
seanf("%d",&x);x=fun(x);printf("%d\n",x);
}
执行程序时,给变量x输入l0,程序的输出结果是()。
A.55
B.54
C.65
D.45
71.对于一个正常运行的C程序,以下叙述中正确的是()。A.程序的执行总是从main函数开始
B.程序的执行总是从程序的第一个函数开始,在main函数结束
C.程序的执行总是从main函数开始,在程序的最后一个函数中结束
D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
72.
73.
74.
75.有以下程序
main()
{
intx[]={1,3,5,7,2,4,6,0},i,j,k;
for(i=0;i<3;i++)
for(j=2;j>=i;j--)
if(x[j+1]>x[j])
{
k=x[j];
x[j]=x[j+1];
x[j+1]=k;
}
for(i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j]>x[j+1])
{
k=x[j];
x[j]=x[j+1];
x[j+1]=k;
}
for(i=0;i<8;i++)
printf("%d",x[i]);
printf("\n");
}
程序运行后的输出结果是
A.75310246B.01234567
C.76310462D.13570246
76.
77.
78.结构化程序所要求的基本结构不包括()。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构
79.
80.以下程序爱中,与语句:
五、程序改错题(1题)81.已知一个数列从0项开始的前3项为0,0,1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数proc()的功能是:计算并输出该数列前n项的和sum。n的值通过形参传人。例如,当n-20时,程序的输出结果应为42762.000000。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。程序中将m个人的成绩存放在score数组中,请编写函数fun(),它的功能是将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。例如,当score数组中的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为10、20、30、40。注意:部分源程序在文件prog1.c中。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:
参考答案
1.D解析:“&”是求址运算符,“*”是指变量说明符。选项A)、B)应改为scanf('%d',p);选项C)中指针变量p未指向一确定的内存单元,不能为其赋值,并且这样做很危险,建议不使用。
2.C解析:算法的时间复杂度实际上就是执行算法程序所需要的计算工作量。为了客观地反映算法性能,在度量算法的时间复杂度时,应该与编写算法程序所使用的程序设计语言、执行算法程序时所使用的计算的工具以及程序员的水平无关。选项A错误,因为同一算法程序在运行速度不同的计算机上运行时,其计算时间是不同的。选项B错误,因为算法所编写的程序长度往往与程序设计语言以及程序员的水平有关,同一个算法,用不同的程序设计语言或者不同的程序员所编写出的程序其长度可能会大不相同。选项D错误,因为根据一个算法所编制出的程序之中,其指令条数往往与程序设计语言以及程序员的水平有关,不能用算法程序中的指令条数来度量算法的时间复杂度。所以,本题正确答案为C。
3.B
4.C
5.A
6.D解析:+=、-=、=等符号优先级相同结合性是由右至左,所以选D。
7.B当n为9时,此时if语句成立,执行n++后,n为10,因此输出n的值为10,故选择B选项。
8.B
9.D解析:通常,引用一个数组元素可以用下标法,如a[P-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出了数组范围,注意,数组的下标是从0开始的。
10.C
11.D解析:主要考查运算符的优先级。sizeof的优先级最高,后面的顺序是:%、<<、>,优先级最低的是“=”。
12.C
13.B解析:在对程序进行测试时会发现错误,这就要进行程序调试(排错)。程序调试活动由三部分组成:一是错误定位,根据错误的外部表现形式,确定程序中出错的位置,找出错误的内在原因;二是对程序进行修改,排除这个错误;三是进行回归测试,防止引进新的错误。所以程序调试的目的就是诊断和改正程序中的错误。软件调试不能改善软件的性能,也不能挖掘软件的潜能。
14.A
15.C
16.A
17.D
18.B选项B先计算关系表达式“A<=c”的值是0还是l,再比较该值与字符z之间的大小关系,不能实现题目所要求的功能。
19.C
20.C数据字典(DD)是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
21.(X>10&&x<100)||x<0或(10<x&&x<100)||x<0或x<0||(x>10&&x<100)或0>x||(10<x&&x<100)或(括号有无都可以)(X>10&&x<100)||x<0\r\n\u3000\u3000或(10<x&&x<100)||x<0或x<0||(x>10&&x<100)\r\n\u3000\u3000或0>x||(10<x&&x<100)或(括号有无都可以)
22.1212解析:本题的第一个for循环用于给数组arr赋初值,第二个for循环用于求和运算。由于第二个for循环初始值为1,而循环条件为i<4,所以求的是arr[1]到arr[3]及i的和,所以输出结果为12。
23.16111611解析:本题主要考查宏定义的两种形式,不带参数的宏定义:“#define宏名替换文本”;带参数的宏定义:“#define宏名(形参表)替换文本”。故i=((1+1)*8)=16,j=(1+1*10)=11。
24.66解析:本题中命令行输入2个符号串,所以argc=2,argv[0]指向符号串'exam',argv[1]指向符号串'123',while循环的作用是计算argv[1]所指向的字符串的长度,执行完while循环后n=3,所以n*argc=3×2=6。
25.软件开发软件开发解析:软件生命周期分为3个时期共8个阶段:软件定义期(问题定义、可行性研究和需求分析)、软件开发期(系统设计、详细设计、编码和测试)、软件维护期(即运行维护阶段)。
26.m=fun(a4)+fun(b4)-fun(a+b3);m=fun(a,4)+fun(b,4)-fun(a+b,3);解析:函数fun(x,n)的作用是求x的n次方,因此a的4次方应该调用函数fun(a,4),b的4次方应该调用函数fun(b,4),a+b的3次方应该调用函数fun(a+b,3),所以题目中的数学表达式,写成C程序中的语句为m=fun(a,4)+fun(b,4)-fun(a+b,3)。
27.k=1234
28.逻辑逻辑解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构或物理结构。
29.类类解析:在面向对象方法中,类描述的是具有相似性质的一组对象。所以,属性与操作相似的一组对象称为类。
30.线性结构线性结构解析:数据的逻辑结构是指数据元素之间的逻辑关系,分为线性结构和非线性结构。常见的线性结构有线性表、栈和队列等,常见的非线性结构有树、二叉树等。
31.6
32.88解析:本题考查带参数的宏定义及相关运算.运算过程为:t=B*2=A+3*2=2+3*2=8。
33.rewind或fseekrewind或fseek
34.43214321解析:静态存储类的局部变量其生存期为整个程序的运行期间,作用域却只是定义它的函数或局部范围。注意:局部变量和全局变量的作用域。
35.模块化模块化
36.一对多(或1∶N)一对多(或1∶N)解析:两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有3种,即一对一(1∶1)的联系、一对多(1∶N)或多对一(N∶1)的联系和多对多(N∶N)的联系。
37.1212解析:x=(表达式1,表达式2,…)的形式,结果为最后一个表达式的值:x=(a=4,6*2)=2*6=12。
38.1a61a6解析:对于指针变量的运算,就是对地址的运算。本题中由于指针指向的是整型变量,所以,使指针变量移动9个位置也就是移动18个字节。注意,本题是以十六进制输出的。
39.重复(循环)重复(循环)解析:结构化程序设计包括3种基本的结构:顺序结构、选择结构和重复结构(循环结构),利用这3种结构就足以表达出各种其他形式结构的程序设计方法。其中利用循环结构,可以简化大量的程序执行。
40.k=p;k=p;解析:为要寻找数组中的最大元素的下标,需先预设1个临时最大元素的下标,并顺序逐一考查数组的元素,当发现当前元素比临时最大元素更大时,就用当前元素的下标更新临时最大元素下标。直至考查了数组的全部元素后,这临时最大元素下标就是数组的最大元素下标。通常预设的最大元素下标是数组的首元素下标,考查是从首元素开始顺序向后继元素考查。程序中,存储临时最大元素下标的变量是k,变量p控制顺序考查的循环控制变量。当发现当前元素s[p]比临时最大元素s[k)更大时,应该用p更新k。所以在空框处应填入代码“k=p;”。
41.B解析:栈操作原则上“后进先出”,栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈。所以出栈时一定是先出D,再出C,最后出A。
42.C解析:本题考查了字符的输入函数getchax和利用scanf函数输入一个字符。用scanf输入字符时,格式说明字符应该为%c。本题选项C)因为指针P没有赋初值,所以是一个不定值,不能直接将getchar读入的字符赋给指针p所指向的字符,所以选项C错误。
43.D解析:*p=x的作用是将x的首地址赋给指针变量p。选项A)正确,*(P++)中括号内的++是在P的后面,所以它先取*P的值x[0],再执行p++;选项B)正确,p+i表示x[i]的地址,*(p+i)表示x[i]的值;选项C)中的*和++处于同一优先级别,而结合方向为自右而左,因此*p++相当于*(p++),与选项A)相同;选项D)中的(*p)++是使*p的值+1,即x[0]的值加1,它不能实现指针的移动,每次循环只是x[0]的值在改变,而P的值并没有改变,所以不能实现6个元素的输出。
44.B解析:f函数的功能是返回地址为x,y的两个数中值较的数的地址,本题输出结果是7,8,7。
45.C解析:选项t中,aa为结构体变量,而不是结构体名称,不能再用来定义td。
46.B解析:函数fopen(constchar*filename,constchar*mode)的功能,是以mode指定的模式打开filename指定的磁盘文件;fclose(FILE*fp)的功能是关闭文件指针fp指向的文件;函数fscanf(FILE*fp,constchar*format[,address,--])的功能是根据format中的格式从fP指向的文件中读取数据,并存入到相应的address指向的变量中。函数fprintf(FILE*fp,constchar*format[,argument,--])的功能是把argument列表中的表达式值写到fp所指向的文件中:本题中首先定义了一个文件指针fp,然后通过函数fopen以“w”的方式打开文件“d1.dat”,直接通过一个for循环,每循环一次调用函数fpfintf将i的值写进fP所指的文件中,该循环共循环3次,循环完后fP所指文件的内容为123,然后通过fclose函数关闭fp所指文件。接着通过fscanf函数将fP所指文件的内容读出并赋值给变量k和变量n,由于fp所指文件中只有123没有分隔符,故只给k赋值为123,变量n的值依然为以前的值,故最后输出k和n的值为123。
47.B解析:C语言一种高级语言,C语言源程序经过C语言编译程序编译之后,生成一个后缀为。OBJ的二进制文件(称为目标文件),最后还要由称为“连接程序”(Link)的软件,把此。OBJ文件与C语言提供的各种库函数连接在一起,生成一个后缀.EXE的可执行文件。显然C语言不能立即执行,故选项A错误;根据以上定义,选项C和选项D错误,所以,4个选项中选项B符合题意。
48.A解析:static声明的外部变量只限于彼本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第一个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。
49.DD.【解析】在线性链表中,各元素在存储空间中的位置是任意的,各元素的顺序也是任意的,依靠指针来实现数据元素的前后件关系。
50.C解析:for语句中的表达式可以部分或全部省略,但两个“;”不能省略,若3个表达式均省略,会因为缺少条件判断,导致循环无限执行,而形成死循环。本题中当i的值为5的时候,循环终止。
51.A解析:头文件<string.h>是字符串处理函数对应的头文件,要想调用C语言的库函数时,都要在程序中嵌入该函数对应的头文件,否则无法使用库函数。
strcpy(s1,s2)把s2中的字符串复制到s1中,所以结果就为s2的长度。
52.C解析:strlen(s)返回s字符串中字符的个数,若s是个数组,则返回数组元素的个数。
53.A
54.C
55.D解析:二叉树的遍历分为先序、中序、后序三种不同方式。本题要求后序遍历遍历顺序应该为:后序遍历左子树一,后序遍历右子树一,访问根结点。按照定义,后序遍历序列是DBEFCA。
56.B解析:选项A)中,定义的初值个数大于数组的长度;选项C)中,数组名后少了中括号;选项D)中,整型数组不能赋予字符串。
57.A解析:C语言结构体类型变量在程序执行期间所有成员一直驻留在内存中。
58.B解析:本题考查函数调用时变量的作用域。形参是局部变量,函数调用完就失去意义了,所以在同一个C程序文件中,不同的函数体中可以使用名字相同的局部变量。注意:在函数之外定义的变量称为外部变量,外部变量是全局变量,全局变量可以为本文件中其他函数所共用。它的有效范围为:从定义变量的位置开始到本源文件结束.
59.D【解析】算法的空间复杂度是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
60.C解析:main()函数可以带有参数,并且参数只能有两个,第一个参数类型为整型,用来记下命令行的参数个数;第二个参数为一个字符型指针数组,或字符型二级指针变量(指向一个数组,数组元素又是一个一级字符指针),其各个元素用来记下从命令行各参数字符中的首地址。故本题只有C选项不符合要求。
61.D文件操作;主文件型指针fp指向的文件内部指针置于文件尾的操作;
62.C指数不能为小数,也不能没有指数,即可以为0,用指数的形式表示时,不能没有前面的小数。
63.D第一次循环结束:a=1,i=1;第二次循环结束:a=3,i=2;第三次循环结束:a=6,i=3;第四次循环结束:a=10,i=4;第五次循环结束:a=15,i=5;结束:a=15;
64.D\r\n
65.C
66.D本题考查switch语句的掌握。必须撑握以下内容:首先应该明白switch语句的语法格式:
另外,以下几点关于switch语句的重点:
①系统在执行时计算开关表达式的值;②根据所得的值在各个case标号表达式中寻找匹配,直到发现与表达式匹配的
一般而言,在多分支结构中总会出现”意外”的情况,这时均可归入default程序段,作统一的处理。default标号是可选性的,不必每次都有,视需要而定。switch语句中还可以包含switch语句,形成switch的嵌套。
67.C严格按照格式进行输入和输出。%2d%3d,a是两位输入,b是三位,输出时亦是这个格式。
68.A
69.BB。【解析】组合框和列表框都没有selected属性。
70.A\n本题在函数intfun(intn)的定义中又出现了对函数fun的调用,所以函数fun是递归函数。因
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年吉林省省直事业单位公开招聘工作人员(1号)(186人)考前自测高频考点模拟试题及答案详解(网校专用)
- 2025广东依顿电子科技股份有限公司招聘高级经理岗模拟试卷有完整答案详解
- 2025年天台县民政局下属事业单位公开选聘工作人员1人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025黑龙江省机关事务管理局所属事业单位招聘工作人员10人考前自测高频考点模拟试题及答案详解(全优)
- 2025广东依顿电子科技股份有限公司招聘高级经理岗模拟试卷有答案详解
- 2025广东省惠东县招聘公办学校教师71人模拟试卷及1套参考答案详解
- 2025江苏南京林业大学招聘专职辅导员和体育教师12人模拟试卷及答案详解(有一套)
- 2025贵州黔南州瓮安县人力资源和社会保障局招聘公益性岗位人员1人模拟试卷及答案详解(全优)
- 2025嘉兴市秀拓燃气有限公司招聘2人(二)模拟试卷及答案详解(历年真题)
- 2025年潍坊市寒亭区人民检察院公开招聘工作人员模拟试卷及答案详解一套
- 智慧校园XXX学院总体解决方案
- 2025-2026学年人教版(2024)七年级上学期第一次月考英语试题(含答案无听力原文及音频)
- 2025年大学实验室安全知识试题及答案
- ICEEMDAN与优化LSSVM结合的大坝变形预测模型研究
- 钢结构施工工艺指导手册
- 新编民航乘务员英语教程 课件 李勇 Unit 1 Briefing -Unit 8 meal and beverage service I
- 2025年五年级语文上册重要知识点
- 宫颈恶性肿瘤的个案护理
- 环境工程专业导论课件
- kfc考试题目及答案
- T-CDHA 20-2024 T-CAR 20-2024 供热碳排放核算和碳排放责任分摊方法
评论
0/150
提交评论