2012年3月全国计算机等级考试《二级C语言程序设计》真题及答案


A)系统结构图
B)PAD 图
C)数据流图(DFD 图)
D)程序流程图
(11)针对简单程序设计,以下叙述的实施步骤顺序正确的是
A)编码、确定算法和数据结构、调试、整理文档
B)确定算法和数据结构、编码、调试、整理文档
C)整理文档、确定算法和数据结构、编码、调试
D)确定算法和数据结构、调试、编码、整理文档
A)4,4,5
B)4,4,4
C)0,4,5
D)0,0,0
2012 年 3 月笔试真卷及答案详解 第 2 页(共 12 页)
(18)设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是
A)x++; printf("%d\n",x);
B)++x; printf("%d\n",x);
C)n=x++; printf("%d\n",n);
答在试卷上不得分。
(1)下列叙述中正确的是
A)循环队列是队列的一种链式存储结构
B)循环队列是队列的一种顺序存储结构
C)循环队列是非线性结构
D)循环队列是一种逻辑结构
(2)下列叙述中正确的是
A)栈是一种先进先出的线性表
B)队列是一种后进先出的线性表
C)栈与队列都是非线性结构
D)以上三种说法都不对
(3)一棵二叉树共有 25 个结点,其中 5 个是叶子结点,则度为 1 的结点数为
(23)有以下程序
# include <stdio.h> main() { char a,b,c;
b='1'; c='A'; for(a=0;a<6;a++) { if (a%2) putchar(b+a); else putchar(c+a); } }
2012 年 3 月笔试真卷及答案详解 第 3 页(共 12 页)
A)1,2,4
B)1,3,6
C)3,6,10
D)3,10,14
(22)若 k 是 int 类型变量,且有以下 for 语句
for(k=-1;k<0;k++) printf("****\n"); 下面关于语句执行情况的叙述中正确的是
A)循环体执行两次
B)循环体执行一次
C)循环体一次也不执行
D)构成无限循环
(16)以下选项中非法的
B)'\65'
C)'\xff'
D)'\101'
(17)有以下程序
# include <stdio.h> main() { int a=0,b=0,c=0;
c=(a-=a-5);(a=b,b+=4); printf("%d,%d,%d\n",a,b,c); } 程序运行后的输出结果是
A)确定软件系统的功能需求
B)确定软件系统的性能需求
C)需求规格说明书评审
D)制定软件集成测试计划
2012 年 3 月笔试真卷及答案详解 第 1 页(共 12 页)
(9)在黑盒测试方法中,设计测试用例的主要根据是
A)程序内部逻辑
B)程序外部功能
C)程序数据结构
D)程序流程图
(10)在软件设计中不适用的工具是
(15)设有以下语句
char ch1, ch2; scanf("%c%c", &ch1, &ch2);
若要为变量 ch1 和 ch2 分别输入字符 A 和 B,正确的输入形式应该是
A)A 和 B 之间不能有任何间隔符
B)A 和 B 之间用空格间隔
C)A 和 B 之间可以用回车间隔
D)A 和 B 之间用逗号间隔
2012 年 3 月全国计算机等级考试二级笔试试卷
C 语言程序设计
(考试时间 90 分钟,满分 100 分)
陈远跃 / 整理
一、选择题((1)—(10)、(21)—(40)每题 2 分,(11)—(20)每题 1 分,共 70 分)
下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,
(12)关于 C 语言中数的表示,以下叙述中正确的是
A)只要在允许范围内整型数和实型数都能精确的表示
B)只有整型数在允许范围内能精确无误的表示,实型数会有误差
C)只有实型数在允许范围内能精确无误的表示,整型数会有误差
D)只有用八进制表示的数才不会有误差
(13)以下关于算法的叙述中错误的是
A)算法可以用伪代码、流程图等多种形式来描述
A)16
B)10
C)6
D)4
(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是
A)外模式
B)内模式
C)概念模式
D)逻辑模式
(5)在满足实体完整性约束的条件下
A)一个关系中应该有一个或多个候选关键字
B)一个关系中只能有一个候选关键字
C)一个关系中必须有多个候选关键字
D)一个关系中可以没有候选关键字
(6)有三个关系 R、S 和 T 如下:
R
S
T
ABC a12 b21 c31
ABC a12 d21
ABC b21 c31
则由关系 R 和 S 得到关系 T 的操作是
A)自然连接
B)并
C)交
D)差
(7)软件生命周期中的活动不包括
A)市场调研
B)需求分析
C)软件测试
D)软件维护
(8)下面不属于需求分析阶段任务的是
B)用流程图描述的算法可以用任何一种计算机高级语言编写成程序代码
C)一个正确的算法必须有输入
D)一个正确的算法必须有输出
(14)以下叙述中错误的是
A)一个 C 程序中可以包含多个不同名的函数
B)一个 C 程序只能有一个主函数
C)C 程序的主函数必须用 main 作为函数名
D)C 程序在书写时,有严格的缩进要求,否则不能编译通过
D)n=++x; printf("%d\n",n);
(19)以下选项中,能表示逻辑值“假”的是
A)1
B)0.000001
C)100.0
D)0
(20)有以下程序
#include <stdio.h> main() { int a;
scanf("%d",&a); if (a++<9) printf("%d\n",a); else printf("%d\n",a--); } 程序运行时从键盘输入 9<回车>,则输出结果是
A)11
B)10
C)9
D)8
(21)有以下程序
# include <stdio.h> main() { int s=0, n;
for (n=0;n<3;n++) { switch(s) { case 0:
case 1: s+=1; case 2: s+=2;break; case 3: s+=3; default: s+=4; } printf("%d, ",s); } } 程序运行后的输出结果是
合集下载

