2013年福建省计算机二级c语言真题及答案(填空题部分)
- 格式:docx
- 大小:24.40 KB
- 文档页数:6
1、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码2、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能3、信息隐蔽的概念与下述哪一种概念直接相关(B)A.软件结构定义B. 模块独立性C. 模块类型划分D. 模拟耦合度4、设有下列二叉树:图见书P46对此二叉树中序遍历的结果为(B)A. ABCDEFB. DBEAFCC. ABDECFD. DEBFCA5、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A. 概要设计B. 详细设计C. 可行性分析D. 需求分析6、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是(A)A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理7、下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致8、下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表9、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是(A)A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理10、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码11、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计A. 详细设计B. 需求分析C. 总体设计D. 编程调试。
3月全国计算机二级c语言真题参考答案2013年3月全国计算机二级c语言真题参考答案一、选择题:1、(C)二叉树链表2、(B)循环链表3、(C)函数的递归调用4、(D)软件运行存在磨损和老化问题5、(B)等价类划分6、(A)软件的功能确定7、(B)系统软件8、(A)矩形9、(C)投影10、(A)ISBN书号11、(A)标准模块中既有控件,也有代码12、(C)print_s13、(D)3avg14、(C)i = 0: s = 0Doi = i + 1s = s + iLoop Until i = 100Print s15、(C)False16、(B)方法和事件17、(D)在程序运行期间,可以修改命令按钮的Style属性。
18、(B)419、(C)15 720、(A)15 921、(B)Lostfocus22、(B)25 16 9 4 1 3623、(C)不能在Form2中引用Form1中控件的属性值,因此上述程序有错误24、(B)Dir1_Change25、(A)1 2 326、(B)变量x的作用域是Form127、(A)为了满足不同存取方式的需要,可以对同一个随机文件用几个不同的文件号打开28、(B)双击命令按钮,会触发命令按钮的.DblClick事件29、(C)对话框的“文件类型”框中显示内容为“文本文件(*.txt)”30、(D)菜单的Caption属性不可以为空字符串31、(D)Sub Main过程能被Visual Basic自动识别并一定首先被执行32、(C) afbecd33、(C)在窗体上显示“表达式1”34、(A) 3 5 7 4 535、(D)For j=n to i+1 Step -1二、填空题1、62、A,B,C,D,E,F,5,4,3,2,13、耦合性4、35、逻辑设计6、arr As Variant、4–i7、 <= 、False、i – 18、Combo1、Combo1.ListCount – 1、i9、Output、Print或Write【2013年3月全国计算机二级c语言真题参考答案】。
全国计算机等级考试二级C语言真题2013年3月(总分40, 做题时间90分钟)一、选择题1. 程序流程图中带有箭头的线段表示的是______。
A 图元关系B 数据流C 控制流D 调用关系答案:C[解析] 在数据流图中,用标有名字的箭头表示数据流。
在程序流程图中,用标有名字的箭头表示控制流。
所以选择C。
2. 结构化程序设计的基本原则不包括______。
A 多态性B 自顶向下C 模块化D 逐步求精答案:A[解析] 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
3. 软件设计中模块划分应遵循的准则是______。
A 低内聚低耦合B 高内聚低耦合C 低内聚高耦合D 高内聚高耦合答案:B[解析] 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。
模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。
模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。
4. 在软件开发中,需求分析阶段产生的主要文档是______。
A 可行性分析报告B 软件需求规格说明书C 概要设计说明书D 集成测试计划答案:B[解析] A错误,可行性分析阶段产生可行性分析报告。
C错误,概要设计说明书是总体设计阶段产生的文档。
D错误,集成测试计划是在概要设计阶段编写的文档。
B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。
5. 算法的有穷性是指______。
A 算法程序的运行时间是有限的B 算法程序所处理的数据量是有限的C 算法程序的长度是有限的D 算法只能被有限的用户使用答案:A[解析] 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
有穷性是指算法程序的运行时间是有限的。
6. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是______。
A 快速排序B 冒泡排序C 直接插入排序D 堆排序答案:D[解析] 除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n-1)/2。
参考答案第一套题二、程序填空题本题是根据给定的公式来计算函数的值。
第一处:程序中使用双精度double类型进行计算,所以函数的返回值类型也为double,所以应填:double。
第二处:当i等于1时,则返回f1函数的值,所以应填:f1。
第三处:如果i不等于1,则返回f2函数的值,所以应填:f2。
三、程序修改题解题思路:第一处: 试题要求返回字符串的首地址,所以应改为:char *fun(char *s,char *t)第二处: 取字符串指针ss的下一个位置,所以应改为:ss++;。
第三处:取字符串指针tt的下一个位置,所以应改为:tt++;。
四、程序设计题解题思路:本题是考察字符串的操作。
1. 由于函数fun1是将字符串中字符循环左移一个位置,并通过实参w返回循环左移一个位置的字符串。
2. 利用循环for语句来操作多少个字符(m)需要循环左移。
参考答案:void fun(char *w, int m) /* 可调用fun1函数左移字符*/{int i;for(i = 0 ; i < m ; i++) fun1(w);}第二套题一、选择题解题思路:第一处:计算好的平均值通过形参av返回,所以应填:*av。
第二处:计算小于平均值且最接近平均值的位置j,所以应填:i。
第三处:返回该数,所以应填:x[j]。
三、程序修改题解题思路:第一处:函数的返回是浮点型数,所以应改为:float fun(int n)。
第二处:for的终止条件应是i<=n。
四、程序设计题解题思路:本题是利用两重循环给二维数组右上三角元素中的值乘以m。
参考答案:int fun ( int a[][N], int m ){int i, j;for(i = 0 ; i < N ; i++)for(j = i ; j < N ; j++)a[i][j] *= m ;}第三套题一、选择题解题思路:第一处:如果n是奇数,则中间的元素不动,所以应填:1。
1、 打开程序Cprog441.c ,完成其中的函数fun (x),该函数计算数学表达式:2.1cos sin 2++x e x x的值。
例如:fun (1.65)=6.424#include <stdio.h>#include <math.h>double fun(double x){/**/return (2*sin(x)+exp(x))/(cos(x)+1.2);/**/}void main(){printf("fun(1.65) = %7.3lf\n", fun(1.65));getch();}2、 打开程序Cprog442.c ,完成其中的函数Reverse(unsigned int n),该函数的功能是:返回整数n (1<n ≤10000)的逆向值。
例如:n 为1234时,返回值为4321。
#include <stdio.h>long int Reverse(unsigned int n){/**/int a[5],i,len=0,result=0;while (n!=0){a[len++]=n%10;n/=10;}for (i=0;i<len;i++){result=result*10+a[i];}return result;/**/}void main(){unsigned int a;printf("Input a (1-10000):");scanf("%u",&a);printf("result=%ld\n",Reverse(a));getch();}3、 打开程序Cprog451.c ,完成其中的函数fun(x,n),该函数计算数学表达式:8.0)3x )(12x (3x n++- 的值。
例如:fun(2.3, 5)=9.713#include <stdio.h>#include <math.h>double fun(double x,int n){/**/return 3*pow(x,n)/((2*x -1)*(x+3)+0.8);/**/}void main(){printf("fun(2.3,5) = %7.3lf\n", fun(2.3,5));getch();}4、 打开程序Cprog452.c ,完成其中的函数DecTohex(unsigned int data, int hex[30], int *resultlen),该函数的功能是:将十进制数data 转化为对应的十六进制数,十六进制数的各位依次存储在数组hex 中,*resultlen 保存转化结果的位数。
全国计算机等级考试二级C语言真题2013年9月(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是______。
(分数:1.00)A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:[解析] 栈是按照先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B。
2.下列叙述中正确的是______。
(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的√解析:[解析] 循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B与C错误。
3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是______。
(分数:1.00)A.O(n)B.O(n2)C.O(log2n) √D.0(nlog2n)解析:[解析] 当有序线性表为顺序存储时才能用二分法查找。
可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。
4.下列叙述中正确的是______。
(分数:1.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的√B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析:[解析] 链式存储结构既可以针对线性结构也可以针对非线性结构,所以B与C错误。
全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间120分钟,满分100分)2013年9月一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。
(1) 十进制数1385转换成十六进制数为A) 568 B) 569 C) D85 D) D55(2) 下列叙述中正确的是A) 计算机病毒只能传染给可执行文件B) 计算机软件是指存储在软盘中的程序C) 计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D) 硬盘虽然装在主机箱内,但它属于外存(3) 一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随计算机系统而不同的(4) CPU主要由运算器与控制器组成,下列说法中正确的是A) 运算器主要负责分析指令,并根据指令要求作相应的运算B) 控制器主要完成对数据的运算,包括算术运算和逻辑运算C) 控制器主要负责分析指令,并根据指令要求作相应的运算D) 控制器直接控制计算机系统的输入与输出操作(5) 下列叙述中正确的是A) 将数字信号变换成便于在模拟通信线路中传输的信号称为调制B) 以原封不动的形式将来自终端的信息送入通信线路称为调制解调C) 在计算机网络中,一种传输介质不能传送多路信号D) 在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6) 各种网络传输介质A) 具有相同的传输速率和相同的传输距离B) 具有不同的传输速率和不同的传输距离C) 具有相同的传输速率和不同的传输距离D) 具有不同的传输速率和相同的传输距离(7) 多媒体计算机系统的两大组成部分是A) 多媒体功能卡和多媒体主机B) 多媒体通信软件和多媒体开发工具C) 多媒体输入设备和多媒体输出设备D) 多媒体计算机硬件系统和多媒体计算机软件系统(8) 按通信距离划分,计算机网络可以分为局域网和广域网。
2013年核算机二级考试真题卷•本卷共分为1大题50小题,作答时刻为180分钟,总分100分,60分及格。
一、单项挑选题(共50题,每题2分。
每题的备选项中,只要一个最契合题意)1.下面程序中有过错的行是____(每行前面的数字表明第几行)1 main____2 { int a[3]={1};3 int i;4scanf(“%d”,&a);5 for(“i=1;iA:2B:4C:5D:6参阅答案:B2.履行下面的句子后,所发生的信息框的提示音讯是____ A=MsgBox("aaaa",5 ,"bbbb")A:bbbbB:aaaaC:空D:5参阅答案:B3.一些重要的程序言语(如C言语和Pascal言语)答应进程的递归调用。
而完成递归调用中的存储分配通常用____ A:栈B:堆C:数组D:链表参阅答案:A4.计时器控件Timer1的Interval特点为2000,履行如下事情进程Private Sub Timer1_Timer____Dim i%static j%For i = 1 To 6j = j + 2Next iEnd Sub运转后5秒时,j 的值为____A:0B:12C:24D:以上都不是参阅答案:C5.确认一个窗体或控件的巨细的特点是____A:Width或HeightB:Width和HeightC:Top或LeftD:Top和Left参阅答案:B6.以下四种关于windows操作体系的描绘中,____是正确的。
A:Windows是一个单任务、字符化的操作体系B:Windows是一个多任务、字符化的操作体系C:Windows是一个单任务、图形化的操作体系D:Windows是一个多任务、图形化的操作体系参阅答案:D7.阅读程序段,则履行后的输出成果为#include "stdio.h"typedef union{ long x[2];int y[4];char z [8];} atx;typedef struct aa{ long x[2];int y [4];char z[8]; } stx;main____{ printf("union=%d,struct aa=%d\n",sizeof(atx),sizeof (stx)); }A:)union=8,struct aa=8B:)union=8,struct aa=24C:)union=24,struct aa=8D:)union=24,struct aa=24参阅答案:B8.字符串“ABC”在内存占用的字节数是____ A:3B:4C:6D:8参阅答案:B9.StrReverse("abcD")的值为____挑选支A:: dCBAB:: dcbaC:: DcbaD:: DABC参阅答案:C10.去掉字符串右边空格的函数是____A:Ltrim$B:Rtrim$C:Left$D:Right$参阅答案:B11.能将核算机外部信息传入核算机内的设备是____ A:输入设备B:输出设备C:LPT1D:NUL参阅答案:A12.设定打印纸张巨细时,应当运用的指令是____A:文件菜单中的“打印预览”指令B:文件菜单中的“页面设置”指令C:视图菜单中的“东西栏”指令D:视图菜单中的“页面”指令参阅答案:B13.以下不能完成符号函数y=sgn(x)的程序段是____A:if x>0 then y=1 else if x=0 then y=0 else y= -1B:if x>0 then y=1 else if xC:if x>=0 then if x=0 then y=0 else y= -1 else y=1 D:if x<>0 then if x参阅答案:C14.在窗体中增加一个指令按钮,并编写如下程序Private Sub Command1_Click____ a%=2/3 b%=32/9 Print a%,b% End Sub 运转下列程序,输出成果为____A:0 4B:0 3C:1 3D:1 4参阅答案:D15.已有变量界说和函数调用句子int a=25;print_value (&a);下面函数的正确输出成果是 void print_value(int *x) { printf("%d\n",++*x); }A:)23B:)24C:)25D:)26参阅答案:D16.发生N个空格组成的字符串的函数是____挑选支A:: Space$B:: Spc$C:: Rtrim$D:: Ltrim$参阅答案:A17.有如下程序段Dim s%, t%, a%, b%s = 1: t = 1a = Text1.Textb = Text2.TextIf a > 0 Then s = s + 1If a > b Thent = t + sElseIf a = b Thent = 5Elset = 2 * sEnd IfEnd IfPrint tEnd Sub要使程序输出成果为4,则a和b应满意的条件是____A:a>0 And a<bB:a<bC:a>0 And a>bD:ab参阅答案:A18.关于窗体,下面____特点在程序运转时其特点设置起作用。
1、程序Ccon441.c的功能是:从键盘输入一个直角三角形的两条直角边a和b,计算并输出其周长和面积。
将程序填写完整。
#include <stdio.h>#include <math.h>void main(){double a,b,c,circle,area;printf("Input 2 edges:");scanf(/**/ "%lf %lf" /**/,&a,&b);c=sqrt(/**/ a*a+b*b/**/);circle=a+b+c;area=/**/a*b/2 /**/ ;printf("circle=%lf\n",circle);printf("area=%lf\n",area);getch();}2、程序Ccon442.c求一堆螺栓总数:若以4个螺栓一组,则多2个;若以7个一组,则多3个;若以9个一组,则多5个,这堆螺栓最多有几个?#include <stdio.h>void main(){int i=1, mark;mark=/**/ 1 /**/;do{if((i-2)%4==0)if(/**/ !((i-3)%7)/**/ )if(!((i-5)%9)){printf("Sum=%d\n",i);mark=0;}/**/ i++/**/;}while(mark);getch( );}3、程序Ccon451.c中的函数PrintLetters(int n)的功能是:输出n行图形,例如当n=3时图形如下:abbbccccc将程序填写完整。
#include <stdio.h>void main(){ int n;/**/ void PrintLetters(int n);/**/printf("Please input n (n>=1 and n<=10) :");scanf("%d",&n);if( !(n>=1&&n<=10) ) return;PrintLetters(n);getch();}void PrintLetters(int n){char ch='a';int row,col;for(row=1;row<=n;row++){for(col=1;/**/ col<=row /**/;col++)putchar(ch);/**/ch++; /**/printf("\n");}}4、程序Ccon452.c中lookup ( ) 函数用以输出满足等式a*b+b*c+a*c=95的所有a,b,c的组合(其中a,b,c只取1~9之间的一位整数)。
如:a=7,b=5,c=5时,7*5+5*5+7*5=95#include <stdio.h>void lookup( int y ){int a,b,c;for(/**/ a=1 /**/; a<10; a++)for(b=1; b<10; /**/ b++ /**/)for(c=1; c<10; c++){if(a*b+/**/ b*c+a*c /**/ ==y)printf("a=%d,b=%d,c=%d\n",a,b,c);}}void main(){int result=95;lookup(result);getch();}5、 程序Ccon461.c 中的函数calculating(int n)计算并返回表达式n14131211±+-+-的值(1≤n ≤1000)。
输入:100输出:Calculating(100)=0.688172将程序填写完整。
#include <stdio.h>void main(){float x;int n;double Calculating(int);printf("Please input n (n>=1 and n<=1000):");scanf("%d",&n);printf("Calculating(%d)=%lf\n",n,/**/ Calculating(n) /**/);getch();}double Calculating(int n){ int i, sign=1;double r=0.0;if(n>=1&&n<=1000)for( i=1;i<=n;i++){ r+=sign*(1.0/i);/**/ sign=-sign; /**/}return /**/ r /**/;}6、 程序Ccon462.c 功能是:提前字符串中首个数字子串,转为对应的数字,输出其与15的和。
(注:数字′ 0′ 的ASCII 值为48,如无数字子串,输出15)。
例如:输入:asd123jk456,hg789ok输出:123+15=138#include <stdio.h>#include <string.h>void main(){char str[100],a[20],*p;int n=0,i,j;int x;printf("Input string:");gets(str);/**/ p=str; /**/while(*p!='\0'){for(i=0; *p>='0' && /**/ *p<='9' /**/; p++){a[i]=*p;i++;}if(i>0){x=0;for(j=0;j<i;j++)x=x*10+a[j]-/**/ '0' /**/;printf("%d+15=%d\n",x,x+15);n++;}if(n==1)break;elsep++;}if(n==0)printf("15\n");getch( );}7、程序Ccon471.c中函数CounterNumber(unsigned long n)返回无符号整型数n的位数(0<n≤4000000000)。
例如:n=1234567,则其位数为7。
输入:1234567输出:The total number of digits is 7.将程序填写完整。
#include <stdio.h>int CountNumber(unsigned long n){/**/ int /**/ counter= 0 ;if(n==0 || n>4000000000) return 0;while(n){n/=/**/ 10 /**/;counter++;}return counter;}void main(){unsigned long x;printf("Pleae input x(x>0 and x<=4000000000:");scanf("%lu",&x);printf("The total number of digits is %d.\n", /**/ CountNumber(x)/**/);getch();}8、程序Ccon472.c功能是:输入等差数列的首项a、等差d和项数n(a、d、n均不为零),输出该等差数列以及它们的和。
例如:输入:2,5,7输出:Series of Numbers:2 7 12 17 22 27 32sum=154#include <stdio.h>void main(){int a,d,n,i;long x,sum;sum=/**/ 0/**/;printf("a,d,n=");scanf("%d,%d,%d",&a,&d,&n);printf("Series of Numbers:\n");x=a;for(i=1; i<=/**/ n/**/; i++){printf("%d ",x);x=/**/x+d/**/;sum+=x;}printf("\n Sum=%ld\n",sum);getch( );}9、程序Ccon481.c中函数InsertHead(int a[ ], int n, int x)的功能是:将整数x插入到数组a中的第一个元素之前。
例如:数组a中原来n个元素依次为:1,12,3,14,5,16,7,18,9,10,插入新元素20后的各元素依次为:20,1,12,3,14,5,16,7,18,9,10。
输入:20输出:20 1 12 3 14 5 16 7 18 9 10请将程序Ccon481.c填写完整。
#include<stdio.h>void InsertHead(int a[],int n,int x){int i;for(i=n-1; /**/ i>=0/**/; i--)a[i+1]=a[i];/**/ a[0]=x;/**/}void main(){int data[11]={1,12,3,14,5,16,7,18,9,10},x,i;printf("Pleae input x:");scanf("%d",&x);InsertHead(/**/ data,10,x /**/);for( i=0;i<11;i++) printf("%-4d",data[i]);printf("\n");getch();}10、 程序Ccon482.c 功能是:根据输入的n (1≤n ≤30),用递归算法求2222n 321++++ 的值。
例如:输入:26输出:Sum=6201#include <stdio.h>long int fun(long int n){long int s;if(/**/ (n==1) /**/)s=1;elses=n*n+/**/ fun(n-1) /**/;return (s);}void main(){long int n;printf("Input n:");scanf("%ld",&n);if(/**/ n<1 /**/ || n>30)printf("%ld is error!\n",n);elseprintf("Sum=%ld\n",fun(n));getch();} 红色为答案。