C语言复习知识点
大一新生c语言知识点大全

大一新生c语言知识点大全1. C语言简介C语言是一种通用的、面向过程式的计算机编程语言,由贝尔实验室的Dennis M. Ritchie于1972年开发。
C语言具有高效、可移植、可扩展等特点,是学习编程的入门语言之一。
2. 数据类型2.1 基本数据类型C语言的基本数据类型包括整型、浮点型、字符型和布尔型。
其中,整型包括int、short、long和unsigned int等;浮点型包括float和double;字符型使用char表示;布尔型使用bool表示。
2.2 派生数据类型派生数据类型是通过基本数据类型组合而成的,包括数组、结构体、共用体和枚举等。
数组是相同类型的元素按一定顺序组成的集合;结构体是不同类型的元素按一定顺序组成的集合;共用体是多个不同类型的元素共用同一块内存;枚举是将一组具名整数值定义为一种新的数据类型。
3. 运算符C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符和位运算符等。
常用的算术运算符有加法(+)、减法(-)、乘法(*)、除法(/)和求模(%);关系运算符有等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=);逻辑运算符有与(&&)、或(||)和非(!);位运算符有与(&)、或(|)、异或(^)和取反(~)等。
4. 控制流程4.1 条件语句条件语句用于根据条件的不同执行不同的代码块。
C语言提供了if语句、if-else语句和switch语句等。
if语句用于执行条件为真时的代码块;if-else语句根据条件的真假执行不同的代码块;switch语句根据表达式的值执行相应的代码块。
4.2 循环语句循环语句用于多次执行相同或类似的代码块。
C语言提供了while循环、do-while循环和for循环等。
while循环在条件为真时执行循环体;do-while循环先执行一次循环体,然后根据条件的真假决定是否继续执行;for循环在初始化、条件判断和循环结束后执行相应的语句。
大一c语言章节知识点

大一c语言章节知识点第一章:基本概念和数据类型C语言的历史背景C语言的特点和优势关键字和标识符数据类型及其表示范围变量的定义和声明常量的定义和分类运算符的分类和优先级第二章:运算符和表达式算术运算符和表达式逻辑运算符和表达式位运算符和表达式赋值运算符和表达式关系运算符和表达式条件运算符和表达式运算符的优先级和结合性第三章:控制语句顺序结构选择结构(if语句、switch语句)循环结构(for循环、while循环、do-while循环)循环控制语句(break、continue、goto)嵌套控制语句第四章:数组和字符串数组的定义和初始化数组的访问和操作多维数组字符数组和字符串的处理字符串的输入和输出第五章:函数和递归函数的调用和返回函数的参数传递(值传递、地址传递)递归函数的原理与应用递归和迭代的比较第六章:指针指针的定义和声明指针与数组的关系指针的运算(指针的加减、指针的比较)指针与字符串的处理函数指针和指针数组第七章:结构体和共用体结构体的定义和初始化结构体中成员的访问和操作结构体的嵌套和对齐枚举类型的定义和应用第八章:文件操作文件的打开和关闭文件的读写操作(字符型文件、二进制文件)文件指针的位置控制文件的随机访问和更新第九章:动态内存管理内存分配与释放的概念malloc函数和free函数的使用calloc函数和realloc函数的使用动态分配二维数组的操作第十章:预处理指令宏定义的使用条件编译指令的应用文件包含指令的作用错误指示和行控制指令无论是在学习C语言的过程中,还是在实际应用中,以上这些章节知识点都是非常重要的。
掌握这些知识点,将帮助你深入了解C语言的基本原理和常用功能,为编写高效、健壮的程序奠定扎实基础。
在学习过程中,请务必理解并实践每个章节的知识点,并结合实际案例进行练习和应用,以加深对C语言的理解和应用能力。
祝你在学习C语言的道路上取得优异的成绩!。
C语言知识点完全版汇总

