版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年吉林省长春市全国计算机等级考试C语言程序设计真题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.下列关于信息系统的叙述中,错误的是()。
A.广播电视是一种双向的、点到多点的信息交互系自
B.网络聊天是一种双向的,以信息交互为主要目的系统
C.电话是一种双向的、点对点的、以信息交互为主要的的系统
D.雷达是一种以感测和识别为主要目的的系统
2.
3.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是()。
A.O(1)B.O(n)C.O(n2)D.O(nlog2n)
4.程序运行后的输出结果是()。
A.m=4
B.m=2
C.m=6
D.m=5
5.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩.,则表SC的关键字(键或码)为()
A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩
6.有以下程序:main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d,%d\n",x,y,z);程序运行后的输出结果是()。
A.2,3,3B.2,3,2C.2,3,1D.2,2,1
7.若有定义“intx=12,y=8,z;”,在其后执行语句“z=0.9+x/y;”,则z的值为()。
A.1B.1.9C.2D.2.4
8.有定义:“inta=2,b=3,c=4;”,则下列选项中值为0的表达式是()。A.(!a==1)&&(!b==0)B.(a<b)&&!c‖1C.a&&bD.a||(b+b)&&(c-a)
9.
10.在供应关系中,实体供应商和实体零件之间的联系是()。
A.多对多B.一对一C.多对一D.一对多
11.软件设计中划分模块的一个准则是()。A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合
12.软件详细设计产生的图如图所示。该图是()。A.N—S图B.PAD图C.程序流程图D.E—R图
13.若有说明语句:double*p,a;则通过scanf语句正确给输入项读人数据的程序段是()。
A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
14.某二叉树的先序序列和后序序列正好相同,则该二叉树可能是______的二叉树。
A.高度大于1的左单支B.高度大于1的右单支C.最多只有一个结点D.既有左孩子又有右孩子
15.下面程序输出的结果是main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3+4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}
A.111-31B.11-321C.12-321D.11121
16.下列叙述中错误的是()。
A.线性表是由n个元素组成的一个有限序列
B.线性表是一种线性结构
C.线性表的所有结点有且仅有一个前件和后件
D.线性表可以是空表
17.设有如下类型说明语句:typedefstruct{intnum;struct{inty,m,d;}date;}PER;则以下定义结构体数组并赋初值的语句中错误的是()。
A.PERst[2]={{1001},2008,8,1,{1002},2006,5,20};
B.PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};
C.PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};
D.PERst[2]={1001,2008,8,1,1002,2006,5,20};
18.有以下程序
#include<stdio.h>
main()
{structnode{intn;structnode*next;}*p;
structnodex[3]={{2,x+1},{4,x+2},{6,NULL}};
p=x:
printf("%d,",p->n);
printf("%d\n",P->next->n);
}
程序运行后的输出结果是A.A.2,3B.2,4C.3,4D.4,6
19.若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为ints[2][3]={0},(*p)[3];p=s;
A.*(*(p+i)+j)B.*(p[i]+j)C.(p+i)+jD.(*(p+i))[j]
20.在下列几种排序方法中,空间复杂度最高的是()
A.归并排序B.快速排序C.插入排序D.选择排序
二、2.填空题(20题)21.函数mycmp(char*s,char*t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t时返回正值,当s<t时返回负值。请填空。
mycmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}
return(【】);
}
22.下列程序的输出结果是【】。
main()
{
inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y)<x)?*(ptr+y):x;
printf("%d\n",z);
}
23.下面程序的功能是将一个字符串str的内容颠倒过来,请填空。
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);
}
24.设有以下结构体类型:
structst
{charname[8];
intnum;
floats[4];
}student[50];
并且结构体数组student中的元素都已有值。若要将这些元素写到硬盘文件fp中,请将以下fwrite语句补充完整:
fwrite(student,【】,1,fp);
25.下面程序执行后输出的结果是【】。
intm=13;
intfun(intx,inty)
{intm+3;
return(x*y-m);
}
main()
{inta=7,b,5;
prntf("%d\n",fun(a,B)/m);
}
26.以下程序段的输出结果是【】。
inti=9;
printf("%o\n",i);
27.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【】。
28.以下程序的输出结果是【】。
main()
{inta=177;
printf(“%o\n”,A);
}
29.下列程序的输出结果是______。
main()
{inta=2,b=4,c=6;
int*p1=&a,*p2=&b,*p;
*(p=&c)=*p1*(*p2);
printf("%d\n",c);
}
30.下列程序的运行结果是【】。
#include<stdio.h>
voidmain()
{ints=0,k;
for(k=7;k>4;k--)
{switch(k)
{case1:
case4:
case7:s++;break;
case2:
case3:
case6:break;
case0:
case5:s+=2;break;}}
printf("s=%d",s);}
31.在面向对象方法中,属性与操作相似的一组对象称为【】。
32.若a=1,b=2,则表达式!(x=A)‖(y=B)&&0的值是______。
33.以下程序的输出结果是【】。
main()
{charc='z';
printf("%c",c-25);}
34.执行下列语句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
35.以下程序的输出结果是【】。
fun(intx,inty,intz)
{z=x*x+y*y;}
main()
{inta=31;
fun(6,3,a)
printf("%d,a)
}
36.软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。
37.数据库管理系统是位于用户与______之间的软件系统。
38.以下程序的输出结果是【】。
#include<stdio.h>
main()
{inti;
for(i-'a';i<'f';i++,i++)printf("%c",i-'a'+'A');
printf("\n");
}
39.以下程序的功能是根据输入的“y”(“Y”)与“n”(“N”),在屏幕上分别显示出“ThisisYES.”与“ThisNO.”。空白处需要填入的内容是
#include<stdio.h>
voidYesNo(charch)
{switch(ch)
{case'y':
case'Y':printf("\nThisisYES,\n");
case'n':
case'N':printf("\nThisisNO.\n");}}
main()
{charch;
printf("\nEnterachar'y','Y'or'n','N':");
ch=【】;
printf("ch;%c",ch);
YesNo(ch);}
40.以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
请填空。
#include"math.h"
doublefun(doublex){return(x*x-2*x+6);}
main()
{doublex,y1,y2;
printf("Enterx:");scanf("%lf",&x);
y1=fun(【】);
y2=fun(【】);
printf("y1=%lf,y2=%lf\n",y1,y2);
}
三、1.选择题(20题)41.执行以下程序后,y的值是()main(){inta[]={2,4,6,8,10};inty=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y);}
A.17B.18C.19D.20
42.若x、a、b和c均是int型变量,则执行表达式x=(a=1,b=2)后x的结果为()。
A.1B.2C.3D.不确定
43.下面程序的输出结果是______。#definea121constb=12;enumc{a1,a2};main(){printf("%d,%d,%d",sizeof(a),sizeof(b),sizeof(enumc));}
A.121,0,4B.2,2,2C.0,2,4D.0,2,2
44.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______。
A.c=b=a;B.(a=c)||(b=c):C.(a=c)&&(b=c);D.a=c=b;
45.下列用于printf函数的控制字符常量中,代表“横向跳格”的字符常量是()
A.\bB.\tC.\rD.\f
46.若定义inta=10,则表达式a+=a-=a*=a的值是()。
A.0B.-180C.-100D.-90
47.
有以下程序:
main
{intx=102,y=012;
printf("%2d,%2d\n",x,y);
}
执行后输出结果是()。
A.10,01B.02,12C.102,10D.02,10
48.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
49.若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
50.若题中各变量已正确定义并赋值,下面符合C语法的表达式是()
A.a%=7.6;B.a++,a=7+b+cC.int(12.3)%4D.a=c+b=a+7
51.有以下程序;charfun(charx,chary){if(x<y)returnx;returny;}main(){inta='9',b='8',c='7';printf("%c\n",fun(fun(a,B),fun(b,C)));}程序的执行结果是
A.函数调用出错B.8C.9D.7
52.下列叙述中正确的是()。
A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式
B.实型变量中允许存放整型数
C.若a和b类型相同,在执行了赋值a=b后,b中的值将放入a中,但b中的值不变
D.在C程序中,求余运算符“%”两边的类型相同时才能进行运算
53.下列程序执行输出的结果是()。#include<stdio.h>f(inta){intb=0;staticc=3;a=c++;b++;return(a);}main(){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);}
A.3B.4C.5D.6
54.在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在()
A.RAM中B.ROM中C.硬盘中D.寄存器中
55.下面选项中不属于面向对象程序设计特征的是()。
A.继承性B.多态性C.类比性D.封闭性
56.以下叙述中不正确的是______。
A.C程序中的预处理命令行都以#号开始
B.宏定义中的宏名可用大写字母或小写字母
C.宏替换不占用运行时间,只占用编译时间
D.使用带参数的宏时,参数的类型应与宏定义时的一致
57.下面函数调用语句含有实参的个数为()。func((exp1,exp2),(exp3,exp4,exp5));
A.1B.2C.3D.5
58.结构化程序设计方法的3种基本控制结构中不包括
A.循环结构B.递归结构C.顺序结构D.选择结构
59.fwrite函数的一般调用形式是
A.fwrite(buffer,count,size,fp);
B.fwrite(fP,size,count,buffer);
C.fwrite(fp,count,size,buffer);
D.fwrite(buffer,size,count,fp);
60.运行下面程序,若从键盘输入字母“b”,则输出结果是charc;c=getchar();if(c>='a'&&c<='u')c=c+4;elseif(c>='v'&&c<='z')c=c-21;elseprintf("inputerror!\n");putchar(c);
A.gB.wC.fD.d
四、选择题(20题)61.对于现实世界中事物的特征,在实体一联系模型中使用()。A.属性描述B.关键字描述C.二维表格描述D.实体描述
62.
63.
64.下面程序的输出结果是
main
{
intx=3,y=6,a=0;
while(x++!=(y-=1))
{
a+=1;
if(y<x)
break;
}
printf("x=%d,y=%d,a=%d\n",x,y,a);
}
A.x=4,y=4,a=1B.x=5,y=5,a=1
C.x=5,y=4,a=1D.x=5,y=4,a=3
65.若变量a、i已正确定义,且i已正确赋值,合法的语句是()。A.A.a==1B.++iC.a=a++=5D.a=int(i)
66.
67.有以下程序:
#include<<stdio.h>
structstu
{intnum;
charname[10]:
intage;}
voidfun(structstu*p)
{printf("%s\n",(*p).name);}
themain
{
structstustudents[3]={{9801,"Zhang".20},
{9802,"Wang",19},{9803,"Zhao",18}}
fun(students+2);
}
输出的结果是()。
A.ZhangB.ZhaoC.WangD.18
68.在下列给出的表达式中,与while(E)中的(E)不等价的表达式是()。A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)
69.
70.
71.有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是()。
A.自然连接B.交C.投影D.并
72.针对简单程序设计,以下叙述的实施步骤顺序正确的是()。
A.确定算法和数据结构、编码、调试、整理文档
B.编码、确定算法和数据结构、调试、整理文档
C.整理文档、确定算法和数据结构、编码、调试
D.确定算法和数据结构、调试、编码、整理文档
73.若有以下说明和定义,以下叙述中错误的是(
)。uniondt{
int
a;char
b;double
c;}data;A.两个共用体变量之间可以相互赋值B.变量data所占内存字节数与成员c所占字节数相等C.程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000D.共用体在初始化时只能用第一个成员的类型进行初始化
74.有以下程序:
在VC6.0平台上编译运行,程序运行后的输出结果是()。
A.10,6B.4,4C.2,4D.4。8
75.当用户要求输入的字符串中含有空格时,应使用的输入函数是()。
A.scanfB.getcharC.getsD.getc
76.
77.在结构化方法中,软件功能分别属于下列软件开发中的(
)阶段。A.详细设计B.需求分析C.总体设计D.编程调试
78.
79.
80.有以下程序:
#include<stdio.h>
main()
{FILE*fp;inti,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w+");
for=(i=o;i<6;,i++)fpintf(fp,"%d\n",a[i]);
rewind(fp);
for(i=0;i%6;i++)fscanf(fp,"%d",&a[5-i]);
fclose(fp);
for(i=0;i%6;i++)printf("%d,",a[i]);
}
程序运行后的输出结果是()。
A.4,5,6,1,2,3,
B.1,2,3,3,2,1,
C.1,2,3,4,5,6,
D.6,5,4,3,2,1,
五、程序改错题(1题)81.已知一个数列,从0项开始的前3项为0、0、1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数proc()的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。例如,当n=11时,程序的输出结果应为32.197745。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.编写函数proc(),它的功能是:根据公式求p的值,结果由函数值带回。m与n为两个正数且要求m>;n。p=m!/(n!(m-n)!),例如,m=20,n=10时,运行结果为184756.000000。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.A广播/电视是一种单向的、点对多点(面)的以信息传递为主要目的的系统。
2.D
3.B
4.C[解析]第一次外循环的值为1.第一次内循环的值为3.不满足条件执行m*=j即m的值为3;第二次的值为2.不满足条件执行m*=*j,即m的值为6;第三次的值为1.不满足条件执行m*=j,即m的值仍为6.第二次外循环的值为2.j的值为3.满足条件,执行break语句,跳出循环。
5.C学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C项。
6.C解析:z=x++是先把x的值1赋给z,所以z=1,然后再把x加1赋给x,x=2,++y后y又加1,所以y=3。
7.A在表达式“z=0.9+x/y”中,先计算“3.6-2”,结果为1;再计算“0.9+1”,结果为1.9。因为变量z为整型,所以z的值为1。故本题答案为A选项。
8.A本题考查逻辑与运算“&&”与逻辑或运算“||”。在选项A中,因为!a=0,所以关系表达式!a=1为0,又因为逻辑与运算符“&&”两边的表达式只要一个等于零,则整个表达式为零,所以选项A正确。在选项8中,关系表达式a<b为真,表达式(a<b)&&!C为假,而表达式(a<b)&&!||1为真,所以整个表达式的值为真。选项C中,a&&b的结果为真。在选项D中,a||(b+b)&&(C-a)的结果为真。
9.D
10.A一家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。本题答案为A选项。
11.B一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
12.CN-S图(也被称为盒图或CHAPIN图)、PAD(问题分析图)及PFD(程序流程图)是详细设计阶段的常用工具。E—R图即实体一联系图,是数据库设计的常用工具。从题中图可以看出该图属于程序流程图。
13.Ddouble*p,a定义了一个指向双精度型的指针变量P和双精度型变量a,p=&a表示将变量a的地址赋给指针变量p;scanf("%If",p)表示用键盘输入的数赋给指针变量P所指向的地址单元中,scanf函数要求在输入double型数据,格式控制符必须用%1f。否则,数据不能正确输入。所以选项D正确。
14.C
15.A解析:本题考查的是算术运算符的各种运算,x=-3+4*5-6=-3+20-6=11;x=3+4%5-6=3+4-6=1;x=-3+4%6/5=-3+4/5=-3+0=-3;x=(7+6)%5/2=13%5/2=3/2=1。故正确答案为选项A)。
16.CC.【解析】线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项C.是错误的。
17.A结构体PER类型定义了两个成员:num为整型,date为嵌套的结构体类型。初始化时,成员值的顺序必须与成员定义的顺序相同,num必须是整数,date必须是用花括号标注的嵌套的3个整数。选项A中,{1001}和{1002}都不是整数,所以选项A错误。故本题答案为A选项。
18.B解析:p指向x的第一个元素,所以p->n的值为2,p->next指向x+1,即指向x的第二个元素,所以p->next->n为4。
19.A解析:p+i是数组s的第i+1行的首地址,而*(p+i)则是数组第i+1行第1列的元素的地址,*(p+i)+j则是第i+1行的第j+1列的地址,*(*(p+i)+j)引用的是数组元素s[i][j]的值。注意:通过建立一个指针数组来引用二维数组元素。
20.A
21.*s-*t*s-*t解析:本题考查比较字符串的大小。函数的两个形参是两个字符指针变量,指针变量的值是字符串的首地址,*s和*t表示s和t指向的第一个字符,在while循环中,通过s和t指针的移动,不断改变所指字符,通过返回s和t的第一个不同字符的ASCII码的差值*s-*t得到结果。
22.66解析:条件运算符的优先级高于赋值运算符,因此本题先计算关系表达式(*ptr+y)<x)?*(ptr+y):x的值,再赋给变量z。当y=0时,*(ptr+y)=2,而x=8,(*(ptr+y)<x)条件为真,则整个条件表达式的值为*(ptr+y)=2,所以z=2;当y-1时,*(ptr+y)=4,(*(ptr+y)<x)条件为真,则整个条件表达式的值为*(ptr+y)=4,所以z=4;当y=2时,*(ptr+y)=6,(*(ptr+y)<x)条件为真,则整个条件表达式的值为*(ptr+y)=6,所以z=6;循环结束。因此输出z的结果为6。
23.k-1k\r\n-1解析:程序山使用了整型变量i、j、k,使用前应先声明,因此第1个空应填变量k。i和j作为下标的值,i被赋初值为0,j应为下标的最大值,下标的最大值为数组的长度减1。
24.sizeof(structst)*50sizeof(structst)*50解析:fwrite函数的一般调用形式为:fwrite(buffer,size,count,fp);其中:buffer是一个指针变量,是要输出数据的起始地址;size是要写的字节数;count是要写多少个size字节的数据项;fp是文件指针。
25.22解析:本题变量m既是外部变量(值是13),又是fun函数的局部变量(值为3)。函数fun(x*y-m)的值为7*5-3=32,在main函数中,fun(a,b)/m中的m应取外部变量的值13,因此输出2。
26.1111解析:本题考核的知识点是printf()函数的输出格式。本题中定义了一个整型变量i并赋初值为9,然后要求以八进制输出i的值,9的八进制数的表示为11。
27.软件生命周期软件生命周期解析:软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。
28.261261解析:在控制格式符中“o”代表的是将数据按八进制数输出,十进制数的177代表的八进制数是261。
29.88解析:本程序定义了3个指针变量p1、p2、p,并且将,、b的地址分别赋给P1、p2,则*p1=a=2,*p2=b=4,所以表达式*p1*(*p2)的值是8。在赋值语句的左边是*(p=&c),即使指针p指向了变量c,因而*(p)代表了c的存储单元,赋值语句“*(p=&c)=*p1*(*p2);”是把整数8赋给了变量c。
30.s=3s=3解析:当k=7时,执行case7,s++,s的值为1。当k=6时,直接break出switch结构;当k=5时,执行case5,s+=2,s的值为3;当k=4时由于不满足for循环的条件,所以结束循环,所以输出的s的值为3。注意:循环语句和条件的嵌套使用。
31.类类解析:在面向对象方法中,类描述的是具有相似性质的一组对象。所以,属性与操作相似的一组对象称为类。
32.00解析:根据运算符的运算顺序可知,该表达式最后运算的是与(&&)运算,而任何表达式与“0”进行“与”运算,结果都为0。
33.aa解析:“z”的ASCII码值为122,经过c-25运算后得97,以字符形式输出是a。
34.150150解析:本题先给变量x赋初始值100,然后将指针p指向变量x,*p是取指针p所指地址的内容,即100,所以x=100+50=150。
35.3131解析:在函数调用时,形参值和改变,不会改变实参的值。
36.测试实例测试实例解析:进行软件测试时,应精心设计测试实例和选择测试数据,以对系统进行全面测试。
37.操作系统操作系统解析:数据库管理系统是帮助用户创建和管理数据库的应用程序的集合。因此,数据库管理系统需要操作系统的支持,为用户提供服务。
38.ACEACE解析:题目中for循环的循环变量i从字符'a'变到字符'e',但由于每次循环后都连续执行了两次i++,所以for循环将执行3次,循环变量i的值依次为'a'、'c'、'e'。循环体中是一条输出语句,按字符输出表达式i-'a'+'A'。因为大小写字母的ASCII码是连续的,例如'b'+1='c'、'W'-1='V',而且小写字母的ASCII码比大写字母的大。所以,同一个字母的大小写字符之差是一个固定值。由此可见,将一个字符从小写转换为大写,只需将其减去这个固定值,而将大写转为小写可以加上这个固定值。固定值可以通过任一字符的小写减去大写来得到。所以本题的i-'a'+'A'=i-('a'-'A'),即让i减去了此固定值,从而使整个表达式的值为i所代表的小写字母的大写形式。故本题的输出结果是ACE。
39.getchargetchar解析:题中要求根据输入的字符调用函数YesNo来判断输入的字符是y(Y)还是n(N),字符的输入可用字符输入函数getchar。函数YesNo用来判断一个字符是y(Y)还是n(N),主要用了一个switch多分支结构来比较输入字符与字符'y','Y'、,'n','N'是否相等来实现的。注意:用于字符串处理的函数。
40.x+8sin(x)x+8,sin(x)解析:考查考生对函数调用相关知识的了解。用x+8代替函数fun(doublex)中形式参数x;用sin(x)代替函数fun(doublex)中形式参数x。
41.C
42.B解析:“a=1,b=2”是一个逗号表达式,x的值是逗号表达式中最后一个表达式的值2。
43.B解析:sizeof函数是取变量所占的存储空间的字节数,标识a代表常量121;constb=12;,其中数据类型可以缺省,默认为整型;enumc{a1,a2};定义了—个枚举类型enumc,a1,a2为枚举元素,在C编译时,对枚举元素按常量处理,它们的值按定义顺序依次为0,1。因此它们的字节数均为2,2,2。
44.C
45.B
46.B解析:算术运算符的运算规则是:从右到左的原则。所以表达式中先计算a=a-a*(上标)a的值是-90,再计算a=a+a的值是-180。
47.C解析:本题中,“printf('%2d,%2d\\n',x,y)”表示以逗号隔开输出两个十进制整数,每个整数域宽是2。而在C语言中规定:当域宽小于实际宽度时域宽不起作用,按实际宽度输出,因此最后的输出值为102和10(y的初值012表示八进制整数12,等于十进制的10)。所以,4个选项中选项C符合题意。
48.AB选项中运算符“%”的运算对象为整数。C选项中不能将变量赋给表达式“x+n”。D选项中不能将表达式“4+1”赋给常量5。故本题答案为A选项。
49.B解析:本题主要考查结构指针:p=&st,访问结构体的成员,可以通过结构变量访问,即st.i,也可以用等价的指针形式,即(*p).i和p->i。
50.B
51.D解析:本题考核的知识点是函数的返回值以及返回值作为函数的参数。经过分析得出函数fun()的功能是比较形参x和形参y的大小,返回较小的一个.函数fun()有两个参数.本题中,首先定义了三个整型变量a、b和c,分别赋初值为9、8和7.然后执行函数fun(fun(a,b),fun(b,c))。在该函数中分别将fun(a,b)和fun(b,C)函数的返回值作为该函数的两个实参。在函数fun(a,b)中,由于a>b,故返回较小值b即8,在函数fun(b,C)中,由于b<c,故返回较小值c即为7,因此调用函数fun(fun(a,b),fun(b,C))相当于执行函数fun(8,7),返回较小值即7。所以,4个选项中选项D符合题意。
52.B解析:选项A),在赋值表达式中,赋值号的左边只能是变量或者是代表某个存储单元的表达式,不能是任意表达式。
在判断选项B)时首先应该建立这杆的概念,整型变量中只能存放整型数,实型变量中能存放实型数,也能存放整型数。
选项C),执行表达式a=b后,将把变量b存储单元中的值赋给变量a,从而覆盖a中原有的值,但b中原有的值并不改变。
选项D),在C程序中,求余运算符“%”两边的类型均为整型数据。
53.B解析:本题考查函数调用时的参数传递。在函数调用时,static变量在函数调用结束后所做的所有变化均保持(即上次调用结束时的值)。
在主函数中,第一次循环,i=0,调用k-f(a++)=f(2),调用完之后才将a加1,a变为3,在f(2)中,先将c=3赋值给a返回,然后将c加1,得到k=a=3,c=4。
第二次循环,i=1,调用k=f(a++)=f(3),调用完之后才将a加1,a变为4,在f(3)中,先将c=4赋值给a返回,然后将c加1,得到k=a=4,c=5。
54.B
55.C解析:面向对象程序设计的特征有以下几点:分类性、继承性、封装性、多态性、模块性等。
56.D解析:宏替换和函数调用有相似之处,但在替换时,对参数没有类型的要求。
57.B
58.B解析:本题考查了程序的基本结构。程序由一些基本结构组成。任何一个大型的程序都由3种基本结构组成,由这些基本结构顺序的构成了一个结构化的程序。这3种基本结构为:顺序结构、选择结构和循环结构。
59.D解析:fwrite的形式是fwrite(buffer,size,count,fp),buffer表示准备输出的数据块的起始地址,size表示每个数据块的字节数,count用来指定每写一次或输出的数据块,fp为文件指针。
60.C解析:本题考查了对字符的输入、输出操作及算术和关系运算。因为b>='a'并且b<='u',所以执行第一个if语句,c=c+4,c的值为字符'f'。
61.A解析:本题考查对实体-联系模型的理解和掌握。在实体-联系模型中,用属性来描述现实世界中对象的属性所表示的对象的性质、特征和行为,因此正确答案为选项A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 特区建工集团2026届春季校园招聘备考题库及答案详解【新】
- 2026江苏南京大学SZXZ2026-009生物医学工程学院科研人员招聘备考题库附答案详解(夺分金卷)
- 2026广东惠州博罗县园洲镇九潭卫生院招聘编外工作人员1人备考题库附参考答案详解(培优)
- 2026河南郑州市第一〇七高级中学招聘23人备考题库附参考答案详解ab卷
- 2026福州产发园区运营管理有限公司项目运营合同制用工招聘3人备考题库(网校专用)附答案详解
- 2026浙江宁波能源集团股份有限公司第一批招聘20人备考题库附参考答案详解【巩固】
- 2026湖南永州市双牌县融媒体中心(双牌县广播电视台)招聘1人备考题库(考点精练)附答案详解
- 质量管理体系实施方案
- 2026浙江宁波市医疗中心医院招聘编外人员1人备考题库附参考答案详解【完整版】
- 2026云南省房物业管理有限公司招聘12人备考题库及完整答案详解(易错题)
- (三调)武汉市2026届高中毕业生三月调研考试化学试卷(含答案)
- 碳足迹评估-第2篇-洞察与解读
- 《工程造价管理》中职全套教学课件
- 3 《做个“开心果”》 课件 2025-2026学年道德与法治二年级下册统编版
- 2026届江苏南京市高三一模高考模拟数学试卷(含答案详解)
- 2026年财政局事业单位招聘试题及答案解析
- 2026年六安职业技术学院单招职业适应性考试题库完整答案详解
- 老年大学教师考核制度
- 2025年特种设备安全管理人员A证全国考试题库(含答案)
- 公司档案管理制度与流程
- 控申复赛卷宗材料
评论
0/150
提交评论