首页 > 实用范文 > 范文大全 > 计算机二级c语言试题及答案(最新2篇)正文

《计算机二级c语言试题及答案(最新2篇)》

时间:

在学习、工作中,只要有考核要求,就会有试题,试题是命题者根据测试目标和测试事项编写出来的。你所了解的试题是什么样的呢?这次漂亮的小编为您带来了计算机二级c语言试题及答案(最新2篇),希望可以启发、帮助到大家。

全国计算机二级《C语言》考试题库与答案 篇1

(1)下列关于栈叙述正确的是( )。

A.栈顶元素最先能被删除

B.栈顶元素最后才能被删除

C.栈底元素永远不能被删除

D.栈底元素最先被删除

(2)下列叙述中正确的是( )。

A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

D.以上说法都不正确

某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。

A.3

B.4

C.6

D.7

软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( ):

A.学生成绩管理系统

B.c语言编译程序

C.UNIX操作系统

D.数据库管理系统

(5)结构化程序所要求的基本结构不包括( )。

A.顺序结构

B.GOT0跳转

C.选择(分支)结构

D.重复(循环)结构

(6)下面描述中错误的是( )。

A.系统总体结构图支持软件系统的详细设计

B.软件设计是将软件需求转换为软件表示的过程

C.数据结构与数据库设计是软件设计的任务之一

D.PAD图是软件详细设计的表示工具

(7)负责数据库中查询操作的数据库语言是( )。

A.数据定义语言

B.数据管理语言

C.数据操纵语言

D.数据控制语言

一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是( )。

A.1:1联系

B.1:m联系

C.m:1联系

D.m:n联系

(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。

A.C=(。A’+C.%26一"a"

B.c=c+32

C.c=c一"A"+"a"

D.c=(c一’A")%26+-a"

(10)定义无符号整数类为UInt,下面可以作为类uInt实例化值的是( )。

A.-369

B.369

C.0.369

D.整数集合{1,2,3,4,5}(11)以下叙述中错误的是( )。

C程序在运行过程中所有计算都以二进制方式进行

B.c程序在运行过程中所有计算都以十进制方式进行

C.所有c程序都需要编译链接无误后才能运行

D.c程序中字符变量存放的是字符的ASCIl码值

(12)以下关于c语言的叙述中正确的是( )。

A.C语言的数值常量中夹带空格不影响常量值的正确表示

B.C语言中的变量可以在使用之前的任何位置进行定义

C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致

D.C语言中的注释不可以夹在变量名或关键字的中间

(13)以下不合法的字符常量是( )。

A."、、"

B.’”’

C.’18’

D.xcc"

(14)以下选项中正确的定义语句是( )。

A.double,a,b;

B.double a=b=7;

C.double a;b;

D.double a=7,b=7;

(15)若有定义语句:int a=3,b=2,c=1;以下选项中错误的赋值表达式是( )。

A.a=(b=4)=3;

B.a=b=c+1;

C.a=(b=4)+c;

D.a=1+(b=c=4);

(16)若有定义:int a,h;通过语句:scanf(”%d;%d”,&a,&B.;,能把整数3赋给变量a,5赋给变量b的输入数据是( )。

A.3 5

B.3,5

C.3;5

D.35

参考答案与解析

(1)A

【解析】栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先入栈却最旨除。所以选择A。。

(2)C

【解析】栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择C。

(3)D

【解析】根据二叉树的基本性质3:在任意一裸二叉树中,多为0的叶子结点总比度为2的结点多一个。所以本题中度为2的结点为1—1=0个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即度为7。

(4)A

【解析】软件按功能可以分为:应用软件、系统软件、支撑软件。操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件。所以B、C、D都是系统软件,只有A是应用软件。

(5)B

【解析】1966年Boehm和Jaeopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。

(6)A

【解析】详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以A错误。

(7)C

【解析】数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵。包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

(8)D

【解析】因为一个教师可讲授多门课程,而一门课程又能由多个老师讲授所以他们之间是多对多的关系,可以表示为m:n。

(9)A

【解析】根据题意可知,小写字母比与之对应的大写字母的ASCⅡ码大32。A选项中字符A加上c表示的大写字符再对字母个数26取余,本身这个表达式没有任何含义,所以选择A选项。

(10)B

【解析】只有B选项369可以用无符号整敦来表示和存储。A选项一369有负号,选项C 0.369是小数都不能用无符号整数类存储。选项D是一个整数集合得用致组来存储。

(11)B

【解析】C程序在运行过程中的所有计算都以二进制方式进行,所以B选项错误。

(12)D

【解析】C语言的数值常量中不能夹带空格,所以A错误。C语言中的变量都必须先定义再使用,对变量的定义通常放在函数体内的前部,但也可以放在函数外部或复合语句的开头。不能随便放置,所以8错误。在C语言中运算符两侧的运算数据类型可以不一致,且结果与精度较高的保持一致,所以C错误。

(13)C

【解析】转义字符中,八进制的表示形式为ddd,

但是八进制中不能包含数字8,所以c选项不合法。

(14)D

【解析】A选项中变量类型符doub1e后面不能有逗号。B选项中变量b不能先使用再定义,应该写成选项D中的'格式。C选项中变量a后面应该是逗号而不是分号。

(15)A

【解析】不能将变量或常量赋给一个表达式,所以A选项中(b=4)=3是错误的。

(16)C

【解析】输入数据的格式必须与seanf()的格式控制串完全匹配,所以输入时必须在3和5之间输入“;”。

全国计算机二级《C语言》考试题库与答案 篇2

1: 第1题请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。

答案:

void fun(int a,int b,long *c)

{*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}

2: 第2题请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。

答案:

float fun(float *a,int n)

{float ave=0.0;

int i;

for(i=0;i

ave+=a;

ave/=n;

return ave;}

3: 第3题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。

答案:

void fun(char *a)

{int i=0;

char *p,*q;

p=q=a;

while(*p)

p++;

p--;

while(*p==‘*’)

p--;

while(q<=p)

{a=*q;

i++;

q++;}

a=‘’;}

4: 第4题请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

答案:

void fun(int a,int b,long *c)

{c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}

5: 第5题 n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。

答案:

double fun(strec *h)

{double aver=0.0;

while(h!=null)

{aver+=h->s;

hy=h->next;}

aver/=n;

return aver;}

6: 第6题请编写函数fun,计算并输出给定10个数的方差。

答案:

double fun(double x[10])

{int i,j;

double s=0.0,s1=0.0;

for(i=0;i<10;i++)

s1+=x;

s1/=10;

for(j=0;j<10;j++)

s+=(x[j]-s1)*(x[j]-s1);

s/=10;

s=pow(s,0.5);

return s;}

7: 第7题请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

答案:

void fun(int a,int b,long *c)

{*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}