2011福建省计算机等级考试试题 二级C试题考试技巧重点
2011年9月全国计算机等级考试二级C语言试卷及答案

2011年9月全国计算机等级考试二级笔试试卷(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)1.下列叙述中正确的是。
A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列关于线性链表的叙述中,正确的是A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对3.下列关于二叉树的叙述中,正确的是A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.某系统总体结构图如下图所示:该系统总体结构图的深度是A.7B.6C.3D.26.程序调试的任务是A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括A.概念模式B.内模式C.外模式D.数据模式9.有三个关系 R、S 和 T 如下:则由关系 R 和 S 得到关系 T 的操作是A.自然连接B.差C.交D.并10.下列选项中属于面向对象设计方法主要特征的是A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是A.C 语言编写的函数源程序,其文件名后缀可以是 CB.C 语言编写的函数都可以作为一个独立的源程序文件C.C 语言编写的每个函数都可以进行独立的编译并执行D.一个 C 语言程序只能有一个主函数12.以下选项中关于程序模块化得叙述错误的是A.把程序分成若干相对独立的模块可便于编码和调试B.把程序分成若干相对独立,功能单一的模块,可便于重复使用这些模块C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序13.以下选项中关于 C 语言常量的叙述错误的是:A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可定义成常量14.若有定义语句:int a=10;double b=3.14;,则表达式‘A’+a+b 值得类型是A.charB.intC.doubleD.float15.如有定义语句:int x=12,y=8,z;,在其后执行语句 z=0.9+x/y,则 z 的值为A.1.9B.1C.2D.2.416.若有定义:int a,b;,通过语句scanf(‚%d;%d‛,&a,&b);,能把整数 3 赋给变量 a,5 付给变量 b 的输入数据是A.3 5B.3,5C.3;5D.3517.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1 和 k2 的值分别为A. 0 和 1B.0 和 20C.10 和 1D. 10 和 2018.有以下程序#include <stdio.h>Main(){ int a=1,b=0;If(--a) b++;Else if(a==0) b+=2;Elseb+=3;Printf(‚%d\n‛,b);}程序运行后的输出结果是A.0B.1C.2D.319.下列条件语句中输出结果与其他语句不同的是A.if(a)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);B.if(a==0)printf(‚%d\n‛,y); else printf(‚%d\n‛,x);C.if(a!=0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);D.if(a==0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);20.有以下程序:#include <stdio.h>Main(){ int a=7;While(a--);Printf(‚%d\n‛,a);}程序运行后的输出结果是A.-1B.0C.1D.721.以下不能输出字符 A 的语句是(注:字符 A 的 ASCII 码值为 65,字符 a 的 ASCII 码值为97)A.printf(‚%c\n‛,’A’-32);B.printf(‚%d\n‛,’A’);C.printf(‚%c\n‛,65);D.printf(‚%c\n‛,’B’-1);22.有以下程序(注:字符 a 的 ASCII 码值为 97)#include <stdio.h>Main(){ char *s={‚abc‛}; Do{printf(‚%d‛,*s%10);++s;}While(*s);}程序运行后的输出结果是A.abcB.789C.7890D.97989823.若有定义语句:double a,*p&a;以下叙述中错误的是A.定义语句中的*号是一个地址运算符B.定义语句中的*号只是一个说明符C.定义语句中的 p 只能存放 double 类型变量的地址D.定义语句中,*p=&a 把变量 a 的地址作为初值赋给指针变量 p24.有以下程序:#include <stdio.h>Double f(double x);Main(){ double a=0; int I; For(i=0;i<30;i+=10)a+=f((double)i); Printf(‚%5.0f\n‛,a);}Double f(double x){return x*x+1;}程序运行后的输出结果是A.503B.401C.500D.140425.若定义语句:int year=2009,*p=&year;,以下不能使变量 year 中的值增至 2010 的语句是A.*p+=1;B.(*p)++;C.++(*p);D.*p++;26.以下定义数组的语句中错误的是A.int num[]={1,2,3,4,5,6};B.int num[][3]={{1,2},3,4,5,6};C.int num[2][4]={{1,2},{3,4},{5,6}};D.int num[][4]={1,2,3,4,5,6};27.有以下程序#include <stdio.h>Void fun(int *p){printf(‚%d\n‛,p[5]);}Main(){int a[10]={1,2,3,4,5,6,7,8,9,10};Fun(&a[3]);}程序运行后的输出结果是A.5B.6C.8D.928. 有以下程序#include<stdio.h>#define N 4Void fun(int a[][N],int b[]) { inti;for(i=0;i<N;i++) b[j]=a[i]][j]-a[i][N,1-i];}Main(){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;Fun(x,y);for(i=0;i<N;i++) printf(‚%d‛,y[i]); printf(‚\n‛);程序运行后的输出结果是A.-12,-3,0,0,B.-3,-1,1,3,C.,0,1,2,3,D.-3,-3,-3,-3,29.有以下函数int fun(char *x,char *y){ int n=0;While((*x=*y)&&*x!=’\0’){x++;y++;n++;}Return n;}函数的功能是A.查找 x 和 y 所指字符串中是否有‘\0‘B.统计 x 和 y 所指字符串中最前面连续相同的字符个数C.将 y 所指字符串赋给 x 所值存储空间D.统计 x 和 y 所指字符串中相同的字符个数30.若有定义语句:char *s1=‛OK‛;*s2=‛ok‛;,以下选项中,能够输出‚OK‛的语句是A.if(stremp(s1,s2)==0) puts(s1);B.if(stremp(s1,s2)!=0) puts(s2);C.if(stremp(s1,s2)==1) puts(s1);D.if(stremp(s1,s2)!=0) puts(s1);31.以下程序的主函数中调用了在其前面定义的 fun 函数#include<stdio.h>Main(){double a[15],k; K=fun(a);}则以下选项中错误的fun函数首部是A.double fun(double a[15])B.double fun(double *a)C.double fun(double a[])D.double fun(double a)32.有以下程序:#include<stdio.h>#include<string.h>Main(){ char a[5][10]={‚china‛,‛beijing‛,‛you‛,‛tiananmen‛,‛welcome‛}; Int I,j;char t[10];For(i=0;i<4;i++)For(j=i+1;j<5;j++)If(stremp(a[i],a[j])>0){ strepy(t,a[i]); strepy(a[i],a[j]); strepy(a[i],t);} Puts(a[3]);}程序运行后的输出结果是A.beijingB.chinaC.welcomeD.tiananmen33.有以下程序:#include<stdio.h> Int f(intm){ static int n=0; N+=m;Return n;}Main(){ int n=0; Printf(‚%d,‛,f(++n));Printf(‚%d\n‛,f(n++));程序运行后的输出结果是____________A. 1,2B. 1,1C. 2,3D. 3,334.有以下程序#include<stdio.h>Main(){ char ch[3][5]={‚AAAA‛,‛BBB‛,‛CC‛} Printf(‚%s\n‛,ch[1]);}程序运行后的输出的结果是A.AAAAC.BBBCCD.BBB35.有以下程序#include<stdio.h>#include<string.h> Void fun(char *u,int n){ char x,*y1,*y2; Y1=u;y2=u+n-1;While(y1<y2) {s=*y1;*y1=*y2;*y2=s;p1++;p2--;}}Main(){ char a[]=‛1,2,3,4,5,6‛;Fun(a,strem(a));puts(a);}程序运行后的输出结果是A.654321B.115611C.153525D.12345636.有以下程序#include<stdio.h>#include<string.h>typedef struct{char name[];char sex;int score[2]}STU; STU f(STU i) {STU i={‚Zhao‛,‛m‛,85,90}; Int I;Strcpy(a name,b name); A sex=b sex;For(i=0;i<2;i++) a score[i]=b score[i]; Return a;}Main()STU c={‚Qian‛,‛f‛,95,92},d; D=f(c);Printf(‚%s,%c,%d,%d,‛,,d.sex,d.score[0],d.score[1]);Printf(‚%s,%c,%d,%d\n‛,,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A.zhao,m,85,90,Qian,f,95,92B.zhao,m,85,90,zhao,m,85,90C.Qian,f,95,92,Qian,f,95,92D.Qian,f,95,92,zhao,m,85,9037.在以下程序#include<stdio.h>Main(){struct node{int n; struct node *next;}*p; Struct nodex[3]={{2,x+1},{4,x+2},{6,NULL}}; P=x;Printf(‚%d,‛,p>a);Printf(‚%d\n‛,p>next>a);程序运行后的输出结果是A.2,3B.2,4C.3,4D.4,638.有以下程序#include<stdio.h>Main(){ int a=2,b;B=a<<2; printf(‚%d\n‛,b);}程序运行后的输出结果是A.2B.4C.6D.839.以下选项中叙述错误的是A.C程序函数中定义的赋有初始值的静态变量,每调用一次函数,赋一次初值B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C程序函数中定义的自动变量,系统不能自动赋确定的初值D.C程序函数的形参不可以说明为 static 型变量40.有以下程序#include<stdio.h>Main() {FILE *fp;Int k,n,I,a[6]={1,2,3,4,5,6};Fp=fopen(‚d2.dat‛,‛w‛);For(i=0;i<6;i++) fprintf(fp,‛%d\n‛,a[i]);Fclose(fp);Fp=fopen(‚d2.dat‛,‛r‛);For(i=0;i<3;i++) fscanf(fp,‛%d%d‛,&k,&n);Fclose(fp);Printf(‚%d,%d\n‛,k,n);}程序运行后的输出结果是A.1,2B.3,4C.5,6D.123,456二、填空题(每空2分,共30分)1.数据结构分为线性结构与非线性结构,带链的栈属于【1】2.在长度为 n 的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【2】3.常见的软件开发方法有结构化方法和面向对象方法,对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。
计算机二级《C语言》重要考点复习

