2010海南省计算机等级考试试题 二级C试题(必备资料)
- 格式:docx
- 大小:18.87 KB
- 文档页数:3
2010 年9 月全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能进行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x—y)B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1。
2010年计算机等级考试二级C语言上机习题汇总一、改错题【分析】:改错题的错误一般可分为两类,一类是语法错误,这类错误可通过调试程序改正,较容易;另一类是逻辑错误,这类错误程序能运行,但结果不正确,这类错误相对较难,修改前必须要看懂和理解程序。
#include"stdio.h"#define n 4 #define m 3 /*语法错,#define m 3需另起一行*/int a[n][m],s[m];p(int j)/*此函数的功能为:找出a数组中第j列的最小元素的值及行号,函数成功运行后,i中即为j列的最小元素的行号,s[j]中即为j列的最小元素的值*/{intk,i,x;x=a[0][j];i=0; /*逻辑错,从函数的功能可知,a[0][j]也应赋值给s[j],所以x=a[0][j]应改为s[j]=x=a[0][j]*/for(k=1;k<N;K++)< p>if(a[k][j]<X)< p>{i=k;s[j]=x=a[k][j];}return i;}main(){int index[m],i,j,k;for(i=0;i<N;I++)< p>for(j=0;j<M;J++)< p>scanf("%d",a[i][j]);/*语法错,但编译时不会报错,scanf语句的一般形式为scanf(格式控制,地址表列),所以a[i][j]应改为&a[i][j])*/for(j=0,j<M;J++)< p>printf("a[%d,%d]=%d\n",index[j],j,s[j]);}i=s[1];k=0; /*逻辑错,数组s中存放的是a数组中每一列的最小值,比较时应从数组的第0个元素开始,而下面的for循环是从第1个元素开始的,所以i=s[1]应改为i=s[0]*/for(j=1;j<>if(s[j]<I)< p>{i=s[j];k=j;}printf("min=a[%d,%d]=%d",index[k],k,i); }二、编程题【分析】:本题的主要功能是建立一个3行8列的二维数组,并给其元素赋值,其中第1、2行的值可通过递推公式xi+1=(25*xi+357)%1024得到,第三行的值取前两行同列元素的最大公约数,所以编程时可用一个函数来实现求公约数的算法。
全国计算机等级考试二级C语言机试真题2010年9月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充fun函数,该函数的功能是:判断一个年份是否为闰年。
例如,1900年不是闰年,2004是闰年。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]#include<stdio.h>#include<conio.h>int fun(int n)int fiag=0;if(n%4==0)if( (1) )fiag=1;if( (2) )flag=1;return (3) ;void main()int year;clrscr();printf("Input the year:");scanf("%d", &year);if(fun(year))printf("%d is a leap year./n", year);elseprintf("%d is not a leap year./n", year);(分数:30.00)填空项1:__________________ (正确答案:[1] n%100 !=0[2] n%400==0[3] flag)解析:[解析] 题的关键是要知道闰年的定义,如果年份能被4整除但不能被100整除,或者能被400整除,这两种情况满足之一都是闰年。
填空1:显然此处属于第一种情况,能被4整除但不能被100整除。
所以这里应该填n%100!=0,只有满足这个条件,flag才能被赋值1。
填空2:此处属于第二种情况,能被400整除,所以应该填n%400==0。
填空3:从程序中可以知道,当满足以上两种情况之一时,flag就被赋值1,显然flag属于标志单元。
再看主函数中对fun()函数的调用,显然需要返回的值不是真就是假,即函数fun()中标志单元flag的内容。
1、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码2、数据库设计包括两个方面的设计内容,它们是(A)A. 概念设计和逻辑设计B. 模式设计和内模式设计C. 内模式设计和物理设计D. 结构特性设计和行为特性设计3、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)A. 阶段性报告B. 需求评审C. 总结D. 都不正确4、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表5、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间6、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈7、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是(A)A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理8、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法9、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 1510、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈11、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 35112、下列关于队列的叙述中正确的是(C)A. 在队列中只能插入数据B. 在队列中只能删除数据C. 队列是先进先出的线性表D. 队列是先进后出的线性表13、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能。
2010年9月全国计算机二级C语言笔试试题(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A) C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a; long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200B)实数:1.5E2.0C )字符斜杠:‘\’D)字符串:"\007" (16)表达式a+=a-=a=9的值是A)9B)_9C)18D)0(17)若变量已正确定义,在if (W)printf (“%d\n,k”);中,以下不可替代W的是A)a<>b+cB)ch=getchar()C)a==b+cD)a++(18)有以下程序#include<stdio.h>main(){int a=1,b=0;if(!a) b++;else if(a==0)if(a)b+=2;else b+=3;printf(”%d\n”,b);}程序运行后的输出结果是A)0B)1C)2D)3(19)若有定义语句int a, b;double x;则下列选项中没有错误的是A)switch(x%2) B)switch ((int)x/2.0{case 0: a++;break; {case 0: a++; break;case 1: b++;break; case 1: b++; break;default : a++;b++; default : a++; b++;}}C)switch((int)x%2) D)switch((int)(x)%2){case 0: a++;break; {case 0.0: a++; break;case 1: b++;break; case 1.0:b++; break;default : a++;b++; default : a++; b++;}}(20)有以下程序#include <stdio.h>main(){int a=1,b=2;while(a<6){b+=a;a+=2;b%二10;}printf(”%d,%d\n”,a,b);}程序运行后的输出结果是A)5,11B)7,1C)7,11D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0B)y= -1C)y=1D)while构成无限循环(22)有以下程序#include<stdio .h>main(){char s[」=”rstuv";printf(”%c\n”,*s+2);}程序运行后的输出结果是A)tuvB)字符t的ASCII码值C)tD)出错(23)有以下程序#include<stdio.h>#include<string.h>main(){char x[]=”STRING”;x[0」=0;x[1]=’\0’;x[2」=’0’;printf(”%d %d\n”,sizeof(x),strlen (x));}程序运行后的输出结果是A)6 1B)7 0C)6 3D)7 1(24)有以下程序#include<stdio.h>Int f(int x);main(){int n=1,m;m=f(f(f(n)));printf(”%d\n”,m);}int f(int x){return x*2;}程序运行后的输出结果是A)1B)2C)4D)8(25)以下程序段完全正确的是A)int *p; scanf("%d",&p);B)int *p; scanf(“%d”,p);C)int k, *p=&k; scanf("%d",p);D)int k, *p:; *p= &k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4];B)int **p;C)int *(p「4」);D)int (*p)「4」;(27)下列定义数组的语句中,正确的是A)int N=10;B)#define N 10int x[N]; i nt x[N];C)int x[0..10]; D)int x[];(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是A)int a[5]=﹛0﹜;B)int b[]={0,0,0,0,0};C)int c[2+3];D)int i=5,d[i];(29)有以下程序#include<stdio.h>void f(int *p);main(){int a[5]={1,2,3,4,5},*r=a;f(r);printf(”%d\n”;*r);}void f(int *p){p=p+3;printf(”%d,”,*p);}程序运行后的输出结果是A)1,4B)4,4C)3,1D)4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)# include<stdio.h>void fun(int*a;int n){int i、j、k、t;for (i=0;i<n一1;1+=2){k=i;‘for(j=i;j<n;j+=2)if(a[j]>a〔k])k=j;t=a〔i];a〔i]=a[k];a〔k]=t;}}main(){int aa「10」={1、2、3、4、5、6、7},i;fun(aa、7);for(i=0,i<7; i++)printf(”%d,”,aa [i]));printf(”\n”);}程序运行后的输出结果是A)7,2,5,4,3,6,1B)1,6,3,4,5,2,7C)7,6,5,4,3,2,1D)1,7,3,5,6;2,1(31)下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST"要求的是A)if(strcmp(s2,s1)==0)ST;B)if(sl==s2)ST;C)if(strcpy(s l ,s2)==1)ST;D)if(sl-s2==0)ST;(32)以下不能将s所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++;s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++];);(33)有以下程序( strcat函数用以连接两个字符串)#include<stdio.h>#include<string .h>main(){char a[20]=”ABCD\OEFG\0”,b[]=”IJK”;strcat(a,b);printf(”%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJKB)ABCDIJKC)IJKD)EFGIJK(34)有以下程序,程序中库函数islower (ch)用以判断ch中的字母是否为小写字母#include<stdio.h>#include<ctype.h>void fun(char*p){int i=0;while (p[i]){if(p[i]==’ ’&& islower(p「i-1」))p[i-1]=p[i-1]-‘a’+‘A’;i++;}}main(){char s1[100]=”ab cd EFG!”;fun(s1); printf(”%s\n”,s1);}程序运行后的输出结果是A)ab cd EFG!B)Ab Cd EFg!C)aB cD EFG!D)ab cd EFg!(35)有以下程序#include<stdio.h>void fun(int x){if(x/2>1)fun(x/2);printf(”%d”,x);}main(){fun(7);printf(”\n”);}程序运行后的输出结果是A)1 3 7B)7 3 1C)7 3D)3 7(36)有以下程序#include<stdio.h>int fun(){static int x=1;x+=1;return x;}main(){int i;s=1;for(i=1;i<=5;i++)s+=fun();printf(”%d\n”,s);}程序运行后的输出结果是A)11B)21C)6D)120(37)有以下程序#inctude<stdio.h>#include<stdlib.h>Main(){int *a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#include<stdio.h>main(){int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6(39)若有以下语句Typedef struct S{int g; char h;}T;以下叙述中正确的是A)可用S定义结构体变量B)可用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量(40)有以下程序#include<stdio.h>main(){short c=124;c=c_______;printf(“%d\n”、C);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B)|248 C)&0248 D)<<I二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
2010年3月计算机等级考试二级C笔试试题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a ;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a<B)< p>if(a< p>else k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(a<C)?B:C;< p>B)k=(a<B)?((Bc)?b:c);C)k=(a<B)?((A<E)?A:E):((B<E)?B:C);< p>D)k=(a<C)?A:C;< p>(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i<>{printf("%d",a[i]);}printf("\n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun(); printf("%d\n",s);}程序运行后的输出结果是A)OC)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。
全国计算机等级考试二级C语言考试大纲(新)◆ 基本要求1.熟悉 Visual C++ 6.0 集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力5.掌握算法的基本概念。
6.掌握基本数据结构及其操作。
7.掌握基本排序和查找算法。
8.掌握逐步求精的结构化程序设计方法。
9.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
10.掌握数据的基本知识,了解关系数据库的设计。
◆ 考试内容一、C语言程序的结构1.程序的构成,main函数和其他函数。
2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型及其运算1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、基本语句1.表达式语句,空语句,复合语句。
2.输入输出函数的调用,正确输入数据并正确设计输出格式。
四、选择结构程序设计1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。
五、循环结构程序设计1.for循环结构。
2.while和do-while循环结构。
3.continue语句和break语句。
4.循环的嵌套六、数组的定义和引用1.一维数组和二维数组的定义、初始化和数组元素的引用。
2.字符串与字符数组。
七、函数1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
2010年全国计算机等级考试二级C++笔试试题总分:100分及格:60分考试时间:90分每小题2分,共70分(1)数据库概念设计中由分散到集中的设计方法是()。
A. 视图设计B. 视图集成设计C. 集中式模式设计D. 分散式模式设计(2)已知类A中有公用数据成员B*b;其中B为类名。
则下列语句错误的是()。
A. A():d(new B)()B. A(const A&oo):d(new B){*d=*od:}C. ~A(d){}D. ~A(){delete d;}(3)将5个数据进行快速排序,在最坏情况下需要比较的次数是()。
A. 4B. 5C. 10D. 20(4)在文件操作中,代表以追加方式打开文件的模式是()。
A. ios::ateB. iOS::appC. i0S::outD. ios::trunc(5)下列运算符中,不能重载的是()。
A. ?:B. +C. -D. <=(6)一个C++程序由函数A(),B(),C()和函数P()构成,在函数A()中分别调用了函数B()和函数C(),在函数B()中调用了函数A(),且在函数P()中也调用了函数A(),则可以说()。
A. 函数B()中调用的函数A()是函数A()的间接递归调用B. 函数A()被函数B()调用是直接递归调用C. 函数P()直接递归调用了函数A()D. 函数P()中调用的函数A()是函数P()的嵌套(7)下面关于for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C. 在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来(8)有以下程序:执行后输出结果是()。
A. 产生语法错B. 随机值C. AD. 65(9)有以下程序,执行后输出结果是()。
A. 3,4,5B. 5,3,4C. 5,4,3D. 4,3,5(10)以下叙述中不正确的是()。
2010海南省WORD全国计算机等级考试二级VB理论考试试题及答案1、过程控制的特点是( D )A计算量大,数值范围广 B、数据输入输出量大,计算相对简单C、进行大量的图形交互操作D、具有良好的实时性和高可靠性2、下列字符中,ASCII码值最小的是( B )A、aB、AC、xD、Y3、计算机的内存中有一项占据4个字节的数据,内容依次为61H、41H、31H、51H,这项数据可能是( C )A、汉字,西文混合字符串B、汉字字符串C、西文字符串D、控制字符串4、汉字系统中,汉字字库里存放的是汉字的( C )A、内码B、外码C、字形码D、国标码5、在微机中,ASCII码常用于表示( B )A、西文、汉字混合编码B、西文字符C、汉字编码D、以上答案者不对6、与十进制数0.625D等值的二进制数是( A )A、0.1010BB、0.1101BC、0.1111BD、0.1011B7、微型计算机的显示器显示西文字符时,一般情况下一屏最多可显示( A )A、25行,每行80个字符B、25行,每行60个字符C、20行,每行80个字符D、20行,每行60个字符8、汉字国标码在两个字节中各占用( C )位二进制编码。
A、6B、7C、8D、99、我们通常所说的128位声卡中的“128位”指的是( D )A、声卡的字长B、计算机的字长C、计算机总线的宽度D、声卡的采样精度10、一般情况下,1KB内在最多能存储( B )个ASCII码字符,或( B )个汉字内码。
A、1024.1024B、1024,512C、512,512D、512,102411、汉字国标码在两个字节中各占用( C )位二进制编码。
A、6B、7C、8D、912、喷墨打印机较针式打印机的最大优点( C )A、打印成本较低B、体积小、重量轻C、采用非击打式,噪音较小D、以上说法都不对13、通常,在微机中标明的P4或奔腾4是指( D )A、产品型号B、主频C、微机名称D、微处理器型号14、为了防止计算机硬件的突然故障或病毒入侵对数据的破坏,对于重要的数据文件和工作资料在每天工作结束后通常应( B )A、直接保存在硬盘之中B、用专用设备备份C、打印出来D、压缩后存储到硬盘中15、下列4种设备中,属于计算机输入设备的是( D )A、UPSB、投影仪C、绘图仪D、鼠标器16、为防止计算机病毒的传播,在读取外来软盘上的数据文件或应用程序前应该( B )A、打开软盘的写保护小孔B、用消病毒软件检查该软盘有无计算机病毒C、检查硬盘有无计算机病毒,并关掉软盘写保护小孔D、关闭软盘的写保护小孔17、硬盘连同驱动器是一种( B )A、内存储器B、外存储器C、只读存储器D、半导体存储器18、下列4种设备中,属于计算机输入设备的是( D )A、UPSB、投影仪C、绘图仪D、鼠标器19、下列字符中,ASCII码值最小的是( B )A、aB、AC、xD、Y20、微型计算机的显示器显示西文字符时,一般情况下一屏最多可显示( A )A、25行,每行80个字符B、25行,每行60个字符C、20行,每行80个字符D、20行,每行60个字符21、计算机能直接识别的执行的语言是( A )A、机器语言`B、高级语言C、汇编语言D、数据库语言22、化工厂中用计算机系统控制物料配比、温度调节、阀门开关的应用属于( A )A、过程控制B、数据处理C、科学计算D、CAD/CAM23、微型计算机中,合称为中央处理单元(CPU)的是指( A )A、运算器和控制器B、累加器和算术逻辑运算部件(ALU)C、累加器和控制器D、通用寄存器和控制器24、在下列存储器中,访问速度最快的是( C )A、硬盘存储器B、软盘存储器C、半导体RAM(内存储器)D、磁带存储器25、目前微型计算机CPU进行算术逻辑运算时,可以处理的二进制信息长度是( D )A、32位B、16位C、8位D、以上3种都可以26、计算机病毒主要( D )的损坏。
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
笔试部分一、选择题1.树是结点的集合,它的根结点数目是( )A. 有且只有1B.1或多于1C. 0或1D.至少2【参考答案】A2.在设计程序时,应采纳的原则之一( )A. 不限制goto语句的使用B.减少或取消注解行C. 程序越短越好D.程序结构应有助于读者理【参考答案】D3.下列叙述中,不属于软件需求规格说明书的作用的是( )A. 便于用户、开发人员进行理解和交流B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据C. 作为确认测试和验收的依据D.便于开发人员进行需求分析【参考答案】D4.单个用户使用的数据视图的描述称为( )A. 外模式B.概念模式C. 内模式D.存储模式【参考答案】A5.SQL语言又称为( )A. 结构化定义语言B.结构化控制语言C. 结构化查询语言D.结构化操纵语言【参考答案】C6.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( )A. bdgcefhaB.gdbecfhaC. bdgaechfD.gdbehfca【参考答案】D7.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )A. 消除软件危机B.软件工程管理C. 程序设计自动化D.实现软件可重用【参考答案】B8.在软件测试设计中,软件测试的主要目的是( )A. 实验性运行软件B.证明软件正确C. 找出软件中全部错误D.发现软件错误而执行程序【参考答案】D9.索引属于( )A. 模式B.内模式C. 外模式D.概念模式【参考答案】B10.数据库系统的核心是( )A. 数据库B.数据库管理系统C. 模拟模型D.软件工程【参考答案】B来源:考试大-计算机二级考试11.下面关于类和对象的描述中,错误的是( )A.类就是C语言中的结构体类型,对象就是C语言中的结构体变量B.类和对象之间的关系是抽象和具体的关系C.对象是类的实例,一个对象必须属于一个已知的类D.类是具有共同行为工的若干对象的统一描述体【参考答案】A12.设int a=10,b=11,c=12;,表达式(a+b)<c&&b==c的值是( )<="" p=""></c&&b==c的值是(>A.2B.0C.-2D.1【参考答案】B13.下列语句中不是死循环的是( )A.int i=10;B.for(int i=1;i<10;i++)C.int i=0;D.int i=1;while(1) { do{ for(;;){ i--; i++; i=i+1;i--; } }while(i>=0);if(i==1)break;}【参考答案】A14.下面关于数组的描述错误的是( )A.在C++语言中数组的名字就是指向该数组第一个元素的指针B.长度为n的数组,下标的范围是0~n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数【参考答案】D15.下面的哪个选项不能作为函数的返回类型?( )A.voidB.intC.newD.long【参考答案】C16.下列程序的输出结果为( )#includeint func(int n){if(n<1) return 1;else return n+func(n-1);return 0;}void main(){cout<<func(5)<<endl;}< p=""></func(5)<<endl;}<>A.0B.10C.15D.16【参考答案】D来源:考试大-计算机二级考试17.以下程序中,错误的行为( )1.#include2.class A3.{4.public:5.int n=2;6.A(int val) {cout<<val<<endl;}< p=""></val<<endl;}<>7.~A(){ }8.{;9.void main()10{11.A a(0);12.}A.5B.6C.7D. 11【参考答案】A18.下面程序的运行结果为( )#includeclass A{int num;public:A(int i){num=i;}A(A &a){num=a.num++;}void print(){cout<<num;}< p=""></num;}<>};void main(){A a(1),b(a);a.print();b.print();}A.11B.12C.21D.22【参考答案】C来源:考试大-计算机二级考试19.如果类A被说明成类B的友元,则( )A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元【参考答案】D20.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )A.abcB.acbC.cabD.cba【参考答案】A21.下面关于模板的描述,错误的是( )A.函数模板和类模板的参数可以是任意的数据类型B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用C.函数模板不能直接使用,需要实例化为模板函数后才使用D.类模板的成员函数都是模板函数【参考答案】A22.下面程序的运行结果是( )#includevoid main(){int num=1;int &ref=num;ref=ref+2;cout<<num;< p=""></num;<>num=num+3;cout<<ref<<endl;< p=""></ref<<endl;<>}A.13B.16C.36D.33【参考答案】C23.下列程序的运行结果为( )#includeint i=0;class A{public:A(){i++;}};void main(){A a,b[3],*c;c=b;cout<<i<<endl;}< p=""></i<<endl;}<>A.2B.3C.4D.5【参考答案】C来源:考试大-计算机二级考试24.下列字符串中可以用C++语言标识符的是()A._1234B.foo~~barC.virtuaD.34var【参考答案】A25.下列语句的输出结果( )cout<<strlen(″\t\″\065\xff\n″);< p=""></strlen(″\t\″\065\xff\n″);<>A.5B.14C.8D.输出项不合法,无正常输出【参考答案】A26.若有如下语句( )#includevoid main(){int x=3;do{x=x-2;cout<<x;< p=""></x;<>}while(!(--x));}则上面程序段A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环【参考答案】B27.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )#includevoid main(){ int *p,*q,a,b;p=&a;cout<<″input a:″;cin>>p;}A.*p表示的是指针变量P的地址B.p表示的是变量a的地址,而不是变量a的值C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量【参考答案】B来源:考试大-计算机二级考试28.有以下程序#includevoid fun(int a,int b,int c){a=456,b=567,c=678;}void main(){int x=10,y=20,z=30;fun(x,y,z);cout<<x<<′,′<<y<<′,′<<z<<endl;}< p=""></x<<′,′<<y<<′,′<<z<<endl;}<>输出结果是( )A.30,20,10B.10,20,30C.456,567,678D.678,567,456【参考答案】B29.下列定义中p指向的地址可更改,但*p不能够更改的是( )A.const int *PB.int * const p;C.const int *const p;D.int *p;【参考答案】A30.下面程序的结果是( )#includeclass A{int a;public:A():a(1){ }void showa(){cout<<a;}< p=""></a;}<>};class B{int a;public:B():a(2){ }void showa(){cout<<a;}< p=""></a;}<>};class C:public A,public B{int a;public:C():a(3){ }void showa(){cout<<a;}< p=""></a;}<>};void main(){C c;c.showa();}A.1B.2C.3D.程序有错误【参考答案】C来源:考试大-计算机二级考试31.如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为( )A.operator+(operator*(x,y),z)B.x.operator+(operator*(x,y),z)C.y.operator*(operator+(x,y),z)D.x.operator+(operator*(x,y))【参考答案】A32.对于语句cout<<setfill(′*′)<<setw(10)<<1<<setfill(′*′)<<se tw(2)<<="" p=""></setfill(′*′)<<setw(10)<<1<<setfill(′*′)<<setw(2)<A.*********1*2B.********12C.*******1*2D.12********【参考答案】A33.有如下程序#includeint func(int a,int b){return(a+b);}void main(){int x=2,y=5,z=8,r;r=func(func(x,y),z);cout<<r;}< p=""></r;}<>该程序的输出的结果是( )A.12B.13C.14D.15【参考答案】D34.下列描述中,抽象类的特性是( )A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象【参考答案】D35.下列程序的运行结果是( )#includevoid fun(int *a,int *b){ int *k;k=a;a=b;b=k;}void main(){ int a=3,b=6,*x=&a,*y=&b;fun(x,y);cout<<a<<<b;<=""></a<}A.6 3B.3 6C.编译出错D.0 0【参考答案】B来源:考试大-计算机二级考试二、填空题1.在面向对象方法中,类之间共享属性和操作的机制称为【1】。
全国计算机等级考试二级C语言真题2010年9月(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:40,分数:70.00)1.下列叙述中正确的是( )。
(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构√C.线性表的链式存储结构所需要的存储空唰一般要少于顺序存储结构D.上述三种说法都不对解析:[解析] 线性表的存储分为顺序存储和链式存储。
在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。
所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。
所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。
2.下列叙述中正确的是( )。
(分数:2.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化√D.上述三种说法都不对解析:[解析] 在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。
栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。
3.软件测试的目的是( )。
(分数:2.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误√解析:[解析] 软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。
4.下面描述中,不属于软件危机表现的是( )。
(分数:2.00)A.软件过程不规范√B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高解析:[解析] 软件危机主要表现在以下6个方面:①软件需求的增长得不到满足。
2012年3月全国计算机二级C语言笔试真题及详细解析(考试时间90分钟,满分100分)一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A、4B、6C、10D、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、确定软件系统的系统的系能需求B、制定软件集成测试计划D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图10、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD图D、数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A、一个C程序可以包含多个不同名的函数B、一个C程序只能有一个主函数C、C程序在书写时,有严格的缩进要求,否则不能编译通过D、C程序的主函数必须用main作为函数名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之间用空格间隔16、以下选项中非法的字符常量是A、’\102’B、’\65’C、’\xff’D、’\019’17、有以下程序#include <sthio.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 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++; printf((“%d\n”,x);B、n=++x; printf((“%d\n”,n);C、++x; printf((“%d\n”,x);D、n=x++; printf((“%d\n”,n);19、以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.020、有以下程序#include <sthio.h>Main(){ int a;Scanf(“%d”,&a);If(a++<9) printf((“%d\n”,a);Else printf((“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11 C 9 D 821、有以下程序#include <sthio.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;Case 4;s+=4;}printf((“%d\n”,s);}}程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022、若k是int类型变量,且有以下for语句For(k=-1;k<0;k++)printf(****\n”);下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.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);}}程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句Int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A *(k+2)B k+2C *k+2D *k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
2010海南省计算机等级考试试题⼆级C试题(必备资料)1、下列叙述中正确的是(A)A. 线性表是线性结构B. 栈与队列是⾮线性结构C. 线性链表是⾮线性结构D. ⼆叉树是线性结构2、在结构化⽅法中,⽤数据流程图(DFD)作为描述⼯具的软件开发阶段是(B)A. 可⾏性分析B. 需求分析C. 详细设计D. 程序编码3、在关系数据库中,⽤来表⽰实体之间联系的是(D)A. 树结构B. ⽹结构C. 线性表D. ⼆维表4、在⼀棵⼆叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 155、下⾯概念中,不属于⾯向对象⽅法的是 (D)A. 对象B. 继承C. 类D. 过程调⽤6、下列模式中,能够给出数据库物理存储结构与物理存取⽅法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式7、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执⾏过程中所需要的存储空间8、在软件开发中,下⾯任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建⽴系统模型9、检查软件产品是否符合需求定义的过程称为(A)A. 确认测试B. 集成测试C. 验证测试D. 验收测试10、下⾯不属于软件⼯程的3个要素的是(D)A. ⼯具B. 过程C. ⽅法D. 环境11、数据库概念设计的过程中,视图设计⼀般有三种设计次序,以下各项中不对的是(D)A. ⾃顶向下B. 由底向上C. 由内向外D. 由整体到局部12、希尔排序法属于哪⼀种类型的排序法(B)A.交换类排序法B.插⼊类排序法C.选择类排序法D.建堆排序法13、在结构化⽅法中,⽤数据流程图(DFD)作为描述⼯具的软件开发阶段是(B)A. 可⾏性分析B. 需求分析C. 详细设计D. 程序编码14、结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执⾏效率D.程序的可移植性15、结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执⾏效率D.程序的可移植性16、在⼀棵⼆叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 1517、程序流程图(PFD)中的箭头代表的是(B)A. 数据流B. 控制流C. 调⽤关系D. 组成关系18、下⾯不属于软件⼯程的3个要素的是(D)A. ⼯具B. 过程C. ⽅法D. 环境19、在⼀棵⼆叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 1520、算法⼀般都可以⽤哪⼏种控制结构组合⽽成(D)A. 循环、分⽀、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环21、下⾯对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和⽅法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性22、下列关于队列的叙述中正确的是(C)A. 在队列中只能插⼊数据B. 在队列中只能删除数据C. 队列是先进先出的线性表D. 队列是先进后出的线性表23、对建⽴良好的程序设计风格,下⾯描述正确的是(A)A.程序应简单、清晰、可读性好B. 符号名的命名要符合语法C. 充分考虑程序的执⾏效率D. 程序的注释可有可⽆24、下⾯描述中,符合结构化程序设计风格的是(A)A. 使⽤顺序、选择和重复(循环)三种基本控制结构表⽰程序的控制逻辑B. 模块只有⼀个⼊⼝,可以有多个出⼝C. 注重提⾼程序的执⾏效率D. 不使⽤goto语句25、算法的时间复杂度是指(C)A. 执⾏算法程序所需要的时间B. 算法程序的长度C. 算法执⾏过程中所需要的基本运算次数D. 算法程序中的指令条数26、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显⽰、打印、制表27、数据库系统的核⼼是(B)A. 数据模型B. 数据库管理系统C. 软件⼯具D. 数据库28、在深度为5的满⼆叉树中,叶⼦结点的个数为(C)A. 32B. 31C. 16D. 1529、设⼀棵完全⼆叉树共有699个结点,则在该⼆叉树中的叶⼦结点数为(B) 注:利⽤公式n=n0+n1+n2、n0=n2+1和完全⼆叉数的特点可求出A. 349B. 350C. 255D. 35130、下⾯对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和⽅法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性31、下⾯不属于软件⼯程的3个要素的是(D)A. ⼯具B. 过程C. ⽅法D. 环境32、在软件开发中,下⾯任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建⽴系统模型33、下列模式中,能够给出数据库物理存储结构与物理存取⽅法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式。
1、下列叙述中正确的是(A)
A. 线性表是线性结构
B. 栈与队列是非线性结构
C. 线性链表是非线性结构
D. 二叉树是线性结构
2、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
A. 可行性分析
B. 需求分析
C. 详细设计
D. 程序编码
3、在关系数据库中,用来表示实体之间联系的是(D)
A. 树结构
B. 网结构
C. 线性表
D. 二维表
4、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
5、下面概念中,不属于面向对象方法的是 (D)
A. 对象
B. 继承
C. 类
D. 过程调用
6、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)
A. 内模式
B. 外模式
C. 概念模式
D. 逻辑模式
7、算法的空间复杂度是指(D)
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间
8、在软件开发中,下面任务不属于设计阶段的是(D)
A. 数据结构设计
B. 给出系统模块结构
C. 定义模块算法
D. 定义需求并建立系统模型
9、检查软件产品是否符合需求定义的过程称为(A)
A. 确认测试
B. 集成测试
C. 验证测试
D. 验收测试
10、下面不属于软件工程的3个要素的是(D)
A. 工具
B. 过程
C. 方法
D. 环境
11、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)
A. 自顶向下
B. 由底向上
C. 由内向外
D. 由整体到局部
12、希尔排序法属于哪一种类型的排序法(B)
A.交换类排序法
B.插入类排序法
C.选择类排序法
D.建堆排序法
13、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
A. 可行性分析
B. 需求分析
C. 详细设计
D. 程序编码
14、结构化程序设计主要强调的是(B)
A.程序的规模
B.程序的易读性
C.程序的执行效率
D.程序的可移植性
15、结构化程序设计主要强调的是(B)
A.程序的规模
B.程序的易读性
C.程序的执行效率
D.程序的可移植性
16、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
17、程序流程图(PFD)中的箭头代表的是(B)
A. 数据流
B. 控制流
C. 调用关系
D. 组成关系
18、下面不属于软件工程的3个要素的是(D)
A. 工具
B. 过程
C. 方法
D. 环境
19、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
20、算法一般都可以用哪几种控制结构组合而成(D)
A. 循环、分支、递归
B. 顺序、循环、嵌套
C. 循环、递归、选择
D. 顺序、选择、循环
21、下面对对象概念描述错误的是(A)
A. 任何对象都必须有继承性
B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递
D. 操作是对象的动态性属性
22、下列关于队列的叙述中正确的是(C)
A. 在队列中只能插入数据
B. 在队列中只能删除数据
C. 队列是先进先出的线性表
D. 队列是先进后出的线性表
23、对建立良好的程序设计风格,下面描述正确的是(A)
A.程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
24、下面描述中,符合结构化程序设计风格的是(A)
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B. 模块只有一个入口,可以有多个出口
C. 注重提高程序的执行效率
D. 不使用goto语句
25、算法的时间复杂度是指(C)
A. 执行算法程序所需要的时间
B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数
D. 算法程序中的指令条数
26、关系数据库管理系统能实现的专门关系运算包括(B)
A. 排序、索引、统计
B. 选择、投影、连接
C. 关联、更新、排序
D. 显示、打印、制表
27、数据库系统的核心是(B)
A. 数据模型
B. 数据库管理系统
C. 软件工具
D. 数据库
28、在深度为5的满二叉树中,叶子结点的个数为(C)
A. 32
B. 31
C. 16
D. 15
29、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出
A. 349
B. 350
C. 255
D. 351
30、下面对对象概念描述错误的是(A)
A. 任何对象都必须有继承性
B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递
D. 操作是对象的动态性属性
31、下面不属于软件工程的3个要素的是(D)
A. 工具
B. 过程
C. 方法
D. 环境
32、在软件开发中,下面任务不属于设计阶段的是(D)
A. 数据结构设计
B. 给出系统模块结构
C. 定义模块算法
D. 定义需求并建立系统模型
33、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)
A. 内模式
B. 外模式
C. 概念模式
D. 逻辑模式。