C语言知识点完全版汇总C语言是一门广泛应用于计算机编程的高级程序设计语言。
它是由丹尼斯·里奇(Dennis Ritchie)在20世纪70年代初开发的,在过去几十年中一直被广泛使用。
下面是C语言的知识点完全版汇总。
一、基本语法1. 注释:C语言中的注释有单行注释和多行注释两种方式。
单行注释使用"//",多行注释使用"/* */"。
2. 变量和数据类型:在C语言中,需先声明再使用变量。
常用的数据类型包括int(整型)、float(浮点型)、char(字符型)等。
3. 运算符:C语言支持各种数学和逻辑运算符,如加减乘除、赋值、比较等。
二、控制流程1. 条件语句:C语言提供if-else语句和switch语句来实现根据条件执行不同的代码块。
2. 循环结构:C语言中常用的循环结构有for循环、while循环和do-while循环,用于重复执行一段代码。
3. 跳转语句:C语言提供了break语句和continue语句用于跳出循环或继续下一次循环的执行。
三、函数1. 函数定义和调用:在C语言中,函数由函数头和函数体组成。
函数头包括函数的返回类型、函数名和参数列表。
调用函数时,需提供函数名和对应的参数值。
2. 递归函数:递归函数是指在函数体内调用自身的函数。
递归函数可以解决一些需要重复执行的问题,如计算阶乘等。
四、数组和指针1. 数组:C语言中的数组是一种存储多个同类型元素的结构。
数组可以通过下标访问和修改其中的元素。
2. 指针:指针是C语言中的一个重要概念,它存储了一个变量或函数的地址。
通过指针,可以实现对内存进行直接操作。
五、字符串处理1. 字符串的定义和初始化:C语言中的字符串是字符数组,可以通过多种方式定义和初始化字符串。
2. 字符串的输入和输出:C语言提供了多个函数用于输入和输出字符串,如gets、puts、printf、scanf等。
3. 字符串的处理:C语言提供了一系列函数用于处理字符串,如字符串的拷贝、连接、比较等。
高一c语言知识点

高一c语言知识点一、整数和浮点数类型在C语言中,整数类型包括int、short、long和long long,分别表示不同的整数范围。
浮点数类型包括float和double,用于表示有小数部分的数字。
二、变量和常量变量是指在程序中用于存储数据的一块内存空间,可以通过给变量赋值来改变其内容。
常量是指不可改变的值,可以直接在代码中使用。
三、基本操作符C语言提供了许多基本操作符,包括算术操作符(+、-、*、/、%)、关系操作符(==、!=、>、<、>=、<=)、逻辑操作符(&&、||、!)等。
四、条件语句条件语句(if语句)用于根据不同的条件执行不同的代码块。
C语言中的条件语句由if、else if和else关键字组成。
五、循环语句循环语句用于重复执行一段代码,C语言提供了三种循环语句:for循环、while循环和do-while循环。
六、数组数组是一种存储多个相同类型数据的数据结构,可以通过索引访问数组中的元素。
C语言中的数组使用方括号表示,如int numbers[10]。
七、字符串字符串是由一串字符组成的数据类型,C语言中的字符串使用字符数组表示。
可以使用strcpy、strlen等函数处理字符串。
八、函数函数是一段具有独立功能的代码块,可以通过函数名和参数将其从主程序中调用。
C语言中的每个程序都必须包含一个主函数main()。
九、指针指针是一种用于存储内存地址的变量,可以通过指针来访问和修改对应地址的数据。
C语言中的指针可以通过&操作符获取变量的地址,通过*操作符来访问指针指向的数据。
十、结构体结构体是一种自定义的复合数据类型,可以将多个不同类型的数据组合在一起。
结构体的定义使用关键字struct。
十一、文件操作C语言提供了文件操作相关的函数,可以用于读取、写入和操作文件。
常用的文件操作函数有fopen、fclose、fscanf和fprintf等。
c语言基础知识及考点整理解读