2012计算机二级C语言题库及参考答案

2012计算机二级C语言题库及参考答案
int i, j ;
for(i = 1 ; i < 6 ; i++)
for(j = i + 1 ; j < 6 ; j++)
{
if(*(s + i) < *(s + j))
{
ch = *(s + j) ;
*(s + j) = *(s +i) ;
{
if(*(s + i)<*(s + j))
{
ch = *(s + j) ;
*(s + j) = *(s +i) ;
*(s + i) = ch ;
} }
答题方法:
1填空题例如程序中__1__,对应答案1,把__1__删除填入 ss[i] ,三个空都填完(一般2-3个空)然后编译保存程序即可。
1 if(*p==' ')
2 *(p-1)=toupper(*(p-1));
3请编写函数fun对长度为7个字符的字符串,除首、尾字符外,将其余5个字符ASCII码降序排列。
char ch ;
int i, j ;
for(i=1; i<6;i++)
for(j=i+1;j<6;j++)
char *p=a;
int j=0,len=0;
while(*p){p++;len++;}
while(j<len-h-e){
a[j]=a[h+j];
j++;
}
a[j]=0;

2012年3月C语言上机真题及答案

2012年3月C语言上机真题及答案

2012年3月C语言上机真题说明:本题库是根据教育部考试中心制定修改计划进行修改后的计算机等级考试二级C 语言机试题库。

对于题库的解答来自考试中心的答题系统。

※※※※※※※※※※※※※※※※※※※※※※※※※第01套:给定程序中,函数fun的功能是:将形参n 所指变量中,个位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

例如,输入一个数:27638496,新的数:为739。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h>void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n)/**********found**********/{ t=*n % __1__;/**********found**********/if(t%2!= __2__){ x=x+t*i; i=i*10; }*n =*n /10;}/**********found**********/*n=__3__;}main(){ unsigned long n=-1;while(n>99999999||n<0){ printf("Please input(0<n<100000000): "); scanf("%ld",&n); }fun(&n); printf("\nThe result is: %ld\n",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。

第二处:判断是否是奇数,所以应填:0。

第三处:最后通形参n来返回新数x,所以应填:x。

2012计算机二级C笔试真题及答案

2012计算机二级C笔试真题及答案

全国计算机等级考试二级C语言2012年3月试题及答案一、填空题1、C语言中基本的数据类型有:__________、__________、__________。

2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。

3、整数-35在机内的补码表示为__________。

4、执行下列语句int a=8;a+=a-=a*a;后,a的值是__________。

5、有如下语句:char A[]={”I am a student”};该字符串的长度是__________,A[3]=__________。

6、符号”a”和’a’的区别是__________。

7、所谓“指针”就是__________。

“&”运算符的作用是__________。

“*”运算符的作用是__________。

8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。

二、选择题1、设整型变量a为5,使b不为2的表达式是()。

A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是()。

int x=10,y=10;printf(“%d%d\n”,x--,--y);A.1010B.99C.910D.1094、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。

A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i5、选出下列标识符中不是合法的标识符的是()。

2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案

2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案

2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案2012年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A )、B )、C )、D )四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A )循环队列是队列的一种链式存储结构B )循环队列是队列的一种顺序存储结构C )循环队列是非线性结构D )循环队列是一种逻辑结构(2)下列叙述中正确的是A )栈是一种先进先出的线性表B )队列是一种后进先出的线性表C )栈与队列都是非线性结构D )以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为A )16B )10C )6D )4(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A )外模式B )内模式C )概念模式D )逻辑模式(5)在满足实体完整性约束的条件下A )一个关系中应该有一个或多个候选关键字B )一个关系中只能有一个候选关键字C )一个关系中必须有多个候选关键字D )一个关系中可以没有候选关键字(6)有三个关系R 、S 和T 如下:R ST 则由关系R 和S 得到关系T 的操作是A )自然连接B )并C )交D )差(7)软件生命周期中的活动不包括A )市场调研B )需求分析C )软件测试D )软件维护(8)下面不属于需求分析阶段任务的是A )确定软件系统的功能需求B )确定软件系统的性能需求C )需求规格说明书评审 A B Ca 1 2b 2 1c 3 1 A B C a 1 2d 2 1 A B C b 2 1 c 3 1整理:陈远跃D)制定软件集成测试计划(9)在黑盒测试方法中,设计测试用例的主要根据是A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图(10)在软件设计中不适用的工具是A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图(11)以下合法的VB变量名是D)x*y A)case B)name10 C)t-name(12)设x是小于10的非负数。