计算机二级《C语言》重要考点复习计算机二级《C语言》考试是计算机技术和应用水平考试之一,是计算机专业毕业生在求职和晋升方面的必备证书。
对于考生来说,要通过这个考试,除了需要具备 C 语言的基本语法和编程技能外,还需要熟悉考试的考点和出题方向。
本文将针对计算机二级《C语言》考试中的重要考点进行详细说明,以帮助考生更好地进行复习和准备。
一、基本语法和数据类型C语言是一种基于面向过程的编程语言,是一门拥有强大而灵活的编程能力的高级计算机语言。
C语言的基本语法和数据类型占据了计算机二级《C语言》考试的大部分考题。
基本语法包括变量、常量、运算符、控制语句、函数等重要部分。
数据类型包括整数、浮点数、字符、逻辑等常用数据类型。
对于这些内容,考生需要熟练掌握其概念、语法格式和使用方法,以便在考试中理解和分析题目,正确编写程序。
二、数组和指针的应用数组和指针是C语言重要的数据结构,也是计算机二级《C 语言》考试中的重要考点。
数组可以被视为同一类型变量的有序集合,可以用来存储和操作同一类型的多个数据。
指针是一个变量,它存储的是另一个变量的内存地址。
数组和指针在C语言中有着广泛的应用,例如数组和指针的传递、数组和指针的地址运算等。
在考试中,考生需要掌握数组和指针的声明、初始化、访问、指针运算等操作方法,以便能够正确地设计和实现程序。
三、函数和模块化编程函数和模块化编程是C语言的两大核心之一,也是计算机二级《C语言》考试的重要考点。
函数是一种具有特定功能的代码块,可以根据需要调用多次,可以将代码分成多个函数模块,用来实现程序的模块化编程。
在考试中,考生需要掌握函数的定义、参数传递、调用和返回值等基本操作,同时还需要了解函数的递归调用、内存管理和函数指针等高级特性。
四、文件的操作和异常处理文件是C语言中操作数据的重要手段,也是计算机二级《C 语言》考试中的重要考点。
C语言提供了标准的库函数来进行文件的输入和输出操作,包括对文件的读取、写入、关闭等操作。
2011年9月全国计算机等级考试二级C++笔试试卷