第一周int定义整型变量所有字母都要先定义再使用。
算法:描述完成任务的步骤序列。
算法的三个基本结构:顺序、分支、循环。
算法的表示:自然语言、程序流图、N-S图程序流图中判定框用菱形,开始结束用圆角矩形,赋值用矩形。
main:主函数,后面一定是英文输入法下的()int:定义“整形变量”printf:输出语句scanf:输入语句%:占位符一个占位符就是占据一个字符的位置,格式化输出时显示为个空格.具体用法如下:%a,%A读入一个浮点值(仅C99有效)%c读入一个字符%d读入十进制整数%i读入十进制,八进制,十六进制整数%o读入八进制整数%x,%X读入十六进制整数%s读入一个字符串,遇空格、制表符或换行符结束。
%f, %F, %e, %E, %g, %G用來输入实数,可以用小数形式或指数形式输入。
%P读入一个指针%u读入一个无符号十进制整数%n至此己读入值的等价字符数%[]扫描字符集合%%读%符号(c此内容来自baidu)&:“取地址”运算符:这个运算发可以这样理解,比如说&a的含义就是a在内存中的地址。
因为&运算符能够取出一个变量在内存中的地址,所以叫做取地址运算符。
输入语句scanf ("%d %d", &a, &b); 输出语句printf c);输出内容由“”引出注意一个;就是一个语句,每句话后都要有分号,不能丢。
括号是英文的,一个程序主要由顺序分支循环3种结构构成{ }不能忘,限制变量作用范围进入CodeBlocks之后新建一个项目,在project选项中选择控制台应用程序Console application 1S彳亍编写。
输入语句scanf和输出语句printf中的"f ”指的是format格式。
程序编写完成后点击Build ---- Build and run或F9进行运行,并可点击Vie ---- log看到编程日志,检查错误。
C语言各章节知识点总结

