C语言二级考试考点总结
C语言二级考试重点和知识点

识点
if 语句的几种 1-2
形式
100%
简单识记
if 语句的嵌套 1-2 100%
难度适中, 重点掌握
条件运算符 0-1 100%
难度适中, 重点掌握
简单,重点
switch 语句 2-4 100%
掌握重点
理解
语句标号
0-1 10%
偏难,不是 重点
goto
1-2
100% 简单识记
大家认真复习,报名咨询电话4 :0731-258476
一 般 形 式 和 2-3 90%
掌握重点
调用方式
理解
函数的说明 0-1 60%
及其位置
简单识记
函数的嵌套 1-3 90%
调用
偏难,重点 掌握重点 理解
函数的递归 1-2 80%
调用
偏难,重点 掌握重点 理解
难度适中,
局部变量
1-2 100%
重点理解
重点掌握
难度适中,
全局变量
1-2 100%
重点理解
知识点 库函数
分值 考核几率 1-2 60%
函数的定义 0-1 50% 形参和实参
2-3 80% 及函数调用
专家点评 简单,重点 识记知识 点 简单,重点 识记知识 点 难度适中, 重点理解
大家认真复习,报名咨询电话7 :0731-258476
长沙新视野重点资料(冲刺)
重点掌握
函数调用的
偏难,重点
长沙新视野重点资料(冲刺)
各章节重点、难点、考点总结
一、考点分析 1 C 语言概述
知识点
分值 考核几率 专家点评
C 语言概述 0-1 20%
C 程序的构成 0-1 30%
全国计算机等级考试二级c语言公共基础知识总结汇总

全国计算机等级考试二级c语言公共基础知识总结2009-02-17 21:34第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
计算机二级考试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位系统。
碰到这种情况,不要去管,一样做题.掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
全国计算机二级C语言最重要的知识点总结

全国计算机二级C语言最重要的知识点总结计算机二级C语言考试是对学生掌握C语言基础知识以及应用能力的综合考试。
以下是全国计算机二级C语言最重要的知识点总结。
一、基础知识点(约占30%)1.基本语法:C语言的基本结构、关键字、标识符、注释等。
2.变量和数据类型:整型、浮点型、字符型、指针等。
3.运算符和表达式:算术运算符、关系运算符、逻辑运算符等。
4.控制语句:条件语句(if-else语句、switch语句)、循环语句(for循环、while循环)、跳转语句(break语句、continue语句)。
5.数组和字符串:一维数组、二维数组、字符数组、字符串处理等。
二、函数(约占20%)1.函数的定义与调用:函数的声明、定义、调用。
2.函数的参数传递:值传递、地址传递。
3.函数的返回值:返回值类型、返回值的使用。
4.递归函数:递归函数的原理与应用。
三、指针(约占15%)1.指针的定义与初始化:指针变量的定义、指针的初始化。
2.指针的运算:指针的加减运算、指针的比较运算。
3.指针和数组:指针与一维、二维数组的关系。
4.指针和函数:指针作为函数的参数、指针作为函数的返回值。
四、文件操作(约占15%)1.文件的打开和关闭:文件的打开模式、文件指针的移动。
2.文件的读写操作:字符的读写、字符串的读写、二进制文件的读写。
3.文件的管理:文件的重命名、删除文件、创建文件夹等。
五、结构体(约占10%)1.结构体的定义:结构体成员的类型和名称。
2.结构体的初始化:结构体变量的初始化、结构体指针的初始化。
3.结构体的访问:点运算符、箭头运算符的使用。
六、动态内存管理(约占10%)1.内存的分配和释放:malloc函数、calloc函数、realloc函数。
2.内存的操作:内存的读写、内存的拷贝。
3.内存泄漏和野指针:内存的释放、野指针的产生和解决方法。
七、综合应用(约占5%)1.数组和字符串处理:冒泡排序、选择排序、字符串操作(拷贝、连接、比较)等。
计算机二级C语言考点盘点