2011年9月全国计算机等级考试二级C++笔试试卷C++语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是(D)。
A)算法就是程序B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是(C)。
A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是(B)。
A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是(A)。
A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是(C)。
A)7 B)6 C)3 D)2(6)程序调试的任务是(D)。
A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是(A)。
A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括(D)。
A)概念模式B)内模式C)外模式D)数据模式(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是(B)。
A)自然连接B)差C)交D)并(10)下列选项中属于面向对象设计方法主要特征的是(A )。
全国计算机二级C语言考试答题策略及技巧

全国计算机二级C语言考试答题策略及技巧计算机二级C语言考试是广大计算机专业学生必须要应对的一项考试。
为了帮助大家更好地应对这个考试,本文将介绍一些答题策略和技巧,希望能为大家提供一些帮助。
以下是具体的内容:一、了解考试大纲和考试要点在准备考试之前,首先要详细了解考试大纲和考试要点。
考试大纲会明确列出考试的内容范围,而考试要点则会告诉我们在考试中需要重点关注的知识点和考点。
通过对这些内容的了解,我们可以以针对性的方式进行备考,提高考试效率。
二、刷题是关键在备考过程中,刷题是非常关键的一步。
通过解决大量的真题和模拟题,我们可以熟悉考试的题型和难度,掌握解题思路和方法,提高我们的答题水平。
此外,刷题还有助于我们发现自己的薄弱环节,并有针对性地进行复习和强化,从而更好地应对考试。
三、合理安排备考时间备考时间的合理安排对我们备考的效果起到至关重要的作用。
首先,我们要合理划分时间,进行系统而有条理的学习。
其次,要根据自己的实际情况,合理安排每天的学习时间,保证高效率地进行学习和复习。
此外,还要留出一定的时间进行模拟考试和自我检测,检验自己的学习成果。
四、注重基础知识的掌握在备考过程中,要注重对C语言基础知识的掌握。
这些基础知识是我们应对考试的基础,也是我们进行进一步学习和解题的前提。
例如,掌握C语言的语法规则、常用的数据类型和相关操作,以及常见的控制语句和函数等。
通过对这些基础知识的深入理解和掌握,我们可以更好地应对考试中的各类题目。
五、注意细节和常见错误在解答题目的过程中,我们要注意细节和常见错误。
在C语言中,一些小错误常常会导致程序的错误或逻辑的混乱,从而影响整体的解题效果。
因此,在解答题目时,我们要仔细审题,注意细节,并且避免一些常见的错误。
例如,注意变量的命名规范、数组的越界问题、指针的使用等等。
六、做好总结与复习在备考的最后阶段,我们要对之前的学习进行总结和复习。
通过总结,我们可以对所学知识进行整合和梳理,形成系统而完整的知识框架。
计算机二级考试C语言答题注意事项

