版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022-2023年山东省烟台市全国计算机等级考试C语言程序设计真题二卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.fgetc函数的作用是从指定文件读入—个字符,该文件的打开方式必须是______。
A.只读B.追加C.读或读写D.以上均正确
2.下列叙述中正确的足
A.软件交付使用后还需要进行维护
B.软件一旦交付使用就不需要再进行维护
C.软件交付使用后其生命周期就结束
D.软件维护是指修复程序中被破坏的指令
3.字符串通常采用的两种存储方式是()A.散列存储和索引存储B.索引存储和链式存储C.顺序存储和链式存储D.散列存储和顺序存储
4.若有语句“void*P=malloc(80);”,则以下叙述错误的是()。
A.可以通过指针P直接访问用malloc开辟的这块内存
B.p所指内存可以通过强制类型转换当作具有20个int型元素的一维数组来使用
C.p所指内存可以通过强制类型转换当作具有10个double型元素的一维数组来使用
D.P所指内存可以通过强制类型转换当作具有80个char型元素的一维数组来使用
5.在决定选取何种存储结构时,一般不考虑()。
A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便
6.
下列程序执行后的输出结果是()。
voidfunc(int*a,intb[])
{b[0]=*a+b;}main
{inta,b[5];
a=0.b[0]=3;
func(&a,b);printf("%d\n",b[0]);
}
A.6B.7C.8D.9
7.有以下程序:#include<stdio.h>main(){intx=3,y=5,z1,z2;z1=y^x^y;z2=x^y^x;printf(“%d,%d\n”,z1,z2);}程序运行后的输出结果是()。
A.7,7B.5,3C.8,8D.3,5
8.设a=l,b=2,c=3,d=4,则表达式:“a<b?a:b<b?a:c<d?a:d”的结果为()。A.4B.3C.2D.1
9.设有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则
A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次
10.在下列几种排序方法中,要求内存量最大的是______。
A.插入排序B.选择排序C.快速排序D.归并排序
11.若以“a+”方式打开一个已存在的文件,则下列叙述正确的是()。
A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作
B.文件打开时,原有文件内容不被删除,只能进行读操作
C.文件打开时,原有文件内容被删除,只能进行写操作
D.以上三种说法都不正确
12.以下叙述错误的是()。
A.算术运算符中不包含“=”运算符
B.模运算符“%”是c语言基本的算术运算符
C.算术运算符中只有“*”、“/”优先级高于关系运算符
D.自加和自减运算符只能用于变量,而不能用于常量或表达式
13.下面哪个不是用来解决哈希表冲突的开放地址法()
A.线性探测法B.线性补偿探测法C.拉链探测法D.随机探测法
14.有如下程序:
longfib(intn)
{if(n>2)return(fib(n-1)+fib(n-2));
elsereturn(2);
}
main()
{printf("%d\n",fib(3));}
该程序的输出结果是A.A.2B.4C.6D.8
15.设有两个串p和q,求q在p中首次出现的位置的运算称为()。
A.连接B.模式匹配C.求子串D.求串长
16.有下列程序:main{inti,j,x=0;for(i=0,i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++:}x++:}printf("x=%d\n",x);}程序执行后的输出结果是()。A.x=4B.x=8C.x=6D.x=12
17.在如下结构定义中,不正确的是()。A.
B.
C.
D.
18.图的BFS生成树的树高比DFS生成树的树高()
A.小或相等B.小C.大或相等D.大
19.计算机识别.存储和加工处理的对象被统称为_________
A.数据B.数据元素C.数据结构D.数据类型
20.
二、2.填空题(20题)21.对下列二叉树进行中序遍历的结果为【】。
22.已有定义:charc='';inta=1,b;(此处c的初值为空格字符),执行b=!c&Ra;后b的值为______。
23.按"先进后出"原则组织数据的数据结构是【】。
24.阅读下面语句,则执行后的输出结果为【】。
#include"stdio.h"
main()
{chara,b;
for(a='0',b='9';a<b;a++,b--)
printf("%c%c",a,b);
printf("\n");}
25.长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
26.若有定义语句:inta=5;,则表达式:a++的值是【】。
27.阅读下面程序,则执行后的输出结果是【】。
#include"stdio.h"
main()
{intx,y,z;
x=1;y=2;z=3;
if(x>y)if(x>z)printf("%d",x);
elseprintf("%d",y);
printf("%d\n",z);}
28.某二叉树中度为2的结点有n个,则该二叉树中有【】个叶子结点。
29.数据模型是用来描述数据库的结构和语义的,数据模型有概念数据模型和结构数据模型两类,E-R模型是【】
30.软件设计模块化的目的是______。
31.实现算法所需的存储单元多少和算法的工作量大小分别称为算法的【】。
32.以下程序的输出结果是______。
voidreverse(inta[],intn)
{inti,t;
for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n+1+i];a[n-1-i]=t;}
}
main()
{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf("%d\n",s);
}
33.语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)【】。
34.设有定义:
struct{inta;floatb;charc;}abc;*p_abc=&abc;
则对结构体成员a的引用方法可以是abc.a和p_abc【】a。
35.以下程序段用于构成一个简单的单向链表。请填空。
struetSTRU
{intx,y;
floatrate;
【】p;
}a,b;
a.x=0;a.y=0;a.rate=0;a.p=&b;
b.x=0;b.y=0;b.rate=0;b.p=NULL;
36.下面程序的输出结果是【】。
#include<stdio.h>
main()
{staticchara[]="language",b[]="program";
char*ptrl=a,*ptr2=b;
intk;
for(k=0;k<7;k++)
if(*(ptrl+k)==*(ptr2+k))
printf("%c",*(ptrl+k));}
37.设有宏定义:
#defineWIDTH80
#defineLENGTHWIDTH+40
则执行赋值语句“v=LENGTH*20;"(v为int型变量)后,v的值是【】。
38.在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
39.在宏定义#definePI3.14159中,用宏名PI代替一个______。
40.有以下程序:
#include<string.h>
structSTU
{charname[10];
intnum;};
voidf(char*name,intnum)
{structSTUs[2]={{"SunDan",20044},{"Penghua",20045}};
num=s[0].num;
strcpy(name,s[0].name);
}
main()
{structSTUs[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p;
p=&s[1];f(p->name,p->num);
printf("%s%d\n",p->name,p->num);
}
程序运行后的输出结果是【】。
三、1.选择题(20题)41.第
13
题
设有程序段
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次
42.以下程序的输出结果是______。#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
43.有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序运行后的输出结果是()。
A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD
44.已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是
A.一个整型变量,代表要读入的数据项总数
B.一个文件指针,指向要读的文件
C.一个指针;指向要读入数据的存放地址
D.一个存储区,存放要读的数据项
45.设有以下语句,其中不是对a数组元素的正确引用的是:______(其中0≤i<10)inta[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;
A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))
46.变量p为指针变量,若p=&a,下列说法不正确的有______。
A.&*p==&aB.*&a==aC.(*p)++==a++D.*(p++)==a++
47.下面程序的运行结果是()。#include<stdio.h>main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}
A.-1B.1C.8D.0
48.有以下程序:#include<stdio.h>main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)pfintf("%s\n",p);}
A.ABCDBCDCDDB.ABCC.BCDD.BCDCDD
49.软件调试的目的是______。
A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能
50.若变量a,b已正确定义,且b已正确赋值,则合法的语句是()。
A.b=double(b);B.++b;C.a=a++5;D.a=double(b);
51.控制键^C的功能为()
A.终止当前操作B.系统复位C.暂停标准输出设备的输出D.结束命令行
52.有以下程序
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序的运行结果是
A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1
53.在数据库系统中,数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述是()
A.外模式B.逻辑模式C.概念模式D.物理模式
54.下列数据结构中,能用二分法进行查找的是()。
A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表
55.以下选项中,不能作为合法常量的是
A.1.23E+04B.1.234e0.4C.1.23E+04D.1.23E+00
56.结构化程序设计主要强调的是
A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性
57.执行以下的程序段后,m的值是______。inta[2][3]={{1,2,3},(4,5,6}};intm,*p;p=&a[0][0];m=p[4];
A.4B.5C.3D.不确定
58.定义下列结构体(联合)数组:structst{charname[15];intage;}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};执行语句printf["%d,%c",a[2].age,*(a[3].name+2))的输出结果为()。
A.15,AB.16,HC.16,AD.17,H
59.若执行下面的程序时,从键盘输入5和2,则输出结果是
main()
{inta,b,k;
scanf("%d,%d",&a,&b);
k=a;
if(a<b)k=a%b;
elsek=b%a;
printf("%d\n",k);}
A.5B.3C.2D.0
60.算法的有穷性是指A.算法程序的运行时间是有限的
B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的
D.算法只能被有限的用户使用
四、选择题(20题)61.(69)单个用户使用的数据视图的描述称为()
A.外模式
B.概念模式
C.内模式
D.存储模式
62.以下定义数组的语句中错误的是()。
63.
64.设有以下定义uniondata{intd1;floatd2;)demo;则下面叙述中错误的是()。A.变量demo与成员d2所占的内存字节数相同
B.变量demo中各成员的地址相同
C.变量demo和各成员的地址相同
D.若给demo.d1赋99后,demo.d2中的值是99.0
65.有以下程序程序的运行结果是()。
A.123B.12300C.1D.321
66.有以下程序(函数fun只对下标为偶数的元素进行操作):
#include<stdio.h>
voidfun(int*n)
{inti,j,k,t;
for(i=0;i<n-1;i+=2)
{k=i;
for(j=i;j<n;j+=2)if(a[j]>a[k])k=j;
t[a[i];a[i]=a[k];a[k]=t;
}
}
main
{intaa[lO]=[1,2,3,4,5,6,7],a;
fun(aa,7);
for(i=0;i<7;i++)printf("%d,",aa[i]);
printf("n");
}
程序运行后的输出结果是()。
A.7,2,5,4,3,6,1,
B.1,6,3,4,5,2,7,
C.7,6,5,4,3,2,1,
D.1,7,3,5,6,2,1,
67.有以下程序程序运行后的输出结果是()。
A.abc28B.28cC.abcD.因类型不一致而出错
68.以下选项中关于程序模块化的叙述错误的是()。
A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C.把程序分成若干相对独立的模块,可便于编码和调试
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
69.执行以下程序时输人1234567<CR>,则输出结果是()。
#include<stdio.h>
main
{
inta=1,b;
scanf("%3d%2d",&a,&b);
printf("%d%d\n",a,b);
}
A.12367B.12346C.12312D.12345
70.下列描述中不正确的是()。
A.字符型数组中可能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
71.有以下程序
#include<stdio.h>
voidfun(char**p)
{++p;printf("%s",*p);}
main
{char*a[]={"Morning","Afternoon","Evening","Night");
fun(a);
}
程序的运行结果是()。A.A.AfternoonB.fternoonC.MorningD.orning
72.
73.若在定义语句:inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。
A.scanf("%d",a,b,c);
B.scanf("%d%d%d",a,b,c):
C.scanf("%d",p);
D.scanf("%d",&p);
74.有以下程序:
程序执行后变量w中的值是()。
A.5.21B.5C.5.0D.0.0
75.下面结构体的定义语句中,错误的是()。
A.
B.
C.
D.
76.有以下程序程序运行后的输出结果是()。
A.4B.3C.1D.9
77.以下选项中正确的语句组是()。
A.char*s;s={f.BOOK!”};
B.char*s;s:”BOOK!”:
C.chars[10];s=”BOOK!”;
D.cbars[];s:”BOOK!n:
78.有以下程序:
程序运行后的输出结果是()。
A.2,2,3,4,5,
B.6,2,3,4,5,
C.1,2,3,4,5,
D.2,3,4,5,6,
79.
80.若有定义:char*st=”howareyou”;,下列程序段中正确的是()。
A.
B.
C.
D.
五、程序改错题(1题)81.在主函数中从键盘输入若干个数放人数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数proc()的功能是计算数组元素中值为负数的平均值(不包括0)。例如,数组中元素的值为78、-65、-15、35、-45、0,则程序的运行结果为-41.666667。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。
参考答案
1.D解析:fgetc函数是指从指定的文件读入—个字符,该文件必须是以读或读写方式打开的。fgetc函数的调用形式为:ch=fgetc(fp);。
2.A解析:本题考核软件维护的概念.维护是软件生命周期的最后一个阶段,也是持续时间最长、付出代价最大的阶段,在软件交付使用后,还需要进行维护。软件维护通常有以下四类:为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。综上所述,本题的正确答案是A,其余选项的说法错误。
3.C
4.A题干中使用malloc函数分配了80个字节的内存单元,void指针p指向该内存单元。在C语言中,void*不能直接使用,必须利用强制类型转换将其转成所需的类型才能使用,选项A错误。int类型的元素占4个字节,所以可以将p指向的内存强制类型转换成具有20个int类型的一维数组来使用,同理,也可以强制类型转换成10个double类型的一维数组来使用,或强制类型转换成80个char类型的一维数组来使用,选项B、C、D正确。故本题答案为A选项。
5.A
6.A
\n本题考查函数的调用,从主函数传递到调用函数中,*a的值为0,因此当执行完调用函数后,b[0]的值为6。
\n
7.D是按位异或运算,其功能是参与运算的两个数,按位异或,如果两个相应位相同,结果为0,否则为1。接位异或运算满足如下规则:①满足交换律;②一个数与0异或的结果仍是原数;③一个数与1异或的结果是原数按位取反。所以题干中,“y^x^y”等价于等价于“y^y^x”,等价于“0^x”,等价于x,即“z1=x”;“x^y^x”等价于“x^x^y”,等价于“0^y”,等价于y,即“z2=y”,输出结果为:3,5。故本题答案为D选项。
8.D在三目运算符中,优先级相同,按从右到左的结合性计算,a<b?a:(c<d?a:d)c<d成立所以取值a,同理可得,选择D选项
9.B解析:本题考查while语句的使用。本题考查逻辑非运算符和不等于运算符的区别,逻辑非运算符'!'的优先级大于不等于运算符'!='的优先级。
10.D解析:快速排序的基本思想是,通过一趟排序将排序记录分割成独立的两部
分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继
续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依
次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整
个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩
下的于表采用同样的方法,直到表空为止;归并:排序是将两个或两个以上的有序表组合
成一个新的有序表。
注意:各种排序方法实现过程及实现机制。
11.A解析:本题考查文件使用方式标识符,以“a+”方式打开一个已存在的文件,则表示保留文件中原有的数据,文件的位置指针在文件末尾,此时,可以进行追加或读操作。
12.C
13.C
14.B
15.B
16.B在第1次外层for循环中,首先x++得到x=1。进入到内层for循环,只有循环j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量x的值自加两次,当退出内层for循环时,x=3,然后执行x++,得到x=4。在进入执行第2次外层for循环中,首先x++得到x=5。进入到内层for循环,只有循环变量j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量X的值自加1两次,当退出内层for循环时,x=7,然后执行x++,得到x=8,所以打印输出变量x的值为8。
17.B
18.A
19.A
20.D
21.ACBDFEHGPACBDFEHGP解析:中序遍历方法的递归定义;当二叉树的根不为空时,依次执行如下3个操作:①按中序遍历左子树。②访问根结点。③技中序遍历右子树。根据遍历规则来遍历本题中的二叉树。首先遍历F的左子树,同样按中序遍历。先遍历C的左子树,即结点A,然后访问C,接着访问C的右子树,同样按中序遍历C的右子树,先访问结点B,然后访问结点D,因为结点D没有右子树,因此遍历完C的右子树,以上就遍历完根结点F的左子树。然后访问根结点F,接下来遍历F的右子树,同样按中序遍历。首先访问E的左子树,E的左子树为空,则访问结点E,然后访问结点E的右子树,同样按中序遍历。首先访问G的左子树,即H,然后访问结点G,最后访问G的右子树P。以上就把整个二叉树遍历一遍,中序遍历的结果为ACBDFEHGP。因此,划线处应填入“ACBDFEHGP”。
22.11解析:字符空格的ASCII码不为0,所以本题中表达式!c的值为0,b=0&&1的结果显然为0。
23.栈栈解析:考查考生对栈和队列概念的掌握。按'先进后出'原则组织数据的数据结构是栈;按'先进先出'原则组织数据的数据结构是队列。
24.918273645918273645解析:for是C语言的关键字,其后的一对圆括号中通常含有3个表达式,各个表达式之间用分号隔开,这3个表达式可以是任意形式的表达式,通常主要用于for循环控制。
25.n/2性表的任何位置插入一个元素的概率相等,即概率为p=1/(n+1),则插入一个元素时所需移动元素的平均次数为E=1/(n+1)(n-i+1)=n/2。
26.55解析:a++的含义是在使用a值以后,使a值加1,所以a++的值为5。
27.33解析:C语言的语法规定:else子句总是与前面最近的不带else的if相结合。因为x不大于y,所以执行printf('%d\\n',z);语句。
28.n+1n+1解析:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为0的结点多一个。
29.概念数据模型概念数据模型
30.降低复杂性降低复杂性
31.空间复杂度和时间复杂度算法的复杂性是指对一个在有限步骤内终止算法和所需存储空间大小的估计。算法所需存储空间大小是算法的空间复杂性,算法的计算量是算法的时间复杂性。
32.在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},然后再执行for循环结构,将b[6],b[7]…b[9]的值相加,结果为盟。\r\n\r\n
33.x+=1;
34.->->解析:结构变量abc有成员a,并有指针pabc指向结构变量abc,则引用变量abc成员a的形式有abc.a和p_abc->a。
35.structSTRU*
36.gaga解析:用字符指针处理字符串,首先要使指针指向这个字符串,即题中的ptr1=a和ptr2=b。然后就是通过指针的移动可以引用到字符串中的每一个字符。题中的*(ptr1+k)是使指针ptr1向后移动k个位置,然后取出指向的字符。注意:用字符数组作为字符串和用指针指向的一个字符串之间的区别。
37.880
38.自顶向下自顶向下解析:在程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。
39.字符串字符串解析:本题考查字符替换格式:#define标识符字符串。
40.SunDan20042SunDan20042解析:f函数中形参1用的是显式传地址的方式,因此p->name的值发生改变,而形参2用的传值的方式,在调用时不改变实参的值,因此p->num的值不发生变化。
41.C本题中,首先将0赋给k,表达式变为0,跳出循环,没有执行循环体语句。解答本题的关键是掌握while语句。
42.D解析:C语言的宏定义包括不带参数的宏定义与带参数的宏定义。本题为带参数的宏定义,其形式为:
#define宏名(形参表)字符串
本题的M(a+b,b+c,c+a)被字符串a+b*b+c+c+a代替。
43.D解析:本题中首先定义一个字符数组s,并将字符串'ABCD'存到数组s中,定义了一个字符指针变量p,在接下来for循环中,循环体共执行了三次,第一次p指向s[1],所以此时输出的p所指字符串的值为BCD,第二次循环p指向s[2],此时输出p所指的字符串的值为CD,第三次循环p指向s[3],此时输出的p所指的字符串的值为D。所以,4个选项中选项D符合题意。
44.C解析:这是一道考查fread函数的题。buf是一个指针,fread是读入数据的存放地址;fwrite是输出数据的地址(以上指的是起始地址)。
45.D解析:观察程序可知,a实际上就是数组a的首地址,所以“*(a+i)”表示的就是数组a中的第i个元素的值,进而,我们可以知道*(*(a+i))必然不是对a数组元素的正确引用。
46.D解析:*p代表a,&*p等价于&a;p代表&a,*p等价于a,因而(*p)++等价于a++;但因p的值为a的内存单元地址,p++为变量a首地址后面的地址,*(p++)不再指向变量s。
47.D解析:本题考查“++”和“--”运算符,运算符“++”是操作数加1,而“--”则是操作数减1。在do-while循环中,首先执行y--,再执行--y。当y=2时,执行y--,y的值变为1,--y使y值变为0,循环结束。执行输出时,先输出y的值0,然后执行y--,使y的值变为-1。
48.D解析:p=s+1是指将s(1)的地址赋给p,循环的终止条件是p<s+4,s+4表示的是s[4]的地址,总共3次循环,因为程序中是按“%s”格式符输出,所以应该输出3个字符串,而且每次输出字符串的字符个数减少1。由此可得选项D)正确。
49.B解析:在对程序进行测试时会发现错误,这就要进行程序调试(排错)。程序调试活动由三部分组成:一是错误定位,根据错误的外部表现形式,确定程序中出错的位置,找出错误的内在原因;二是对程序进行修改,排除这个错误;三是进行回归测试,防止引进新的错误。所以程序调试的目的就是诊断和改正程序中的错误。软件调试不能改善软件的性能,也不能挖掘软件的潜能。
50.B解析:要解答此题只要知道两个知识点:①在C语言中规定进行强制类型转换的格式是:(double)变量名;②在C语言中不允许给表达式赋值。
51.A
52.D解析:本题考查switch语句,首先,x=1符合条件case1,执行switch(y)语句,y=0符合case0语句,执行a++并跳出switch(y)语句,此时a=1。因为case1语句后面没有break语句,所以向后执行case2语句,执行a++,b++,然后跳出switch(x),得a=2,b=1。
53.AA)【解析】外模式也称子模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,它是由概念模式推导出来的.是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个概念模式可以有若干个外模式。
54.A\nA。【解析】二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查找。
\n
55.B解析:C语言的语法规定,字母e(E)之前必须有数字,且e(E)后面的指数必须是整数,而选项B)中,e(E)后面的指数是小数,所以不合法。
56.D结构化程序设计由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主张“清晰第一,效率第二”,以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变得单纯而明确,为设计一些较大的软件打下了良好的基础。
由于模块相互独立,因此,在设计其中一个模块时,不会受到其他模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为可以充分利用现有的模块作为积木式的扩展。
结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;“单入口单出口”的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序。
57.B解析:程序中定义了一个指向整型变量的指针变量,并对其赋值为二维整型数组a的首元素的地址。P[4]等价于*(p+4),即二维数组a中第四个元素的值,而a是一个2*3的二维数组,其第四个元素为a[1][1],即5。
58.C解析:本题主要考查结构体数组。a[2].age为结构体a[2]的age成员,即16。a[3].name为指向结构体a[3]的name成员的第一个元素的指针,即指向“Z”,(a[3].name+2)将指针后移两位指向第三个元素“A”,*(a[3].name+2))是取指针所指向地址的内容。
59.C解析:本题考查简单的if…else语句。先执行条件if(a<b),显然不成立,在执行else语句。
60.A算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
61.A
62.BB)选项中定义的数组为2行4列,而赋值时赋成了3行所以出错。
63.B
64.D共用体变量中的所有成员共享一段公共存储区,所有成员的首地址相同。在每一个时刻所有的成员中只有一个有效,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年包头钢铁职业技术学院单招职业技能考试题库附答案详解(黄金题型)
- 2026年南通职业大学单招综合素质考试题库含答案详解(满分必刷)
- 2026年南昌交通学院单招职业倾向性考试题库含答案详解(综合卷)
- 2026年包头职业技术学院单招职业适应性考试题库含答案详解(突破训练)
- 我能行作文20篇2021年
- 湖南省岳阳市达标名校2025-2026学年高三下学期教学质量检测试题(一模)数学试题含解析
- 2026年山东省高三下学期第一次月考试题物理试题试卷含解析
- 新学期校园科技节策划方案【课件文档】
- 2026年江西省赣州市十五县高考语文试题原创模拟卷(四)含解析
- 浙江省绍兴市新昌中学2025-2026学年高三下学期第四次月考试题语文试题含解析
- 2025年税务会计期末试题及答案
- (2025年)麻醉综合疗法在孤独症谱系障碍儿童中临床应用的专家共识
- 深圳市罗湖区2025-2026学年高三第一学期开学质量检测数学
- 2025年广东中考历史试卷真题解读及答案讲评课件
- 全膝关节置换术患者心理因素关联探究:疼痛信念、自我效能与睡眠质量
- 后循环缺血护理常规课件
- T-HAS 148-2025 工厂化菌糠栽培双孢蘑菇技术规程
- 宇树科技在服务机器人市场的竞争策略 课件
- 农村兄弟二人分家协议书范文
- 两办意见八硬措施煤矿安全生产条例宣贯学习课件
- 高考3500词乱序版
评论
0/150
提交评论