计算机二级C语言考点盘点计算机二级C语言考点盘点计算机二级C语言考试是全国计算机等级考试中的一项技能考试,考试内容主要包括C语言程序设计基础知识、C语言程序设计能力等方面,是考生们学习和掌握C语言编程技能的重要考核标准。
下面将对计算机二级C语言考试的各个考点进行盘点,以供考生们参考复习。
一、C语言基础知识C语言基础知识是计算机二级C语言考试的基础,包括数据类型、运算符、控制语句、数组、字符串、结构体等方面。
1.数据类型:考试中常考的数据类型有int、float、char、double等,其存储长度、取值范围、默认值、表示方式等要点需要考生掌握。
2.运算符:算术运算符、逻辑运算符、位运算符、赋值运算符等常见运算符都需要考生熟练掌握,同时也需要了解运算优先级及结合性。
3.控制语句:if语句、for语句、while语句、switch语句等控制语句都是考试中常考的内容,考生需要了解语法结构及使用方法。
4.数组:数组是C语言编程中常用的数据结构,考试中经常考察数组的定义、初始化、访问、排序等内容。
5.字符串:字符串是C语言中的一种数据类型,字符串的定义、初始化、取值、比较等内容经常出现在考试中。
6.结构体:结构体是一种自定义类型,由多个数据类型组成,考试中经常考察结构体的定义、初始化、访问、结构体数组等内容。
二、指针和动态内存分配指针和动态内存分配是C语言编程中较为高级的内容,但也是考试中必考的考点,包括指针的定义、指针运算、指针数组、函数指针等内容,同时也需要熟练掌握动态内存分配的相关函数malloc()、calloc()、realloc()、free()等使用方法。
三、函数和文件操作函数是C语言编程中的重要组成部分,函数的定义、调用、递归、指针参数、结构体参数等内容都需要考生牢记。
文件操作也是C语言编程中常用的功能,文件打开、关闭、读取、写入、移动文件指针等操作都需要考生掌握。
四、综合程序设计综合程序设计是考试中难度较大的部分,主要考察考生综合运用以上知识点,设计出合理、优美的程序。
计算机二级考试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位系统。
计算机二级考试C语言知识点总结

计算机二级考试C语言知识点总结C语言是一种通用的高级编程语言,广泛应用于计算机科学领域。
它以其简洁的语法、强大的功能和高效的性能而闻名。
对于计算机二级考试而言,掌握C语言的基本知识点至关重要。
下面是对C语言知识点的总结:1. C语言基础:包括变量、常量、数据类型、运算符等。
在C语言中,变量用于存储数据,常量是不会改变的值,数据类型决定了变量或表达式的性质,运算符用于进行各种数学和逻辑运算。
2. 输入和输出:通过scanf()函数从标准输入读取数据,通过printf()函数将数据输出到标准输出。
此外,还有其他用于输入和输出的函数,如gets()、puts()、getchar()等。
3. 控制结构:包括顺序结构、选择结构和循环结构。
顺序结构按照代码的顺序执行,选择结构根据条件选择不同的执行路径,循环结构重复执行一段代码。
4. 数组:是一种存储多个相同类型数据的方式。
通过数组可以访问和修改多个数据。
数组的元素是通过索引进行访问的,索引从0开始。
5. 字符串:是由字符组成的数组。
C语言中使用字符数组来表示字符串。
可以使用字符串函数对字符串进行操作,如strlen()、strcpy()、strcat()等。
6. 函数:是一段可重复使用的代码块。
函数有输入和输出,输入是参数,输出是返回值。
通过函数可以使代码更加模块化和可读性更强。
7. 指针:是存储内存地址的变量。
指针可以指向不同类型的数据,可以通过指针间接访问和修改数据。
使用指针可以提高程序的效率和灵活性。
8. 结构体:是用户自定义的数据类型,可以将不同类型的数据组合在一起。
结构体可以包含基本数据类型、数组、指针等。
通过结构体可以创建更加复杂和有组织的数据类型。
9. 文件操作:可以通过C语言对文件进行读写操作。
通过打开文件、写入数据、读取数据、关闭文件等操作可以实现对文件的控制。
以上是C语言的一些基本知识点。
在计算机二级考试中,考察的内容可能会更加深入和具体。
全国计算机二级考试C语言(最全复习资料)

