版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022-2023年四川省内江市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.下列语句中,()是错误的。A.x=x+1;B.x=x+y;C.x+y=x;D.x=4;
2.
3.在Windows环境下,单击当前窗口中的按钮“”,其功能是A.将当前应用程序转为后台运行
B.退出Windows后再关机
C.终止当前应用程序的运行
D.退出Windows后重新启动计算机
4.若变量已经定义且正确赋值,则针对程序段“temp=a;a=b;b=temp;”,以下叙述中正确的是()。
A.C语言的顺序结构不允许将多条语句写在一行里
B.程序顺序结构对于此段程序是从左至右依次执行的
C.此程序段的执行顺序是,先执行“b=temp;”,再执行“a=b;”,最后执行“temp=a;”
D.将此段程序的前两个分号改成逗号,后面一个不变,则不能实现a和b值的交换
5.按照“先进后出”原则组织数据的结构是()。
A.队列B.栈C.双向链表D.二叉树
6.
7.下列叙述中错误的是()。
A.C语言函数中定义的自动变量,系统不自动赋确定的初值
B.在C语言的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内
C.C语言函数中定义的赋有初值的静态变量,每调用一次函数为其赋一次初值
D.C语言函数的形参不可以说明为static型变量
8.有以下程序:main{intnum[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,12,},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<i;j++)printf("%4c",);for(j=________;J<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式输出数组右上半三角1234678111216则在程序下划线处应填入的是()。A.i-1B.iC.i+1D.4一i
9.若有定义“doublea;”,则正确的输入语句是()。A.A.seaM("%1f",&a);B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
10.两个或两个以上模块之间关联的紧密程度称为()。
A.耦合度B.内聚度C.复杂度D.数据传输特性
11.算术运算符和圆括号有不同的运算优先级,对于表达式“a+b+c*(d+e)”,关于执行顺序,以下说法正确的是()。
A.先执行“(d+e)”得r2,再执行“c*r2”得r3,再执行“a+b”得r1,最后执行“r1+r3”得表达式最后结果
B.先执行“a+b”得r1,再执行“(d+e)”得r2,再执行“c*r2”得r3,最后执行“r1+r3”得表达式最后结果
C.先执行“(d+e)”得r2,再执行“c*r2”得r3,再执行“b+r3”得r4,最后执行“a+r4”得表达式最后结果
D.先执行“a+b”得r1,再执行“r1+c”得r5,再执行“(d+e)”得r2,最后执行“r5*r2”得表达式最后结果
12.下列叙述中正确的是()
A.一个算法的空间复杂度打,则其时间复杂度也必定大
B.一个算法的空间复杂度大,则其时间复杂度也必定小
C.一个算法的时间复杂度大,则其空间复杂度也必定小
D.算法的时间复杂度与空间复杂度没有直接相关
13.有以下程序#include<stdio.h>intfun(intx;inty){if(x=y)reurn(x);elsereturn((x+y)/2);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序运行后的输出结果是______。A.3B.6C.8D.12
14.结构化程序的3种基本控制结构是()。
A.递归、堆栈和队列B.过程、子程序和函数C.顺序、选择和重复D.调用、返回和转移
15.在一个元素个数为N的数组里,找到升序排在N/5位置的元素的最优算法时间复杂度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)
16.层次型、网状型和关系型数据库划分原则是()。
A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式
17.下列描述中,不是线性表顺序存储结构特征的是
A.不便于插入和删除B.需要连续的存储空间C.可随机访问D.需另外开辟空间来保存元素之间的关系
18.下列运算符中优先级最高的是()。
A.!B.%C.-=D.&&
19.p指向线性链表中某一结点,则在线性链表的表尾插入结点s的语句序列是()。
A.while(p->next!=NULL)p=p->next;p->next=s;s->next=NULL;
B.while(p!=NULL)p=p->next;p->next=s;s->next=NULL;
C.while(p->next!=NULL)p=p->next;s->next=p;p->next=NULL;
D.while(p!=NULL)p=p->next->next;p->next=s;s->next=p->next;
20.若有定义语句:“intx=12,y=8,z;”,在其后执行语句“z=0.9+x/y;”,则z的值为()。A.1.9B.1C.2D.2.4
二、2.填空题(20题)21.下面程序的功能是将字符串a下标值为偶数的元素由小到大排序,其他元素不变,请填空。
#include<stdio.h>
main()
{chara[]="labchmfye",t;
inti,j;
for(i=0;i<7;i+=2)
for(j=i+2;j<9;【】)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;j++;}
puts(a);
printf("\n");
}
22.下列程序的运行结果为【】。
main()
{intx=2,y,z;
x*=3+1;
printf("%d,",x++);
x+=y=z=5;
printf("%d,",x);
K=y==Z;
printf{"%d\n",x);
}
23.若x和a均是int型变量,则计算完x=(a=4,6*2)后的x值为______。
24.没有char,a,b;,若要通过a&d运算屏蔽掉a中的其他位,只保留第2位和第8位(右起为第1位),则b的二进制是【】。
25.以下程序的输出结果是【】。
main()
{
intarr[]={30,25,20,15,10,5},*p=arr;
p++;
printf("%d\n",*(p+3));
}
26.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作______。
27.设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=【】;
seanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,2);
printf("big=%d\n",big);
}
28.下面程序输出的结果是()。intm=17;intfun(intx,inty){intm=3;return(x*y-m);}main(){inta=5,b=7;printf("%d\n”,fun(a,B)/m);}
29.数据结构分为线性结构和非线性结构,带链的队列属于[]。
30.下列程序的输出结果是______。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
31.按“先进后出”原则组织数据的数据结构是[]。
32.下述程序的输出结果是【】。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0||x==1)
return3;
else
p=x-fun(x-2);
returnp;}
voidmain()
{printf("\n%d",fun(9));}
33.已知字符'A'的ASCII码值为65,以下语句的输出结果是【】。
charch='B';
printf("%c%d\n",ch,ch);
34.下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。
wordnum(str)
charstr[];
{inti,num=0,word=0;
for(i=0;str[i]!=【】;i++)
if(【】==)word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
35.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用删函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;longfl;
myf=【】("test.t","rb");
fseek(myf,(),SEEK_END);fl+ftell(myf);
fclose(myf);
printf("%d\n",fl);
36.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,(),SEEK_END;f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
37.以下函数的功能是求x的y次方,请填空。
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
38.以下程序运行后的输出结果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
39.数据库管理系统常见的数据模型有层次模型、网状模型和______三种。
40.深度为5的满二叉树中,叶子结点的个数为______。
三、1.选择题(20题)41.已定义以下函数
fun(int*p)
{return*p;}
该函数的返回值是()
A.不确定的值
B.形参p中存放的值
C.形参p所指存储单元中的值
D.形参p的地址值
42.执行下列程序后,输出的结果是()。#include<stdio.h>#defineS(X)X*Xvoidmain(){inta=9,k=3,m=2;a/=S(k+m)/S(k+m);printf("%d",a);}
A.1B.4C.9D.0
43.下列叙述中正确的是()。
A.一个算法的空间复杂度大,则其时间复杂度必定大
B.一个算法的空间复杂度大,则其时间复杂度必定小
C.一个算法的时间复杂度大,则其空间复杂度必定小
D.上述3种说法都不对
44.下列关于“数据库系统(DBS)”的叙述中,正确的一条是______。
A.DBS是指在计算机系统中引入数据库后的系统构成
B.DBS是帮助用户建立、使用和管理数据库的一种计算机软件
C.DBS是用户建立的若干数据库文件的集合
D.DBS是一种新颖的关系数据库管理系统
45.若有以下说明和定义uniondt{inta;charb;doublec;}data;以下叙述中错误的是
A.data的每个成员起始地址都相同
B.变量data所占内存字节数与成员c所占字节数相等
C.程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000
D.data可以作为函数的实参
46.有以下程序:main(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}rintf("%d\n",m);}程序运行后的输出结果是()。
A.1B.2C.3D.4
47.有以下程序______。#defineP3voidF(intx){return(P*x*x);}main(){printf("%d\n",F(3+5));}程序运行后的输出结果是______。
A.192B.29C.25D.编译出错
48.
(3)
A.p->nextB.pC.sD.s->next
49.以下不正确的叙述是A.A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
50.以下叙述中错误的是
A.在程序中凡是以“#”开始的语句行都是预处理命令行
B.预处理命令行的最后不能以分号表示结束
C.#defineMAX是合法的宏定义命令行
D.C程序对预处理命令行的处理是在程序执行的过程中进行的
51.索引属于()。
A.模式B.内模式C.外模式D.概念模式
52.下列数据结构中,按先进后出原则组织数据的是
A.线性链表B.栈C.循环链表D.顺序表
53.下列二维数组初始化语句中,不正确的是()。
A.intb[][2]={1,2,3,4,5,6,7};
B.intb[3][5]={0,0,0};
C.intb[][4]={{1,2},{3,4,5},{6}};
D.intb[3][2]={(1,2),(3,4),(5,6)};
54.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间
55.有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}该程序的输出结果是
A.0B.0.25C.0.5D.1
56.下列描述中正确的是()。
A.程序就是软件
B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体
D.软件是程序、数据与相关文档的集合
57.CPU主要由运算器与控制器组成,下列说法中正确的是()
A.运算器主要负责分析指令,并根据指令要求做相应的运算
B.运算器主要完成对数据的运算,包括算术运算和逻辑运算
C.控制器主要负责分析指令,并根据指令要求做相应的运算
D.控制器直接控制计算机系统的输入与输出系统
58.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。下列不能将变量c中的大写字母转换为对应小写字母的语句是()。
A.c=(c-'A')%26+'a'
B.c=c+32
C.c=C-'A'+'a'
D.c=('A'+C)%26-'a'
59.计算机的内存储器比外存器()
A.价格便宜B.存储容量大C.读写速度快D.读写速度慢
60.下面程序的运行结果是()。#include"stdio.h"main(){inti;for(i=1;i<=5;i++){if(i%2)printf("*");elseprintf("#");}}
A.*#*#*B.#*#*#*C.*#*#D.#*#*
四、选择题(20题)61.有以下程序:main{inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf(“a+b=%d\n”,a+b);/*输出计算机结果*/}程序运行后的输出结果是()。A.a+b=10B.a+b=30C.30D.出错
62.下列程序的输出结果是()。
inta[5]={2,4,6,8,10},*P,**k;
p=a;k=&p;
printf("%d",*(p++));
printf("%d\n",**k);
A.44B.22C.24D.46
63.下列选项不符合良好程序设计风格的是()。
A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计原则是高耦合、高内聚
64.下列关于栈的叙述正确的是()。
A.栈按“先进先出”组织数据,B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据
65.
66.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上三种说法都不对
67.若在定义语句inta,b,c,*P=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。
A.
B.
C.
D.
68.有三个关系R、S和T如下:
则由关系R和s得到关系T的操作是()。
A.自然连接B.并C.交D.差
69.第
34
题
若有如下语句
intx=3;
do{printf("%d\n",x-=2);}
while(!(--x));
则上面程序段
A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环
70.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()。
A.函数的形参和实参分别占用不同的存储单元
B.形参只是形式上的存在,不占用具体存储单元
C.同名的实参和形参占同一存储单元
D.函数的实参和其对应的形参共占同一存储单元
71.若有定义:inta,h;通过语句:scanf(”%d;%d”,&a,&B.;,能把整数3赋给变量a,5赋给变量b的输入数据是()。
A.35B.3,5C.3;5D.35
72.有以下程序程序运行后的输出结果是()。
A.6,4,3,2B.6,2,l,l,C.1,1,2,6,D.2,3,1,6,
73.下列叙述中正确的是()。
A.一个逻辑数据结构只能有一种存储结构
B.数据的逻辑结构属于线性结构,存储结构属于非线性结构
C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
74.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。
A.a,point,*&a
B.&*a,&a,*point
C.*&point,*point,&a
D.&a,&*point,point
75.有以下程序:
#include<stido.h>
main()
{charc1=′1′,c2=′2′;
c1=getchar();c2=getchar();putchar(c1);putchar(c2);
}
当运行时输入:a<回车>后,以下叙述正确的是()。
A)变量c1被赋予字符a,c2被赋予回车符
B)程序将等待用户输入第2个字符
C)变量c1被赋予字符a,c2中仍是原有字符2
D)变量c1被赋予字符a,c2中将无确定值
76.(46)面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是()
A.模拟现实世界中不同事物之间的联系
B.强调模拟现实世界中的算法而不强调概念
C.使用现实世界的概念抽象地思考问题从而自然地解决问题
D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
77.
有以下程序:
fun(intx,inty){return(x+y);)
main
{inta=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是()。
A.6B.7C.8D.9
78.程序设计方法要求在程序设计过程中()。
A.先编制出程序,经调试使程序运行结果正确后再画出程序的流程图
B.先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释
C.先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释
D.以上三种说法都不对
79.下面程序的功能是输出以下形式的金字塔图案。
main()
{
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf("");
for(j=1;j<=______;j++)
printf("*");
printf("\n");
}
}
在下画线处应填入的是
A.iB.2*i-1C.2*i+1D.i+2
80.有以下程序:
程序执行后的输出结果是()。
A.1B.2C.4D.死循环
五、程序改错题(1题)81.写出下列程序的运行结果。
#include“stdio.h”
Main
{inta[]={1,2,3,-4,5};
intm,n,*p;p=&a[0];m=*(p+1);n=*(p+4);
printf(“%d%d%d”,*p,m,n);}
六、程序设计题(1题)82.规定输入的字符串中只包含字母和*号。编写函数fun(),其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为“****A*BC*DEF*G****”,删除后,字符串中的内容应当是“ABCDEFG”。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入编写的若干语句。试题程序:
参考答案
1.C
2.A
3.C解析:在Windows环境下,单击当前窗口中的按钮“x”,其功能是终止当前应用程序的运行,关闭当前窗口。
4.BC语言允许将多条语句写在一行,选项A错误;题干中的语句是从左至右依次执行的,选项B正确,选项C错误。题干中的程序前两个分号改成逗号,就构成了逗号表达式。逗号表达式会依次从左到右计算各个表达式,整个表达式的值是最后一个表达式的值,所以此例也可以实现a和b值的交换,选项D错误。故本题答案为B选项。
5.B栈是线性表的一种,其插入和删除运算都只在表的一端进行。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,不是最后被删除的元素,是按先进后出的原则组织数据的。
6.B
7.CA选项描述正确,自动变量未被赋初值,为随机值;B选项描述正确,除在函数开始位置定义变量外,在复合语句内也可以定义变量;C选项描述错误,函数内的静态变量只在第1次调用时赋值,以后调用保留上次的值;D选项描述正确,形参属于局部变量,占用动态存储区,而static型变量占用静态存储区。故本题答案为C选项。
8.B本题中要求输出右上半角的数,对角线上的数的下标相同,所以j=i。
9.D本题考查seanf函数的调用形式:scanf(格式字符串,输入项地址表)。题中定义变量a为双精度型变量,双精度变量的格式符为“le”;变量的地址用取地址符“&”加变量名表示,所以选项D正确。
10.A解析:本题考核模块独立性的评价。评价模块独立性的主要标准有两个;一是模块之间的耦合,它表明两个模块之间互相独立的程度,也可以说是两个或两个以上模块之间关联的紧密程度(所以,本题的正确答案为选项A);二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量地高。
11.B题干表达式中,圆括号的优先级最高,乘法运算符次之,加法运算符最低。同优先级中,加法运算符的结合性从左向右结合,所以题干中的表达式执行顺序是:先执行“a+b”得r1,再执行“(d+e)”得r2,再执行“c*r2”得r3,最后执行“r1+r3”得表达式最后结果。故本题答案为B选项。
12.D
13.B解析:在主函数中,第—次调用fun函数,将变量b,c的值传给形参x,y,在fun()函数中执行if语句,判断b和c的值是否相等,由于在主函数中赋初值b=5,c=6,所以判断条件不满足,执行else语句,返回表达式(x+y)/2的值,即:(5+6)/2,因为参数的类型都为int型,所以结果也为整型:5,第二次调用时8和5也不相等,所以返回值为6,因此,选项B是正确的。
14.C1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复3种基本控制结构就足以表达出各种其他形式结构的程序设计方法。本题答案为C选项。
15.A
16.D层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。
17.D解析:线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此,不需要另外开辟空间来保存元素之间的关系。
18.A
19.A
20.B此题考查除法运算,根据先乘除后加减,有括号先算括号的原则,先计算x/y,即l2/8=1,所以z=0.9+1=1.9。但是Z是整型的,转化一下取整除部分,结果Z=1
21.j++a[i]>a[j]或a[j]<a[i]j++\r\na[i]>a[j]或a[j]<a[i]解析:题目要求排序的元素是下标值为偶数的元素,外循环循环4次,i的值分别为0、2、4、6,所以内循环也循环4次,i的值就应为2、4、6、8,在循环体中已经有了对j加1的操作,因此for后括号中的语句应再对j加1,保证下标为偶数。if语句的功能是如果后一个数比前一个数小则交换位置。
22.8141
23.1212解析:x=(表达式1,表达式2,…)的形式,结果为最后一个表达式的值:x=(a=4,6*2)=2*6=12。
24.1000001010000010解析:运算“&”的规则是只有当两个相应的二进制位都为1时,该位的结果才为1。要保留第2、8位,只要将其与二进制数10000010相与。
25.1010解析:整型指针最初被赋的值是数组arr的头指针,即指向数组的第一个元素30,p++后,指针指向数组的下一个元素,即*p=arr[1]=25,在执行*(p+3)时,则相当于a[1+3],即10。因此,输出应为100。
26.队尾队尾解析:在队列中,允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。
27.findbigfindbig解析:本题首先定义了一个指向函数的指针变量f,如果希望让它指向某个函数,只需把函数名赋给该指针变量即可。所以说本题的空格处应该填入函数名findbig。
28.11解析:本题考查局部变量和全局变量的区别:局部变量是指作甩域在函数级和块级的变量,全局变量是指作用域在程序级和文件级的变量。
29.线性结构线性结构解析:与栈类似,队列也是线性表,也町以采用链式存储结构。
30.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,循环结束。
31.栈栈解析:栈和队列都是—种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的—端进行插入或删除操作,是—种“先进后出”的线性表;而队列只允许在表的—端进行插入操作,在另—端进行删除操作,是—种“先进先出”的线性表。
32.77解析:本题考查的是函数的递归调用。x=0或x=1是递归的终止条件,然后用回代的方法从一个已知值推出下一个值,直到计算出最终结果。
33.B66B66解析:字符B的ASCII码值为66,因此,按%c形式输出B,按%d形式输出66,输出结果为:B66。
34.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:观察题目要求,可以知道以下几点:
①for循环的结束条件应当是:str[i]已是字符串的最后一个字符;
②str[i]代表字符串sb中的第i+1个字符:
③整型变量num的值是要记录的单词的个数。
C语言中规定字符串的最后一个字符是一个隐含的字符串结束符“\\0”,所以在题中第一个空中应填写“\\0”;题中第二个空应填写“str[i]”,以判断当前位置的字符是否为空格;题中第二个空中应当填写“num++”,通过变量num的加1累加得到字符串中的单词个数。
35.fopenfopen解析:C语言中的文件分为:ASCII文件与二进制文件。文件在使用前打开,使用后要关闭。
打开文件的函数为:fopen(),调用形式为:fp=fopen(“文件名”,“使用文件方式”);
关闭文件的函数为:fclose(),调用形式为:fclose(fp);其中fp为文件指针。
36.fopenfopen解析:C语言中的文件分为:ASCII文件与二进制文件。文件在使用前打开,使用后要关闭。打开文件的函数为:fopen(),调用形式为:fp=fopen(“文件名”,“使用文件方式”);关闭文件的函数为:fclose(),调用形式为:fclose(fp);其中fp为文件指针。
37.xx解析:函数的定义形式为;
函数类型函数名(形参表)
{
类型说明语句;
执行语句;
}
本题中函数的功能是:累积变量以求得变量的Y次方。
38.8888解析:C语言规定,以0开头的整型常量为八进制。另外,在primf()函数中,%X表示以十六进制无符号形式输出一个整数,且十六进制中的ABCDEF为大写字母。本题的输出应该是八进制210的十六进制形式。将八进制转换为十六进制,可以先将其转换为二进制。因为1位八进制表示3位二进制,4位二进制表示1位十六进制。(210)8=(10001000)2=(88)16,故本题输出为880
39.关系模型关系模型
40.1616解析:满二叉树的叶子结点都在最后一层,即第4层,且第4层的结点达到最大数,即25-1=16。
41.C解析:本题考核的知识点是函数的返回值.函数的返回值应该为return后面的表达式的值,在本题中的表达式为*p,*p指的是形参p所指存储单元中的值,所以,4个选项中选项C符合题意。
42.D解析:本题主要是考查带参数的宏定义及其相关运算。本题中宏运算过程如下:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
43.DD。【解析】算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。
44.A解析:数据库系统DBS是指在计算机系统中引入数据库后的系统构成。数据库系统是一种带有数据库的综合系统,它包括硬件、软件(如操作系统、数据库管理系统、编译系统及应用开发工具软件等)、数据库以及开发者和使用者。
45.D解析:选项A),共用体的每个成员的起始地址都相同;选项B),共用体变量所占的内存长度等于最长的成员的长度;选项C)因为每个成员的起始地址相同,所以整型数5以浮点型输出时为5.000000;选项D)C语言规定,不能把共用体变量作为函数的参数。
46.A解析:本题中首先计算switch后面括号里的表达式a%3,即15%3为0;执行case0:后面的语句m++:m自加1,即m为1遇到break语句;然后跳出switch语句,所以最后输出的m的值为1。所以选项A正确。
47.D解析:定义函数F(x)为void型,即没有返回值,而函数体中又有return语句,编译时会出错。
48.B解析:在主函数中,定义了一个结构体型指针变量head,然后将函数CreatList()的返回值赋给指针变量head,从这里可知函数CreatList()的返回值为struetnode*类型,所以第48处的空格处应该填struetnode*;在函数CreatList()中首先定义三个结构体型指针变量h,p和q,然后调用malloc()函数分配了一个结点空间,并让指针h指向它,开始指针p、q和h都指向它,然后调用一个while循环语句,当到达字符串数组s的末尾结束循环,在每次循环中,分配一个结点空间,并让p指向它,然后让该结点的data域的值等于字符串指针s所指的值,故49处的空格处应填*s;接下来让指针q所指结点的指针域指向结点p,然后让指针q指向该指针的所指结点的下一个结点即p。
49.D解析:在C语言所有的运算符中,逗号运算符的优先级最低。C语言中区分大小写,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的值付给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。
50.D解析:在C语言中,凡是以“#”开头的行都称为编译预处理命令行,如#include、#define、#if等,每行的末尾不得用“;”结束,以区别于C语句、定义和说明语句。选项C中的宏定义为不带参数的宏命令行,宏名之后可以有替换文本,也可以没有。编译预处理是在编译程序对C源程序进行编译前执行的.当然也在程序执行之前执行,因此选项D是错误的。
51.B解析:内模式(InternalSchemA)又称物理模式(PhysicalSchemA),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径。数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值。
52.B解析:栈是限定在二端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的。注意:队列组织数据的原则是“先进先出”或“后进后出”。注意:数据结构中,栈和队列组织数据的原则。
53.D解析:在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取0;C语言规定,对于二维数组,只可以省略第1个方括号中的常量表达式,而不能省略第2个方括号中的常量表达式;赋的初值不能多于事先定义好的数组元素个数。
在选项D)赋值表达式中,对每一维的元素赋初值应用{},而不是()。
54.D【解析】算法的空间复杂度是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
55.C解析:该题目测验考生对if…elseif结构的理解,比较简单。x的值满足x<10.0的关系,所以程序将执行y=1.0/x;语句,y的值应该等于0.5。最后,用printf函数输出时,%f的输出格式为小数点后保留6位。
56.D\r\n软件是与计算机操作相关的计算机程序、规程、规则,以及可能有的文件、文档及数据;软件开发要受到计算机系统的限制;软件是一个逻辑实体,不是物理实体,软件具有抽象性。因此选项D正确。
57.B
58.D解析:由题意可知,小写字符a和大写字符A的ASCII代码相差为32,所以选项C)能将大写字符c的ASCII代码转换为小写字符c的ASCⅡ代码;选项A)和C)左侧的表达式都是大写字符c与大写字符A的差与'a'的ASCII代码的和就是小写字符c的ASCII代码。而选项D)中应该是加上'a',而不是减去'a'。
59.C
60.A解析:分析程序呵知.程序循环5次,然后利用if语句决定每次循环时输出的字符。当i为奇数时,i%2=1,if(i%2)为真,输出“*”;当i为偶数时,i%2=0,if(i%2)为假,执行else语句,输出“#”,所以当i取1、3、5值时输出“*”,当i取2、4值时输出“#”。
61.AC语言规定,注释语句可以换行写,并且一个“/*”和其后紧跟的第一个“*/”中间的部分是注释内容,并且注释部分的内容不参与程序的执行,因此本题中没有执行“b=20”;这条语句。
62.C
63.D在程序设计中,对于软件设计中的模块设计要保证高内聚和低耦合,源程序要有文档说明,同时对程序中数据的说明要规范化。而goto语句破坏程序的结构,要尽量避免使用。所以选项D不正确。
64.B栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。
65.B
66.B解析:本题考查数据库系统的基本概念和知识。
数据库系统除了数据库管理软件之外,还心须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项A的说法是错误的。
数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且容许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项B的说法是正确的。
通常将引入数据库技术的计算机系统称为数据库系统。一个数据库系统通常由五个部分组成,包括相关计算机的硬件、数据库集合、数据库管理系统、相关软件和人员。
因此,选项C的说法是错误的。
因此,本题的正确答案是选项B。
67.Dseartf函数中的输入项必须是指针,只有选项D)符合这个要求。
68.D关系T中的元组是关系R中有面关系s中没有的元组的集合,即从关系R中除去与关系s中相同元组后得到的关系T。所以做的是差运算。
69.Bdo-while语句的一般格式为:do循环体语句while(表达式);先执行循环体语句一次,再判断表达式的值,若为真,则继续执行循环,否则终止循环。本题中,先执行printf('%d\n',x=-2)后,值为x=x-2,即为1。判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式!(--x)的值为0,结束循环。
70.A本题重点考察的是函数的形参和实参。I在定义函数时函数名后面括弧中的变量名称为“形式参数”l(简称形参),在主调函数中调用一个函数时,函数名后面括弧1中的参数(可以是—个表达式)称为“实际参数”(简称实参)。fC语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。因此A选项正确。
71.C输入数据的格式必须与seanf()的格式控制串完全匹配,所以输入时必须在3和5之间输入“;”。
72.A第一个嵌套的for循环功能将对角线上的数据从大到小排序,其他数据不变,排序完成后,a[0][0]值为6,输出第一行为6432,答案选择A)
73.D解析:数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和在此集合中定义的若干关系来表示。数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接等存储结构。但是不同的存储结构的数据的处理效率不同。
74.D本题主要考查指针变量对数值的引用。在题目中,首先定义了整型指针变量point和一个整型变量a,变量a的初值为4,然后是指针变量指向a,或者说将变量a所在存储单元的地址值赋给指针变量。
在选项A中,很显然,不全是地址,只有point表示地址,而*&a等价于*(&a),表示取一个数值。
在选项B中,也不都表示地址,其中*point表示数值,其他两个表示地址。
在选项C中,与选项B类似,其中的*point表示数值。
在选项D中,都表示地址,是题目的选择答案。
75.A输出的格式控制,因为输入的是a和一个回车符,系统就会将a字符赋给c1,将回车符赋给c2.
76.C
77.C
\n表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x的值为5;表达式c++先把变量C的值传给形参y,然后c的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
\n
78.D解析:在程序设计过程中,一个很重要的环节是首先确定实现各种功能的算法,并且用某种工具将它精确地表达出来。流程图是其中的工具之一。因此,程序设计的过程应是先画出流程图,然后根据流程图编制出程序。因此,选项A中的说法是错误的。程序中的注释是为了提高程序的可读性,使程序易于理解、易于维护,注释必须在编制程序的同时加入。因此,选项B和C中的说法也都是错误的。
79.B本题是找出打印*号的条件,从图中我们可以找到规律,第1行1个*,第2行3个,第3行5个……,也就是每行中*的个数恰好是行数的2倍减1个。
在程序中,首先定义两个循环变量,然后执行for循环,从程序中不难看出,这个循环用来输出题目中给出的4行*符号。
当循环变量i=1时,即输出第一行的*图像,从图像中可以看出,第一行只需要输出一个*符号,而且在其输出前,先输出三个空格,从程序中我们可以看出,该循环体中第一个循环的作用用来输出三个空格,第二个循环的作用肯定是用来输出*符号,本题需要填空的地方正好是这个循环的结束条件,根据第一行只输出一个*符号,我们可以知道这个循环执行一次。
同理,我们可以知道,当循环变量i=2时,这个循环需要执行3次,i=3时,这个循环执行5次,i=4时,这个循环执行7次,那么我们可以推断出循环结束的条件应该与变量i有关,结合我们开始对题目的分析,每行中*的个数恰好是行数的2倍减1个,因此,可以知道本题需要填写的内容为2*i-1,本题正确答案选B。
80.A一一k先自减再使用,所以第一次判断条件即为while(4),条件为真,执行打印k的值k=4—3,结果为1;第二次判断条件即为while(0),条件为假,结束循环,打印回车换行符。所以选择A选项。
81.
82.
【解析】此题是删除字符串中的星号。思路是通过for循环来完成对字符串的遍历,通过if判断,找到不是“*”的字符,将其赋值到数组a中星号前的位置,“if(a[i]!=ˊ*ˊ)”“a[j++]=a[i]”,最后返回主函数将删除*后的字符串输出即可。
2022-2023年四川省内江市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(20题)1.下列语句中,()是错误的。A.x=x+1;B.x=x+y;C.x+y=x;D.x=4;
2.
3.在Windows环境下,单击当前窗口中的按钮“”,其功能是A.将当前应用程序转为后台运行
B.退出Windows后再关机
C.终止当前应用程序的运行
D.退出Windows后重新启动计算机
4.若变量已经定义且正确赋值,则针对程序段“temp=a;a=b;b=temp;”,以下叙述中正确的是()。
A.C语言的顺序结构不允许将多条语句写在一行里
B.程序顺序结构对于此段程序是从左至右依次执行的
C.此程序段的执行顺序是,先执行“b=temp;”,再执行“a=b;”,最后执行“temp=a;”
D.将此段程序的前两个分号改成逗号,后面一个不变,则不能实现a和b值的交换
5.按照“先进后出”原则组织数据的结构是()。
A.队列B.栈C.双向链表D.二叉树
6.
7.下列叙述中错误的是()。
A.C语言函数中定义的自动变量,系统不自动赋确定的初值
B.在C语言的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内
C.C语言函数中定义的赋有初值的静态变量,每调用一次函数为其赋一次初值
D.C语言函数的形参不可以说明为static型变量
8.有以下程序:main{intnum[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,12,},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<i;j++)printf("%4c",);for(j=________;J<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式输出数组右上半三角1234678111216则在程序下划线处应填入的是()。A.i-1B.iC.i+1D.4一i
9.若有定义“doublea;”,则正确的输入语句是()。A.A.seaM("%1f",&a);B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
10.两个或两个以上模块之间关联的紧密程度称为()。
A.耦合度B.内聚度C.复杂度D.数据传输特性
11.算术运算符和圆括号有不同的运算优先级,对于表达式“a+b+c*(d+e)”,关于执行顺序,以下说法正确的是()。
A.先执行“(d+e)”得r2,再执行“c*r2”得r3,再执行“a+b”得r1,最后执行“r1+r3”得表达式最后结果
B.先执行“a+b”得r1,再执行“(d+e)”得r2,再执行“c*r2”得r3,最后执行“r1+r3”得表达式最后结果
C.先执行“(d+e)”得r2,再执行“c*r2”得r3,再执行“b+r3”得r4,最后执行“a+r4”得表达式最后结果
D.先执行“a+b”得r1,再执行“r1+c”得r5,再执行“(d+e)”得r2,最后执行“r5*r2”得表达式最后结果
12.下列叙述中正确的是()
A.一个算法的空间复杂度打,则其时间复杂度也必定大
B.一个算法的空间复杂度大,则其时间复杂度也必定小
C.一个算法的时间复杂度大,则其空间复杂度也必定小
D.算法的时间复杂度与空间复杂度没有直接相关
13.有以下程序#include<stdio.h>intfun(intx;inty){if(x=y)reurn(x);elsereturn((x+y)/2);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序运行后的输出结果是______。A.3B.6C.8D.12
14.结构化程序的3种基本控制结构是()。
A.递归、堆栈和队列B.过程、子程序和函数C.顺序、选择和重复D.调用、返回和转移
15.在一个元素个数为N的数组里,找到升序排在N/5位置的元素的最优算法时间复杂度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)
16.层次型、网状型和关系型数据库划分原则是()。
A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式
17.下列描述中,不是线性表顺序存储结构特征的是
A.不便于插入和删除B.需要连续的存储空间C.可随机访问D.需另外开辟空间来保存元素之间的关系
18.下列运算符中优先级最高的是()。
A.!B.%C.-=D.&&
19.p指向线性链表中某一结点,则在线性链表的表尾插入结点s的语句序列是()。
A.while(p->next!=NULL)p=p->next;p->next=s;s->next=NULL;
B.while(p!=NULL)p=p->next;p->next=s;s->next=NULL;
C.while(p->next!=NULL)p=p->next;s->next=p;p->next=NULL;
D.while(p!=NULL)p=p->next->next;p->next=s;s->next=p->next;
20.若有定义语句:“intx=12,y=8,z;”,在其后执行语句“z=0.9+x/y;”,则z的值为()。A.1.9B.1C.2D.2.4
二、2.填空题(20题)21.下面程序的功能是将字符串a下标值为偶数的元素由小到大排序,其他元素不变,请填空。
#include<stdio.h>
main()
{chara[]="labchmfye",t;
inti,j;
for(i=0;i<7;i+=2)
for(j=i+2;j<9;【】)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;j++;}
puts(a);
printf("\n");
}
22.下列程序的运行结果为【】。
main()
{intx=2,y,z;
x*=3+1;
printf("%d,",x++);
x+=y=z=5;
printf("%d,",x);
K=y==Z;
printf{"%d\n",x);
}
23.若x和a均是int型变量,则计算完x=(a=4,6*2)后的x值为______。
24.没有char,a,b;,若要通过a&d运算屏蔽掉a中的其他位,只保留第2位和第8位(右起为第1位),则b的二进制是【】。
25.以下程序的输出结果是【】。
main()
{
intarr[]={30,25,20,15,10,5},*p=arr;
p++;
printf("%d\n",*(p+3));
}
26.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作______。
27.设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=【】;
seanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,2);
printf("big=%d\n",big);
}
28.下面程序输出的结果是()。intm=17;intfun(intx,inty){intm=3;return(x*y-m);}main(){inta=5,b=7;printf("%d\n”,fun(a,B)/m);}
29.数据结构分为线性结构和非线性结构,带链的队列属于[]。
30.下列程序的输出结果是______。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
31.按“先进后出”原则组织数据的数据结构是[]。
32.下述程序的输出结果是【】。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0||x==1)
return3;
else
p=x-fun(x-2);
returnp;}
voidmain()
{printf("\n%d",fun(9));}
33.已知字符'A'的ASCII码值为65,以下语句的输出结果是【】。
charch='B';
printf("%c%d\n",ch,ch);
34.下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。
wordnum(str)
charstr[];
{inti,num=0,word=0;
for(i=0;str[i]!=【】;i++)
if(【】==)word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
35.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用删函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;longfl;
myf=【】("test.t","rb");
fseek(myf,(),SEEK_END);fl+ftell(myf);
fclose(myf);
printf("%d\n",fl);
36.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,(),SEEK_END;f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
37.以下函数的功能是求x的y次方,请填空。
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
38.以下程序运行后的输出结果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
39.数据库管理系统常见的数据模型有层次模型、网状模型和______三种。
40.深度为5的满二叉树中,叶子结点的个数为______。
三、1.选择题(20题)41.已定义以下函数
fun(int*p)
{return*p;}
该函数的返回值是()
A.不确定的值
B.形参p中存放的值
C.形参p所指存储单元中的值
D.形参p的地址值
42.执行下列程序后,输出的结果是()。#include<stdio.h>#defineS(X)X*Xvoidmain(){inta=9,k=3,m=2;a/=S(k+m)/S(k+m);printf("%d",a);}
A.1B.4C.9D.0
43.下列叙述中正确的是()。
A.一个算法的空间复杂度大,则其时间复杂度必定大
B.一个算法的空间复杂度大,则其时间复杂度必定小
C.一个算法的时间复杂度大,则其空间复杂度必定小
D.上述3种说法都不对
44.下列关于“数据库系统(DBS)”的叙述中,正确的一条是______。
A.DBS是指在计算机系统中引入数据库后的系统构成
B.DBS是帮助用户建立、使用和管理数据库的一种计算机软件
C.DBS是用户建立的若干数据库文件的集合
D.DBS是一种新颖的关系数据库管理系统
45.若有以下说明和定义uniondt{inta;charb;doublec;}data;以下叙述中错误的是
A.data的每个成员起始地址都相同
B.变量data所占内存字节数与成员c所占字节数相等
C.程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000
D.data可以作为函数的实参
46.有以下程序:main(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}rintf("%d\n",m);}程序运行后的输出结果是()。
A.1B.2C.3D.4
47.有以下程序______。#defineP3voidF(intx){return(P*x*x);}main(){printf("%d\n",F(3+5));}程序运行后的输出结果是______。
A.192B.29C.25D.编译出错
48.
(3)
A.p->nextB.pC.sD.s->next
49.以下不正确的叙述是A.A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
50.以下叙述中错误的是
A.在程序中凡是以“#”开始的语句行都是预处理命令行
B.预处理命令行的最后不能以分号表示结束
C.#defineMAX是合法的宏定义命令行
D.C程序对预处理命令行的处理是在程序执行的过程中进行的
51.索引属于()。
A.模式B.内模式C.外模式D.概念模式
52.下列数据结构中,按先进后出原则组织数据的是
A.线性链表B.栈C.循环链表D.顺序表
53.下列二维数组初始化语句中,不正确的是()。
A.intb[][2]={1,2,3,4,5,6,7};
B.intb[3][5]={0,0,0};
C.intb[][4]={{1,2},{3,4,5},{6}};
D.intb[3][2]={(1,2),(3,4),(5,6)};
54.算法的空间复杂度是指()。
A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间
55.有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}该程序的输出结果是
A.0B.0.25C.0.5D.1
56.下列描述中正确的是()。
A.程序就是软件
B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体
D.软件是程序、数据与相关文档的集合
57.CPU主要由运算器与控制器组成,下列说法中正确的是()
A.运算器主要负责分析指令,并根据指令要求做相应的运算
B.运算器主要完成对数据的运算,包括算术运算和逻辑运算
C.控制器主要负责分析指令,并根据指令要求做相应的运算
D.控制器直接控制计算机系统的输入与输出系统
58.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。下列不能将变量c中的大写字母转换为对应小写字母的语句是()。
A.c=(c-'A')%26+'a'
B.c=c+32
C.c=C-'A'+'a'
D.c=('A'+C)%26-'a'
59.计算机的内存储器比外存器()
A.价格便宜B.存储容量大C.读写速度快D.读写速度慢
60.下面程序的运行结果是()。#include"stdio.h"main(){inti;for(i=1;i<=5;i++){if(i%2)printf("*");elseprintf("#");}}
A.*#*#*B.#*#*#*C.*#*#D.#*#*
四、选择题(20题)61.有以下程序:main{inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf(“a+b=%d\n”,a+b);/*输出计算机结果*/}程序运行后的输出结果是()。A.a+b=10B.a+b=30C.30D.出错
62.下列程序的输出结果是()。
inta[5]={2,4,6,8,10},*P,**k;
p=a;k=&p;
printf("%d",*(p++));
printf("%d\n",**k);
A.44B.22C.24D.46
63.下列选项不符合良好程序设计风格的是()。
A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计原则是高耦合、高内聚
64.下列关于栈的叙述正确的是()。
A.栈按“先进先出”组织数据,B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据
65.
66.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上三种说法都不对
67.若在定义语句inta,b,c,*P=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。
A.
B.
C.
D.
68.有三个关系R、S和T如下:
则由关系R和s得到关系T的操作是()。
A.自然连接B.并C.交D.差
69.第
34
题
若有如下语句
intx=3;
do{printf("%d\n",x-=2);}
while(!(--x));
则上面程序段
A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环
70.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()。
A.函数的形参和实参分别占用不同的存储单元
B.形参只是形式上的存在,不占用具体存储单元
C.同名的实参和形参占同一存储单元
D.函数的实参和其对应的形参共占同一存储单元
71.若有定义:inta,h;通过语句:scanf(”%d;%d”,&a,&B.;,能把整数3赋给变量a,5赋给变量b的输入数据是()。
A.35B.3,5C.3;5D.35
72.有以下程序程序运行后的输出结果是()。
A.6,4,3,2B.6,2,l,l,C.1,1,2,6,D.2,3,1,6,
73.下列叙述中正确的是()。
A.一个逻辑数据结构只能有一种存储结构
B.数据的逻辑结构属于线性结构,存储结构属于非线性结构
C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
74.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。
A.a,point,*&a
B.&*a,&a,*point
C.*&point,*point,&a
D.&a,&*point,point
75.有以下程序:
#include<stido.h>
m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理核心制度执行改进措施
- 现浇钢筋混凝土拱桥施工方案样本
- 2026年产品碳足迹在绿色供应链管理中的应用:供应商准入与淘汰
- 2026年国家智慧教育平台育小苗智能体功能与应用指南
- 2026年纳米陶瓷制备工艺与特性研究
- 2025年前台服务技能题
- 2025年前台服务测试试卷
- 2026年AI医疗从降本增效向价值创造转型商业逻辑
- 类风湿关节炎的护理
- 医美皮肤护理的术后恢复技巧分享
- 2026年河南林业职业学院单招职业适应性测试题库带答案详解
- 2026年内蒙古商贸职业学院单招职业技能考试题库附答案详解
- 2026年安徽城市管理职业学院单招职业适应性测试题库带答案详解(新)
- 广告原理与实务(王宏伟第五版)课件全套 第1-8章 广告学原理- 广告效果与测评
- 企业合规管理制度
- 水利工程项目基本建设程序-水利水电工程建设基本程序
- 高中数学核心素养背景下GeoGebra辅助教学实践的研究报告 论文
- 数控车床毕业论文8000字
- 企业会计成本核算存在的问题及对策
- 苏科版三年级劳动下册第03课《纸黏土浮雕》公开课课件
- 2023年苍南县姜立夫杯数学竞赛高一试卷浙江省
评论
0/150
提交评论