计算机二级考试C语言答题注意事项基本原则是计划好做题的时间,不要急燥,保持稳定的答题速度,应将熟悉的、会做的、容易的先做。
选择题和操作题在进行的过程中,都一定要看清题目,审好题,弄清题目要考核的知识点,能够迅速回忆相关的知识,综合运用平时上课老师所教授的做题的方法和技巧,进行答题。
10分例如:以下C语言用户标识符中,不合法的是A)_1B)AaBc C)a_b D)a—b这个题目是考核的是标识符的命名规则的问题,我们知道C中合法的标识符必须以字母、下划线开头,由字母、数字、下划线组成,据此应该选择D。
再如:有以下程序#includemain(){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这个题目考核选择结构的控制流程。
题目采用的是else~if结构,实际上是if的嵌套。
不管怎样,始终牢记这种嵌套的if语句的执行流程:从上向下逐一对if后的表达式进行检测。
当某一个表达式的值为非0时,就执行与此有关子句中的语句,其余部分不执行,直接越过去。
如果所有表达式的值都为0,则执行最后的else子句。
当执行以上程序时,首先定义a、b并赋初值1、0,然后进入if语句。
当从上向下逐一检测时,!a 的值为0,则越过b++,进入else 后的if语句,检测到a= =0的值为0,则越过if(a)b+=2;语句,因为前面所有if子句中的表达式的值都为0,因此执行最后else子句中的语句b+=3,求出b为3,然后退出if结构,接着输出b的值,所以选择D。
(3)选择题(21)-(40),这20个都有一定难度,涉及C后面的章节,如函数、数组、指针、字符串、结构体、预处理等内容,有部分都会给定出一段代码,根据代码做选择,因此,需要读懂C的简单代码然后做了选择。
例如:有以下程序(函数fun只对下标为偶数的元素进行操作)# include<stdio.h>void fun(int *a;int n){int i,j,k,t;for (i=0;i<n-1;i+=2){k=i;for(j=i;ja[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通过对代码的阅读,采用模拟运行的方法,可知此题的算法是将数组元素中偶数下标的元素进行从大到小的排序,它使用的是选择排序法。
全国计算机等级二级C语言考试复习五要点

