版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年辽宁省铁岭市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.C语言中的变量只能由字母、数字和下划线组成,且第一个字符()。
A.必须是字母B.必须是下划线C.必须是下划线和字母D.可以是字母.数字或下划线中任一一种
2.有以下程序:main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}执行后输出结果是()。
A.77B.88C.810D.1010
3.在浏览WWW时,如果连接到一个安全的站点,应当以()开头来书写统一资源定位器。
A.shttp://B.http:s//C.http://D.https//
4.有以下程序:#include<stdio.h>structS{inta,b;)data[2]=10,100,20,200);main(){structSp=data[l];printf("%d\n",++(p.a));}程序运行后的输出结果是()。A.10B.11C.20D.21
5.当变量c的值不为2、4、6时,值为“真”的表达式是()。
A.(c>=2&&c<=6)&&(c%2!=1)
B.(c==2)||(c==4)||(c==6)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)||(c!=3)||(c!=5)
6.有以下程序:#include<stdio,h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行时输入:a<回车>后,以下叙述正确的是()。
A.变量c1被赋予字符a,c2被赋予回车符
B.程序将等待用户输入第二个字符
C.变量c1被赋予字符a,c2中仍是原有字符2
D.变量c1被赋予字符a,c2中将无确定值
7.下列关于栈叙述正确的是A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.上述三种说法都不对
8.有以下程序段:charname[20】;intnum;scanf("name=%Snum=%d",name,&num);当执行上述程序段,并从键盘输入:name=Lilimum=1001<回车>后,name的值为()。A.LiliB.name=LiliC.Lilinum=D.name=Lilinum=1001
9.具有n个结点的连通图至少有()条边。
A.n-1B.nC.n(n-1)/2D.2n
10.需求分析阶段的任务是确定()
A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能
11.有以下程序:#includeMain(){charc1.c2;.c1='A'+'8'-'4';c2='A'+'8'-'5';.printf("%c,%d\n",,c1.c2);}已知字母A的ASCI码为65.程序运行后的输出结果是()。A.E.68B.D.69C.E,DD.输出无定值
12.在深度为5的满二叉树叶中,叶子结点的个数为()。
A.32B.31C.16D.15
13.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为________。
A.24B.48C.72D.53
14.
15.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}执行后的结果是()。A.输出字符a的ASCII码B.输出字符c的ASCII码C.输出字符cD.程序出错
16.若有定义“inta,b,c;”,想通过语句“scanf(“%d,%d%d”,&a,&b,&c);”把1、2、3分别赋给变量a、b、c,则正确的键盘输入是()。
A.1,2,3<Enter>
B.1,2<tab>3<Enter>
C.1<Enter><tab>2<tab>3
D.1<Enter>2<Enter>3
17.设有定义:“inta=1,b=2,C=3;”,以下语句中执行效果与其他三个不同的是()。
A.if(a>b)c=a,a=b,b=C;
B.if(a>b){c=a,a=b,b=C;}
C.if(a>b)c=a;a=b;b=C;
D.if(a>b){c=a;a=b.b=C;)
18.下列叙述中正确的是()。
A.在switch语句中不一定使用break语句
B.在switch语句中必须使用default语句
C.break语句必须与switch语句中的case配对使用
D.break语句只能用于switch语句
19.计算机硬件组成中,CPU包含______。
A.控制器和存储器B.控制器和运算器C.控制器、运算器和存储器D.内存储器和外存储器
20.
二、2.填空题(20题)21.下列程序段的运行结果是______。
charstr口="ABCD",*p=str;
printf("%d\n",*(p+3));
22.下面程序的运行结果是【】。
#include<stdio.h>
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
23.若输入3、4、5,程序的输出结果为【】。
#include"math.h"
main()
{floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f",a,b,c,s);
printf("area=%7.2f\n",area);
}
24.阅读下面程序,则程序的执行结果为【】。
#include"stdio.h"
fun(intk,int*p)
{inta,b;
if(k==1‖k==2)
*p=1;
else{fun(k-1,&a);
fun(k-2,&b);
*p=a+b;}}
main()
{intx;
fun(6,&x);
printf("%d\n",x);}
25.在关系数据库中,将数据表示成二维表,每一个二维表称为______。
26.设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。(注:try_me()函数在a:\myfile.txt中有定义。)
______
main()
{printf("\n");
try_me();
printf("\n");}
27.以下程序运行后的输出结果是【】。
main()
{chars[]="9876",*p;
for(p=s;p<s+2;p++)printf("%s\n",p);
}
28.程序的功能是将文件filel.c的内容输出到屏幕上并复制到文件file2.c中,请填空。
#include<stdio.h>
main()
{FILE【】;
fp1=fopen("filel.c","r");
fp2=fopen("file2.c","w");
while(!feof(fp1))putchar(getc(fp1));
rewind(fp1);
while(!feof(fp1))putc(【】);
fclose(fp1);
fclose(fp2);
}
29.阅读下面程序段,则执行后输出的结果是【】。
#include"stdio.h"
main()
{charfun(char,int);
chara='A';
intb=13;
a=fun(a,b);
putchar(a);}
charfun(chara,intb)
{chark;
k=a+b;
returnk;}
30.计算机中网络通信协议IP是【】。
31.若运行输入:3<回车>,则以下程序的输出结果是()。main(){inta,b;scanf("%d",&A);b=(a>=0)?a:-a;printf("b=%d",B);}
32.下面程序的输出结果是()。#include<stdio.h>main(){staticchara[]="china";char*ptr=a;while(*ptr){printf("%c",*ptr-32);ptr++;}}
33.下面程序的输出结果是【】。
#include<stdio.h>
main()
{staticchara[]="language",b[]="program";
char*ptr1=a,*ptr2=b;
intk;
for(k=0;k<7;k++)
if(*(ptr1+k)==*(ptr2+k))
printf("%c",*(ptr1+k));}
34.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【】。
35.下列程序的运行结果是______。
#include<stdio.h>
main()
{intfun();
fun();
}
fun()
{staticinta[4]={1,2,3,4};
inti;
for(i=0;i<4;i++)a[i]+=a[i];
for(i=0;i<4;i++)printf("%d,",a[i]);
printf"\n");
}
36.下面程序的输出结果是()。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
37.数据库系统中实现各种数据管理功能的核心软件称为【】。
38.设有定义:
struct{inta;floatb;charc;}abc;*p_abc=&abc;
则对结构体成员a的引用方法可以是abc.a和p_abc【】a。
39.软件工程研究的内容主要包括:软件开发技术和【】。
40.由25人围坐成圆圈,先由任意一人开始顺时针沿用1~25依次编号,然后从1号开始顺时针报数(1、2、3…),凡报5的倍数者出圈,剩下者继续报数,求出最后出圈者的编号。
#include
main()
{inta[26],j,n,count;
for(j=1;j<=25;j++)a[j]=j;
j=1;count=0;n=【】;
do
{
if(a[j]!=0)
{n++;
if(n%5==0)
{【】;
if(count==24)printf("%d\n",,j);
count++;
}
}
j++;
if(j>25)j=1;
}
while(【】);
}
三、1.选择题(20题)41.若有定义floata[15],*p=a;,且数组a的首地址为300H,则p+13所指向的数组元素的地址为()。
A.334HB.30DHC.352HD.31AH
42.下列叙述中正确的是()。A.一个逻辑数据结构只能有一种存储结构
B.逻辑结构属于线性结构,存储结构属于非线性结构
C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
43.以下不合法的数值常量是()。
A.11B.le1C.3.0E0.5D.0xabcd
44.数据库、数据库系统和数据库管理系统之间的关系是()
A.数据库包括数据库系统和数据库管理系统
B.数据库系统包括数据库和数据库管理系统
C.数据库管理系统包括数据库和数据库系统
D.3者没有明显的包含关系
45.数据的存储结构是指()。
A.数据所占的存储空间
B.数据的逻辑结构在计算机中的存放形式
C.数据在计算机中的顺序存储方式
D.存储在计算机外存中的数据
46.设x为int型变量,执行以下语句,x=10;x+=x-=x-x;x的值为______。
A.10B.20C.30D.40
47.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是()
A.每个元素都有一个直接前件和直接后件
B.线性表中至少要有一个元素
C.表中诸元素的排列顺序必须是由小到大或由大到小
D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
48.下面说法正确的是()。A.A.一个C程序可以有多个主函数
B.一个C语言的函数中只允许有一对花括号
C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内
D.在对C程序进行编译时,可以发现注释行中的拼写错误
49.若有定义语句:inta[2][3],*p[33;,则以下语句中正确的是()。
A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a
50.设有以下说明,则不正确的叙述是()。unionun{inta;chatb:floatc;}arr;
A.arr所占的内存长度等于成员c的长度
B.arr的地址和它的各成员的地址都是同一地址
C.arr可以作为函数参数
D.不能在定义art时对它初始化
51.静态测试是一种重要的测试方式,可以发现30%到70%的逻辑设计和编码错误。下面()不属于静态测试?
A.白盒测试B.代码检查C.代码质量度量D.静态分析
52.分析下列程序,其最终执行结果是______。main(){intn[3],i,j,k;for(i=0;i<3;i++)n[i]=O;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]-1;printf("%d\n",n[0]);}
A.-2B.-1C.0D.-3
53.有程序:voidfun(inta,intb,intc){a=456;b=567;c=678;}main(){intx=10,y=20,z=30;fun(x,y,Z);printf("%d,%d,%d\n",z,y,x);}输出结果是()
A.30,20,10B.10,20,30C.456,567,678D.678,567,456
54.下列数据结构中,按先进后出原则组织数据的是
A.线性链表B.栈C.循环链表D.顺序表
55.下面关于对象概念的描述中,错误的是
A.对象就是C语言中的结构体变量
B.对象代表着正在创建的系统中的一个实体
C.对象是一个状态和操作(或方法)的封装体
D.对象之间的信息传递是通过消息进行的
56.当变量c的值不为2、4、6时,值也为"真"的表达式是
A.(c==2)||(c==4)||(c==6)
B.(c>=2&&c<=6)||(c!=3)||(c!=5)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)&&(c%2!=1)
57.与y=(x>0?1:x<0?-1:0):的功能相同的if语句是()
A.if(x>0)y=1;elseif(x<0)y=-1;elsey=0;elsey=0;
B.if(x)if(x>0)y=1;elseif(x<0)y=-1;
C.y=-1;if(x)if(x>0)y=1;elseif(x==0)y=0;elsey=-1;
D.y=0;if(x>=0)if(x>0)y=1;elsey=-1:
58.下列选项中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
59.若有以下函数首部intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是______。A.intfun(doublex,int*n);
B.intfun(double,int);
C.intfun(double*x,intn);
D.intfun(double*,int*);
60.定义下列结构体(联合)数组: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
四、选择题(20题)61.设有以下程序段:
要求输入字符串给结构体变量rec的title成员,错误的输入语句是()。
A.seanf(”%s”Ptrtitle);
B.scanf(”%s”,rec.title);
C.scanf(’’%s”,(*pu).title);
D.scanf(”%s”,ptr->title);
62.下列语句中,正确地执行当i等于5时执行一些语句的条件语句是()。
A.if(i==5)B.ifi=5thenC.ifi=5D.ifi==5then
63.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.没有任何关系
64.若有以下程序段输出结果:是()。
A.4B.8C.16D.2
65.下列选项中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
66.以下程序的输出结果是()。
charstr[15]=”hello!”;
printf(“%d\n”,strlen(str));
A.15B.14C.7D.6
67.有以下程序:main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是______。
A.12353514B.12353513C.12343514D.12343513
68.在下列结论中,只有一个是错误的,它是()。
A.C语言允许函数的递归调用
B.C语言中的continue语句,可以通过改变程序的结构而省略
C.有些递归程序是不能用非递归算法实现的
D.C语言中不允许在函数中再定义函数
69.下列叙述中错误的是()。
A.列表框和组合框都有List属性
B.列表框有Selected属性,而组合框没有
C.列表框和组合框都有Style属性
D.组合框有Text属性,而列表框没有
70.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是()。A.可以是任意合法的数值B.必须是整数值C.必须是正数D.必须是逻辑值
71.有以下程序:
#include<stdio.h>
main()
{unsignedchara=8,C;
C=a>>3:
printf("%d\n",c);
}
程序运行后的输出结果是()。
A.32B.16C.1D.0
72.
73.
74.以下程序段
75.有以下程序:
#include<stdio.h>
#defineS(x)4*(x)*x+1
main()
{intk=5,j=2;
printf("%d\n",S(k+j));
}
程序运行后的输出结果是()。
A.197B.143C.33D.28
76.
运行下列程序时,若输入的数据为“1,2,3”,则输出结果是()。
main
{floata,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a<b)
{t=a;a=b.b=t;)
if(a<c)
{t=a;a=c;c=t;)
it(b<c)
{t=b;b=C;c—=;)
printf("%f\n%f\n%f\n",a,b,c);
}
A.1.002.003.00
B.1.003.002.00
C.132
D.3.000002.000001.00000
77.设有下列二叉树:对此二叉树前序遍历的结果为()
A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY
78.假定X和Y为double型,则表达式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
79.设有以下语句:
其中0≤k<5。以下不是对字符串的正确引用的是()。
A.*strpB.strp[k]C.str[k]D.strp
80.要求通过while循环不断读入字符,当读人字母N时结束循环,若变量已正确定义,下列正确的程序段是()。A.B.C.D.A.A.AB.BC.CD.D
五、程序改错题(1题)81.已知一个数列,从0项开始的前3项为0、0、1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数proc()的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。例如,当n=11时,程序的输出结果应为32.197745。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为abcdefabcdeabceabcdef,子字符串为cd,则应当输出3。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:
参考答案
1.C
2.C解析:本题考核的知识点是字符数组的定义、赋初值以及函数sizeof()的应用。本题中定义两个字符型数组,其中a省略了长度,定义了b的长度为10,并赋初值分别为“abcdefg”和“abcdfg”。所以a的长度为赋值给它的字符串的字符个数7加上一个结束转义字符,即a的长度为7+1为8.定义时b的长度定义为10,故b的长度为10,因此最后通过函数sizeof()求得的数组a和数组b的长度分别为8和10,所以,4个选项中选项C符合题意。
3.C
4.D考查结构体的应用,答案为21。
5.D逻辑或运算中只要有一个运算量为真,结果就为真。当“c>=2&&c<=6”条件不成立时,c的值肯定不是2、3、4、5、6,“c!=3”与“c!=5”均成立,所以D选项的结果一定为真。故本题答案为D选项。
6.A解析:函数getchar()的作用是从终端(或系统隐含指定的输入设备)输入一个字符,且只能接受一个字符(回车符也是一个字符)。故本题中变量c1被赋予字符a,c2被赋予回车符。
7.A解析:在栈中,允许插人与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。故本题选A。
8.A考查简单的C程序。由题可知,程序中输入name的值为Lili,所以输出的必定是Lili,答案选择A。
9.A
10.D解析:结构化分析方法,数据流图,数据字典,软件需求规格说明书
评析,需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织,部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能.选项A)软件开发方法是在总体设计阶段完成的任务;选项B)软件开发工具是在实现阶段需完成的任务:选项C)软件开发费用是在可行性研究阶段需完成的任务。
11.A[解析]本题目中字符变量c1是字符A的ASCII码加上4.即69所对应的字符E。字符变量c2是字符'A'的ASCII码加上3.即68所对应的字符D'。但是打印输出时,c1以%c的格式输出,所以是E,c2以%d的格式输出,所以是68.
12.C根据二叉树的性质及定义,一棵深度为k且有2k-1个结点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数,又根据满二叉树的性质,在满二叉树的第i层上至多有2i-1个结点。因此深度为5的满二叉树的叶子结点数为25-1=16个。
13.D
14.D
15.D因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。因而程序编译时出错。
16.B题干中,格式输入函数scanf的格式控制字符串中,第1个%d与第2个%d之间有一个逗号。所以输入的第1个整数和第2个整数之间必须要有一个逗号,选项C、D错误;输入的第2个整数和第3个整数之间需要间隔符,可以使用<Tab>键、<Enter>键、空格符。故本题答案为B选项。
17.C本题判断结果。选项A中,如果(a>b),则执行“c=a,a=b,b=c”这个语句(注意分号的位置,如果条件成立,将会执行第一个分号前的语句),显然if不成立,则a,b,C原样输出。选项B和选项D是同理,而选项C因为条件不成立,则不执行第一条语句“c=a”,接着执行“a=b”,将b的值赋给a,a的值为2;“b=C”,b的值为3,C的值原样输出,结果为2,3,3。
18.Adefault语句在switch语句中可以省略,所以B选项错误;switch语句中并非每个case后都需要使用break语句,所以C选项错误;break语句还可以用于for等循环结构中,所以D选项错误。故本题答案为A选项。
19.B
20.B
21.6868解析:本题考查如何用指针引用数组元素。本题先定义了一个指向字符型数组str的指针p,指针p指向数组str的首地址,p+3将指针指向str[3],*(p+3)指的是字符“D”,输出时是以“%d,格式输出的,即输出其相应ASCII码值68。
22.1-21,-2解析:考查嵌套的循环结构。题中外层while循环的循环条件是\ue008y--!=-1\ue009,即y>=0;内层do厀hile循环的循环条件是y--,即y-->0,y>=1。
23.a=3.00b=4.00c=5.00s=6.00area=6.00
24.88解析:函数可以被递归调用,但是不能递归定义。有返回值的函数调用可以出现在表达式可以出现的任何地方。
25.关系或关系表关系或关系表解析:在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系.表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名,表中的一行称为一个元组,相当于记录值。
26.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本题考查了函数的存储分类的概念。如果没有特别说明,函数的存储范围是从定义函数的位置到文件的结尾,如果其他文件想使用这个函数,需要用ginclude文件包含命令将定义函数的文件包含进来。
27.98768769876\r\n876解析:指针是一种数据类型,这种数据类型的变量用来存放内存中分配的存储单元的首地址。指针的定义:
类型说明符*指针变量名;
28.*fp1*fp2getc(fp1)fp2*fp1,*fp2\r\ngetc(fp1),fp2解析:本题主要考查函数intputc(intch,FILE*fp)的功能,把ch中的字符输出到fp所指文件,以及intgetc(FILE*fp),从fp所指文件中读取一个字符。
29.NN解析:函数说明语句中的类型名必须与函数返回值的类型一致。本题实现的是在字符“A”的ASCII码值上加上一个常数,使之变成另一个ASCII码值,从而输出字符。
30.网际协议网际协议
31.b=3b=3解析:条件表达式的基本格式为:“表达式1?表达式2:表达式3”;其功能是:表达式1的值若非0,则计算表达式2的值,且为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。因为a=3,则a>=0成立,所以b=a=3。
32.CHINA
33.gaga解析:考查了用字符指针处理字符串的方法。用字符指针处理字符串,首先要使指针指向这个字符串,即题中的ptr1=a和ptr2=b,然后就是通过指针的移动可以引用到字符串中的每一个字符。题中的*(ptr1+k)是使指针ptr1向后移动k个位置,然后取出指向的字符。
34.物理独立性物理独立性
35.24682,4,6,8解析:子函数fun()的功能是将数组a中的元素都自加一遍,然后仍然将结果存在原数组中,其实就是将数组a的每个元素都变为原来的2倍,然后输出。在主程序中首先通过intfun()定义了子函数fun(),然后再调用fun()。
36.3232解析:while(表达式)的功能是:首先计算表达式的值.若为真,则执行循环体语句,执行完毕,再计算表达式的值.若仍为真,则重复执行循环体语句,直到表达式的值为假,结束while语句的执行,继续执行while语句后面的语句;i=0时满足循环条件,也满足if的条件,执行语句得i=11,a=11,第2次循环不满足if的条件,执行i--,i=10,执行i+=11;a+=i后,得i=21,a=32,不满足i<20,循环结束。
37.数据库管理系统数据库管理系统(DBMS)
38.->->解析:结构变量abc有成员a,并有指针pabc指向结构变量abc,则引用变量abc成员a的形式有abc.a和p_abc->a。
39.软件工程管理软件工程管理解析:软件工程足指,采用工程的概念、原理、技术和方法指导软件的开发与维护:软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面。即软件工程研究的内容主要包括:软件开发技术和软件工程管理。
40.0a[j]=0count<25
41.C解析:解答本题,首先要明白在对指针进行加、减运算的时候,数字“1”不是十进制的数“1”,而是指'1'个存储单元长度,而1个存储单元长度占多少存储空间,应该视具体情况而定。如果基本类型是int型,移动1个存储单元的长度就是位移2个字节,如果基本类型是float型,移动1个存储单元的长度就是位移4个字节。所以p+13所指向的数组元素的地址:300H+(13*上标)4)H=352H。
42.DD)【解析】数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是不同的。
43.C解析:数值常量分为整型常量、实型常量、字符型常量。实型常量有两种表示形式:十进制小数形式和指数形式,用指数形式表示时字母e(或E)之前必须有数字,且c(或E)后面的指数必须为整数。如:e3,7e3.5,3.OEO.5都是不合法的。
44.B解析:数据库系统(DatabaseSystem,简称DBS)包括数据库(Database,简称DB)、数据库管理系统(DatabaseManagementSystem,简称DBMS):数据库管理员、硬件和软件。
45.B解析:数据的存储结构,又称为数据的物理结构,是数据的逻辑结构在计算机中的存放形式,数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。
46.B解析:本题x=10,表达式“x+=x-=x-x;”的求解步骤如下:先进行x-=x-x的运算,相当于)x=x-(x-x)=x=10;再进行x+=x的运算,即x=x+x=20。
47.D解析:线性表可以为空表,排除选项B。第一个元素没有直接前件,最后一个元素没有直接后件,故排除选项A。线性表的定义中,元素的排列没有规定大小顺序,故选项C也有误,只有D项是正确的。
48.C解析:本题涉及C语言基本的3个知识点:①C语言规定一个程序只允许有一个主函数,一个函数内可以允许有多个花括号;②C程序的注释部分仅仅是方便程序员阅读,提高程序的可读性和可移植性,它并不参与程序的编译,所以编译器也就不会发现注释中的错误。
49.B解析:本题考查的重点是指针数组与二维数组的关系。因为*p[3]定义成指针数组,从而指针数组中的任何元素都是一个地址,因此,选项B是正确的。
50.C解析:本题主要考查联合体的内存使用:联合体所占用的内存空间为最长的成员所占用的空间,int占2个字节,char占1个字节,float占4个字节,所以arr所占的内存长度等于成员c的长度;arr的地址和它的各成员的地址都是同一地址;不能直接对arr赋值,即不能在定义arr时对它初始化;arr也不可以作为函数参数。
51.A
52.D解析:当i为0,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[0]-1,n[0]值变为-1:在j为1时,执行n[j]=n[i]-1;,即n[1]=n[0]-1,将-2赋给n[1]。当i为1时,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[1]-1,n[0]值变为-3;在j为1时,执行n[j]=n[i]-1;,即n[1]=n[1]-1,将-3赋给n[1];最后n[0]和n[1]的值均为-3。
53.A
54.B解析:栈是限定在二端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的。注意:队列组织数据的原则是“先进先出”或“后进后出”。注意:数据结构中,栈和队列组织数据的原则。
55.A解析:对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对象的思想广泛应用于C++、Java等语言中,因此A)错误。
56.B解析:满足表达式(c>=2&&c<=6)的整型变量c的值是2,3,4,5,6。当变量c的值不为2,4,6时,其值只能为3或5,所以表达式c!=3和c!=5中至少有一个为真,即不论c为何值,选项B中的表达式都为'真'。
57.A
58.B水平制表符中,'\t'表示的是横向跳若干格;选项B中,'\039'错误,'\039'是八进制形式表的字符,最大数为7,但其中出现'9',','是字符逗号;选项D中,'\n'表示的是换行。
59.D解析:函数声明可以照写已定义的函数的首部,再加一个号就成为了对函数的声明,在函数声明中也可以不写形参名,而只写形参的类型,但要保证与函数首部写法上的—致,即函数类型、函数名、参数个数、参数类型和参数顺序相同。字符数组可用指针来表示,所以选顶D正确。
60.C解析:本题主要考查结构体数组。a[2].age为结构体a[2]的age成员,即16。a[3].name为指向结构体a[3]的name成员的第一个元素的指针,即指向“Z”,(a[3].name+2)将指针后移两位指向第三个元素“A”,*(a[3].name+2))是取指针所指向地址的内容。
61.A符号“_>”是指针特用的,符号“.”用于指定元素的成员。ptr是指针,只能用符号“一>”,因此选项A错误。+P是指定元素(Fee)可以使用“.”运算,因此选项D正确。选项B,Fee.title代表数组title,同理选项C正确。答案为A选项。
62.A
63.C(10)C)解析:DB即数据库(Database),是统一管理的相关数据的集合;DBMS即数据库管理系统(DatabaseManagementSystem),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法;DBS即数据库系统(DatabaseSystem)由如下5部分组成,数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。
64.Ar右移1位,结果为4,所以选择A。
65.B水平制表符中,'\t'表示的是横向跳若干格;选项B中,'\039'错误,'\039'是八进制形式表的字符,最大数为7,但其中出现'9',','是字符逗号;选项D中,'\n'表示的是换行。
66.D
67.A解析:自增运算符“++”,放在变量之前表示在使用变量之前,先使变量的值加1;放在变量之后表示在使用变量之后,再使变量的值加1。第一条输出语句,先输出m=12,m再自加1,变成13,n先自加1再输出,输出n=35;第二条输出语句,先输出n=35,n再自加1,变成36,m先自加1再输出,输出m=14。
68.CC语言不仅可以递归调用,还可以对自己进行递归调用,但是,不允许在函数中再次定义函数,c语言中的coutinue语句,可以通过改变其结构来实现。
69.BB。【解析】组合框和列表框都没有selected属性。
70.A
71.C\n题中定义了无符号数,c=a>>3;是指右移3位,然后输出。结果为C。
\n
72.B
73.C
74.Aseanf中name得至lJLili,Rum得到l001,所以结果选择A)。
75.B\n此程序考查带参数的宏定义,S(k+j)展开后即4*(k+j)*k+j+1,所以结果为l43,答案为B。
\n
76.D
\n本题考查if语句。第1个if语句,如果a<b,则a与b交换;第2个if语句,如果a<c,则a与c交换;第3个if语句,如果b<2t,则b与c交换。3个if语句结合起来实现的功能就是将a、b、C按从大到小排序。
\n
77.B解析:所谓二叉树的前序遍历(DLR)是指在访问根结点、遍历左子树与遍历右子树这3者中,首先访问根结点,然后遍历左子树,最后遍历右子树,并且,在遍历左右子树时,上述规则同样适用,即“根-左-右”。故该二叉树的前序遍历结果为“ATBZXCYP”。对于本题,若使用后序遍历和中序遍历的结果分别为“ZBTYCPXA”和“TZBACYXP”。
78.D本题考查C语言中变量类型的转换。
C语言中若参与运算的变量的数据类型不同,则先转换成同一类型,然后进行运算。转换数据始终往长度增加的方向进行,以确保精确度,如int和long运算,则将int转换为long再运算,所有的浮点运算都是以双精度(double)进行的。
题目中x、y都为double型数据,而表达式3/2为两个整型变量之间的计算,计算结果只保留整数部分,小数部分省略掉。3/2的结果为1。后面变为计算y=x+1,这时都需要变为double型数据,结果为3.000000。
79.Dstrp是一个指针数组名,即它是一个指向指针的指针,strp不是对字符串的引用。
80.Awhile循环的执行过程如下:①计算while后面圆括号中表达式的值。当值为非0时,执行步骤②。当值为0时,执行步骤④。②执行循环体一次。③转去执行步骤①④退出循环。在选项A中,表达式(ch=get-char())!="N"表示输入的字符不等于N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如果这个条件表达式不成立,即输入的字符等于N,则退出循环。所以选项A为正确答案。
81.(1)错误:proc(intn)
正确:doubleproc(intn)
(2)错误:returnsum
正确:returnsuln;
【解析】从主函数中的函数调用可知,函数proc()有double型的返回值,因此“proc(intn)”应改为“doubleproc(intn)”;在C语言中,每一个语句都要以分号结束,因此应在语句“returnsum”后加上分号。
82.
【解析】要计算出主字符串中包含子字符串的个数,应该检查主字符串中从第一个到最后一个字符。每出现一个计数变量加1,最后将得到的个数返回给主函数。
2021-2022年辽宁省铁岭市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.C语言中的变量只能由字母、数字和下划线组成,且第一个字符()。
A.必须是字母B.必须是下划线C.必须是下划线和字母D.可以是字母.数字或下划线中任一一种
2.有以下程序:main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}执行后输出结果是()。
A.77B.88C.810D.1010
3.在浏览WWW时,如果连接到一个安全的站点,应当以()开头来书写统一资源定位器。
A.shttp://B.http:s//C.http://D.https//
4.有以下程序:#include<stdio.h>structS{inta,b;)data[2]=10,100,20,200);main(){structSp=data[l];printf("%d\n",++(p.a));}程序运行后的输出结果是()。A.10B.11C.20D.21
5.当变量c的值不为2、4、6时,值为“真”的表达式是()。
A.(c>=2&&c<=6)&&(c%2!=1)
B.(c==2)||(c==4)||(c==6)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)||(c!=3)||(c!=5)
6.有以下程序:#include<stdio,h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行时输入:a<回车>后,以下叙述正确的是()。
A.变量c1被赋予字符a,c2被赋予回车符
B.程序将等待用户输入第二个字符
C.变量c1被赋予字符a,c2中仍是原有字符2
D.变量c1被赋予字符a,c2中将无确定值
7.下列关于栈叙述正确的是A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.上述三种说法都不对
8.有以下程序段:charname[20】;intnum;scanf("name=%Snum=%d",name,&num);当执行上述程序段,并从键盘输入:name=Lilimum=1001<回车>后,name的值为()。A.LiliB.name=LiliC.Lilinum=D.name=Lilinum=1001
9.具有n个结点的连通图至少有()条边。
A.n-1B.nC.n(n-1)/2D.2n
10.需求分析阶段的任务是确定()
A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能
11.有以下程序:#includeMain(){charc1.c2;.c1='A'+'8'-'4';c2='A'+'8'-'5';.printf("%c,%d\n",,c1.c2);}已知字母A的ASCI码为65.程序运行后的输出结果是()。A.E.68B.D.69C.E,DD.输出无定值
12.在深度为5的满二叉树叶中,叶子结点的个数为()。
A.32B.31C.16D.15
13.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为________。
A.24B.48C.72D.53
14.
15.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}执行后的结果是()。A.输出字符a的ASCII码B.输出字符c的ASCII码C.输出字符cD.程序出错
16.若有定义“inta,b,c;”,想通过语句“scanf(“%d,%d%d”,&a,&b,&c);”把1、2、3分别赋给变量a、b、c,则正确的键盘输入是()。
A.1,2,3<Enter>
B.1,2<tab>3<Enter>
C.1<Enter><tab>2<tab>3
D.1<Enter>2<Enter>3
17.设有定义:“inta=1,b=2,C=3;”,以下语句中执行效果与其他三个不同的是()。
A.if(a>b)c=a,a=b,b=C;
B.if(a>b){c=a,a=b,b=C;}
C.if(a>b)c=a;a=b;b=C;
D.if(a>b){c=a;a=b.b=C;)
18.下列叙述中正确的是()。
A.在switch语句中不一定使用break语句
B.在switch语句中必须使用default语句
C.break语句必须与switch语句中的case配对使用
D.break语句只能用于switch语句
19.计算机硬件组成中,CPU包含______。
A.控制器和存储器B.控制器和运算器C.控制器、运算器和存储器D.内存储器和外存储器
20.
二、2.填空题(20题)21.下列程序段的运行结果是______。
charstr口="ABCD",*p=str;
printf("%d\n",*(p+3));
22.下面程序的运行结果是【】。
#include<stdio.h>
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
23.若输入3、4、5,程序的输出结果为【】。
#include"math.h"
main()
{floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f",a,b,c,s);
printf("area=%7.2f\n",area);
}
24.阅读下面程序,则程序的执行结果为【】。
#include"stdio.h"
fun(intk,int*p)
{inta,b;
if(k==1‖k==2)
*p=1;
else{fun(k-1,&a);
fun(k-2,&b);
*p=a+b;}}
main()
{intx;
fun(6,&x);
printf("%d\n",x);}
25.在关系数据库中,将数据表示成二维表,每一个二维表称为______。
26.设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。(注:try_me()函数在a:\myfile.txt中有定义。)
______
main()
{printf("\n");
try_me();
printf("\n");}
27.以下程序运行后的输出结果是【】。
main()
{chars[]="9876",*p;
for(p=s;p<s+2;p++)printf("%s\n",p);
}
28.程序的功能是将文件filel.c的内容输出到屏幕上并复制到文件file2.c中,请填空。
#include<stdio.h>
main()
{FILE【】;
fp1=fopen("filel.c","r");
fp2=fopen("file2.c","w");
while(!feof(fp1))putchar(getc(fp1));
rewind(fp1);
while(!feof(fp1))putc(【】);
fclose(fp1);
fclose(fp2);
}
29.阅读下面程序段,则执行后输出的结果是【】。
#include"stdio.h"
main()
{charfun(char,int);
chara='A';
intb=13;
a=fun(a,b);
putchar(a);}
charfun(chara,intb)
{chark;
k=a+b;
returnk;}
30.计算机中网络通信协议IP是【】。
31.若运行输入:3<回车>,则以下程序的输出结果是()。main(){inta,b;scanf("%d",&A);b=(a>=0)?a:-a;printf("b=%d",B);}
32.下面程序的输出结果是()。#include<stdio.h>main(){staticchara[]="china";char*ptr=a;while(*ptr){printf("%c",*ptr-32);ptr++;}}
33.下面程序的输出结果是【】。
#include<stdio.h>
main()
{staticchara[]="language",b[]="program";
char*ptr1=a,*ptr2=b;
intk;
for(k=0;k<7;k++)
if(*(ptr1+k)==*(ptr2+k))
printf("%c",*(ptr1+k));}
34.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【】。
35.下列程序的运行结果是______。
#include<stdio.h>
main()
{intfun();
fun();
}
fun()
{staticinta[4]={1,2,3,4};
inti;
for(i=0;i<4;i++)a[i]+=a[i];
for(i=0;i<4;i++)printf("%d,",a[i]);
printf"\n");
}
36.下面程序的输出结果是()。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
37.数据库系统中实现各种数据管理功能的核心软件称为【】。
38.设有定义:
struct{inta;floatb;charc;}abc;*p_abc=&abc;
则对结构体成员a的引用方法可以是abc.a和p_abc【】a。
39.软件工程研究的内容主要包括:软件开发技术和【】。
40.由25人围坐成圆圈,先由任意一人开始顺时针沿用1~25依次编号,然后从1号开始顺时针报数(1、2、3…),凡报5的倍数者出圈,剩下者继续报数,求出最后出圈者的编号。
#include
main()
{inta[26],j,n,count;
for(j=1;j<=25;j++)a[j]=j;
j=1;count=0;n=【】;
do
{
if(a[j]!=0)
{n++;
if(n%5==0)
{【】;
if(count==24)printf("%d\n",,j);
count++;
}
}
j++;
if(j>25)j=1;
}
while(【】);
}
三、1.选择题(20题)41.若有定义floata[15],*p=a;,且数组a的首地址为300H,则p+13所指向的数组元素的地址为()。
A.334HB.30DHC.352HD.31AH
42.下列叙述中正确的是()。A.一个逻辑数据结构只能有一种存储结构
B.逻辑结构属于线性结构,存储结构属于非线性结构
C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
43.以下不合法的数值常量是()。
A.11B.le1C.3.0E0.5D.0xabcd
44.数据库、数据库系统和数据库管理系统之间的关系是()
A.数据库包括数据库系统和数据库管理系统
B.数据库系统包括数据库和数据库管理系统
C.数据库管理系统包括数据库和数据库系统
D.3者没有明显的包含关系
45.数据的存储结构是指()。
A.数据所占的存储空间
B.数据的逻辑结构在计算机中的存放形式
C.数据在计算机中的顺序存储方式
D.存储在计算机外存中的数据
46.设x为int型变量,执行以下语句,x=10;x+=x-=x-x;x的值为______。
A.10B.20C.30D.40
47.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是()
A.每个元素都有一个直接前件和直接后件
B.线性表中至少要有一个元素
C.表中诸元素的排列顺序必须是由小到大或由大到小
D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
48.下面说法正确的是()。A.A.一个C程序可以有多个主函数
B.一个C语言的函数中只允许有一对花括号
C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内
D.在对C程序进行编译时,可以发现注释行中的拼写错误
49.若有定义语句:inta[2][3],*p[33;,则以下语句中正确的是()。
A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a
50.设有以下说明,则不正确的叙述是()。unionun{inta;chatb:floatc;}arr;
A.arr所占的内存长度等于成员c的长度
B.arr的地址和它的各成员的地址都是同一地址
C.arr可以作为函数参数
D.不能在定义art时对它初始化
51.静态测试是一种重要的测试方式,可以发现30%到70%的逻辑设计和编码错误。下面()不属于静态测试?
A.白盒测试B.代码检查C.代码质量度量D.静态分析
52.分析下列程序,其最终执行结果是______。main(){intn[3],i,j,k;for(i=0;i<3;i++)n[i]=O;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]-1;printf("%d\n",n[0]);}
A.-2B.-1C.0D.-3
53.有程序:voidfun(inta,intb,intc){a=456;b=567;c=678;}main(){intx=10,y=20,z=30;fun(x,y,Z);printf("%d,%d,%d\n",z,y,x);}输出结果是()
A.30,20,10B.10,20,30C.456,567,678D.678,567,456
54.下列数据结构中,按先进后出原则组织数据的是
A.线性链表B.栈C.循环链表D.顺序表
55.下面关于对象概念的描述中,错误的是
A.对象就是C语言中的结构体变量
B.对象代表着正在创建的系统中的一个实体
C.对象是一个状态和操作(或方法)的封装体
D.对象之间的信息传递是通过消息进行的
56.当变量c的值不为2、4、6时,值也为"真"的表达式是
A.(c==2)||(c==4)||(c==6)
B.(c>=2&&c<=6)||(c!=3)||(c!=5)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)&&(c%2!=1)
57.与y=(x>0?1:x<0?-1:0):的功能相同的if语句是()
A.if(x>0)y=1;elseif(x<0)y=-1;elsey=0;elsey=0;
B.if(x)if(x>0)y=1;elseif(x<0)y=-1;
C.y=-1;if(x)if(x>0)y=1;elseif(x==0)y=0;elsey=-1;
D.y=0;if(x>=0)if(x>0)y=1;elsey=-1:
58.下列选项中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
59.若有以下函数首部intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是______。A.intfun(doublex,int*n);
B.intfun(double,int);
C.intfun(double*x,intn);
D.intfun(double*,int*);
60.定义下列结构体(联合)数组: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
四、选择题(20题)61.设有以下程序段:
要求输入字符串给结构体变量rec的title成员,错误的输入语句是()。
A.seanf(”%s”Ptrtitle);
B.scanf(”%s”,rec.title);
C.scanf(’’%s”,(*pu).title);
D.scanf(”%s”,ptr->title);
62.下列语句中,正确地执行当i等于5时执行一些语句的条件语句是()。
A.if(i==5)B.ifi=5thenC.ifi=5D.ifi==5then
63.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.没有任何关系
64.若有以下程序段输出结果:是()。
A.4B.8C.16D.2
65.下列选项中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
66.以下程序的输出结果是()。
charstr[15]=”hello!”;
printf(“%d\n”,strlen(str));
A.15B.14C.7D.6
67.有以下程序:main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是______。
A.12353514B.12353513C.12343514D.12343513
68.在下列结论中,只有一个是错误的,它是()。
A.C语言允许函数的递归调用
B.C语言中的continue语句,可以通过改变程序的结构而省略
C.有些递归程序是不能用非递归算法实现的
D.C语言中不允许在函数中再定义函数
69.下列叙述中错误的是()。
A.列表框和组合框都有List属性
B.列表框有Selected属性,而组合框没有
C.列表框和组合框都有Style属性
D.组合框有Text属性,而列表框没有
70.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是()。A.可以是任意合法的数值B.必须是整数值C.必须是正数D.必须是逻辑值
71.有以下程序:
#include<stdio.h>
main()
{unsignedchara=8,C;
C=a>>3:
printf("%d\n",c);
}
程序运行后的输出结果是()。
A.32B.16C.1D.0
72.
73.
74.以下程序段
75.有以下程序:
#include<stdio.h>
#defineS(x)4*(x)*x+1
main()
{intk=5,j=2;
printf("%d\n",S(k+j));
}
程序运行后的输出结果是()。
A.197B.143C.33D.28
76.
运行下列程序时,若输入的数据为“1,2,3”,则输出结果是()。
main
{floata,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a<b)
{t=a;a=b.b=t;)
if(a<c)
{t=a;a=c;c=t;)
it(b<c)
{t=b;b=C;c—=;)
printf("%f\n%f\n%f\n",a,b,c);
}
A.1.002.003.00
B.1.003.002.00
C.132
D.3.000002.000001.00000
77.设有下列二叉树:对此二叉树前序遍历的结果为()
A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY
78.假定X和Y为double型,则表达式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
79.设有以下语句:
其中0≤k<5。以下不是对字符串的正确引用的是()。
A.*strpB.strp[k]C.str[k]D.strp
80.要求通过while循环不断读入字符,当读人字母N时结束循环,若变量已正确定义,下列正确的程序段是()。A.B.C.D.A.A.AB.BC.CD.D
五、程序改错题(1题)81.已知一个数列,从0项开始的前3项为0、0、1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数proc()的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。例如,当n=11时,程序的输出结果应为32.197745。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为abcdefabcdeabceabcdef,子字符串为cd,则应当输出3。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:
参考答案
1.C
2.C解析:本题考核的知识点是字符数组的定义、赋初值以及函数sizeof()的应用。本题中定义两个字符型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西省富平县2024-2025学年高三第五次月考物理试题文试题含解析
- 陕西省安康市名校2024-2025学年初三第二学期期终质量调研测试数学试题含解析
- 山西省忻州一中等2025年高三高考模拟训练评估卷(1)物理试题含解析
- 微机控制超低频荧光磁粉探伤机项目节能评估报告模板
- 消防安全管理网络图
- 教师共读分享沙龙活动方案总结
- 中班组教研活动计划
- 广西版信息技术五年级下册教学计划
- 初中毕业证模板
- 国家开放大学《初级经济学》形考任务1-3参考答案
- 《钢铁是怎样炼成的》选择题100题(含答案)
- 小学道德法治课程作业的有效设计与反思
- 医疗机构中药饮片管理专项检查评估细则
- 推动医院科研成果转化促进科技进步
- 现金流量表计算公式
- 《微波炉原理》课件
- 西交利物浦大学奖学金体系介绍
- 《番茄工作法》课件
- 人工智能技术研发项目申请书
- 全国优质课一等奖中职《就业与创业指导》课件
- 2023全国重点高中自主招生考试数学试卷大全
评论
0/150
提交评论