- 相关推荐
2024下半年全国计算机二级C语言考前练习题答案(通用7套)
无论是在学校还是在社会中,我们最不陌生的就是练习题了,通过这些形形色色的习题,使得我们得以有机会认识事物的方方面面,认识概括化图式多样化的具体变式,从而使我们对原理和规律的认识更加的深入。大家知道什么样的习题才是好习题吗?以下是小编整理的2024下半年全国计算机二级C语言考前练习题答案(通用7套),供大家参考借鉴,希望可以帮助到有需要的朋友。
下半年全国计算机二级C语言考前练习题答案 1
一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)
(1)下列数据结构中,属于非线性结构的是
A.循环队列
B.带链队列
C.二叉树
D.带链栈
(2)下列数据结果中,能够按照“先进后出”原则存取数据的是
A.循环队列
B.栈
C.队列
D.二叉树
(3)对于循环队列,下列叙述中正确的是
A.队头指针是固定不变的
B.队头指针一定大于队尾指针
C.队头指针一定小于队尾指针
D.队头指针可以大于队尾指针,也可以小于队尾指针
(4)算法的空间复杂度是指
A.算法在执行过程中所需要的计算机存储空间
B.算法所处理的数据量
C.算法程序中的语句或指令条数
D.算法在执行过程中所需要的临时工作单元数
(5)软件设计中划分模块的一个准则是
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D. 高内聚高耦合
(6)下列选项中不属于结构化程序设计原则的是
A.可封装,
B. 自顶向下
C.模块化
D. 逐步求精
(7)软件详细设计产生的图如下:
该图是
A.N-S图
B.PAD图
C.程序流程图
D. E-R图
(8)数据库管理系统是
A.操作系统的一部分
B.在操作系统支持下的系统软件
C.一种编译系统
D. 一种操作系统
(9)在E-R图中,用来表示实体联系的图形是
A.椭圆图
B.矩形
C.菱形
D. 三角形
(10)有三个关系R,S和T如下:
其中关系T由关系R和S通过某种操作得到,该操作为
A.选择
B.投影
C.交
D.并
(11)以下叙述中正确的是
A.程序设计的`任务就是编写程序代码并上机调试
B.程序设计的任务就是确定所用数据结构
C.程序设计的任务就是确定所用算法
D.以上三种说法都不完整
(12)以下选项中,能用作用户标识符的是
A.void
B.8_8
C._0_
D.unsigned
(13)阅读以下程序
#include
main()
{ int case; float printF;
printf(“请输入2个数:”);
scanf(“%d %f”,&case,&pjrintF);
printf(“%d %f ”,case,printF);
}
该程序编译时产生错误,其出错原因是
A.定义语句出错,case是关键字,不能用作用户自定义标识符
B.定义语句出错,printF不能用作用户自定义标识符
C.定义语句无错,scanf不能作为输入函数使用
D.定义语句无错,printf不能输出case的值
(14)表达式:(int)((double)9/2)-(9)%2的值是
A.0
B.3
C.4
D.5
(15)若有定义语句:int x=10;,则表达式x-=x+x的值为
A.-20
B.-10
C.0
D.10
(16)有以下程序
#include
main()
{ int a=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d ”,a=2*b);
}
程序运行后的输出结果是
A.0,0
B.1,0
C.3,2
D.1,2
17)设有定义:int a=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)有以下程序
#include
main()
{ int c=0,k;
for (k=1;k<3;k++)
switch (k)
{ default: c+=k
case 2: c++;break;
case 4: c+=2;break;
}
printf(“%d ”,C.;
}
程序运行后的输出结果是
A.3
B.5
C.7
D.9
(19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是
A.if((a>b)&&(b>C.) k=1;
else k=0;
B.if((a>b)||(b>C. k=1;
else k=0;
C.if(a<=B. k=0;
else if(b<=C.k=1;
D.if(a>B. k=1;
else if(b>C.k=1;
else k=0;
20)有以下程序
#include
main()
{ char s[]={“012xy”};int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>=’a’&&s[i]<=’z’) n++;
printf(“%d ”,n);
}
程序运行后的输出结果是
A.0
B.2
C.3
D.5
(21)有以下程序
#include
main()
{ int n=2,k=0;
while(k++&&n++>2);
printf(“%d %d ”,k,n);
}
程序运行后的输出结果是
A.0 2
B.1 3
C.5 7
D.1 2
(22)有以下定义语句,编译时会出现编译错误的是
A.char a=’a’;
B.char a=’ ’;
C.char a=’aa’;
D.char a=’x2d’;
(23)有以下程序
#include
main()
{ char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%d ”,c1,c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是
A.E,68
B.D,69
C.E,D
D.输出无定值
(24)有以下程序
#include
void fun(int p)
{ int d=2;
p=d++; printf(“%d”,p);}
main()
{ int a=1;
fun(a); printf(“%d ”,a);}
程序运行后的输出结果是
A.32
B.12
C.21
D.22
(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能
#define MIN -2147483647
int findmax (int x[],int n)
{ int i,max;
for(i=0;i
{ max=MIN;
if(max
return max;
}
造成错误的原因是
A.定义语句int i,max;中max未赋初值
B.赋值语句max=MIN;中,不应给max赋MIN值
C.语句if(max
D.赋值语句max=MIN;放错了位置
(26)有以下程序
#include
main()
{ int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(“%d,%d,%d,%d ”,m,n,*p,*q);
}
程序运行后的输出结果是
A.1,2,1,2
B.1,2,2,1
C.2,1,2,1
D.2,1,1,2
(27)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是
A.p=a
B.q[i]=a[i]
C.p=a[i]
D.p=&a[2][1]
(28)有以下程序
#include
#include
main()
{ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];
printf(“%d,”,strlen(p));printf(“%s ”,p);
}
程序运行后的输出结果是
A.9,One*World
B.9,One*Dream
C.10,One*Dream
D.10,One*World
(29)有以下程序
#include
main()
{ int a[ ]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0:switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i[=0;
}
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“ ”);
}
A.3 3 4 4
B.2 0 5 0
C.3 0 4 0
D.0 3 0 4
(30)有以下程序
#include
#include
main()
{ char a[10]=”abcd”;
printf(“%d,%d ”,strlen(a),sizeof(a));
}
程序运行后的输出结果是
A.7,4
B.4,10
C.8,8
D.10,10
(31)下面是有关C语言字符数组的描述,其中错误的是
A.不可以用赋值语句给字符数组名赋字符串
B.可以用输入语句把字符串整体输入给字符数组
C.字符数组中的内容不一定是字符串
D.字符数组只能存放字符串
(32)下列函数的功能是
fun(char * a,char * b)
{ while((*b=*a)!=’’) {a++,b++;} }
A.将a所指字符串赋给b所指空间
B.使指针b指向a所指字符串
C.将a所指字符串和b所指字符串进行比较
D.检查a和b所指字符串中是否有’’
(33)设有以下函数
void fun(int n,char * s) {……}
则下面对函数指针的定义和赋值均是正确的是
A.void (*pf)(); pf=fun;
B.viod *pf(); pf=fun;
C.void *pf(); *pf=fun;
D.void (*pf)(int,char);pf=&fun;
(34)有以下程序
#include
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);printf(“%d ”,s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
程序运行以后的输出结果是
A.7
B.8
C.9
D.10
(35)有以下程序
#include
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf(“%d,%d ’,s,t);
}
程序运行后的输出结果是
A.10,64
B.10,10
C.64,10
D.64,64
(36)下面结构体的定义语句中,错误的是
A.struct ord {int x;int y;int z;}; struct ord a;
B.struct ord {int x;int y;int z;} struct ord a;
C.struct ord {int x;int y;int z;} a;
D.struct {int x;int y;int z;} a;
(37)设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是
A.char str[ ]=”string”;c=str;
B.scanf(“%s”,C.;
C.c=get);
D.*c=”string”;
(38)有以下程序
#include
#include
struct A
{ int a; char b[10]; double c;};
struct A f(struct A t);
main()
{ struct A a={1001,”ZhangDa”,1098.0};
a=f(a);jprintf(“%d,%s,%6.1f ”,a.a,a.b,a.C.;
}
struct A f(struct A t)
( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )
程序运行后的输出结果是
A.1001,ZhangDa,1098.0
B.1001,ZhangDa,1202.0
C.1001,ChangRong,1098.0
D.1001,ChangRong,1202.0
(39)若有以下程序段
int r=8;
printf(“%d ”,r>>1);
输出结果是
A.16
B.8
C.4
D.2
(40)下列关于C语言文件的叙述中正确的是
A.文件由一系列数据依次排列组成,只能构成二进制文件
B.文件由结构序列组成,可以构成二进制文件或文本文件
C.文件由数据序列组成,可以构成二进制文件或文本文件
D.文件由字符序列组成,其类型只能是文本文件
下半年全国计算机二级C语言考前练习题答案 2
1.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的'对象的地址可以赋给指向基类的指针
【参考答案】 C
2.下列关于虚基类的描述,错误的是( )
A.设置虚基类的目的是为了消除二义性
B.虚基类的构造函数在非虚基类之后调用
C.若同一层中包含多个虚基类,这些基类的构造函数按它们说明的次序调用
D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
【参考答案】 B
3.下列运算符中,在C++语言中不能重载的是( )
A.*
B.>=
C.:
D./
【参考答案】 C
4.下列程序的运行结果是( )
#include
class A
{ int a;
public:
A( ) {a=0;}
A(int aa)
{a=aa;
cout<
void main( )
{A x,y(2),z(3);
cout<
A.00
B.23
C.34
D.25
【参考答案】 B
5.判断char型变量c是否为小写字母的正确表达式是( )
A.′a′<=c<=′z′
B.(c>+A)&&(c<=z)
C.(′a′>=c)||(′z′<=c)
D.(c>=′a′)&&(c<=′z′)
【参考答案】 D
下半年全国计算机二级C语言考前练习题答案 3
1.下面对软件特点描述不正确的是()。
A.软件是一种逻辑实体,具有抽象性
B.软件开发、运行对计算机系统具有依赖性
C.软件开发涉及软件知识产权、法律及心理等社会因素
D.软件运行存在磨损和老化问题
【答案】D
【解析】软件具有以下特点:①软件具有抽象性,是一种逻辑实体;②软件没有明显的制作过程;③软件在使用期间不存在磨损、老化问题,④对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。D项描述是硬件存在的问题。答案选择D选项。
2.下面描述不属于软件特点的是()。
A.软件是一种逻辑实体,具有抽象性
B.软件在使用中不存在磨损、老化问题
C.软件复杂性高
D.软件使用不涉及知识产权
【答案】D
【解析】软件具有以下特点:①软件是一种逻辑实体,具有抽象性;②软件没有明显的制作过程,③软件在使用期间不存在磨损、老化问题;④软件对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵,⑥软件开发涉及诸多的社会因素,如知识产权等。答案选择D选项。
3.下面对软件特点描述错误的是()
A.软件没有明显的制作过程
B.软件是一种逻辑实体,不是物理实体,具有抽象性
C.软件的开发、运行对计算机系统具有依赖性
D.软件在使用中存在磨损、老化问题
【答案】D
【解析】软件的特点有:①具有抽象性,是逻辑实体;②没有明显的制作过程;③在使用期间不存在磨损、老化问题;④对硬件和环境具有依赖性;⑤复杂性高,成本昂贵;⑥开发涉及诸多的社会因素。答案选择D选项。
4.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是()。
A.编辑软件
B.操作系统
C.教务管理系统
D.浏览器
【答案】B
【解析】系统软件是控制和协调计算机及外部设备,支持应用软件开发和运行的软件,操作系统是系统软件;支撑软件是支撑各种软件的开发与维护的软件,又称为软件开发环境,浏览器属于支撑软件;应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,编辑软件、教务管理软件属于应用软件。答案选择B选项。
5.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于应用软件的是()。
A.学生成绩管理系统
B. C语言编译程序
C. UNIX操作系统
D.数据库管理系统
【答案】A
【解析】应用软件是为解决特定领域的应用而开发的软件,如事务处理软件,工程与科学计算软件,学生成绩管理系统、教务管理系统、浏览器、编辑软件等应用性质不同的各种软件。系统软件是计算机管理自身资源,提高计算机使用效率并服务于其他程序的软件,如操作系统,编译程序,汇编程序,数据库管理系统等。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,如需求分析工具软件,设计工具软件,编码工具软件,测试工具软件,维护工具软件等。答案选择A选项。
6.数据库管理系统是()。
A.操作系统的一部分
B.在操作系统支持下的系统软件
C.一种编译系统
D.一种操作系统
【答案】B
【解析】系统软件主要包括:①操作系统软件;②各种语言的解释程序和编译程序;③各种服务性程序;④各种数据库管理系统。数据库管理系统是一种系统软件,负责数据库中的数据组织、数组操纵、数据维护、控制和保护以及数据服务等。答案选择B选项。
7.数据库管理系统是()。
A.操作系统的一部分
B.在操作系统支持下的系统软件
C.一种编译系统
D.一种通信软件系统
【答案】B
【解析】系统软件主要包括:①操作系统软件;②各种语言的解释程序和编译程序;③各种服务性程序;④各种数据库管理系统。数据库管理系统是一种系统软件,负责数据库中的.数据组织、数组操纵、数据维护、控制和保护以及数据服务等。答案选择B选项。
8.下列选项中,不属于数据管理员(DBA)职责的是()。
A.数据库维护
B.数据库设计
C.改善系统性能,提高系统效率
D.数据类型转换
【答案】D
【解析】数据库管理员对数据库进行规划、设计、维护、监视等,其主要工作有:①数据库设计,主要是对数据模式进行设计,②数据库维护,对数据库中的数据安全性、完整性、并发控制及系统恢复、数据定期转储等进行实施与维护;③改善系统性能,不断调整内部结构,提高系统效率。答案选择D选项。
9.数据库系统的核心是()。
A.数据模型
B.软件开发
C.数据库设计
D.数据库管理系统
【答案】D
【解析】数据库系统包括四个部分:数据库、数据库管理系统、数据库应用程序、数据库管理员。其中DBMS是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心。答案选择D选项。
10.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.数据库系统由数据库应用系统、数据库和数据库管理系统组成。
【答案】B
【解析】A项错误,数据库需要调用操作系统的接口,需要操作系统的支持;C项错误,数据库管理系统(DBMS)是数据库系统的核心,负责数据库中的数据组织、数据操作、数据维护、控制及保护和数据服务等;D项错误,数据库应用系统是数据库系统再加上应用软件及应用界面这三者所组成,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面。答案选择B选项。
下半年全国计算机二级C语言考前练习题答案 4
1. 下列叙述中正确的是( )。
A. 循环队列是队列的一种链式存储结构
B. 循环队列是一种逻辑结构
C. 循环队列是队列的一种顺序存储结构
D. 循环队列是非线性结构
【答案】C
【解析】线性表常用存储结构为:①顺序存储结构,物理上连续存储,空间位置隐含逻辑位置,②链式存储结构,存储上不连续,通过指针相连。循环队列是指用一段地址连续的存储单元存储数据元素,定义两个游标:指向队头的游标(front)、指向队尾的游标(rear)。
2. 下列叙述中正确的是( )。
A. 栈是一种先进先出的线性表
B. 队列是一种后进先出的线性表
C. 栈与队列都是非线性结构
D. 以上三种说法都不对
【答案】D
【解析】栈和队列都是操作受限的线性表:栈只能在栈顶插入和删除元素,按照先进后出的原则组织数据;队列只能在队头删除元素,在队尾插入元素,按照先进先出的原则组织数据。对于每一个节点都有一个前件和一个后件,属于线性结构。
3. 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。
A. 16
B. 10
C. 6
D. 4
【答案】A
【解析】二叉树中,度为0的结点(即叶子结点)比度为二的结点多1个,而度为0、1、2的结点相加等于总结点数25,所以度为1的结点数为25-5-(5-1)=16。
4. 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。
A. 外模式
B. 内模式
C. 概念模式
D. 逻辑模式
【答案】B
【解析】数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的'逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。答案选择B选项。
5. 在满足实体完整性约束的条件下( )。
A. 一个关系中应该有一个或多个候选关键字
B. 一个关系中只能有一个候选关键字
C. 一个关系中必须有多个候选关键字
D. 一个关系中可以没有候选关键字
【答案】A
【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。候选关键字的性质有①在一个关系中,候选关键字可以有多个,②任何两条记录候选关键字值都是不相同的;③关键字由一个属性构成,也可能由多个属性构成;④在任何关系中至少有一个关键字。所以,在满足实体完整性约束的条件下,一个关系中应该有一个或多个候选关键字。答案选择A选项。
6. 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A. 123456ABCDE
B. EDCBA54321
C. ABCDE12345
D. 54321EDCBA
【答案】B
【解析】栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则依次出栈的顺序应为其逆序,即EDCBA54321。答案选择B选项。
7. 下列叙述中正确的是( )。
A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D. 循环队列中元素的个数是由队头指针和队尾指针共同决定
【答案】D
【解析】D项正确,从队头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。A项错误,循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环形空间,其存储结构依然是顺序的BC两项错误,在循环队列中,每进行一次入队运算,队尾指针就进一,每进行一次出队运算,队头指针就进一,可见由队头指针和队尾指针一起反映队列中元素的动态变化情况。
8. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A. 0(n)
B. O(n2)
C. O (log2n)
D. O(nlog2n)
【答案】C
【解析】二分查找的最坏情况是不断的二分直至无法再分时,仍然没有查找成功。对于有序的线性表,二分查找法只需比较log2n次。答案选择C选项。
9. 下列叙述中正确的是( )。
A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D. 链式存储结构比顺序存储结构节省存储空间
【答案】A
【解析】A项正确,在顺序存储结构中所有元素所占的存储空间是连续的,而在链式存储结构中,存储数据结构的存储空间可以不连续。
10. 数据流图中带有箭头的线段表示的是( )。
A. 控制流
B. 事件驱动
C. 模块调用
D. 数据流
【答案】D
【解析】数据流图基本符号的含义:①矩形表示数据的外部实体,②圆角的矩形表示变换数据的处理逻辑;③缺少右半边的矩形表示数据的存储;④箭头表示数据流。答案选择D选项。
下半年全国计算机二级C语言考前练习题答案 5
1.C语言编译程序的功能是()。
A.执行一个C语言编写的源程序
B.把C源程序翻译成ASCII码
C.把C源程序翻译成机器代码
D.把C源程序与系统提供的库函数组合成一个二进制执行文件
【答案】C
【解析】编译程序的功能是将“高级语言”翻译为“机器语言”。每条C语言语句,经过编译最终都将转换成二进制的机器指令。答案选择C选项。
2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是()。
A. C语言程序仅可以编译执行
B. C语言程序仅可以解释执行
C. C语言程序既可以编译执行,又可以解释执行;
D.以上说法都不对
【答案】A
【解析】编译执行是指程序执行前需要一个专门的编译过程把程序编译成机器语言的文件,再次运行时不需要重新翻译,执行效率高;解释执行是指每个语句都是执行的时候才翻译,执行效率低。用C语言编写的程序必须经过编译器编译后,转换为二进制的机器指令来运行。答案选择A选项。
3.以下叙述中错误的是()。
A. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D. C语言源程序经编译后生成后缀为的目标程序
【答案】A
【解析】A项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序编译之后生成后缀为的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把文件与各种库函数连接起来生成一个后缀为的可执行文件。答案选择A选项。
4.以下叙述中错误的是()
A.C语言的可执行程序是由一系列机器指令构成的
B.用C语言编写的源程序不能直接在计算机上运行
C.通过编译得到的二进制目标程序需要连接才可以运行
D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的exe文件
【答案】D
【解析】A项正确,C语言的可执行程序是由一系列机器指令组成的;BC项正确,用C语言编写的源程序必须经过编译,生成二进制目标代码,再经过连接才能运行;D项错误,C语言经过编译链接后的二进制目标代码可以脱离C语言集成开发环境独立运行。答案选择D选项。
5.以下叙述正确的是()。
A. C编译程序把文件后缀为.c的源程序文件编译成文件后缀为的二进制文件
B. C编译程序把文件后缀为.c的源程序文件编译成文件后缀为的可执行文件
C. C编译程序把文件后缀为的二进制文件编译成文件后缀为的可执行文件
D.链接程序把文件后缀为.c的源程序文件链接成文件后缀为的可执行文件
【答案】A
【解析】C编译程序把文件后缀为C的源程序文件编译成文件后缀为的二进制文件,链接将一个或多个目标文件与程序用到的库文件连接起来,形成一个可以在操作系统直接运行的执行程序,故排除B、C、D项,答案选择A选项。
6.以下叙述中正确的是(A.在C语言程序中,main函数必须放在其他函数的最前面
B.每个后缀为.c的C语言源程序都可以单独进行编译
C.在C语言程序中,只有main函数才可以单独进行编译
D.每个后缀为.c的C语言源程序都应该包含一个main函数
【答案】B
【解析】main函数可以在程序的任何位置。每一个可执行的C程序都必须有一个且只能有一个主函数。后缀名为.c的C语言源程序都可以单独进行编译。main函数只是让执行程序的系统知道该从哪里开始执行程序(从主函数处执行),其他有关这个程序的子函数是通过函数调用来实现其功能(不需main函数)。答案选择B选项。
7.以下叙述中错误的是()。
A. C语言编写的函数源程序,其文件名后缀可以是.c
B. C语言编写的'函数都可以作为一个独立的源程序文件
C. C语言编写的每个函数都可以进行独立的编译并执行;
D.一个C语言程序只能有一个主函数
【答案】C
【解析】C源程序经过C编译程序编译之后生成一个后缀为的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件,把此文件与C语言提供的各种库函数连接起来生成一个后缀为的可执行文件。只有含有main函数的经过编译链接才能执行。答案选择C选项。
8.以下叙述中错误的是(A.一个C程序可以包含多个不同名的函数
B.一个C程序只能有一个主函数
C. C程序在书写时,有严格的缩进要求,否则不能编译通过
D. C程序的主函数必须用main作为函数名
【答案】C
【解析】一个C程序有且只有一个主函数main。一个C程序可以包含多个不同名字的子函数。C程序在书写时没有严格的缩进要求。答案选择C选项。
9.以下叙述中正确的是()。
A. C语言规定必须用main作为主函数名,程序将从此开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C. C语言程序将从源程序中第一个函数开始执行;
D. main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等
【答案】A
【解析】用户不能指定某函数为主函数,C语言规定,程序从main函数开始执行,从main函数退出,C语言函数名区别大小写。答案选择A选项。
10.下列叙述中错误的是()。
A. C程序可以由一个或多个函数组成
B. C程序可以由多个程序文件组成
C.一个C语言程序只能实现一种算法
D.一个C函数可以单独作为一个C程序文件存在
【答案】C
【解析】一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法,答案选择C选项。
下半年全国计算机二级C语言考前练习题答案 6
一、选择题。
1). 下列关于栈的描述中正确的是( )
A.在栈中只能插入元素而不能删除元素
B.在栈中只能删除元素而不能插入元素
C.栈是特殊的线性表,只能在一端插入或删除元素
D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
正确答案:C
答案解析:栈是限定在一端进行插入与删除的线性表,在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
2). 在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则循环队列中的元素个数为( )
A.2
B.3
C.4
D.5
正确答案:B
答案解析:循环队列中,rear表示尾指针,front表示头指针,当有元素入队时,rear=rear+1,而元素出队的时候,front=front+1,当rear值大于front值时,队列中的元素个数为rear-front,当rear的值小于front时,列队中的元素个数为rear-front+m(m表示队列的容量)。
3). 数据处理的最小单位是( )
A.数据
B.数据元素
C.数据项
D.数据结构
正确答案:C
4). 栈和队列的共同点是( )
A.都是先进后出
B.都是先进先出
C.只允许在端点处插入和删除元素
D.没有共同点
正确答案:C
5). 在深度为5的满二叉树中,叶子结点的个数为
A.32
B.31
C.16
D.15
正确答案:C
答案解析:满二叉树是指除最后一层外,每一层上的所有结点都有两个叶子结点。在满二叉树中,层上的'结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。
6). 一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )
A.1,2,3,A,B,C
B.C,B,A,1,2,3
C.C,B,A,3,2,1
D.1,2,3,C,B,A
正确答案:C
答案解析:栈是按照″先进后出″或″后进先出″的原则组织数据的。所以出栈顺序是CBA321。
【下半年全国计算机二级C语言考前练习题答案】相关文章:
计算机二级C语言考前练习题及答案10-27
2017计算机二级C语言考前练习题及答案06-18
全国计算机二级c语言练习题及答案10-01
C语言考前练习题及答案11-10