2012年3月全国计算机二级C语言真题解答(只有c2)--dayin

2012年3月全国计算机二级C语言真题解答(只有c2)--dayin

《软件开发基础》摸底考试答案及分析一、选择题(11)【答案】A)【解析】简单程序设计的步骤是首先要确定算法和数据结构,然后编码、调试,最后整理相关文档。

(12)【答案】A)【解析】实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。

而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。

(13)【答案】B)【解析】一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。

(14)【答案】C)【解析】一个C程序有且只有一个主函数main()。

一个C 程序可以包含多个不同名字的子函数。

C程序在书写时没有严格的缩进要求。

(15)【答案】B)【解析】考察C语言中输入格式,因为在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包含不能加逗号、回车和空格,因为这些也算是字符。

所以在输入时也不可以有任何间隔符号。

(16)【答案】D)【解析】字符常量有两种表示方法:一种是用该字符的图形符号,如'b' ,'y','*'。

另外还可以用字符的ASCII 码表示,即用反斜符(\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:一种是用字符的八进制ASCII码,表示为:\odd.这里,ddd是八进制值(o可以省略)。

另一种使用字符的十六进制ASCII码值,表示为\0xhh或0Xhh这里hh是两位十六进制值。

本题中D)选项…\019'使用是八进制表示,不应该出现9,所以错误。

(17)【答案】A)【解析】考察C语言关于赋值的应用,首先执行a-=a-5,即a=a-(a-5),使得a的值为5,然后执行c=(a-=a-5),即将a的值5赋给变量c,使得c的值也为5。

然后执行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。

2012年3月全国计算机等级考试二级笔试试卷及答案分析

2012年3月全国计算机等级考试二级笔试试卷及答案分析

2012年3月全国计算机等级考试二级笔试试卷Access数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

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

A.循环队列是队列的一种链式存储结构B.循环队列是一种逻辑结构C.循环队列是非线性结构D.循环队列是队列的一种顺序存储结构(2)下列叙述中正确的是()。

A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。

A.4B.10C. 6D.16(4)下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。

A.内模式B.外模式C.概念模式D.逻辑模式(5)在满足实体完整性结束的条件下()。

A.一个关系中必须有多个候选关键字B.一个关系中只能有一个候选关键字C.一个关系中应该有一个或多个候选关键字D.一个关系中可以没有候选关键字(6)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。

A.差B.自然连接C.交D.并(7)软件生命周期中的活动不包括()。

