2010河南省计算机等级考试试题 二级C试题考试技巧重点
- 格式:docx
- 大小:17.02 KB
- 文档页数:2
1、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 152、数据库设计包括两个方面的设计内容,它们是(A)A. 概念设计和逻辑设计B. 模式设计和内模式设计C. 内模式设计和物理设计D. 结构特性设计和行为特性设计3、下列工具中属于需求分析常用工具的是(D)A. PADB. PFDC. N-SD. DFD4、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)A. 控制流B. 加工C. 数据存储D. 源和潭5、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A. 概要设计B. 详细设计C. 可行性分析D. 需求分析6、下面不属于软件设计原则的是(C)A. 抽象B. 模块化C. 自底向上D. 信息隐蔽7、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)A. 自顶向下B. 由底向上C. 由内向外D. 由整体到局部8、在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型9、数据库设计包括两个方面的设计内容,它们是(A)A. 概念设计和逻辑设计B. 模式设计和内模式设计C. 内模式设计和物理设计D. 结构特性设计和行为特性设计10、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法11、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用12、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环13、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用14、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环15、在深度为5的满二叉树中,叶子结点的个数为(C)A. 32B. 31C. 16D. 15。
计算机等级考试二级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位系统。
碰到这种情况,不要去管,一样做题。
全国计算机二级C语言考试答题策略及技巧计算机二级C语言考试是广大计算机专业学生必须要应对的一项考试。
为了帮助大家更好地应对这个考试,本文将介绍一些答题策略和技巧,希望能为大家提供一些帮助。
以下是具体的内容:一、了解考试大纲和考试要点在准备考试之前,首先要详细了解考试大纲和考试要点。
考试大纲会明确列出考试的内容范围,而考试要点则会告诉我们在考试中需要重点关注的知识点和考点。
通过对这些内容的了解,我们可以以针对性的方式进行备考,提高考试效率。
二、刷题是关键在备考过程中,刷题是非常关键的一步。
通过解决大量的真题和模拟题,我们可以熟悉考试的题型和难度,掌握解题思路和方法,提高我们的答题水平。
此外,刷题还有助于我们发现自己的薄弱环节,并有针对性地进行复习和强化,从而更好地应对考试。
三、合理安排备考时间备考时间的合理安排对我们备考的效果起到至关重要的作用。
首先,我们要合理划分时间,进行系统而有条理的学习。
其次,要根据自己的实际情况,合理安排每天的学习时间,保证高效率地进行学习和复习。
此外,还要留出一定的时间进行模拟考试和自我检测,检验自己的学习成果。
四、注重基础知识的掌握在备考过程中,要注重对C语言基础知识的掌握。
这些基础知识是我们应对考试的基础,也是我们进行进一步学习和解题的前提。
例如,掌握C语言的语法规则、常用的数据类型和相关操作,以及常见的控制语句和函数等。
通过对这些基础知识的深入理解和掌握,我们可以更好地应对考试中的各类题目。
五、注意细节和常见错误在解答题目的过程中,我们要注意细节和常见错误。
在C语言中,一些小错误常常会导致程序的错误或逻辑的混乱,从而影响整体的解题效果。
因此,在解答题目时,我们要仔细审题,注意细节,并且避免一些常见的错误。
例如,注意变量的命名规范、数组的越界问题、指针的使用等等。
六、做好总结与复习在备考的最后阶段,我们要对之前的学习进行总结和复习。
通过总结,我们可以对所学知识进行整合和梳理,形成系统而完整的知识框架。
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语言过关技巧这是一篇由网络搜集整理的关于计算机等级考试二级C语言过关技巧的文档,希望对你能有帮助。
一、最好的模拟试题是历年笔试题。
不要以为模拟试题做得越多就越好,大部分是由历年试题混编而成(或者全搬),而且模拟试题有的偏难,大大超出范围的都有,做这些只会给自己造成心理和生理上的负担,导致对程序的兴趣大减。
老实说我只做了一套模拟试题(好象还是某一年的试题),不照样过来了? 而且历年试题最好是有讲解的,不然做了等于白做。
二、参考书要精辟。
很多朋友都有买(借)参考书的习惯,我也是。
我通过图书馆看了很多参考书。
不能说看完了,只能说浏览。
发现有的参考书对试题的讲解比教材还罗嗦,不得不承认讲解详细对我们有好处,可是这样有必要吗?这种书还叫参考书吗?干脆叫“教材参考综合书”算了!还有,有的参考书为了显示自己的`“份量”,加大题目的难度,或者附很多习题但没有对答案的讲解,这样做只能使我们一头雾水,还不如不要这些书。
依我看,一本比较权威出版社出版的针对等考的参考书就足够了。
三、要孤注一掷。
在当今社会上跑路,最多的就是考试,什么自考、报关员、内审员……差不多有一航空母舰!要对付考试就要一心一意,所有事情都要为考试服务,就好象现在对付非典一样。
砍出一条血路,除了吃饭睡觉,其他时间全要为考试作准备,其余的东西嘛,放一边再说!四、上机练习可由做纸上的上机题代替。
我认为,除了DOS命令有上机练习的必要外,对像TC2.0这样的编译环境只要会RUN 会SAVE 就可以了,因为像C 语言这样的上机考试主要是为了考思维,在上机的一个小时里只要给想到算法,谁都可以顺利过关,打几行E文不会要很长时间吧?目前被多数朋友看好的是南开大学出版社出版的上机习题集(教育部考试中心编着)。
五、不懂就问。
不懂了就要问,有老师最好;没有老师嘛,来考网论坛吧,这里高手如云,你我的问题总会得到解答的。
千万别闷着不问,也不要抱饶幸的心理说这种题不会考,因为这样会让你的知识漏洞扩大,万一考了会不知所措。
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】序号的横线上,答在试卷上不得分。
1、对建立良好的程序设计风格,下面描述正确的是(A)A. 程序应简单、清晰、可读性好B. 符号名的命名要符合语法C. 充分考虑程序的执行效率D. 程序的注释可有可无2、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)3、检查软件产品是否符合需求定义的过程称为(A)A. 确认测试B. 集成测试C. 验证测试D. 验收测试4、在深度为5的满二叉树中,叶子结点的个数为(C)A. 32B. 31C. 16D. 155、检查软件产品是否符合需求定义的过程称为(A)A. 确认测试B. 集成测试C. 验证测试D. 验收测试6、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境7、程序流程图(PFD)中的箭头代表的是(B)A. 数据流B. 控制流C. 调用关系D. 组成关系8、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是(A)A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理9、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 35110、下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致11、下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表12、在关系数据库中,用来表示实体之间联系的是(D)A. 树结构B. 网结构C. 线性表D. 二维表13、用树形结构来表示实体之间联系的模型称为(B)A. 关系模型B. 层次模型C. 网状模型D. 数据模型14、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/215、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈16、下列工具中属于需求分析常用工具的是(D)A. PADB. PFDC. N-SD. DFD。
计算机二级考试内容及技巧计算机二级考试内容一、计算机二级考试计算机基础知识1、计算机的发展类型及其应用领域2、计算机软件和硬件系统的组成以及相关技术指标3、数据在计算机中的表示和储存方式4、计算机中多媒体技术的概念和相关应用5、计算机病毒有哪些特征以及分类与防控6、计算机网络的概念组成和分类;计算机与网络信息安全的概念和防控7、互联网网络服务的概念组成原理和应用二、计算机二级考试Word的功能和使用1、Office的操作界面和使用功能介绍2、Word的基本应用,包括文档的创建编辑保存以及打印和保护等3、Word中字体和段落格式的设置文档页面布局和样式主题的调整。
4、在文档中如何制作和编辑表格5、文档如何插入图形和图片,以及文本框和文档部件的使用,符号与数学公式的输入与编辑6、文档中如何设置分栏分页和分节,以及页眉页脚的设置,和内容引用等7、计算机二级考试Word文档的审阅和修订8、如何利用邮件合并功能批量制作和处理文档9、如何利用多窗口进行多文档的编辑和文档视图的使用10、根据图文素材提取相关信息并引用到Word文档中三、计算机二级考试办公软件的操作题考查考生对Word、Excel和PPT三大办公软件利用的情况,操作题在整个计算机二级考核中分值是80分,其中Word、Excel各30分,PPT20分。
操作部分主要的考察内容是对字体、版面的调整,表格函数的运用,以及幻灯片设计。
计算机二级考试技巧1.平时在计算机二级考试的学习过程中,很多人都会集中注意力在应用方面。
然而,真正能够帮助大家提升成绩的,还是基础理论方面,只有扎实的基础理论学习,才能够在计算机二级考试中取得好成绩。
2.看行业应用相关书籍,因为这些书相对来说难度会比一般教材要大一些,但是如果能够好好去看看这些书,会发现里面包含的内容往往比一般教材要来得丰富得多,因此,不妨多阅读一些行业计算机二级考试应用相关书籍。
3.学习方案虽然重要,但是不是一成不变的。
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)一个队列的初始状态为空。
2010年全国计算机等级二级C语言考试题型与解题技巧一、程序填空题程序填空题分值为30分,是在一个完整的程序中挖出2~4个空让考生填写,所考查的内容一般是C语言中最基础的内容。
1. 基本语句方面的知识点,如printf( 函数和Scanf( 函数的相关知识点。
2. 变量等的初始化,以作为累加器或累乘器。
3. 选择结构或循环结构语句的考查。
4. 函数的相关知识,如函数类型的定义、形参的定义,以及确定函数的返回值等。
5. 数组、指针、结构体等的应用。
二、程序改错题1. 若错误行是函数首部,可分为以下几种情况:A、该行最后若有分号则删除,中间若有分号则改成逗号B、形参类型不一致的问题,非凡是指针类型,若后面用到某形参时有指针运算则该形参必为指针类型;若形参是二维数组或指向m个元素的指针变量,则第二维的长度必须与main中对应数组的第二维长度相同。
C、函数类型不一致的问题,若函数中没有return语句则函数类型为void,若有return 语句则函数的类型必须与return后变量的类型一致。
2. 若错误行是if或while语句,则首先看有没有用小括号将整个表达式括起,若没有则加上小括号。
3. 若错误行中有if、while、for则要非凡注重条件表达式的错误问题:A、指针变量的应用,若表达式中有指针变量且没有指针运算符,则加上指针运算符B、若条件表达式中只要一个等于号,则改成两个等于号,若为其它比较运算符则一般是进行逆转或加一个等于号。
C、for中要用分号分隔表达式,而不是用逗号。
4. 语法错误A、语句缺少分号,若错误行中有语句没有用分号结束,则加上分号。
B、大小写不对,若错误行中有大写字母则一般都改成小写字母。
5. 指针变量的运用,若错误行中有指针变量,并且该变量名前没有指针运算符则一般都是加上指针运算符。
6. 若错误行为return语句,则首先看是否是缺少分号若是则加上分号即可;否则就是return后的变量或表达式错误(此时可通过看题意,来分析该返回哪一变量或表达式。
1、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)
A. 阶段性报告
B. 需求评审
C. 总结
D. 都不正确
2、将E-R图转换到关系模式时,实体与联系都可以表示成(B)
A. 属性
B. 关系
C. 键
D. 域
3、程序流程图(PFD)中的箭头代表的是(B)
A. 数据流
B. 控制流
C. 调用关系
D. 组成关系
4、在软件开发中,下面任务不属于设计阶段的是(D)
A. 数据结构设计
B. 给出系统模块结构
C. 定义模块算法
D. 定义需求并建立系统模型
5、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
6、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)
A. 控制流
B. 加工
C. 数据存储
D. 源和潭
7、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)
A. 自顶向下
B. 由底向上
C. 由内向外
D. 由整体到局部
8、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
9、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)
A. 内模式
B. 外模式
C. 概念模式
D. 逻辑模式
10、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出
A. 349
B. 350
C. 255
D. 351
11、下列工具中属于需求分析常用工具的是(D)
A. PAD
B. PFD
C. N-S
D. DFD
12、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
A. 可行性分析
B. 需求分析
C. 详细设计
D. 程序编码
13、算法的时间复杂度是指(C)
A. 执行算法程序所需要的时间
B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数
D. 算法程序中的指令条数
14、下列叙述中正确的是(A)
A. 线性表是线性结构
B. 栈与队列是非线性结构
C. 线性链表是非线性结构
D. 二叉树是线性结构
15、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无。