全国计算机等级考试二级C语言考点(完整版)

合集下载

全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案1. 以下哪个选项不是C语言中的运算符?A. 赋值运算符B. 逗号运算符C. 条件运算符D. 逻辑运算符答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. unionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 5, b = 10;a = a + b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 20答案:C4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do-while答案:B6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 若有以下代码片段:```cint x = 3;printf("%d", x++);```执行后,输出的结果是多少?A. 3B. 4C. 2D. 5答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A9. 下列哪个选项不是C语言中的数组类型?A. 一维数组B. 二维数组C. 三维数组D. 指针数组答案:D10. 在C语言中,以下哪个关键字用于声明一个指针变量?A. intB. charC. floatD. void答案:D结束语:以上是全国计算机等级考试二级C语言的部分题库及答案,希望对您的学习和复习有所帮助。

全国计算机二级(C语言)等级考试题库(完整版)

全国计算机二级(C语言)等级考试题库(完整版)

1、2、3、4、5、6、78910111213【参考答案】long fun ( char *p){long n=0;int flag=1;if(*p=='-') /*负数时置flag为-1*/ {p++;flag= -1;}else if(*p=='+') /*正数时置flag为1*/p++;while(*p!='\0'){n=n*10+*p-'0'; /*将字符串转成相应的整数*/p++;}return n*flag;}1415161718192021222324252627282930313233343536【参考答案】void fun(int tt[M][N],int pp[N]){int i,j,max;for(j=0;j<N;j++){max=tt[0][j]; /*假设各列中的第一个元素最大*/for(i=0;i<M;i++)if(tt[i][j]>max) /*如果各列中的元素比最大值大,则将这个更大的元素看作当前该列中最大元素*/max=tt[i][j];pp[j]=max; /*将各列的最大值依次放入pp数组中*/}}37【参考答案】unsigned fun(unsigned w){int n=1,j,s=1;unsigned t;t=w;/*首先确定w的位数,用变量n保存*/while(t>=10){/*每次循环使s的位数减1,同时n加1*/t=t/10;n++;}/*求10的n-1次方*/for(j=1;j<n;j++)s=s*10;/*用w对10的n-1次方求余即可得到所求*/return w%s;}38【参考答案】void fun(char*s){char ch;int i,m,n;i=0;m=n=strlen(s)-1;/*将第i个和倒数第i个数互换,但循环的次数为数组长度的一半*/while(i<(n+1)/2){/*使用中间变量叫唤*/ch=s[i];s[i]=s[m];s[m]=ch;i++; m--;}}39【参考答案】void fun( char s[],int c){int i=0;char *p;p=s;while(*p) /*判断是否为结束符*/{if(*p!=c) /*判断字符串中字符是否与指定字符相同*/ {s[i]=*p;/*不同将重新组合字符串,*/i++;}p++; /*相同则处理下一个字符。

计算机二级考试C语言知识点总结

计算机二级考试C语言知识点总结

计算机二级考试C语言知识点总结(完全针对考试大纲)概述总体上必须清楚的:1)程序结构是三种:顺序结构,循环结构(三个循环结构),选择结构(if和switch)2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是他的地址.4)bit是位是指为0或1。

byte是指字节,一个字节二八个位.5)一定要记住二进制如何划成十进制。

概念常考到的:1)、编译预处理不是C语言的一部分,不再运行时间。

C语言编译的程序称为源程序,它以ASCI数值存放在文本文件中。

2)、每个C语言程序中main函数是有且只有一个。

3)、在函数中不可以再定义函数。

4)、算法的是一定要有输出的,他可以没有输入。

5)、break可用于循环结构和switch语句。

6)、逗号运算符的级别最低。

第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了。

关键字不可以作为用户标识符号。

main define scanf printf都不是关键字。

迷惑你的地方If是可以做为用户标识符。

因为If中的第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:2.333e-1就是合法的,且数据是2.333 X 101。

考试口诀:e前e后必有数,e后必为整数。

.3) 字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

'0' 的ASCII数值表示为48, 'a'的ASCII数值是97, 'A'的ASCI数值5。

4) 整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。

碰到这种情况,不要去管,一样做题。

计算机二级c语言考试真题及答案详解

计算机二级c语言考试真题及答案详解

计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。

全国计算机等级考试二级C语言笔试高频考点

全国计算机等级考试二级C语言笔试高频考点

文件的关闭:使用 fclose()函数,需要 提供文件指针
打开方式:r(只读 )、w(只写)、 (追加)、r+(读 写)、w+(写读) 、+(追加读写)
错误处理:使用 ferror()函数和 clererr()函数进行 错误检测和清除
文件的读写操作
文件的打开和关闭:使用fopen()和fclose()函数 文件的读写:使用fred()和fwrite()函数 文件的定位:使用fseek()函数 文件的随机读写:使用fgetc()和fputc()函数 文件的格式化读写:使用fscnf()和fprintf()函数 文件的缓冲区管理:使用setbuf()和setvbuf()函数
文件操作
05
文件的基本概念
文件:存储在磁盘上的一组相关数据的集合 文件类型:文本文件、二进制文件、数据文件等 文件名:标识文件的唯一名称,由字母、数字、下划线组成 文件路径:定位文件的路径,包括绝对路径和相对路径
文件的打开与关闭
文件的打开:使用 fopen()函数,需要 提供文件名和打开 方式
调试技巧与注意事项
• 使用断点调试:设置断点,逐步执行代码,查看变量值和程序状态 • 使用单步调试:逐行执行代码,查看变量值和程序状态 • 使用打印语句:在关键位置插入打印语句,查看变量值和程序状态 • 使用调试工具:使用调试工具,如Visul Studio的调试器,查看变量值和程序状态 • 注意变量类型和范围:避免变量类型不匹配和越界访问 • 注意逻辑错误:避免逻辑错误,如条件判断错误、循环控制错误等 • 注意函数调用和参数传递:避免函数调用错误和参数传递错误 • 注意内存管理:避免内存泄漏和野指针错误 • 注意代码规范和命名规则:遵守代码规范和命名规则,提高代码可读性和可维护性

全国计算机等级考试二级C语言公共基础知识(附例题)

全国计算机等级考试二级C语言公共基础知识(附例题)

第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。

详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。

计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法.1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。

2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。

在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。

(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构.描述算法的工具通常有传统流程图、N—S结构化流程图、算法描述语言等。

一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。

考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。

1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。

同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。

这表明使用绝对的时间单位衡量算法的效率是不合适的。

撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量”的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。

(完整版)二级C语言知识点大汇总,推荐文档

(完整版)二级C语言知识点大汇总,推荐文档

计算机二级考试C语言知识点总结(完全针对考试大纲)总体上必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。

byte 是指字节, 一个字节= 八个位. 000111105)一定要记住二进制与十进制互化。

概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。

C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、每个C语言程序中main函数是有且只有一个。

3、在函数中不可以再定义函数。

4、算法的是一定要有输出的,他可以没有输入。

5、break可用于循环结构和switch语句。

6、逗号运算符的级别最低。

第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了。

关键字不可以作为用户标识符号。

main define scanf printf if都不是关键字。

迷惑你的地方If是可以做为用户标识符。

因为If中的第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:2.333e0.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复习资料公共基础知识资料第一章数据结构与算法【考点1】算法的基本概念算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。

算法不等于程序,也不等于计算方法。

算法的基本特征:确定性,算法中每一步骤都必须有明确定义,不允许有多义性;有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;可行性,算法原则上能够精确地执行;拥有足够的情报。

算法的组成要素:一个算法由数据对象的运算和操作以及其控制结构这两部分组成。

算法的基本运算和操作:算术运算,逻辑运算,关系运算,数据传输。

算法的基本控制结构:顺序,选择,循环。

算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术。

【考点2】算法的复杂度算法效率的度量——算法的复杂度:时间复杂度和空间复杂度。

算法时间复杂度:指执行算法所需要的计算工作量。

通常,一个算法所用的时间包括编译时间和运行时间。

算法空间复杂度:指执行这个算法所需要的内存空间。

包括算法程序所占的空间,输入的初始数据所占的空间,算法执行过程中所需的额外空间。

空间复杂度和时间复杂度并不相关。

【考点3】数据结构的基本概念数据:数据是客观事物的符号表示,是能输入到电脑中并被计算程序识别和处理的符号的总称,如文档,声音,视频等。

数据元素:数据元素是数据的基本单位。

数据对象:数据对象是性质相同的数据元素的集合。

数据结构:是指由某一数据对象中所有数据成员之间的关系组成的集合。

【考点4】逻辑结构和存储结构数据结构可分为数据的逻辑结构和存储结构。

数据的逻辑结构是对数据元素之间的逻辑关系的描述,与数据的存储无关,是面向问题的,是独立于电脑的。

它包括数据对象和数据对象之间的关系。

数据的存储结构也称为数据的物理结构,是数据在电脑中的存放的方式,是面向电脑的,它包括数据元素的存储方式和关系的存储方式。

数据结构和逻辑结构的关系:一种数据的逻辑结构可以表示成多种存储结构即数据的逻辑结构和存储结构不一定一一对应。

全国计算机二级C语言知识点

全国计算机二级C语言知识点

数组下标的下限是0。

全国计算机二级C语言公共基础知识一、数据结构与算法1、完全二叉树是属于非线性结构,但其最佳存储方式是顺序存储方式2、顺序存储结构中可能根节点不唯一,故可能不是线性结构3、算法的有穷性是指,算法中的操作步骤为有限个,且每个步骤都能在有限时间内完成4、法复杂度包括算法的时间复杂度和算法的空间复杂度。

算法设计必须考虑执行算法所需要的资源,即时间与空间复杂度5、算法的优劣取决于算法复杂度,与程序的环境无关,当算法被编程实现之后,程序的运行受到计算机系统运行环境的限制6、循环队列中,由于指针超过队列地址最大值时会移动到队列最小地址处,所以队头指针可以大于也可以小于队尾指针7、链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间8、循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置9、设循环队列为Q(1: m),其初始状态为front=rear=m。

经过一系列入队与退队运算后,front= X,rear= Y。

现要在该循环队列中寻找最大值的元素,最坏情况下需要比较的次数为(1)若X>Y,则次数为m-(Y-X)-1(2)若X<Y,则次数为Y-X-110、循环队列中的元素个数与队头指针和队尾指针的变化而变化11、队列的修改是依先进先出的原则进行的12、设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构13、顺序表具有以下两个基本特征:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。

(3)在顺序表中,每个元素占有相同的存储单元14、设栈的顺序存储空间为S(0:49),栈底指针bottom=X,栈顶指针top=Y(指向栈顶元素)。

则栈中的元素个数为X-Y+115、设栈的顺序存储空间为S(1: m),初始状态为top=m+1(X)。

全国计算机等级考试二级c语言考试重点

全国计算机等级考试二级c语言考试重点

1、算法的复杂程度:时间复杂程度和空间复杂程度。

时间复杂程度是执行算法所需要的计算工作量,可以用执行算法过程中所需基本运算的执行次数来度量;算法的空间复杂程度是指执行算法所需要的内存空间。

两者不相关。

(算法是指解决问题的有限运算序列,是对解决方案完美而准确地描述。

)2、线性结构与非线性结构:根据数据结构中个数据元素之间前后关系的复杂程度,一般将数据结构分为两大类:线性结构与非线性结构。

线性结构表示数据元素之间一一对应的关系,例如带链队式,循环队式,带链栈等;非线性结构表示数据元素间的一对多或者多对一的关系,例如二叉树。

3、线性表的链式存储结构所需的空间一般多于顺序存储结构。

线性表的顺序存储结构是把线性表中的相邻元素放在相邻的内存单元中,链式存储结构是用一组任意存储单元来存放表中的数据元素,为了表示出每个元素与其直接后级元素之间的关系,除了存储元素本身的信息外,还需存储一个指示其直接后级元素存储位置的信息。

4、软件的设计原则是:抽象,模块化,局部化,信息隐蔽,确定性,一致性,完备性和可验性。

[模块划分的原则是模块内具有高内聚度,模块间具有低耦合度]5、在E_R图中椭圆形表示属性,菱形表示联系,矩形表示实体集。

6、DFD图(即为数据流图)、数据字典(对数据流图所包含的元素的定义)、判定表和判定树是结构化分析的常用工具。

(数据流图是描述数据处理的过程的工具,它从数据传递和加工的角度来刻画数据流从输入到输出的变化过程。

主要图形元素有:圆形表示加工,箭头表示数据流,双杠表示存储文件,方框表示源、潭。

)7、程序流程图、N-S图、PAD图是详细设计过程中常用的图形工具。

8、数据库设计包括四个阶段:需求分析、概念设计、逻辑设计、物理设计。

【需求分析阶段的最后成果是软件需求规格说明书(准确地确定软件系统必须做什么和必须具备哪些功能);概要设计说明书、数据库说明书、集成计划测试计划都是概念设计阶段需要编写的文档。

将E-R图转换成关系数据模型的过程是逻辑设计。

计算机等级考试二级C语言考点

计算机等级考试二级C语言考点

计算机等级考试二级C语言考点第一章 C语言基本知识【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。

源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。

C语言有三种基本结构:顺序结构、选择结构、循环结构。

【考点2】main函数又称主函数,是C程序的入口。

main后面跟一对小括号和一对花括号,花括号括起来的部分称为main函数的函数体。

一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。

每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。

【考点3】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。

【考点4】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。

一行内可写多条语句,一个语句可写在多行上。

建议一行一条语句的风格。

C程序书写采用缩进格式。

根据语句的从属关系,程序书写时采用缩进格式,使程序语句的层次结构清晰,提高程序的可读性。

同一层次语句要左对齐,不同层次的语句要缩进若干个字符,这样程序层次清楚,便于阅读和理解。

程序中适当使用注释信息。

在书写程序时,适当地加入注释同样可增加程序的可读性。

【5】数据存储计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。

二进制、八进制、十六进制转化为十进制采用乘法(按位权展开),十进制转化为二进制、八进制、十六进制采用除法(除2取余倒写回去)。

数据的存放位置就是它的地址。

【考点6】标识符是标识名字的有效字符序列,可以理解为C程序中的单词。

标识符的命名规则是:(1)标识符只能由字母、数字和下划线组成,字母严格区分大小写。

(2)标识符的第一个字符必须是字母或下划线,不能为数字。

全国计算机等级考试二级c语言知识点超全整(打印版)

全国计算机等级考试二级c语言知识点超全整(打印版)

全国计算机等级考试目录第一部分公共基础知识第1 章算法与数据结构 (1)考点1 算法 (1)考点2 数据结构 (1)考点3 线性表及其顺序存储结构 (1)考点4 栈和队列 (1)考点5 线性链表 (2)考点6 树与二叉树 (2)考点7 查找技术 (3)考点8 排序技术 (3)第2 章程序设计基础 (4)考点1 程序设计方法与风格 (4)考点2 结构化程序设计 (5)考点3 面向对象的程序设计 (5)第3 章软件工程基础 (5)考点1 软件工程基本概念 (5)考点2 软件分析方法 (6)考点3 结构化设计方法 (7)考点4 软件测试 (8)考点5 程序的调试 (9)第4 章数据库设计基础 (9)考点1 数据库系统的基本概念 (9)考点2 数据库系统的基本概念 (10)考点3 关系代数 (12)考点4 数据库设计与管理 (12)第二部分二级 C 语言第1 章程序设计基本概念 (14)考点1 程序设计 (14)考点2 C 程序的结构和格式 (14)考点3 常量和变量 (14)考点4 算术表达式 (15)考点5 赋值表达式 (16)考点6 自加、自减和逗号运算 (16)第2 章顺序结构 (17)考点1 字符型常量与变量 (17)考点2 putchar 与getchar 函数 (17)考点3 printf 函数 (17)考点4 scanf 函数 (18)考点5 位运算的含义和应用 (18)第3 章选择结构 (19)考点1 关系运算符和关系表达式 (19)考点2 逻辑运算符和逻辑表达式 (19)考点3 if 语句及其构成的选择结构.. 19考点4 switch 语句与break 语句 (20)第4 章循环结构 (20)考点1 while 循环结构 (20)考点2 do-while 循环结构 (21)考点3 for 循环结构 (21)考点4 嵌套循环语句 (21)第 5 章函数 (21)考点1 库函数 (21)考点2 函数的调用 (22)考点3 参数传递 (22)考点4 函数的递归调用 (23)考点5 局部、全局变量和存储分类.. 23第6 章地址与指针 (23)考点1 变量的地址和指针 (23)考点2 指针变量的操作 (24)考点3 函数之间地址的传递 (24)第 7 章数组 (24)考点 1 一维数组的定义及元素的引用..24考点 2 函数对一维数组及元素的引用..25考点3 二维数组的定义 (25)考点4 二维数组和指针 (25)考点 5 二维数组名和指针数组作为实参 (26)第8 章字符串 (26)考点1 用一维字符数组存放字符串.. 26考点2 使指针指向字符串 (26)考点3 字符串的输入和输出 (26)考点4 字符串数组 (27)考点5 用于字符串处理的函数 (27)第9 章编译预处理和动态存储分配 (27)考点1 编译预处理 (27)考点2 宏替换 (27)考点3 文件包含处理 (28)考点4 动态存储分配 (28)第 10 章结构体、共用体和用户定义类型28考点1 结构体 (28)考点2 共用体 (29)考点3 用户定义类型 (29)第 11 章文件 (29)考点1 文件指针 (29)考点2 文件的读写 (30)第一部分公共基础知识第 1 章算法与数据结构考点 1 算法1.什么是算法算法是指对解题方案的准确而完整的描述。

全国计算机等级考试二级C语言公共基础知识(附例题)

全国计算机等级考试二级C语言公共基础知识(附例题)

第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。

详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。

计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。

1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。

2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。

在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。

(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。

描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。

一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。

考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。

1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。

同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。

这表明使用绝对的时间单位衡量算法的效率是不合适的。

撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。

计算机等级二级考试题(C语言)

计算机等级二级考试题(C语言)

考试题1---------一、客观题。

1.()是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从()开始执行。

A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3.下列正确的标识符是()。

A、-a1B、a[i]C、a2_iD、int t4.C语言中的简单数据类型包括()。

A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型5.如果int a=3,b=4;则条件表达式"a<b? a:b"的值是()。

A、3B、4C、0D、16.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()A、b=1.0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1.0)7.以下对一维数组a的正确说明是:()。

A、char a(10)B、 int a[];C、int k=5,a[k];D、char a[3]={‘a’,’b’,’c’};8.若有以下数组说明,则i=10;a[a[i]]元素数值是()。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10B.9C.6D.59.下列数据结构中,属于非线性结构的是()。

A、循环队列B、带链队列C、二叉树D、带链栈10.C语言中函数返回值的类型是由()决定的。

A、函数定义时指定的类型B、return语句中的表达式类型C、调用该函数时的实参的数据类型D、形参的数据类型11.以下对结构变量stul中成员age的非法引用是()。

struct student{ int age;int num;}stu1,*p;p=&stu1;A、 stu1.ageB、 student.ageC、 p->ageD、 (*p).age12.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言二级考点(完整版)第一章…… C语言基础知识第二章……顺序结构第三章……选择结构第四章. ……循环结构第五章……函数第六章……指针第七章……数组与指针第八章……数组与函数第九章……字符串第十章……结构体与共用体第十一章……文件第一章C语言基础知识考点1. C语言程序的结构认识本节通过一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语言有个初步认识。

例1 计算两个整数之和的c程序:#include<stdio.h>main(){int a,b,sum; /*定义变量a,b,sum为整型变量*/a=20; /*把整数20赋值给整型变量a*/b=15; /*把整数15赋值给整型变量b*/sum=a+b; /*把两个数之和赋值给整型变量sum*/printf("a=%d,b=%d,sum=%d\n",a,b,sum);/*把计算结果输出到显示屏上*/}重点说明:1、任何一个c语言程序都必须包括以下格式:main(){ }这是c语言的基本结构,任何一个程序都必须包含这个机构。

括号内可以不写任何内容,那么该程序将不执行任何结果。

2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。

3、被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。

4、在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。

5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果:a=20,b=15,sum=356、#include<stdio.h>注意:(1)以#号开头(2)不以分号结尾这一行没有分号,所以不是语句,在c语言中称之为命令行,或者叫做“预编译处理命令”。

7、程序中以/*开头并且以*/结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序的可读性而添加,但计算机在执行主函数内容时完全忽略注释部分,换而言之就是计算机当做注释部分不存在于主函数中。

考点2. C程序的生成过程C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件,如图所示。

编译过程源程序的扩展名为.c ,目标程序的扩展名为.obj , 可执行程序的扩展名为.exe 。

考点3. 标识符在编写程序时,必须为函数、变量等命名,这个名字称为标识符。

C语言中标识符的命名规则如下:1、标识符只能由字母、数字、下划线组成;2、标识符的第一个字母必须是字母和下划线;3、标识符区分大小写字母,如If和if是两个完全不同的标识符。

合法标识符如下:A6, b_3 , _mn非法的标识符如下:ab#12 , 8m , tr3:4 , yes no标识符不能与程序中具有特殊意义的关键字相同,不能与用户编制的函数名、C语言库函数相同,在程序中各种标识符尽量不要重复,以便区分。

选择变量名和其他标识符时,应注意做到“见名知义”。

标识符分为如下三类:1、关键字关键字是具有特定含义的,专门用来说明c语言特定成分的一类标识符,不能用作用户的标识符。

2、预定义标识符预定义标识符在c语言中也有特定的含义,但可以用作用户标识符,预定义标识符分为两类:(1)、库函数名字,比如(printf,scanf,sin,isdigit等)(2)、编译处理命令名,比如(define,include)3、用户标识符用户根据需要自己定义的标识符称为用户标识符。

无论如何自定义标识符,都必须符合标识符的三条命名规则。

考点4. 常量在程序运行中,其值不能被改变的量称为常量。

常量有5种类型:整型常量、实型常量、字符常量、字符串常量和符号常量。

4.1 数值转换数字的四种表现形式:l 二进制:所有数字由0,1构成,逢二进一,二进制数中不会出现2.。

例:110101l 八进制:以数字0(注意不是以字母O,o)开头,所有数字由0~7构成,逢八进一,八进制数中不会出现8。

例:0112,0123,077等l 十进制:所有数字由0~9构成,逢十进一,十进制数中不会出现10。

例:0,12,-15等l 十六进制:以0x或者0X(数字0加字母x)开头,所有数字由0~9,A~F(或者a~f)构成,逢十六进一(其中A、B、C、D、E、F分别代表10、11、12、13、14、15)例:0x4A 0X14c7等在计算机内部,数字均以二进制形式表示和存放,用户输入的普通十进制数字都要被计算机转换成二进制才能在计算机内部存储,同样计算机的运算结果也为二进制,一般要将其转换成十进制数再输出给用户阅读,这种转换通常由计算机自动实现。

(1)将十进制转换二进制、八进制和十六进制除法:将十进制数除以2,记录余数,得到的商继续除以2,直到商为0,然后将各次相处所得的余数从后往前逆序排列,所得余数数字序列就是该十进制数对应的二进制数。

八进制和十六进制转换方法同上。

例:十进制数13转换成二进制数的值为1101,转换八进制为015,转换成十六进制为D.(2)将二进制、八进制和十六进制转换成十进制乘积求和:将二进制的每一位从低位到高位(右边为低位,左边为高位)分别乘以20,21,22。

,然后将这些积求和。

例如:(1101)2=(13)10 (317)8=(207)10 (23E)16=(574)10(3)二进制与八进制、十六进制数之间的相互转换①二进制转八进制:从右往左每三位一组转换成十进制数,将所得数据组合就是对应的八进制数(注意:高位不足三位补零)。

例:(010 110 111)2=(267)8②二进制转十六进制:从右往左每四位一组转换成十进制数,将所得数据组合就是对应的十六进制数(注意:高位不足四位补零)。

例:(0101 1011)2=(5B)16③八进制转化二进制:每一位数字转换为三位二进制数字例:(13)8=(001 011)2=(1011)2(注意:去掉前面的两个00,因为0在高位没有意义)④十六进制转化二进制:每一位数字转换为四位二进制数字例:(E3)16=(1110 0011)24.2 整型常量整型常量有3种形式:十进制整型常量、八进制整型常量和十六进制整型常量。

(注意:c语言中没有直接表示二进制的整型常量,在c语言源程序中不会出现二进制。

)书写方式如下:十进制整型常量:123 ,0 ,-24 , 85L(长整型常量)等八进制整型常量:051 ,-026 ,0773 等十六进制整型常量:0x55 , 0x1101 , 0x , 0x5AC0 , -0xFF。

其中L为长整型。

4.3 实型常量实型常量有两种表示形式:小数形式和指数形式。

小数形式:5.4 0.074 -23.0指数形式:5.4e0 4.3e-3 -3.3e4(1)小数部分为0的实型常量,可以写为453.0 或453。

(2)用小数表示时,小数点的两边必须有数,不能写成“.453“和“453.“,而应该写成“0.453“和“453.0“。

(3)用指数写法时,e前必须有数字,e后面的指数必须为整数(注意:整数阶码可以是正数,负数,也可以是八进制数、十六进制数,但必须为整数)。

4.4 字符常量字符常量的标志是一对单引号‘’,c语言中的字符常量有两类:(1)由一对单引号括起来的一个字符,如‘a ’, ‘r’,‘#’。

注意: ′a′和′A′是两个不同的字符常量。

(2)由一对单引号括起来,以反斜杠\开头,后跟若干数字或者字母,比如‘\n’,其中“\“是转义的意思,后面跟不同的字符表示不同的意思,这类字符常量叫转义字符。

具体如图所示。

4.5 字符串常量C语言中,以双引号括起来的,由若干个字符组成的序列即为字符串常量。

例:“ni hao”“happy”等等。

4.6 符号常量符号常量是由宏定义“#define“定义的常量,在C程序中可用标识符代表一个常量。

例:计算圆的面积的c程序。

#include <stdio.h>#define PI 3.14159main(){float r,s;r=12.5;s=PI*r*r;printf("s= %f",s);}说明:#define 是宏定义,有关宏定义在以后的章节中详细说明,此程序中所有出现PI的地方都代表3.14159,同时PI称为符号常量。

习惯上我们用大写字母来表示符号常量,小写字母表示变量,这样比较容易区别。

考点5. 变量变量就是其值可以改变的量。

变量要有变量名,在内存中占据一定的存储单元,存储单元里存放的是该变量的值。

不同类型的变量其存储单元的大小不同,变量在使用前必须定义。

5.1 整型变量整型变量分为4种:基本型(int)、短整型(short int 或short)、长整型(long int 或long)和无符号型(unsigned int ,unsigned short,unsigned long)。

不同的编译系统对上述四种整型数据所占用的位数和数值范围有不同的规定。

说明:单词signed来说明“有符号”(即有正负数之分),不写signed也隐含说明为有符号,unsigned用来说明“无符号”(只表示正数)。

5.2 实型变量C语言中,实型变量分为单精度类型( float )和双精度类型( double )两种。

如:float a , b ;double m ;在vc中,float 型数据在内存中占4个字节(32位),double型数据占8个字节。

单精度实数提供7位有效数字,双精度实数提供15~16位有效数字。

实型常量不分float型和double型,一个实型常量可以赋给一个float 型或double 型变量,但变量根据其类型截取实型常量中相应的有效数字。

注意:实型变量只能存放实型值,不能用整型变量存放实型值,也不能用实型变量存放整型值。

5.3 字符变量字符变量用来存放字符常量,定义形式:char 变量名;其中关键字char定义字符型数据类型,占用一个字节的存储单元。

例:char cr1,cr2;cr1= ‘A’, cr2=‘B’;将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的ASCII码存储到内存单元中。

例如,字符′A′的ASCII码为65,在内存中的存放形式如下:01000001由于在内存中字符以ASCII码存放,它的存储形式和整数的存储形式类似,所以C语言中字符型数据与整型数据之间可以通用,一个字符能用字符的形式输出,也能用整数的形式输出,字符数据也能进行算术运算,此时相当于对它们的ASCII码进行运算。

相关文档
最新文档