A.需求分析B.市场调研C.软件测试D.软件维护(8)下面不属于需求分析阶段任务的是()。

A.确定软件系统的功能需求B.制定软件集成测试计划C.确定软件系统的性能需求D.需求规格说明书评审(9)在黑盒测试方法中,设计测试用例的主要根据是()。

A.程序内部逻辑B.程序流程图C.程序数据结构D.程序外部功能(10)在软件设计中不使用的工具是()。

A.数据流图(DFD图)(结构化分析方法中使用的工具,在可行性研究阶段,即需求分析阶段用到)B.PAD图(问题分析图)在详细设计阶段用到C.系统结构图(在概要设计阶段用到)D.程序流程图(在详细设计阶段用到)软件设计:概要设计(变换型的系统结构图,事务型数据流图)和详细设计(PDF程序流程图、PAD)(11)在Access数据库中,用来表示实体的是()。

2012年3月全国计算机等级考试二级C语言笔试试卷与答案(花卷)1

C语言程序设计2012年3月全国计算机等级考试二级笔试试卷第一题在后面二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

(1)在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为【1】。

(2)设循环队列的存储空间为Q(1:30),初始状态为front=rear=30。

现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有【2】个元素。

(3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是【3】。

(4)在将E-R图转换到关系模式时,实体和联系都可以表示成【4】。

(5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于【5】。

(6)变量a和b已定义为int类型,若要通过scanf("a=%d,b=%d",&a,&b); 语句分别给a和b输入1和2,则正确的数据输入内容是【6】。

(7)以下程序的输出结果是【7】。

# include <stdio.h>main( ){ int a=37;a+=a%=9; printf(%d\n”,a);}(8)设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++; 语句后,变量b的值是【8】。

(9)有以下程序段s=1.0;for (k=1; k<=n; k++) s=s+1.0/(k*(k+1));printf("%f\n",s);请填空,使以下程序段的功能与上面的程序段完全相同。

s=1.0; k=1;while ( 【9】){ s=s+1.0/(k*(k+1)); k=k+1; }printf("%f\n", s);(10)以下程序的输入结果是【10】。

# include <stdio.h>main( ){ char a,b;for (a=0; a<20; a+=7) { b=a%10; putchar(b+'0'); }}(11)以下程序的输出结果是。

2012年的二级c语言真题及答案

(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) 可封装D) 自顶向下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)voidB)8_8C)_0_D)unsigned(13)阅读以下程序#includemain(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符 B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值(14)表达式:(int)((double)9/2)-(9)%2的值是A)0B)3C)4D)5(15)若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)10(16)有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是A)0,0C)3,2D)1,217)设有定义: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)有以下程序#includemain(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是A)3B)5C)7D)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{ 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”,n);}程序运行后的输出结果是A)0B)2C)3D)5(21)有以下程序#includemain(){ int n=2,k=0;while(k++&&n++>2);printf(“%d %d\n”,k,n);}程序运行后的输出结果是A)0 2B)1 3C)5 7D)1 2(22)有以下定义语句,编译时会出现编译错误的是A)char a=’a’;B)char a=’\n’;C)char a=’aa’;D)char a=’\x2d’;(23)有以下程序#includemain(){ char c1,c2;c1=’A’+’8’-‘4’;c2=’A’+’8’-‘5’;printf(“%c,%d\n”,c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是 A)E,68C)E,DD)输出无定值(24)有以下程序#includevoid fun(int p){ int d=2;p=d++; printf(“%d”,p);}main(){ int a=1;fun(a); printf(“%d\n”,a);}程序运行后的输出结果是A)32B)12C)21D)22(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max;for(i=0;i<N;I++)< p="" />{ max=MIN;if(maxreturn max;}造成错误的原因是A)定义语句int i,max;中max未赋初值B)赋值语句max=MIN;中,不应给max赋MIN值C)语句if(maxD)赋值语句max=MIN;放错了位置(26)有以下程序#includemain(){ int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}程序运行后的输出结果是A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2(27)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A)p=aB)q[i]=a[i]C)p=a[i]D)p=&a[2][1](28)有以下程序#include#includemain(){ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序运行后的输出结果是A)9,One*WorldB)9,One*DreamC)10,One*DreamD)10,One*World(29)有以下程序#includemain(){ 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(“\n”);}A)3 3 4 4B)2 0 5 0C)3 0 4 0D)0 3 0 4(30)有以下程序#include#includemain(){ char a[10]=”abcd”;printf(“%d,%d\n”,strlen(a),sizeof(a));}程序运行后的输出结果是A)7,4B)4,10C)8,8D)10,10(31)下面是有关C语言字符数组的描述,其中错误的是 A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串(32)下列函数的功能是fun(char * a,char * b){ whi le((*b=*a)!=’\0’) {a++,b++;} }A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有’\0’(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)有以下程序#includeint f(int n);main(){ int a=3,s;s=f(a);s=s+f(a);printf(“%d\n”,s);}int f(int n){ static int a=1;n+=a++;return n;}程序运行以后的输出结果是A)7B)8C)9D)10(35)有以下程序#include#define f(x) x*x*xmain(){ int a=3,s,t;s=f(a+1);t=f((a+1));printf(“%d,%d\n’,s,t);}程序运行后的输出结果是A)10,64B)10,10C)64,10D)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=getchar();D)*c=”string”;(38)有以下程序#include#includestruct 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\n”,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.0B)1001,ZhangDa,1202.0C)1001,ChangRong,1098.0D)1001,ChangRong,1202.0(39)若有以下程序段int r=8;printf(“%d\n”,r>>1);输出结果是A)16B)8C)4D)2(40)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共30分)(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】个结点。