全国计算机等级二级C语言考试复习五要点一、了解试卷,胸中有数综观近几年全国计算机等级二级基础部分和C语言程序设计的题目,笔试中大多数考题是与大纲要求的基本内容一致的,难度不高,但内容十分广泛,应牢固掌握。
所以,全面复习非常重要。
二、深刻理解,强化概念对于计算机的基础知识和体系,应注意理解,切忌死记硬背。
例如,可以把计算机硬件系统的结构图与实物对照着去理解:控制器和运算器常常集成在一起,称为CPU;存储器分为两种:内存和外存,只有内存才能与CPU直接打交道;所有这些部件又由总线将其联结为一体,这种计算机又称为总线式计算机;又如,计算机之所以称为电脑,就是因为计算机的硬件结构、处理问题的方式和人的大脑结构以及处理问题的方式基本一致。
采用对照、总结、联想的方法来复习这些内容,比死记硬背效果要好得多。
三、归纳整理,适当记忆另一部分需要记忆的知识是计算机基础知识、基本概念。
这些内容看似不起眼,但如果不适当加以记忆,考试时因此失分十分可惜。
如:1946年至今,计算机发展已经历了四个时代,这四个时代是如何划分的?一个计算机系统都由哪几部分组成?各部分关系怎样?我们可以在理解的基础上归纳整理,适当记忆。
需要适当记忆的内容对初学者来说还有许多,如在C语言中有几类不同类型的数据,各类数据在机器内部是如何存储的?C语言中的运算符都有哪些?运算的优先级别、结合方向怎样等。
四、注重实践,融会贯通计算机是一门理论性、实践性都很强的学科,对二级考试的参加者来说,基础理论方面要求不是特别深入,卷面中的题目大多数都可以上机实践。
因此,注重实践,更显得重要。
考生应在对基本知识理解的同时注意多上机实践,通过实践,将所学知识融会贯通。
五、多做练习,查漏补缺在认真地学完考试指定用书后,你可能已雄心勃勃,充满信心。
但千万别高兴过早。
再找一些题集,认真地测试一下,一则可以看看你究竟学习得如何,二则可以查漏补缺,将还没有掌握的内容补起来,以备正式考试时万无一失。
计算机等级考试二级C语言过关技巧
计算机等级考试二级C语言过关技巧这是一篇由网络搜集整理的关于计算机等级考试二级C语言过关技巧的文档,希望对你能有帮助。
一、最好的模拟试题是历年笔试题。
不要以为模拟试题做得越多就越好,大部分是由历年试题混编而成(或者全搬),而且模拟试题有的偏难,大大超出范围的都有,做这些只会给自己造成心理和生理上的负担,导致对程序的兴趣大减。
老实说我只做了一套模拟试题(好象还是某一年的试题),不照样过来了? 而且历年试题最好是有讲解的,不然做了等于白做。
二、参考书要精辟。
很多朋友都有买(借)参考书的习惯,我也是。
我通过图书馆看了很多参考书。
不能说看完了,只能说浏览。
发现有的参考书对试题的讲解比教材还罗嗦,不得不承认讲解详细对我们有好处,可是这样有必要吗?这种书还叫参考书吗?干脆叫“教材参考综合书”算了!还有,有的参考书为了显示自己的`“份量”,加大题目的难度,或者附很多习题但没有对答案的讲解,这样做只能使我们一头雾水,还不如不要这些书。
依我看,一本比较权威出版社出版的针对等考的参考书就足够了。
三、要孤注一掷。
在当今社会上跑路,最多的就是考试,什么自考、报关员、内审员……差不多有一航空母舰!要对付考试就要一心一意,所有事情都要为考试服务,就好象现在对付非典一样。
砍出一条血路,除了吃饭睡觉,其他时间全要为考试作准备,其余的东西嘛,放一边再说!四、上机练习可由做纸上的上机题代替。
我认为,除了DOS命令有上机练习的必要外,对像TC2.0这样的编译环境只要会RUN 会SAVE 就可以了,因为像C 语言这样的上机考试主要是为了考思维,在上机的一个小时里只要给想到算法,谁都可以顺利过关,打几行E文不会要很长时间吧?目前被多数朋友看好的是南开大学出版社出版的上机习题集(教育部考试中心编着)。
五、不懂就问。
不懂了就要问,有老师最好;没有老师嘛,来考网论坛吧,这里高手如云,你我的问题总会得到解答的。
千万别闷着不问,也不要抱饶幸的心理说这种题不会考,因为这样会让你的知识漏洞扩大,万一考了会不知所措。
2011福建省计算机等级考试二级考试重点和考试技巧
1、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/22、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考3、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间4、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码5、下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表6、下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句7、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈8、下列工具中属于需求分析常用工具的是(D)A. PADB. PFDC. N-SD. DFD9、下面不属于软件设计原则的是(C)A. 抽象B. 模块化C. 自底向上D. 信息隐蔽10、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 1511、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 35112、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 15。
2011年3月计算机二级考试c语言试题及答案详细解析
2011年3月计算机二级考试c 语言试题及答案详细解析2011年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(1-10,21-40每题2分,11-20每题1分,共70分)(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name 的值为A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次 B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运行后的输出结果是A) BY B) BT C) YT D) YE(26)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
2011计算机等级考试二级C语言常见知识点总结
2011计算机等级考试二级C语言常见知识点总结计算机等级考试二级C语言常见知识点总结总体上必须清楚的:1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节 = 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4) 整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、下面描述中,符合结构化程序设计风格的是(A)
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B. 模块只有一个
入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句
2、希尔排序法属于哪一种类型的排序法(B)
A.交换类排序法
B.插入类排序法
C.选择类排序法
D.建堆排序法
3、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式
n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出
A. 349
B. 350
C. 255
D. 351
4、以下数据结构中不属于线性数据结构的是(C)
A. 队列
B. 线性表
C. 二叉树
D. 栈
5、下列工具中属于需求分析常用工具的是(D)
A. PAD
B. PFD
C. N-S
D. DFD
6、下列关于栈的叙述中正确的是(D)
A. 在栈中只能插入数据
B. 在栈中只能删除数据
C. 栈是先进先出的线性表
D. 栈是先进后出的线性表
7、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
8、下面不属于软件设计原则的是(C)
A. 抽象
B. 模块化
C. 自底向上
D. 信息隐蔽
9、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)
A. 概要设计
B. 详细设计
C. 可行性分析
D. 需求分析
10、索引属于(B)
A. 模式
B. 内模式
C. 外模式
D. 概念模式
11、数据的存储结构是指(B)
A. 数据所占的存储空间量
B. 数据的逻辑结构在计算机中的表示
C. 数据在计算机中的顺序存储方式
D. 存储在外存中的数据
12、下面对对象概念描述错误的是(A)
A. 任何对象都必须有继承性
B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递
D. 操作是对象的动态性属性
13、在软件开发中,下面任务不属于设计阶段的是(D)
A. 数据结构设计
B. 给出系统模块结构
C. 定义模块算法
D. 定义需求并建立系统模型
14、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
15、程序流程图(PFD)中的箭头代表的是(B)
A. 数据流
B. 控制流
C. 调用关系
D. 组成关系
16、下面描述中,符合结构化程序设计风格的是(A)
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B. 模块只有一个入口,可以有多个出口
C. 注重提高程序的执行效率
D. 不使用goto语句
17、希尔排序法属于哪一种类型的排序法(B)
A.交换类排序法
B.插入类排序法
C.选择类排序法
D.建堆排序法
18、下面描述中,符合结构化程序设计风格的是(A)
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B. 模块只有一个入口,可以有多个出口
C. 注重提高程序的执行效率
D. 不使用goto语句
19、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
20、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出
A. 349
B. 350
C. 255
D. 351
21、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)
A. 调用语句
B. 命令
C. 口令
D. 消息
22、数据库设计包括两个方面的设计内容,它们是(A)
A. 概念设计和逻辑设计
B. 模式设计和内模式设计
C. 内模式设计和物理设计
D. 结构特性设计和行为特性设计
23、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是(A)
A. 数据库系统
B. 文件系统
C. 人工管理
D. 数据项管理
24、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记
A. N+1
B. N
C. (N+1)/2
D. N/2
25、数据库系统的核心是(B)
A. 数据模型
B. 数据库管理系统
C. 软件工具
D. 数据库
26、以下数据结构中不属于线性数据结构的是(C)
A. 队列
B. 线性表
C. 二叉树
D. 栈
27、在深度为5的满二叉树中,叶子结点的个数为(C)
A. 32
B. 31
C. 16
D. 15
28、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
29、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)
A. 调用语句
B. 命令
C. 口令
D. 消息
30、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是(A)
A. 数据库系统
B. 文件系统
C. 人工管理
D. 数据项管理
31、结构化程序设计主要强调的是(B)
A.程序的规模
B.程序的易读性
C.程序的执行效率
D.程序的可移植性。