




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年黑龙江省齐齐哈尔市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.串是一种特殊的线性表,其特殊性体现在()。
A.可以顺序存储B.数据元素是一个字符C.可以链式存储D.数据元素可以是多个字符
2.下列叙述中正确的是()。
A.循环队列是队列的一种链式存储结构
B.循环队列是队列的一种顺序存储结构
C.循环队列是非线性结构
D.循环队列是一种逻辑结构
3.若有说明:inta[][3]={0,0};则不正确的叙述是()。
A.数组a的每个元素的初值都是0
B.数组a的第一维大小为1
C.数组a的行数为1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
4.以下程序的输出结果是().A.A.0B.29C.31D.无定值
5.有以下程序:#include<stdio.h>main(){inta=-2,b=2;for(;++a&&--b;)printf(“%d,%d\n”,a,b);}程序运行后的输出结果是()。
A.0,1B.0,0C.1,-1D.0,2
6.若有如下函数定义:doublefun(intx,inty){return(x+y);}return语句中表达式值的类型与说明的类型不一致,则以下叙述中正确的是()。
A.运行时出错B.函数返回的值为int型C.编译出错D.函数返回的值为double型
7.在面向对象方法中,不属于“对象”基本特点的是A.一致性B.分类性C.多态性D.标识唯一性
8.以下程序的输出结果是
longfun(intn)
{longs;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;}
main()
{printf("%ld\n",fun(3));}
A.1B.2C.3D.4
9.假定X和Y为double型,则表达式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
10.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是()
A.每个元素都有一个直接前件和直接后件
B.线性表中至少要有一个元素
C.表中诸元素的排列顺序必须是由小到大或由大到小
D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
11.链表不具有的特点是()。
A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比
12.有以下程序:#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf(“%d”,--y);}程序的运行结果是()。
A.852B.963C.741D.875421
13.若以“a+”方式打开一个已存在的文件,以下叙述正确的是()。
A.文件打开时,原有文件内容不被删除,可以进行添加和读操作
B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可以进行重写和读操作
C.文件打开时,原有文件内容不被删除,位置指针移到文件中间,可以进行重写和读操作
D.文件打开时,原有文件内容被删除,只可进行写操作
14.若f(n)=3n2+2n+1,则f(n)=()。
A.O(n2)B.O(n)C.O(2n)D.O(3n2)
15.以下能正确定义一维数组的选项是
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";
16.有以下程序:
程序运行后的输出结果是()。
A.02B.13C.57D.12
17.现在有16枚外形相同的硬币,其中一枚是假币,且已知假币比真币重量轻。先给定一架没有砝码的天平,问至少需要多少次称量才能找到这枚假币?
A.3B.4C.5D.6
18.若有下列定义,则对a数组元素地址的正确引用是()。inta[5],*p=a;
A.p+5B.*a+1C.&a+1D.&a[0]
19.以下程序#includemain(){chars[]="012xy\08s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d\n",n);}程序运行后的输出结果是A.0B.3C.7D.8
20.下面的哪个保留字不能作为函数的返回类型()。
A.voidB.intC.newD.long
二、2.填空题(20题)21.若输入12、3、2、5、7,则以下程序的运行结果为【】。
intmax,min;
voidmax_min_value();
main()
{inti,number[5];
printf("输入5个整数;\n");
for(i=0;i<5;i++)scanf("%d",&number[i]);
maxminvalue(number,5);
printf("max=%d,min=%d\n",max,min);
getch();
}
voidmax_min_value(array,n)
intarray[],n;
{int*p;
max=min=*array;
for(p=array+1;p<array+n;p++)
if(*p>max)max=*p;
elseif(*p<min)min=*p;
}
22.若有如下程序:
#include"stdio.h"
main()
{chars[30];
strcpy(&s[0],"abc");strcpy(&s[1],"de");strcpy(&s[2],"f");
printf("%s\n",s);}
则程序运行后的输出结果是【】。
23.下列程序的输出结果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
24.以下程序实现带有头结点的单链表的建立,链表中每个结点包含数据域data(字符型)和指针域next,所建立链表的头指针由参数phd传回调用程序。在空格处填入正确内容。
#include<stdio.h>
#include<stdlib,h>
structnode{
chardata;
structnode*next;
};
voidcreatlist(【】)
{
charch;
structnode*s,*r;
*phd=malloc(sizeof(structnode));
r=*phd;
ch=getchar();
while(ch!='@'){
s=malloc(sizeof(structnode));
s->data=ch;
r->next=s;
r=s;
ch=getchar();
};
r->next=【】;
}
main()
{
structnode*head;
head=NULL;
creatlist(【】)
}
25.设y是int型变量,请写出y为奇数的关系表达式【】。
26.下面程序的运行结果是【】。
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
27.执行以下程序后sum的值是【】。
main()
{
inti,sum;
for(i=1;i<6;i++)
sum+=i;
printf("%d\n",sum);
}
28.下列程序的运行结果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
29.在两种基本测试方法中,【】测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。
30.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【】。
31.设有以下定义:
structss
{intinfo;structss*link;}x,y,z;
且已建立如下图所示链表结构,
请写出删除点y的赋值语句【】。
32.若有定义:inta=4,b=5,c=6;然后顺序执行下列语句后,变量b中的值是()。c=(a-=(b-5));c=(a%3)+(b=1);
33.类是一个支持集成的抽象数据类型,而对象是类的【】。
34.以下程序的运行结果为【】。
#include<stdio.h>
main()
{staticintb[2][3]={{1,2,3},{4,5,6}};
staticint*pb[]={b[0],b[1]};
inti,j;
i=0;
for(j=0;j<3;j++)
printf("b[%d][%d]=%d",i,j,*(pb[i]+j));
printf("\n");
}
35.下列程序的输出结果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
36.以下程序中,for循环体执行的次数是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{
inti;
for(i=1;i<K;i++)
{…}
…
}
37.下列程序的输出结果是______。
main()
{inta=1,b=2,c=3,t=0;
if(a<B){t=a;a=b;b=t;}
if(a<C){t=a;a=c;c=t;}
printf("%d,%d,%d\n",a,b,C);
}
38.下面程序的功能是将一个字符串str的内容倒序,请填空。
#inelude<stdio.h>
#include<strins.h>
main()
{inti,j,【】;
charstr[]={"1234567"};
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
39.函数check用来判断字符串s是否是“回文”(顺读和倒读都一样的字符串为“回文”,如abeba)。是则函数返回值1,否则返回值0,请填空。
intcheck(char*s)
{
char*p1,*p2;intn;
n=strlen(s);
p1=s;
p2=【】;
while(p1<p2)
{
if(*p1!=*p2)break;
else{p1++;p2--;}
}
if(【】)return0;
elsereturn1;
}
40.设Y是int型变量,请写出判断Y为奇数的关系表达式【】。
三、1.选择题(20题)41.下列程序执行后的输出结果是()#defineMA(x)x*(x-1)main(){inta=1,b=2;printf("%d\n",MA(1+a+B));}
A.5B.6C.7D.8
42.有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%if",&x);x=fun(x);printf("%d\n",x);}执行程序时,给变量X输入10,程序的输出结果是()。A.55B.54C.65D.45
43.数据库、数据库系统和数据库管理系统之间的关系是()。
A.数据库包括数据库系统和数据库管理系统
B.数据库系统包括数据库和数据库管理系统
C.数据库管理系统包括数据库和数据库系统
D.三者没有明显的包含关系
44.有以下程序:intf(intb[][4]){inti,j,s=0;for(j=0;i<4;i++){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.12B.11C.18D.16
45.以下数组定义中不正确的是_______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100={0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
46.以下程序中C的二进制值是()。chara=2,b=4,c;c=a^b>>2
A.11B.10100C.111100D.000l1000
47.有以下程序
#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
48.以下程序的输出结果是
intf()
{staticinti=0;
ints=1;
s+=i;i++;
returns;}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf("%d\n",a);}
A.20B.24C.25D.15
49.有下列二叉树,对此二叉树前序遍历的结果为()。
A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ
50.有以下程序,其中%u表示按无符号整数输出:
main
{
unsignedintx=0xFFFF;/*x的初值为十六进制数*/
printf("%u\n",x);
}
程序运行后的输出结果是()。
A.-1B.65535C.32767D.0xFFFF
51.请读程序段:charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));程序段的输出结果是______。
A.68B.0C.字符'D'的地址D.不确定的值
52.下面程序的输出结果是()main(){inti,f1,f2;f1=f2=1;for(i=0;i<4;i++){printf(”%d%d”,f1,f2);f1+=f2;f2+=f1;}}
A.12345678
B.1123581321
C.1135791113
D/p>
53.有以下程序:voidswap(char*x,char*y){cbart;t=*x;*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序执行后的输出结果是()。
A.123,abcB.abc,123C.1bc,a23D.321,cba
54.执行以下的程序段后,m的值是______。inta[2][3]={{(1,2,3),{4,5,6}}intm,*p;p=aa[0][0];m=p[4];
A.4B.5C.3D.不确定
55.阅读以下程序以及对程序功能的描述,其中正确的描述是()。#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n");scanf("%s",infile);printf("Entertheoutfilename:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){printf("cannotopeninfile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){printf("cannotopenoutfile\n");exit(0);}while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}
A.程序完成将磁盘文件的信息在屏幕上显示的功能
B.程序完成将两个磁盘文件合二为一的功能
C.程序完成将一个磁盘文件复制到另一个磁盘文件中的功能
D.程序完成将两个磁盘文件合并并在屏幕上输出的功能
56.表示关系a≤b≤c的C语言表达式为()。
A.(a<=B)&&(b<=C)
B.(a<=B)and(b<=C)
C.(a<=b<=C)
D.(a<=B)&(b<=C)
57.已有定义inta=3;和输出语句printf("%8x",A);以下正确的叙述是()。
A.整型变量的输出格式符只有%d一种
B.%x是格式符的一种,它可以适用于任何一种类犁的数据
C.%x是格式符的一种,其变量的值按十六进制数输出,但%08x是错误的
D.%8x是正确的格式符,其中数字8规定了输出字段的宽度
58.下列叙述中,不属于软件需求规格说明书的作用的是()
A.便于用户,开发人员进行理解和交流
B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
C.作为确认测试和验收的依据
D.便于开发人员进行需求分析
59.下列程序的输出结果是()。main{intx=8,y=8;printf("%d%d\n",x--,--y);}
A.88B.77C.78D.87
60.有以下函数intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下关于aaa函数的功能的叙述正确的是A.求字符串s的长度B.比较两个串的大小C.将串s复制到串tD.求字符串s所占字节数
四、选择题(20题)61.
下列程序的运行结果是()。
#include<stdio.h>
voidmain
{ints=0,k;
for(k=7;k>1;k--)
{switch(k)
{case1:
case4:
case7:
s++:
break;
case2:
case3:
case6:break;
case0:
case5:
s+=2:
break;
}}
printf("s=%d",s);
}
A.s=3B.s=4C.s=5D.无输出结果
62.有以下程序:
执行时输入:aBeDefG##<;回车>;,则输出结果是()。
A.AbCdEFgB.ABCDEFGC.BCDEFGHD.bedefgh
63.若变量已正确定义并赋值,以下符合C++语言语法的表达式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
64.下列不可作为C语言赋值语句的是()。
A.x=3,y=5B.a=b=6C.i--D.y=6
65.
下列程序的输出结果是()。
#includedstdi0.h>
#includedstring.h>
voidfun(intb[])
{staticinti=0;
do
{b[i]+=b[i+1];
}while(++i<2);
}
main
{intk,a[5]={1,3,5,4,9};
fun(a);
for(k=0;k<5;k++)printf("%d",a[k]);
}
A.13579B.48579C.48549D.48999
66.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
67.层次型、网状型和关系型数据库划分原则是()。
A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式
68.
69.
70.下列选项中不属于结构化程序设计原则的是()。
A.可封装B.自顶向下C.模块化D.逐步求精
71.有以下程序:
若运行时输入:123<回车>,则输出结果是()。
A.编译错误2000B.102000C.122030D.10
72.
73.(60)视图设计一般有3种设计次序,下列不属于视图设计的是()
A.自顶向下
B.由外向内
C.由内向外
D.自底向上
74.
现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指定一个链表中连续的3个结点。
structnode
{bardata;
structnode*next;}*p,*q,*r;
现要将q和r所指结点交换前后位置,同时要保持链表的结构,下列不能完成此操作的语句是()。
A.q->next=r->next;P>next=r;r->next=q;
B.q->next=r;q->next=r->next;r->next=q;
C.q->next=r->next;r->next=q;P->next=r:
D.q->next=q;P->next=r;q->next=r->next;
75.以下程序的输出结果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12
76.
若有下列定义和语句:
intu=011,v=0x11,w=11;
printf("%o,%x,%d\n",u,v,w);
则输出结果是()。
A.9,17,11B.9,11,11C.11,11,11D.11,17,11
77.
78.
79.若有定义语句:intx=10;,则表沃式㈣的值为()。A.一10B.-20C.0D.10
80.
五、程序改错题(1题)81.下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数proc()的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun(),其功能是实现B=A+AT,即将矩阵A加上A的转置,结果存放在矩阵B中。计算结果在main()函数中输出。举例如下。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>voidfun(inta[3][3],intb[3][3]){}voidmain(){ inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3]; inti,j; system(“CLS”); fun(a,t); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(“%7d”,t[i][j]); printf(“\n”); }}
参考答案
1.B
2.B本题主要考查循环队列的概念,循环队列作为队列的一种也应该是线性结构。队列是一种逻辑结构,而循环队列是一种顺序存储结构的队列。
3.D解析:本题考查给二维数组元素赋值。给二维数组元素赋值时应注意下列两点:①在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取0。②二维数组第一维的大小由下列规则确定;当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小;当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小等于所得商数加1。
4.C
5.A在语句“for(;++a&&--b;)”中,for循环的表达式1和表达式3为缺省项。首先判断条件表达式“b”。当“a=-2,b=2”时,第1次执行“++a”和“--b”,条件表达式为真,循环条件成立。第2次执行“++a”为0,由于运算符,当第1个条件为假时,不执行第2个条件,因此“b=1”,发生短路,“--b”不再执行。因此输出的最终值为0,1。故本题答案为A选项。
6.D题干中“x+y”是整型,函数的返回值是double类型,由于整型可以自动转换成double类型,因此函数值返回时自动转换成double类型。故本题答案为D选项。
7.A对象具有如下特性:标识唯一性、分类性、多态性、封装性、模块独立性。
8.A解析:该题考查的是递归函数的调用,题中读fun函数进行了递归调用,第1次调用:fun(3)n=3s=3-fun(2);第二次调用时:fun(2)n=2s=2返回第一次调用后,s=3-2=1。
9.D本题考查C语言中变量类型的转换。
C语言中若参与运算的变量的数据类型不同,则先转换成同一类型,然后进行运算。转换数据始终往长度增加的方向进行,以确保精确度,如int和long运算,则将int转换为long再运算,所有的浮点运算都是以双精度(double)进行的。
题目中x、y都为double型数据,而表达式3/2为两个整型变量之间的计算,计算结果只保留整数部分,小数部分省略掉。3/2的结果为1。后面变为计算y=x+1,这时都需要变为double型数据,结果为3.000000。
10.D解析:线性表可以为空表,排除选项B。第一个元素没有直接前件,最后一个元素没有直接后件,故排除选项A。线性表的定义中,元素的排列没有规定大小顺序,故选项C也有误,只有D项是正确的。
11.BB选项的特点是顺序存储结构的特点,即数组的特点。
12.A第1次for循环,y的值为9,“y%3”的值为0,满足if条件输出“--y”,即先自减后输出,所以输出8;第2次for循环,y的值为7,“y%3”的值为1,不满足if条件,不执行printf语句;第3次for循环,y的值为6,“y%3”的值为0,满足if条件输出“--y”,即先自减后输出,所以输出5;第4次for循环,y的值为4,不满足if条件,不执行printf语句;第5次for循环,y的值为3,满足if条件,输出2;第6次for循环,y的值为1,不满足if条件,不执行printf语句。故本题答案为A选项。
13.AC语言中,文件打开方式“a+”表示打开一个文本文件,从文件开始位置读,在文件尾部添加数据,如果指定的文件不存在,系统将使用调用fopen时指定的文件名创建一个新的文件;如果指定的文件存在,那么文件原有内容将被保存,新的数据追加到原有文件之后。故本题答案为A选项。
14.A
15.B解析:选项A)中,定义的初值个数大于数组的长度;选项C)中,数组名后少了中括号;选项D)中,整型数组不能赋予字符串。
16.D本题考查逻辑运算符的”短路”现象,由于k的值为0,表达式首先去求k++的值,因为表达式k++的值为0,系统完全可以确定逻辑表达式的运算结果总是为0,因此将跳过n++>2,不再对它进行求值,即k的值加1,n的值不变。
17.A
18.D本题考查数组元素的地址的引用。A中,p+5引用的是a[5]的地址,而数组a只有5个元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用错误(注:数组元素下标从0开始);B中,*a+1指的是将数组a的第一个元素加1;选项C中,不存在这种引用方式;D中,&a[0]引用的是数组的首地址。
19.B
20.C
21.max=12min=2
22.adf
23.3691236912解析:本题考查最基本的for循环:for(cc=1;cc<5;cc++)规定循环次数为4次,每次a+=3即每次a的值增3,但因为fun函数中变量a为static类型,所以每次调用完于函数之后,变量a所做的改变都要保存。
24.structnode**phdNULL&head
25.(y%2)==1或(y%2)!=0(y%2)==1或(y%2)!=0
26.1-21,-2解析:题中外层while循环的循环条件是y--!=-1,即y>=0;内层do…while循环的循环条件是y--即y-->0,y>=1。注意:break和continue语句在循体中的作用。
27.1515解析:程序的功能是求1、2、3、4、5的和即15。
28.22132,2,1,3解析:本题考查++,--运算符和条件运算符的使用。
“表达式1?表达式2:表达式3”的功能是:表达式1的值若非0,则计算表达式2的值,且表达式2的值为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。
本题中,x=1,y=2时,x<y成立,输出y的值2;y=2,z=3时,z<y不成立,执行y++,输出2后y值增1,所以最后一个输出x的值不变为1,y的值为增加后的3。
29.白盒或白箱或白盒子或WhiteBox白盒或白箱或白盒子或WhiteBox解析:本题考查软件工程的测试。测试一般有两种方法:黑盒测试和白盒测试。黑盒测试不考虑程序的内部逻辑结构和处理过程,只着眼于程序的外部特性。用黑盒测试来发现程序中的错误,必须用所有可能的输入数据来检查程序能否都能产生正确的输出。白盒测试是在了解程序内部结构和处理过程的基础上,对程序的所有路径进行测试,检查路径是否都能按预定要求正确工作。因此,划线处应填入“白盒(箱)”或“WhiteBox”。
30.物理独立性物理独立性解析:数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为物理独立性。
31.x.link=&z;或x.link=y.link;或x.link=x.link->link;或x.link=*(x.link).link;x.link=&z;或x.link=y.link;或x.link=x.link->link;或x.link=*(x.link).link;解析:要删除结点y,只需让结点x的指针域指向y结点的指针域所指向的后续结点就可,因此把结点z的地址赋给x的指针域就可以了,即让结点x的指针域指向结点z。而结点z的地址保存在结点y的指针域中,因此只需把结点y的指针域赋值给结点x的指针域即可。
32.11解析:本题考查的是基本赋值运算符和赋值表达式。a-=(b-5)等价于a=a-(b-5)=4,c=a=4;a%3=1,c=(a%3)+(b=1)=2,其中b的值被b=1确定为1。
33.实例将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,对象则是其对应类的一个实例。
34.b[0][0]=1b[0][1]=2b[0][2]=3
35.1234theend1,2,3,4,theend解析:本题考查带参数的宏的定义。第1次循环,i=1时,调用PRINT(1),P(1)输出1;第2次循环,i=2时,调用PRINT(2),P(2)输出2:第3次循环,i=3时,调用PRINT(3),P(3)输出3:第4次循环,i=4时,调用PRINT(4),P(4)输出4,theend。
36.44解析:将程序中所有的宏替换掉可得:M=2+1,K=2+1*2+1/2=4,所以for循环共循环了K-1+1次,即4-1+1共4次。
37.3123,1,2解析:分析程序,第一个if语句,a=1,b=2,控制条件a<b成立,则交换a、b的值,此时a=2,b=1。第二个if语句,a=2,c=3,控制条件a<c成立,则交换a、c的值,此时a=3,c=2。
38.k-1k-1解析:第一处应该是定义的某个变量,读程序可知,变量k没有定义,所以此处应填入k。字符串的倒序,就是将首尾对应的字符(数组元素)两两交换。可用两个游标变量i和j分别代表前端元素的下标和后端元素的下标,交换以这两个变量值为下标的元素str[i]和str[j]。开始时,i的值为0,j的值为字符串末元素的下标(字符串长度减1)。每次交换后,i增1,j减1。继续交换的条件是str[i]仍然位于str[j]的前面,即i<j。字符串末元素的下标是它的长度减1,所以在第二处应填入-1。
39.s+n-1p1<p2s+n-1\r\np1<p2解析:判断是否“回文”字符串,应该使用两个字符型指针,一个从前往后遍历字符串,另一个从后往前遍历字符串,直到它们中途相遇,如果每次两个指针所指的字符都相同,则为“回文”字符串。程序中已经使p1=s,即指向字符串的第一个字符了,所以p2应该指向s的最后一个字符,故第一空应填s+n-1。比较两个指针时,如果有一次不相同,则跳出循环,因为此时已可肯定不是“回文”字符串。如果是while循环的条件p1<p2不满足时自然结束的循环,则每次比较都是相同的,两个指针是中途相遇了才结束比较。两种情况的区别就是pl<p2是否成立。故第二空应该填p1<p2。
40.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判断变量是否为奇数可以用变量与2取模,判断结果是为1或下为0。本题具体做法如下:Y%2=1或Y%2!=0。
41.D解析:本题中的宏调用MA(1+a+b)展开后的结果是1+a+b*(1+a+b-1)=1+1+2*(1+1+2-1)=2+2*3=8。所以输出的结果是8,选项D正确。
42.A函数fun()通过递归调用实现的功能为n+(n-1)+…+1,故程序的输出结果为55。
43.B数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。数据库可以被直观地理解为存放数据的仓库,只不过这个仓库在计算机的大容量存储器上,例如,硬盘就是一种最常见的计算机大容量存储设备。数据必须按一定的格式存放,因为它不仅需要存放,而且还要便于查找和使用。
数据库管理系统(DBMS)是位于用户与操作系统之间的完成数据管理的系统软件。它是用户与数据库的接口。应用程序一般要通过DBMS才能访问数据库。在数据库建立、运用和维护时对数据库进行统一控制。
数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库是整个数据库系统最基本的成分。数据库管理系统是数据库系统的核心。数据库管理员是数据库系统的责任维护者,负责对数据库系统的整体维护。
综上所述,本题中只有B选项的描述是正确的。
44.D解析:在主函数中首先定义了一个4行4列的二维数组a,并用该数组的数组名作为实参调用函数f()。函数f()中的for循环作用,是将数组前3行中的对角线上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到变量s中,s=a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。然后将s的值返回在主函数中输出。
45.D解析:一维数组的定义方式为:
类型说明符数组名[常量表达式];
选项A符合此定义形式,正确;C语言中多维数组赋初值时可以部分赋值,也可以不指定除第一维以外的其他维的大小,故选项C正确;另外,如果对全部数组元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省,所以选项B正确,而选项D是错误的。
46.A
47.D解析:putchar(c1)输出1,putchar(c2)输出2,printf('%c%c\\n',c5,c6)输出45。
48.D解析:函数的静态局部变量在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。
49.D解析:对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右于树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。记住3种遍历的顺序:①前序,访问根一按前序遍历左子树一按前序遍历右子树:②中序,按中序遍历左子树一访问根一按中序遍历右子树;③后序,按后序遍历左子树呻按后序遍历右子树一访问根。
50.B解析:整型常量有十进制、八进制和十六进制3种表示:十进制整数以正号(+)或负号(-)开头,由首位非0的一串十进制数字组成,正负号也可省略,表示正整数;八进制整数以数字0开头,后面接着干个八进制数字(0~7):十六进制整数以数字。和字母x(大、小写均可)开头,后面接若干个十六进制数字(数字0~9和字母A~F,大、小写均可)。故本题是以无符号整数形式输出一个十六进制整数FFFF,将其转换为十进制就是65535,故本题应该选择B。
51.B解析:在对字符数组赋字符串值时,系统会自动在字符串的末尾加上一个字符串结束标志“\\0”,故指向字符数组的指针p的*(p+4)的值为“\\0”。由于“\\0”的编码值就是0,所以本题输出为0。
52.B
53.C解析:函数swap()实现的功能为交换字符指针x和y首位的数值。
54.B解析:程序中定义了一个指向整型变量的指针变量,并对其赋值为二维整型数组a的首元素的地址。p[4]等价于*(p+4),即二维数组a中第四个元素的值,而a是一个2*3的二维数组,其第四个元素为a[1][1],即5。
55.C解析:在C程序中,如果已经定义文件指针FILE*fp;fopen函数的功能是打开一个文件,调用方式为fp=fopen(文件名,使用文件方式);feof函数的功能是检查文件是否结束,调用方式为feof(FILE*fp);fpute函数的功能是把一个字符写到磁盘文件中,调用方式为fputc(ch,fp),ch是要输出的字符,fp是指定要将该字符写入的文件,该文件必须已经以写或读写方式打开了;fgetc函数的功能是从磁盘文件中读入一个字符,调用方式为ch=fsetc(fp),ch是字符变量,fp是文件指针变量;fclose函数的功能是关闭一个文件,调用方式为fclose(文件指针)。
56.A解析:本题考查逻辑与运算符&&。在C语言中使用运算符“&&”连接两个表达式,也可以表示逻辑与运算符。在C语言中不允许出现a<=b<=c这种格式。
57.D解析:本题考查printf函数的格式。“%8x”表示以十六进制无符号形式输出整掣数据。“8”表示指定输出数据的宽度为8位。
58.D解析:软件需求规格说明书SRS,SoftwareRequirementSpecification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用,①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。
59.D解析:本题考查自减(--)运算符的使用。“x--”是先引用x的值然后将x的值减1,所以输出的x值为8;“--y”是先将y的值减1然后再引用y的值,所以输出的y值为7。
60.A解析:aaa()函数中,首先定义了一个字符指针t指向形参s,然后通过一个while循环让指针\u3000t不断递增,直到t指向字符串结束标志处。当t指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,所以接卜来的t--;语句让它回到结束标志处。最后返回t-s,因此s还是指向字符串第1个字符处,而t指向了字符串结尾,故返回值为字符串的长度值。
61.B
\n运行程序,当k=7时switch(7)执行case:7,s++后s=1,break跳出。k--,k=7继续循环switch(6),执行case6;直接跳出循环,k--变成5,继续循环switch(5),执行case5后面的语句s+=2,也相当于s=s+2,此时s为3,break跳出,k变为4,继续循环,执行case4为空,继续执行case7;s++为4跳出循环,k--变为3,继续循环,执行case3,空语句往下执行case6,跳出,k--为2,继续循环,执行case2;空语句往下执行case3,空语句再执行case7,跳出循环,k--为1不符合循环,退出,此时S=4。
\n
62.C循环的作用是将输入的字符串转化为大写,9etchar()每次读入一个字符,putchar()每次输出一个字符,当遇到#字符结束。putchar(++C),表示将字符变量C加1后输出。因此,输入aBcDefG##,得到的结果是BCDEFGH。故答案为c选项。
63.B解析:a=b=c+2实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。注意:选项A)中包含一个不合法的运算符“:=”;选项C)应改为(int)18.5%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C++语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。注意:C++语言赋值语句的运用,
64.CC项是将i的值减1,不是一个赋值语句。
65.C
\n本题考查do-while循环,在fun函数中,首先定义了静态变量i=0,do-while循环要实现的功能是以b[0]=b[0]+b[1],b[1]=b[1]+b[2],其他元素不变的规则重新给b数组赋值。在主函数中,通过调用fun函数,按上面的规则对数组a重新赋值,最后输出数组a。
\n
66.D解析:文件系统所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在3个缺点,数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。注意:文件系统和数据库系统各自的特点,人工管理阶段及数据库系统三代的特点。
67.D层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。
68.B
69.B
70.AA。【解析】结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用goto语句等。
71.B首先二维数组a中的元素都初始化为0,其次定义了指向数组的指针ptr,并且依次将ptr指向二维数组
72.C
73.B
74.D由题目ee线性链表的定义可知,要将q和r所指的结点交换前后位置,只要使q指向r的后一个结点,p指向r结点,r指向q结点即可。而在选项D由,r->next=q,这时r指向的节点为q;p->nextr,这时p指向的节点为r;q->next=r->next,因为r节点已经指向q,所以执行这个语句后q又指向q,所以选项D不正确。
75.D本题可以写成:a+a+(a-(a*a)),所以*的优先级最高,其次是-=的,+的优先级最低,因此先求a-=a*a=9,表达式变为a+a+-=9,a即a=a-9=-6,再次变为a+(-6)=-12,故选择D选项。
76.C解析:在C语言中,“%d”表示输出带符号的十进制整型数;“%x”表示以十六进制无符号型输出整型数据(即不带前导0x或0X);“%o”表示以八进制无符号型输出整型数据(即不带前导0)。
77.C
78.C
79.A算术运算符+的优先级高于一=,且一=的结合方向为自右向左,因此表达式x-----X+X可以表示成X----'X一(x+x)=10一(10+lo)=一10,所以选择A)。
80.B\r\n
81.(1)错误:proc(NODE*h)
正确:intproc(NODE*h)
(2)错误:P=h->next;
正确:P=p->next;
【解析】根据题意,将数据域中的最大值作为函数值返回,可知函数proc()有一个整型的返回值,因此“proc(NODE*h)”应改为“intproe(NODE*h)”;每执行完一次循环,指针P指向其本身结点的下一个结点,因此,“P=h->next”应改为“P=P->next”。
82.voidfun(inta[3][3],intb[3][3]){ inti,j; for(i=0;i<3;i++) for(j=0;j<3;j++) b[i][j]=a[i][j]+a[j][i];/*把矩阵a加上a的转置,存放在矩阵b中*/}行列数相等的二维数组的转置就是行列互换。即转置后的第i行第j列正好对应原矩阵的第j行第i列。本题使用两层循环实现矩阵的转置,并将计算结果存入矩阵b中,外层循环控制矩阵的行下标,内层循环控制矩阵的列下标。2022年黑龙江省齐齐哈尔市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.串是一种特殊的线性表,其特殊性体现在()。
A.可以顺序存储B.数据元素是一个字符C.可以链式存储D.数据元素可以是多个字符
2.下列叙述中正确的是()。
A.循环队列是队列的一种链式存储结构
B.循环队列是队列的一种顺序存储结构
C.循环队列是非线性结构
D.循环队列是一种逻辑结构
3.若有说明:inta[][3]={0,0};则不正确的叙述是()。
A.数组a的每个元素的初值都是0
B.数组a的第一维大小为1
C.数组a的行数为1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
4.以下程序的输出结果是().A.A.0B.29C.31D.无定值
5.有以下程序:#include<stdio.h>main(){inta=-2,b=2;for(;++a&&--b;)printf(“%d,%d\n”,a,b);}程序运行后的输出结果是()。
A.0,1B.0,0C.1,-1D.0,2
6.若有如下函数定义:doublefun(intx,inty){return(x+y);}return语句中表达式值的类型与说明的类型不一致,则以下叙述中正确的是()。
A.运行时出错B.函数返回的值为int型C.编译出错D.函数返回的值为double型
7.在面向对象方法中,不属于“对象”基本特点的是A.一致性B.分类性C.多态性D.标识唯一性
8.以下程序的输出结果是
longfun(intn)
{longs;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;}
main()
{printf("%ld\n",fun(3));}
A.1B.2C.3D.4
9.假定X和Y为double型,则表达式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
10.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是()
A.每个元素都有一个直接前件和直接后件
B.线性表中至少要有一个元素
C.表中诸元素的排列顺序必须是由小到大或由大到小
D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
11.链表不具有的特点是()。
A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比
12.有以下程序:#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf(“%d”,--y);}程序的运行结果是()。
A.852B.963C.741D.875421
13.若以“a+”方式打开一个已存在的文件,以下叙述正确的是()。
A.文件打开时,原有文件内容不被删除,可以进行添加和读操作
B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可以进行重写和读操作
C.文件打开时,原有文件内容不被删除,位置指针移到文件中间,可以进行重写和读操作
D.文件打开时,原有文件内容被删除,只可进行写操作
14.若f(n)=3n2+2n+1,则f(n)=()。
A.O(n2)B.O(n)C.O(2n)D.O(3n2)
15.以下能正确定义一维数组的选项是
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";
16.有以下程序:
程序运行后的输出结果是()。
A.02B.13C.57D.12
17.现在有16枚外形相同的硬币,其中一枚是假币,且已知假币比真币重量轻。先给定一架没有砝码的天平,问至少需要多少次称量才能找到这枚假币?
A.3B.4C.5D.6
18.若有下列定义,则对a数组元素地址的正确引用是()。inta[5],*p=a;
A.p+5B.*a+1C.&a+1D.&a[0]
19.以下程序#includemain(){chars[]="012xy\08s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d\n",n);}程序运行后的输出结果是A.0B.3C.7D.8
20.下面的哪个保留字不能作为函数的返回类型()。
A.voidB.intC.newD.long
二、2.填空题(20题)21.若输入12、3、2、5、7,则以下程序的运行结果为【】。
intmax,min;
voidmax_min_value();
main()
{inti,number[5];
printf("输入5个整数;\n");
for(i=0;i<5;i++)scanf("%d",&number[i]);
maxminvalue(number,5);
printf("max=%d,min=%d\n",max,min);
getch();
}
voidmax_min_value(array,n)
intarray[],n;
{int*p;
max=min=*array;
for(p=array+1;p<array+n;p++)
if(*p>max)max=*p;
elseif(*p<min)min=*p;
}
22.若有如下程序:
#include"stdio.h"
main()
{chars[30];
strcpy(&s[0],"abc");strcpy(&s[1],"de");strcpy(&s[2],"f");
printf("%s\n",s);}
则程序运行后的输出结果是【】。
23.下列程序的输出结果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
24.以下程序实现带有头结点的单链表的建立,链表中每个结点包含数据域data(字符型)和指针域next,所建立链表的头指针由参数phd传回调用程序。在空格处填入正确内容。
#include<stdio.h>
#include<stdlib,h>
structnode{
chardata;
structnode*next;
};
voidcreatlist(【】)
{
charch;
structnode*s,*r;
*phd=malloc(sizeof(structnode));
r=*phd;
ch=getchar();
while(ch!='@'){
s=malloc(sizeof(structnode));
s->data=ch;
r->next=s;
r=s;
ch=getchar();
};
r->next=【】;
}
main()
{
structnode*head;
head=NULL;
creatlist(【】)
}
25.设y是int型变量,请写出y为奇数的关系表达式【】。
26.下面程序的运行结果是【】。
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
27.执行以下程序后sum的值是【】。
main()
{
inti,sum;
for(i=1;i<6;i++)
sum+=i;
printf("%d\n",sum);
}
28.下列程序的运行结果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
29.在两种基本测试方法中,【】测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。
30.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【】。
31.设有以下定义:
structss
{intinfo;structss*link;}x,y,z;
且已建立如下图所示链表结构,
请写出删除点y的赋值语句【】。
32.若有定义:inta=4,b=5,c=6;然后顺序执行下列语句后,变量b中的值是()。c=(a-=(b-5));c=(a%3)+(b=1);
33.类是一个支持集成的抽象数据类型,而对象是类的【】。
34.以下程序的运行结果为【】。
#include<stdio.h>
main()
{staticintb[2][3]={{1,2,3},{4,5,6}};
staticint*pb[]={b[0],b[1]};
inti,j;
i=0;
for(j=0;j<3;j++)
printf("b[%d][%d]=%d",i,j,*(pb[i]+j));
printf("\n");
}
35.下列程序的输出结果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
36.以下程序中,for循环体执行的次数是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{
inti;
for(i=1;i<K;i++)
{…}
…
}
37.下列程序的输出结果是______。
main()
{inta=1,b=2,c=3,t=0;
if(a<B){t=a;a=b;b=t;}
if(a<C){t=a;a=c;c=t;}
printf("%d,%d,%d\n",a,b,C);
}
38.下面程序的功能是将一个字符串str的内容倒序,请填空。
#inelude<stdio.h>
#include<strins.h>
main()
{inti,j,【】;
charstr[]={"1234567"};
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
39.函数check用来判断字符串s是否是“回文”(顺读和倒读都一样的字符串为“回文”,如abeba)。是则函数返回值1,否则返回值0,请填空。
intcheck(char*s)
{
char*p1,*p2;intn;
n=strlen(s);
p1=s;
p2=【】;
while(p1<p2)
{
if(*p1!=*p2)break;
else{p1++;p2--;}
}
if(【】)return0;
elsereturn1;
}
40.设Y是int型变量,请写出判断Y为奇数的关系表达式【】。
三、1.选择题(20题)41.下列程序执行后的输出结果是()#defineMA(x)x*(x-1)main(){inta=1,b=2;printf("%d\n",MA(1+a+B));}
A.5B.6C.7D.8
42.有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%if",&x);x=fun(x);printf("%d\n",x);}执行程序时,给变量X输入10,程序的输出结果是()。A.55B.54C.65D.45
43.数据库、数据库系统和数据库管理系统之间的关系是()。
A.数据库包括数据库系统和数据库管理系统
B.数据库系统包括数据库和数据库管理系统
C.数据库管理系统包括数据库和数据库系统
D.三者没有明显的包含关系
44.有以下程序:intf(intb[][4]){inti,j,s=0;for(j=0;i<4;i++){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.12B.11C.18D.16
45.以下数组定义中不正确的是_______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100={0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
46.以下程序中C的二进制值是()。chara=2,b=4,c;c=a^b>>2
A.11B.10100C.111100D.000l1000
47.有以下程序
#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
48.以下程序的输出结果是
intf()
{staticinti=0;
ints=1;
s+=i;i++;
returns;}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf("%d\n",a);}
A.20B.24C.25D.15
49.有下列二叉树,对此二叉树前序遍历的结果为()。
A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ
50.有以下程序,其中%u表示按无符号整数输出:
main
{
unsignedintx=0xFFFF;/*x的初值为十六进制数*/
printf("%u\n",x);
}
程序运行后的输出结果是()。
A.-1B.65535C.32767D.0xFFFF
51.请读程序段:charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));程序段的输出结果是______。
A.68B.0C.字符'D'的地址D.不确定的值
52.下面程序的输出结果是()main(){inti,f1,f2;f1=f2=1;for(i=0;i<4;i++){printf(”%d%d”,f1,f2);f1+=f2;f2+=f1;}}
A.12345678
B.1123581321
C.1135791113
D/p>
53.有以下程序:voidswap(char*x,char*y){cbart;t=*x;*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序执行后的输出结果是()。
A.123,abcB.abc,123C.1bc,a23D.321,cba
54.执行以下的程序段后,m的值是______。inta[2][3]={{(1,2,3),{4,5,6}}intm,*p;p=aa[0][0];m=p[4];
A.4B.5C.3D.不确定
55.阅读以下程序以及对程序功能的描述,其中正确的描述是()。#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n");scanf("%s",infile);printf("Entertheoutfilename:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){printf("can
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识体系2025年证券从业资格证考试试题及答案
- 股票分析与行业前景的考题及答案
- 微生物检验数据报告解读及试题及答案
- 2025年会计知识测试题库试题及答案
- 风险管理与控制考试试题及答案
- 创新医疗技术助力隐私保护法律实践
- 个人隐私保护的区块链技术应用探讨
- 河南省新乡市部分学校联考2024-2025学年高一下学期4月期中英语试题(原卷版+解析版)
- AI在生物信息学和基因疾病诊断中的价值与应用
- 2025至2030年中国胶挂具行业投资前景及策略咨询报告
- “皖南八校”2024-2025学年高一第二学期期中考试-生物(乙)及答案
- 血站安全与卫生培训课件
- 人教版四年级数学下册期中期中测试卷(提优卷)(含答案)
- 岩土真实考试题及答案
- 高考前的“加速度”高三下学期期中家长会
- 毕业设计(论文)-板材码垛机器人机械结构设计
- 销售人员合同范文
- 网络安全教育主题班会
- 品牌管理塑造、传播与维护案例教学课件 品牌定位:元气森林
- 大部分分校:地域文化形考任务三-国开(CQ)-国开期末复习资料
- 2024年全国中学生生物学联赛试题含答案
评论
0/150
提交评论