二级C语言真题2012年03月

二级C语言真题2012年03月一、单选题1、下列叙述中正确的是( )。

A) 循环队列是队列的一种顺序存储结构B) 循环队列是队列的一种链式存储结构C) 循环队列是非线性结构D) 循环队列是一种逻辑结构2、下列叙述中正确的是( )。

A) 栈是一种先进先出的线性表B) 队列是一种后进先出的线性表C) 栈与队列都是非线性结构D) 以上三种说法都不对3、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。

A) 4 B) 6 C) 10 D) 164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。

A) 内模式B) 外模式C) 概念模式D) 逻辑模式5、在满足实体完整性约束的条件下( )。

A) 一个关系中可以没有候选关键字B) 一个关系中只能有一个候选关键字C) 一个关系中必须有多个候选关键字D) 一个关系中应该有一个或多个候选关键字6、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。

A) 自然连接B) 并C) 差D) 交7、软件生命周期中的活动不包括( )。

A) 软件维护B) 市场调研C) 软件测试D) 需求分析8、下面不属于需求分析阶段任务的是( )。

A) 确定软件系统的功能需求B) 确定软件系统的性能需求C) 制定软件集成测试计划D) 需求规格说明书评审9、在黑盒测试方法中,设计测试用例的主要根据是( )。

A) 程序外部功能B) 程序内部逻辑C) 程序数据结构D) 程序流程图10、在软件设计中不使用的工具是( )。

A) 系统结构图B) 程序流程图C) PAD图D) 数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤顺序正确的是( )。

A) 确定算法和数据结构、编码、调试、整理文档B) 编码、确定算法和数据结构、调试、整理文档C) 整理文档、确定算法和数据结构、编码、调试D) 确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述中正确的是( )。

2012年3月全国计算机等级考试二级C语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本

第1套一、填空给定函数的功能是调用fun函数建立班级通讯录。

通讯录记录每位学生的编号,姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE 3. fp二、修改先将在字符串s中的字符按正序存放到t 串中,然后把s中的字符按逆序连接到t 串后面。

答案:1. for(i = 0 ; i < sl ; i++) 2. t[2*sl] =` 0`;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(a/10)*1000+(b/10)*100+(a%10)*10 +(b%10);第2套一、从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。

然后将文件的内容读出显示在屏幕上。

文件的读写分别有自定义函数ReadText和WriteText实现。

答案:*fw str str二、从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t 中,高位仍放在高位,低位仍放在低位。

答案:long *t sl = sl*10;三、将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式:将a 数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。

答案:(1)fp (2)fclose(fp) (3)fname 二、将n个无序整数从小到大排序。

答案:for(i=j+1;i<n;i++) p=i;三、将两个两位数的正整数a,答案合并成一个整数放在c中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档