C语⾔各章节知识点总结第⼀部分“C语⾔基础知识”知识点1、C程序的基本结构C程序是由函数构成的。
每个程序由⼀个或多个函数组成,其中必须有且仅有⼀个主函数main( )。
main函数是⼀个可执⾏C语⾔程序的⼊⼝和正常出⼝,⽽不论其在整个程序中书写的位置如何。
在C语⾔中,⼤⼩写字母是有区别的。
(例如习惯使⽤⼩写字母定义变量,⽤⼤写字母定义常量)。
C程序的注释有两种⽅法,⼀种是⾏注释,使⽤“//”;另外⼀种是块注释,使⽤“/* */”,注意“/*”与“*/”不能嵌套使⽤。
C语⾔书写较为灵活,但是提倡采⽤缩进格式进⾏程序书写,以体现语句之间的层次感。
C程序每条语句以“分号”作为结束标志。
以下⼏种情况不得使⽤分号:(1)所定义的函数名称后不得使⽤分号;(2) if…else…语句是⼀个整体,中间不能使⽤分号将其分隔开;(3)预编译命令后不能使⽤分号。
2、C程序开发步骤C语⾔在计算机上的开发过程主要由以下四个步骤组成:第⼀步:编辑。
⽣成后缀名为“.c”的源⽂件第⼆步:编译。
⽣成后缀名为“.obj”的⽬标⽂件第三步:连接。
⽣成后缀名为“.exe”的可执⾏⽂件第四步:运⾏。
3、VC++6.0开发⼯具的使⽤按下功能键Ctrl+F7编译程序;按下功能键F7连接程序;按下功能键Ctrl+F5运⾏程序;若程序在编译和连接过程中有语法错误,则按下功能键F4定位错误所在⾏并根据错误提⽰信息改正错误(原则是先解决error,再解决warning)。
4、C语⾔中标识符的命名规则标识符由字母、数字、下划线组成;规定第⼀个字符必须为字母或下划线。
标识符定义的变量名、函数名、常量名等最好做到“见名知义”;⼤⼩写代表不同含义;不能使⽤关键字;最好不要与C语⾔的库函数同名。
5、C语⾔的数据类型C语⾔的数据类型由基本类型和复杂类型构成。
其中基本数据类型包括字符型(char)、整型(int,short,long)、实型(float,double);复杂数据类型包括指针类型、数组、结构体、联合体。
c语言重点笔记
c语言重点笔记C语言重点笔记一、基础语法1.注释:用于解释代码,不会被编译器执行。
单行注释以“//”开头,多行注释用“/* */”包围。
2.变量:用于存储数据。
定义变量时需要指定类型和名称,如int num;赋值时使用等号,如num=10;也可以在定义时进行赋值,如int num=10;3.数据类型:C语言提供了基本的数据类型,包括整型、浮点型、字符型等。
4.运算符:C语言提供了各种运算符,包括算术运算符、关系运算符、逻辑运算符等。
5.控制语句:C语言提供了各种控制语句,包括条件语句、循环语句等。
二、函数1.函数定义:函数是一段可重复使用的代码块。
定义函数需要指定返回值类型、函数名和参数列表。
如int add(int a, int b) { return a + b; }2.函数调用:调用函数时需要使用函数名和参数列表,并根据返回值类型进行接收。
如int result = add(1, 2);3.递归函数:递归是一种特殊的函数调用方式,在函数内部调用自身。
需要注意避免死循环。
三、数组1.数组定义:数组是一组相同类型的数据。
定义数组时需要指定类型和长度,如int arr[5];2.数组初始化:可以在定义时进行初始化,如int arr[5] = {1, 2, 3, 4, 5};3.数组访问:使用下标访问数组元素,下标从0开始,如arr[0]表示数组的第一个元素。
4.多维数组:多维数组是由一维数组组成的。
二维数组可以看作是一个矩阵,定义时需要指定行数和列数。
四、指针1.指针定义:指针是一个变量,用于存储另一个变量的地址。
定义指针时需要指定类型和名称,如int *p;2.指针运算:可以对指针进行加减运算,表示移动指针位置。
3.指针与数组:可以使用指针访问数组元素,如int *p = arr; p[0]表示arr[0]。
4.空指针:空指针是没有被初始化的指针。
五、结构体1.结构体定义:结构体是一种自定义数据类型,可以包含多个不同类型的成员变量。
C语言复习提纲(全)
C语言复习提纲:第一章 C语言程序设计概述一、Visual C++6.0开发环境1、了解Visual C++6.0的安装过程;2、了解Visual C++6.0的工作界面,菜单和工具栏的使用;▲二、掌握C语言程序运行的过程1、编辑:是指把按照C语法规则编写的程序代码通过编辑器(Visual C++ 6.0,Turbo C 3.0)输入计算机,并存盘。
在存盘时,C源文件的扩展名为 .c2、编译:将C语言源程序编译成目标程序,即对源程序进行编译,并将源程序转换为扩展名为.obj的二进制目标代码(即把已经编辑好的源程序翻译成二进制目标代码的过程)。
3、连接:将用户程序生成的目标代码文件(.obj)和系统提供的库文件(.lib)中的某些代码连接在一起,生成一个可执行文件(.exe)。
4、执行:执行生成的可执行代码,并输出结果。
5、调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。
▲三、结构化程序设计的基本概念1、概念以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,将原来较为复杂的问题化简为一系列简单模块的设计,任何模块都可以使用一些基本的结构来实现,任何复杂的程序,都可以使用这些基本结构按一定的顺序组合起来,这些基本结构的特点都是只有一个入口、一个出口,这样的程序设计方法称为结构化程序设计。
2、基本思想结构化程序设计的基本思想是采用"自顶向下,逐步细化、模块化设计、结构化编码"的程序设计方法和"单入口单出口"的控制结构。
3、三种基本结构⑴顺序结构⑵选择结构⑶循环结构4、三种基本结构的特点⑴只有一个入口⑵只有一个出口⑶每一个基本结构中的每一部分都有机会执行到⑷结构内不存在“死循环”5、设计原则⑴自顶向下⑶逐步细化⑶模块化设计⑷结构化编码▲四、C程序的基本组成:C程序是由若干个函数构成的,至少有一个主函数main(),main()的位置可以任意,其他各函数在程序中的前后位置也是可以任意的。
c语言全部知识点总结
c语言全部知识点总结一、基本语法1.1 数据类型C语言的数据类型包括基本数据类型和派生数据类型。
基本数据类型包括整型、浮点型、字符型和布尔型。
派生数据类型包括指针、数组、结构体和联合体。
1.2 变量在C语言中,变量用于存储数据。
变量需要声明后才能使用,并且需要指定变量的数据类型。
1.3 运算符C语言支持多种运算符,包括算术运算符、关系运算符、逻辑运算符和位运算符等。
1.4 控制语句C语言支持多种控制语句,包括条件语句、循环语句和跳转语句。
1.5 函数C语言是一种函数式语言,函数是C程序的基本构建块。
函数包括函数声明、函数定义和函数调用。
1.6 数组数组是一种派生数据类型,用于存储多个相同类型的数据。
数组可以是一维数组、多维数组或字符数组。
1.7 指针指针是一种派生数据类型,用于存储变量的地址。
指针的主要作用是进行动态内存分配和实现数据结构。
1.8 结构体和联合体结构体和联合体是C语言提供的两种复合数据类型,用于存储多个不同类型的数据。
1.9 文件操作C语言提供了一组函数,用于进行文件操作,包括打开文件、关闭文件、读写文件等。
1.10 宏定义宏定义是C语言中的一种预处理指令,用于在程序中定义常量、函数和条件编译等。
二、高级特性2.1 动态内存分配C语言通过malloc()和free()等函数实现动态内存分配,从而支持对内存的灵活管理。
2.2 递归C语言支持递归函数,允许函数调用自身。
递归通常用于解决分而治之的问题。
2.3 指针运算C语言支持指针运算,包括指针加法、指针减法和指针比较等。
指针运算通常用于实现数据结构和算法。
2.4 多线程编程C语言通过pthread库支持多线程编程,允许程序在多个线程中并发执行。
2.5 动态链接库C语言支持动态链接库,允许程序在运行时加载共享库,并调用共享库中的函数。
2.6 面向对象编程C语言可以通过结构体和函数指针实现面向对象编程,在一定程度上模拟类和对象的概念。
2.7 编译预处理C语言提供了一组预处理指令,允许程序在编译前进行文本替换、条件编译和包含文件等操作。
C语言知识点总结
注意等号左边只能是变量 iii. 复合赋值运算符的运算:以/=为例:x/=表达式 等价于
x=x/(表达式) iv. 值:=号左边的变量最终的值 关系表达式 i. 关系运算符:< , > , <=, >=, = =(等于), !=(不等于) ii. 由关系运算符加上运算对象构成关系表达式,如3>=4, 2==a iii. 值:满足相应运算符所指定的关系的值为1,否则为0 逻辑表达式 i. 逻辑运算符:&&(且) , ||(或) , !(非) ii. 由逻辑运算符加上运算对象构成逻辑表达式,如3&&4, x||!y iii. 值:满足相应运算符所指定的关系的值为1,否则为0 iv. 进行 ||或 运算时,若||左边的表达式值为1,则不再对
6、 C语言的语句
表达式语句:由表达式末尾加上分号构成。 函数调用语句:由函数调用表达式加上分号构成。 空语句: ; 选择结构语句:if语句 switch语句 循环语句:for语句 while语句 do while语句 复合语句:用花括号{}将以上任意语句括起来构成一条复合 语句。
7、 C程序的基本结构
i. 算术运算符:+,-,*,/,%(求余) ii. 由算术运算符加上运算对象构成算术表达式,如3+3*6-9/2 iii. 值:跟我们小学时学的一样,就是表达式的计算结果 iv. 整数除以整数结果取整数部分,故1/3得到的值是0 v. 5%3 结果为2,想想小学除法,求余得到的是余数不是
商。 赋值表达式
while循环语句 do while循环语句 7 十、 数组 8 十一、 字符串函数 8
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、C语言中表达式的合法性,自加自减运算、结构化程序设计中的三种基本结构。
C语言中表达式的合法性即符合C语法规则。
自加自减运算:作用是使变量的值增1货减1,例如++i,--i(在使用i之前,先使用i的值加(减)1)i++,i--(在使用i之后,使i的值加(减)1)自增(减)运算符常用于循环语句中,使循环变量自动加1;也用于指针变量,使指针指向下一个地址。
结构化程序设计的三种基本结构:顺序结构,选择结构和循环结构.2、C语言结构化程序设计的思想和方法原则。
基本思想是采用自顶向下,逐步求精,模块化和单入口/出口的控制结构.设计方法遵循3个原则:(1)自顶向下逐步求精.(2)模块化设计.(3)使用3种基本控制结构.3、C语言中标识符的定义规则。
(1)标识符由字母,数字和下划线组成.(2)必须以字母或下划线开头,不能以数字开头.(3)严格区分大小写,不允许用空格,不允许用C语言的关键字.(4)在Turbo C中,变量名的有效长度小于32个字符,通常为8个字符.4、C语言的指针有哪些运算?使用指针编程的优点是什么?指针一些常用的说明形式。
&&运算:赋值运算和加减运算及关系运算.优点:(1)提高程序的编译效率和执行速度.(2)通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通信.(3)可以实现动态的存储分配.(4)便于表示各种数据结构,编写高质量的程序.指针一些常用的说明形式:int*x指针整型的指针变量int*x[n]整型指针数组,x是一个数组,而这个数组的n个元素均为指针,每个指针都指向一个整型数据int*x[m][n]二维指针数组。
每个元素都是一个指向整型的指针int(*x)[n]整型数组的指针,x指向一个数组,而数组元素为整型int(*x)[][5]指向二维整型数组的指针。
x是一个行指针,它的每个元素各指向一个有n 个元素的一维整型数组int*x()指针函数,x是一个函数,其返回值为一个指向这些的指针int(*x)()函数指针,x是一个指针,它指向一个函数,此函数的类型为整型5、整型变量与字符型变量是否在任何情况下都可以互相替代?不是。
字符型转换成整型基本没什么问题,但反过来就可能会出问题了。
因为在C语言中,整型一般是两个字节(int型两个,long型4个,short int型一个),字符型为一个字节(无符号的为两个),一个字节转两个没问题,两个转一个就可能出现溢出问题。
比如char a=255,就会溢出,因为a表达的范围只是-128~127。
6、多分支if-else-if语句的使用;if语句的嵌套的用法。
if-else-if语句if语句嵌套if(表达式1)if(表达式)语句1;if语句;else if(表达式2)或语句2;if(表达式)else if(表达式3)if语句;语句3;else。
if语句;。
还有。
if(表达式1)else if(表达式m)if(表达式2)语句m;语句1;else else语句n;语句2;(else总是与它前面最近的if配对)7、C程序中的三种循环结构,while语句、do-while语句、for语句的使用,熟悉它们之间的区别。
for语句灵活简练,适用于循环次数确定的场合;while语句和do-while语句适用于循环/结束控制条件给出但循环次数不确定的场合。
8、一维数组的定义与初始化方法,一维数组元素的引用方法;二维数组的应用,如矩阵的运算:矩阵相加/减、矩阵相乘、矩阵转置等。
一维数组定义的格式为:类型说明符数组名[数组长度];例如:int score[50];一维数组初始化:类型说明符数组名[数组长度]={值,值,。
值};注:初值的个数小于等于数组的长度;依次赋值,剩余元素的值会自动置零;引用一维数组元素:数组名[下标]二维数组定义的格式为:类型说明符数组名[行数][列数];引用二维数组元素:数组名[行下标][列下标]注:数组元素的下标是从0开始的;9、strcmp、strcpy、strcat、length库函数的使用。
函数名函数类型和形参类型功能返回值strcmp int strcmp(char*str1,char*str2);比较两个字符串str1、str2str1<str2,返回负数str1=str2,返回0str1>str2,返回正数string.hstrcpy char*strcpy(char*str1,char*str2);把str2指向的字符串复制到str1中去返回str1string.hstrcat char*strcat(char*str1,char*str2);把字符串str2接到str1后面,str1最后面的‘\0‘被取消str1string.hstrlen unsigned int strlen(char*str)统计字符串str中字符的个数(不包括终止符‘\0‘)返回字符个数string.h10、函数的嵌套调用、递归调用方法,理解局部变量和全局变量、动态存储变量和静态存储变量、内部函数和外部函数的定义、区别及使用。
嵌套是语言的特性,而递归是一种思想,函数嵌套就是函数调用函数,是普遍的,递归就是函数调用自身,使函数嵌套的一个特例。
嵌套调用:main函数a函数b函数调用a函数调用b函数结束递归调用:f函数或者f1函数f2函数调用f函数调用f2函数调用f1函数局部变量也称内部变量,是指在函数内定义的变量。
局部变量的作用域仅限于本函数内,即只能在本函数内使用它们,离开该函数后再使用这种变量是非法的。
全局变量也称外部变量,它是在函数外部定义的变量。
它不属于哪一个函数,而属于一个源程序文件。
如果没有特殊说明,则其作用域是从定义变量的位置开始到本源文件结束。
静态存储变量是在程序开始执行时,就在静态存储区为其分配存储单元,并一直占用这固定的空间,直到整个程序结束,如全局变量。
动态存储变量是在其所在函数被调用时,才在动态存储区为其分配存储单元,函数调用结束立即释放。
例如,函数的形式参数。
如果一个函数只能被本文件中其他函数所调用,它称为内部函数。
在定义内部函数时,在函数名和函数类型的前面加static,即:static类型标识符函数名(形参表);例如:static int fun(int a,int b);使用内部函数,可以使函数的作用域只局限于所在文件,在不同的文件中有同名的内部函数,互不干扰。
在定义函数时,如果在函数首部的最左端加关键字extern,则表示此函数是外部函数,可供其他文件调用。
如函数首部可以写为extern int fun(int a,int b);如果在定义函数时省略extern,则隐含为外部函数。
把该函数的作用域扩展到本文件。
11、结构体、共用体类型的定义、结构体、共用体变量的声明、定义、赋值及使用;理解结构体变量、共用体变量的存储模式。
结构体类型是一种构造类型,它是由若干“成员”组成的,它可以将若干个不同数据类型的变量组合在一起。
定义一个结构的一般形式为:struct结构体名{成员表列};共用体类型是指将不同的数据项组成一个整体,它们在内存中占用同一段存储单元。
定义一个共用的一般形式为:union共用体名{成员表列};结构体变量声明定义一般形式为:struct结构体名{成员表列}变量名表列;共用体变量声明定义一般形式为:union共用体名{成员表列}变量名表列;结构体变量使用赋值:结构体变量名.成员名=sth;共用体变量使用赋值:共用体变量名.成员名=sth;结构体变量的各个成员分量在内存中占用连续存储区域,各成员分量占用内存的长度之和即为结构体变量占用内存的大小。
共用体变量分别占不同长度的存储区。
12、什么是宏定义?带参的宏与函数有和区别?&&宏定义:用一个指定的标识符(即名字)来代表一个字符串或者还要进行参数替换。
区别:(1)带参宏的参数仅是替换文本,没有类型上的任何要求;而函数的形参与实参都具有固定类型,并且必须保持一致。
(2)宏替换是在编译前进行的,宏替换前并不会计算实际参数的值,在其替换的过程中也不会发生存储空间分配的现象,更不会进行存储空间分配的现象,更不会进行是参与形参的值传递,也不存在返回值。
而函数调用是在程序执行时处理的,系统会为形式参数分配存储空间,并且在调用前计算所有实际参数的值后传递给形参。
(3)宏替换仅占用编译时间,而函数调用需要占用程序运行空间。
(4)多次使用宏替换会导致代码膨胀,而多次使用函数会导致代码收缩。
13、C语言的文件的概念、文件类型、文件指针、文件的操作顺序。
&&所谓文件是指一组存放在外部存储介质上的相关信息的集合。
文件类型从不同角度进行如下4种分类:(1)根据文件的保存内容,可分为程序文件和数据文件。
(2)根据文件的存储形式,可分为文本文件和二进制文件。
(3)根据文件是否使用缓冲区,可分为标准文件和非标准文件。
(4)根据文件的存取方式(对文件的输入输出方式称为“存取方式”),可分为顺序存取文件和直接存取文件。
在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。
定义文件指针的一般形式为:FILE*指针变量标识符;对磁盘文件操作的一般顺序是打开、处理、关闭,具体可分为四个步骤:(1)定义文件指针(2)打开文件,判断是否成功打开,若打开失败,程序退出运行状态。
【fopen()函数】(3)对文件进行读写操作。
(4)关闭文件。
【fclose()函数】在C语言中还提供了一个关闭所有打开文件的函数fcloseall(),其调用的一般形式为:n=fcloseall();其中,n为关闭文件的数目。
14、C语言变量的存储类别有哪四类?各有的特点是什么?&&包含:自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern)。
(1)auto:内存中动态存储区,本函数内有效,离开函数值就消失。
(2)static:静态局部变量:内存中动态存储区,函数内有效,离开函数值仍保留。
静态外部变量:内存中动态存储区,本文件内有效,只限本文件引用。
(3)register:CPU中的寄存器,本函数内有效,离开函数值就消失。
(4)extern:内存中静态存储区,其他文件可引用。