全国计算机二级c语言成绩查询.docx
《全国计算机二级c语言成绩查询.docx》由会员分享,可在线阅读,更多相关《全国计算机二级c语言成绩查询.docx(22页珍藏版)》请在冰豆网上搜索。
全国计算机二级c语言成绩查询
全国计算机二级c语言成绩查询
篇一:
20XX年全国计算机等级考试二级c语言考试大纲及重点
20XX年全国计算机等级考试二级c语言考试大纲
◆基本要求
1.熟悉Visualc++6.0集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4.在Visualc++6.0集成环境下,能够编写简单的c程序,并具有基本的纠错和调试程序的能力◆考试内容
一、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.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
八、编译预处理
1.宏定义和调用(不带参数的宏,带参数的宏)。
2.“文件包含”处理。
九、指针
1.地址与指针变量的概念,地址运算符与间址运算符。
2.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。
通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回地址值的函数。
5.指针数组,指向指针的指针。
十、结构体(即“结构”)与共同体(即“联合”)
1.用typedef说明一个新类型。
2.结构体和共用体类型数据的定义和成员的引用。
3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。
十一、位运算
1.位运算符的含义和使用。
2.简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘I/o系统),对非标准缓冲文件系统(即低级磁盘I/o系统)不要求。
1.文件类型指针(FILe类型指针)
2.文件的打开与关闭(fopen,fclose)。
3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。
考试题型
(1)选择。
——40
(2)程序填空。
——18
(3)程序改错。
——18
(4)程序编程。
——24
考试时间
120min无纸化考试
总体上必须清楚的:
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)合法的用户标识符考查:
合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
maindefinescanfprintf都是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:
2.333e-1就是合法的,且数据是2.333×10
考试口诀:
e前e后必有数,e后必为整数。
.?
1
3)字符数据的合法形式:
:
'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0'的AscII数值表示为48,'a'的AscII数值是97,'A'的AscII数值是65。
4)整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:
考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节,字符型是一个字节,双精度一般是4个字节就可以了。
5)转义字符的考查:
在程序中inta=0x6d,是把一个十六进制的数给变量a,注意这里的0x必须存在。
在程序中inta=06d,是一个八进制的形式。
在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。
‘\141’是合法的。
‘\108’是非法的,因为不可以出现8。
转义字符意义AscII码值(十进制)
\a响铃(beL)007
\b退格(bs)008
\f换页(FF)012
\n换行(LF)010
\r回车(cR)013
\t水平制表(hT)009
\v垂直制表(VT)011
\\反斜杠092
\?
问号字符063
\'单引号字符039
\"双引号字符034
\0空字符(nuLL)000
\ddd任意字符三位八进制
\xhh任意字符二位十六进制
6)算术运算符号的优先级别:
同级别的有的是从左到右,有的是从右到左。
7)强制类型转换:
一定是(int)a不是int(a),注意类型上一定有括号的。
注意(int)(a+b)和(int)a+b的区别。
前是把a+b转型,后是把a转型再加b。
8)表达式的考查:
是表达式就一定有数值。
赋值表达式:
表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。
自加、自减表达式:
假设a=5,++a(是为6),a++(为5);
运行的机理:
++a是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这
个++a表达式的数值为6,而a++是先用该表达式的数值为5,然后再把a的数值加上1为6,
再放到变量a中。
进行了++a和a++后在下面的程序中再用到a的话都是变量a中的6了。
考试口诀:
++在前先加后用,++在后先用后加。
逗号表达式:
优先级别最低;表达式的数值逗号最右边的那个表达式的数值。
(2,3,4)的表达式的数值就是4。
9)位运算的考查:
会有一到二题考试题目。
总的处理方法:
几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。
例1:
chara=6,b;
b=a一定要记住,在没有舍去数据的时候,>右移一位表示除以2。
篇二:
20XX年3月份全国计算机等级考试二级c语言题库(全)
20XX年3月份全国计算机等级考试二级c语言题库(全)
一、选择题
在下列各题的A)、b)、c)、D)四个选项中,只有一个选项是正确的,请将正
确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的
程序流程图,通常也把这种图称为
A)pAD图b)n-s图c)结构图D)数据流图
(2)结构化程序设计主要强调的是
A)程序的规模b)程序的效率c)程序设计语言的先进性
程序易读性
(3)为了使模块尽可能独立,要求
A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
b)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
c)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
(4)需求分析阶段的任务是确定
A)软件开发方法
功能
(5)算法的有穷性是指
A)算法程序的运行时间是有限的b)软件开发工具c)软件开发费用D)软件系统D)
b)算法程序所处理的数据量是有限的
c)算法程序的长度是有限的
D)算法只能被有限的用户使用
(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法
是
A)快速排序b)冒泡排序c)直接插入排序D)堆排序
(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是
A)e3,e1,e4,e2b)e2,e4,e3,e1c)e3,e4,e1,e2D)任意顺序
(8)将e-R图转换到关系模式时,实体与联系都可以表示成
A)属性b)关系c)键
(9)有三个关系R、s和T如下:
R
bcD
a0k1
b1n1
s
bcD
f3h2
a0k1
n2x1
T
bcD
a
0k1D)域
由关系R和s通过运算得到关系T,则所使用的运算为
A)并b)自然连接c)笛卡尔积D)交
(10)下列有关数据库的描述,正确的是
A)数据处理是将信息转化为数据的过程
b)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变
c)关系中的每一列称为元组,一个元组就是一个字段
D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系
的关键字,则称其为本关系的外关键字
(11)以下叙述中正确的是
A)用c程序实现的算法必须要有输入和输出操作
b)用c程序实现的算法可以没有输出但必须要有输入
c)用c程序实现的算法可以没有输入但必须要有输出
D)用c程序实现的算法可以既没有输入也没有输出
(12)下列可用于c语言用户标识符的一组是
A)void,define,woRDb)a3_3,_123,carc)For,-abc,IFcase
D)2a,Do,sizeof
(13)以下选项中可作为c语言合法常量的是
A)-80b)-080c)-8e1.0D)-80.0e
(14)若有语句:
char*line[5];,以下叙述中正确的是
A)定义line是一个数组,每个数组元素是一个基类型为char为指针变量
b)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
c)定义line是一个指针数组,语句中的*号称为间址运算符
D)定义line是一个指向字符型函数的指针
(15)以下定义语句中正确的是
A)inta=b=0;b)charA=65+1,b=′b′;c)floata=1,*b=&a,*c=&b;
D)doublea=00;b=1.1;
(16)有以下程序段
charch;intk;
ch=′a′;
k=12;
printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);
已知字符a的AscII码值为97,则执行上述程序段后输出结果是
A)因变量类型与格式描述符的类型不匹配输出无定值
b)输出项与格式描述符个数不符,输出为零值或不定值
c)a,97,12k=12
D)a,97,k=12
(17)有以下程序
main()
{inti,s=1;
for(i=1;iif(!
(i%5)&&!
(i%3))s+=i;
printf("%d\n",s);}
A)409b)277c)1D)91
(18)当变量c的值不为2、4、6时,值也为"真"的表达式是
A)(c==2)||(c==4)||(c==6)
b)(c>=2&&cc)(c>=2&&cD)(c>=2&&c(19)若变量已正确定义,有以下程序段
inta=3,b=5,c=7;
if(a>b)a=b;c=a;
if(c!
=a)c=b;
printf("%d,%d,%d\n",a,b,c);
其输出结果是
A)程序段有语法错b)3,5,3
D)3,5,7
(20)有以下程序
#include
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
c)3,5,5
A)a=1,b=0b)a=2,b=2c)a=1,b=1
D)a=2,b=1
(21)下列程序的输出结果是
#include"stdio.h"
main()
{inti,a=0,b=0;
for(i=1;i{if(i%2==0)
{a++;
continue;}
b++;}
printf("a=%d,b=%d",a,b);}
A)a=4,b=4b)a=4,b=5c)a=5,b=4
(22)已知
#intt=0;
while(t=1)
{...}
则以下叙述正确的是
A)循环控制表达式的值为0
b)循环控制表达式的值为1
c)循环控制表达式不合法
D)以上说法都不对
(23)下面程序的输出结果是
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+2));}
A)3b)4c)1D)2
D)a=5,b=5
篇三:
全国计算机二级c语言历年真题完整版
20XX年3月全国计算机等级考试二级c笔试试卷
一、选择题
(1)A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
(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)维护阶段C)上述三个阶段
(7)数据库管理系统中负责数据模式定义的语言是
A)数据定义语言B)数据管理语言
C)数据操纵语言D)数据控制语言
(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是
A)文件B)数据库C)字段D)记录
(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段
C)概念设计阶段D)物理设计阶段
(10)有两个关系R和T如下:
则由关系R得到关系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)若有定义:
doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);
C)i=a%11;D)i=!
a;
(15)有以下程序
#include
main()
{chara,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar();d=getchar;
printf(“%c%c%c%c\n”,a,b,c,d);}
当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:
回车也是
一个字符)
12<CR>
34<CR>
则输出结果是
A)1234B)12C)12D)12
(16)以下关于C语言数据类型使用的叙述中错误的是
A)若要准确无误差的表示自然数,应使用整数类型
B)若要保存带有多位小数的数据,应使用双精度类型
C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型
(17)若a是数值类型,则逻辑表达式(a==I)||(a!
=1)的值是
A)1B)0
C)2D)不知道a的值,不能确定
(18)以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是
A)switch(a)
{case1:
a=b;break;
default:
a++;
}
B)switch(a==1)
{case0:
a=b;break;
case1:
a++;
}
C)switch(a)
{default:
a++;break;
case1:
a=b;
}
D)switch(a==1)
{case1:
a=b;break;
case0:
a++;
}
(19)如下嵌套的if语句
if(aif(aelsek=c;
if(belsek=c;
以下选项中与上述if语句等价的语句是
A)k=(aB)k=(aC)k=(aD)k=(a(20)有以下程序
#include
main()
{inti,j,m=1;
for(i=1;i{for(j=3;j>0;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
main()
{inta=1,b=2;
for(;aprintf(“%d,%d\n”,a,b);
}程序运行后的输出结果是
A)9,18B)8,11C)7,11D)10,14
(22)有以下程序,其中k的初值为八进制数
#include
main()
{intk=011;
printf(“%d\n”,k++);
}程序运行后的输出结果是
A)12B)11C)10D)9
(23)下列语句组中,正确的是
A)char*s;s="olympic";B)chars[7];s="olympic";
C)char*s;s={"olympic"};D)chars[7];s={"olympic"};
(24)以下关于return语句的叙述中正确的是
A)一个自定义函数中必须有一条return语句
B)一个自定义函数中可以根据不同情况设置多条return语句
C)定义成void类型的函数中可以有带返回值的return语句
D)没有return语句的自定义函数在执行结束时不能返同到调用处
(25)下列选项中,能正确定义数组的语句是
A)intnum[0..20XX];B)intnum[];
C)intn=20XX;D)#definen20XX
intnum[n];intnum[n];
(26)有以下程序
#include
voidfun(char*c,intd)
{*c=*c+1;d=d+1;
printf(“%c,%c”,*c,d);
}
main()
{charb=‘a’,a=‘A’;
fun(&b,a);printf(“%c,%c\n”,b,a);
}程序运行后的输出结果是
A)b,B,b,AB)b,B,B,A
C)a,B,B,aD)a,B,a,B
(27)若有定义int(*pt)[3];,则下列说法正确的是
A)定义了基类型为int的三个指针变量
B)定义了基类型为int的具有三个元素的指针数组pt
C)定义了一个名为*pt、具有三个元素的整型数组
D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
(28)设有定义doublea[10],*s=a;,以下能够代表数组元索a[3]的是
A)(*s)[3]B)*(s+3)
C)*s[3]D)*s+3
(29)有以下程序
#include
main()
{inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
for(i=1;iprintf(“%d\n”,s);
}程序运行后的输出结果是
A)6B)10C)11D)15
(30)有以下程序
#include
main()
{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=1;ifor(j=1;jprintf(“%d\n”,t);
}程序运行后的输出结果是
A)1B)3C)4D)9
(31)若有以下定义和语句
chars1[10]="abcd!
",s2="\n123\\";
printf("%d%d\n",strlen(s1),strlen(s2));
则输出结果是
A)55B)105C)107D)5
8
(32)有以下程序
#include
#definen8
voidfun(int*x,inti)
{*x=*x+i;}
main()
{inta[n]={1,2,3,4,5,6,7,8},i;
fun(a,2);for(i=1;i{printf(“%d”,a[i]);}
printf(“\n”);
}程序运行后的输山结果是
A)1313B)2234C)3234
(33)有以下程序
#include
intf(intt[],intn);
main()
{inta[4]={1,2,3,4},s;
s=f(a,4);printf(“%d\n”,s);}
intf(intt[],intn)
{if(n>0)returnt[n-1]+f(t,n-1);
elsereturn0;}程序运行后的输出结果是
A)4B)10C)14D)6
(34)有以下程序
#include
intfun()
{staticintx=1;
x*=2;returnx;
}
main()
{inti,s=1;
for(i=1;iprintf(“%d\n”,s);
}程序运行后的输出结果是
A)0B)1C)4D)8
(35)有以下程序
#include
#definesub(a)(a)-(a)
main()
{inta=2,b=3,