第一部分 C语言知识复习资料第一章C语言基本知识【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。
源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。
C语言有三种基本结构:顺序结构、选择结构、循环结构。
【考点2】main函数又称主函数,是C程序的入口。
main后面跟一对小括号和一对花括号,花括号括起来的部分称为main 函数的函数体。
一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。
每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。
【考点3】存储形式计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。
二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。
数据的存放位置就是它的地址。
【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。
一行内可写多条语句,一个语句可写在多行上。
【考点6】标识符是标识名字的有效字符序列,可以理解为C程序中的单词。
标识符的命名规则是:(1)标识符只能由字母、数字和下划线组成,字母区分大小写。
(2)标识符的第一个字符必须是字母或下划线,不能为数字。
C语言标识符分如下3类(1)关键字。
它们在程序中有固定的含义,不能另作他用。
如int、for、switch等。
(2)预定义标识符。
预先定义并具有特定含义的标识符。
如define、include等。
(3)用户标识符。
用户根据需要定义的标识符,符合命名规则且不与关键字相同。
【考点7】常量与变量常量是指在程序运行过程中,其值不能改变的量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
公共基础1.1算法特征1)可行性(3)有穷性(运行时间的有限)2)确定性(4)拥有足够的情报(输入可以没有)结构化程序的组成:顺序结构、选择结构、循环结构。
复杂度:时间复杂度(运算次数)和空间复杂度(存储空间)。
两者无直接关系1.3线性表在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
线性表存储空间不一定连续,且各元素的存储顺序是任意的。
1.4栈和队列栈(一端操作)按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。
队列(两端操作)是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。
(队尾插入,队头删除) 1.6树与二叉树AB CD E F GH I J K L M N OP Q R二叉树的遍历:前序遍历结果是:A、B、D、H、P、Q、I、R、E、J、K、C、F、L、M、G、N、O中序遍历结果是:P、H、Q、D、R、I、B、J、E、K、A、L、F、M、C、N、G、O后序遍历结果是:P、Q、H、R、I、D、J、K、E、B、L、M、F、N、O、G、C、A(1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树;(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树;(3)后序遍历(LRD),首先遍历左子树,然后访问遍历右子树,最后访问根结点。
满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,每一层上有2n-1个结点;总共2n-1个结点.完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。
叶子结点总是比度为2的结点多一个。
总结点数=叶子结点+度为1的结点+度为2的结点.例:某二叉树总共有60个叶子结点和59个度为1的结点,求总结点数(169)1.7查找技术二分法查找只适用于顺序存储的线性表,对于长度为n的有序线性表,最坏情况只需比较log2n次。
1.8排序技术冒泡排序:快速排序:直接插入排序:最坏比较次数都为n(n-1)/2。
2.2结构化程序设计与分析四条原则: 1.模块化; 2.逐步求精;3.自顶向下;4.限制使用goto语句。
在结构化分析使用的数据流图(DFD)中,利用数据字典对其中的图形元素的进行确切解释。
3.3结构化设计方法(1)自顶向下(2)逐步细化(3)模块化设计(4)结构化编程衡量软件模块独立性使用耦合性和内聚性两个定性的度量标准。
优秀软件应高内聚,低耦合。
2.3面向对象的程序设计基本特点:(1)封装性;(2)继承性;(3)多态性;(4)标识惟一性;(5)模块独立性好。
类描述的是具有相似属性与操作的一组对象,而一个具体对象则称为类的实例。
3.4软件测试软件测试的目的:发现错误而执行程序的过程;设法暴露程序中的错误。
程序员应避免测试自己的程序。
软件测试方法:静态测试和动态测试(基于计算机的测试,包括白盒测试和黑盒测试。
)黑盒测试包括等价类划分法、边界值分析法、错误推测法。
提高软件的生产效率主要方法:软件可复用性.3.4软件生命周期分为三个阶段:定义阶段、开发阶段、维护阶段。
详细设计和编码、测试都属于开发阶段。
3.5程序的调试程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。
程序设计的风格:清晰第一,效率第二。
4.1数据库系统的基本概念数据库系统:由数据库(数据)、数据库管理系统(软件;是数据库的核心)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。
数据库应用系统:由数据库系统、应用软件及应用界面三者组成。
数据库系统的基本特点:数据的集成性、数据的高共享性与低冗余性、数据独立性(物理独立性与逻辑独立性)、数据统一管理与控制。
数据库技术的根本目标是要解决数据的共享问题数据库设计的四个阶段:需求分析;概念设计;逻辑设计;物理设计数据库系统的三级模式:(1)概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图;(2)外模式:也称子模式与用户模式。
是用户的数据视图,也就是用户所见到的数据模式;(3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。
索引属于内模式。
数据库系统的两级映射:(1)概念模式到内模式的映射;(2)外模式到概念模式的映射。
数据库系统模型:(1)层次模型的基本结构是树形结构(2)网状模型是一个不加任何条件限制的无向图。
(3)关系模型采用二维表来表示,简称表,每一个二维表称为一个关系,行称为元组,列称为属性。
4.1数据结构分为逻辑结构和存储结构。
逻辑结构:数据集合中各数据元素之间所固有的逻辑关系。
存储结构:在对数据进行处理时,各数据元素在计算机中的存储关系。
循环队列属于顺序存储结构。
4.2数据模型E-R模型用:椭圆表示属性;菱形表示实体间的联系;矩形表示实体集。
E-R模型的图示法:(1)实体集表示法;(2)属性表示法;(3)联系表示法。
数据的物理结构和逻辑结构有高度独立性,结构不必一致。
上机考试1、填空题应注意:(1)一般设置3个填空;(2)填空后应将填空序号和填空下划线删除,防止编译出错。
2、修改题应注意:(1)错误一般有2个或3个;(2)错误一般位于每个found之下一行或两行范围之内。
3、编程题应注意:(1)编程题一般都是在被调用的函数之内编写;(2)所编写的被调用的函数要与调用函数保持和谐统一,符合被调用与调用的关系。
知识点1.符号常量(宏定义):不能被赋值。
2.标识符:只能由字母、数字、下划线组成,且数字不能开头。
注意关键字。
3.字母e(或E)的前后必须有数字,且e后面的指数必须为整数。
4.取余运算%的前后必须都为整数。
除法运算:5/2=2(舍去余数)5.字符常量:用单撇号括起来的一个字符。
但‘\’、‘’’除外。
6.转义字符:双引号括起来的。
“\t”跳到下一个tab位置,一般两个空格;“\b”退格,退到前一列;“\r”回车,将当前位置移到本行开头。
7.字符串常量:用一对双撇号括起来的字符序列(0个或多个字符)8.字符变量:只能存放一个字符,不能存放字符串。
即char c=“as”;(错)注意char c[]=”as”是对的。
9.将一个int、short、long型数据赋给一个char型变量时,只将其低八位原封不动地送到char变量10.else总是与它上面的最近的未配对的if配对。
11.break:跳出循环。
仅能用于循环语句和switch语句中12.continue:结束本次循环。
13.一维数组的初始化必须写成一句。
即int a[]={1,2,3,4,5};(对)int a[];a[]={1,2,3,4,5};(错)14.对二维数组赋初值时,第一维可以省略,第二维不能省略。
即a[][4](对);a[3][](错);a[][](错)。
15.字符数组的输入输出(1)逐个字符输入输出:用格式符“%c”。
(2)对整个字符串输入输出:用格式符“%s”例char c[]={“china”};printf(“%s”,c);另外注意scanf(“%s”,c)它不需要取地址符。
数组名代表一个数组的起始地址。
16.用puts和gets函数只能输入或输出一个字符串。
即puts(ste1,ste2)是错的17.strcat(字符数组1,字符数组2)作用是将2连到1的后面。
注意1的长度要足够大,a[]=”asd”此数组长度不是足够大。
18.strcpy(字符数组1,字符数组2)作用是将2复制到1中。
注意1要足够大,且1要写成数组名形式,2可以是数组名,也可以是字符串常量,如strcpy(str1,”china”)。
strcpy(str1,str2,2)意思是将2中的最前面的2个字符复制到1中,取代1中原有的最前面2个字符。
19.strcmp(字符串1,字符串2)作用比较1和2谁大,值是(串1减串2)大于为正整数等于为零小于为负整数。
20.strlen(字符数组)作用测试字符串的实际长度,也可以直接测试字符串长度,遇到结束字符就停止。
例char str[10]={“china”};printf(“%d”,strlen(str));输出结果不是10,也不是6,而是5.C har[]={“0asdd”}结果为0。
21.strlwr(字符串)作用将字符串中的大写字母变成小写字母。
22.strupr(字符串)作用将字符串中的小写字母变成大写字母。
23.函数不能嵌套定义。
一个源程序文件就是一个编译单位。
24.函数定义:类型标识符函数名(形式参数表列)类型标识符(即函数类型)决定函数的返回值类型。
例void表示不需要带回函数值,此时函数体内不得出现return语句。
但要注意里面是否有printf语句25.对函数的声明和定义不是一回事。
26.递归调用:用if语句来控制是否继续27.数组名也可作实参和形参,传递的是数组首元素的地址。
28.若同一个源文件中,外部变量与局部变量同名,则在局部变量作用范围内,外部变量就不起作用了。
29.变量的划分:按作用域(即空间)分全局变量和局部变量;按存在时间(即生存期)分静态存储方式和动态存储方式。
30.每个变量和函数有两个属性,一个是数据类型(如整形,字符型等),一个是数据的存储类别(即静态存储类和动态存储类,具体包括自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern))。
31.auto变量:包括函数中的形参和函数中定义的变量,即未加static32.static变量:特点保留上一次计算值,静态局部变量属于静态存储类别,只在编译时赋初值一次33.register变量:只有局部自动变量和形式参数可以做寄存器变量,静态变量是不行的,例register static int a,b,c;是错的34.extern变量:定义全局变量时用。
作用一一个文件内声明外部变量,作用二多文件的声明35.static声明外部变量:加上static表示只能用于本文件,若不加或加上extern表示可被别的文件使用36.用auto/register/static声明变量时,是在定义变量时加上这些关键字,而不能单独使用。
例int a;static a;这是错的37.宏定义不是C语言语句,不必加分号。
用#undef命令终止宏定义38.在宏定义时,在宏名与带参数的括号之间不应加空格39.宏定义不占运行时间,之占编译时间40.一个#include命令只能指定一个被包含文件41.指针P可以P++;但数组名A不可以A++。
因为数组名是指针常量42.#define SUB(a)(a)-(a)d=USB(a+b)*c;展开式为d=(a+b)-(a+b)*c。