C语言基础知识总结大全

如题所述

C语言基础知识总结大全:

1、入门程序:

2、数据类型:

(1)基本数据类型:整型:int4个字节、字符型:char1个字节、实型(浮点型)。

(2)构造类型:枚举类型、数组类型、结构体类型、共用体类型。

3、格式化输出语句

%d:十进制整数。

%c:单个字符。

%:字符串。

%小数。

4、常量

值不发生改变的量成为常量。

定义字符常量(注意后面没有。)。

5、运算符

5.1.算数运算符:+,-,*,/,%,++,--。前++/--,先运算,再取值.后++/--,先取值,再运算。

5.2.赋值运算符:

5.3.关系运算符。

5.4.逻辑运算符。

5.5.三目运算符:

6、水仙花数计算

输出所有三位数的水仙花数字。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=111+555+333。

7、打印正三角形的。

8、臭名远扬的goto语句。

9、形参与实参

形参:形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。

实参:实参是在调用时传递该函数的参数。

函数的形参和实参具有以下特点:

形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。

在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。

10、函数返回值注意

注意:void函数中可以有执行代码块,但是不能有返回值,另void函数中如果有return语句,该语句只能起到结束函数运行的功能。其格式为:return。

11、递归。

12、变量存储类别。

12、(1)生存周期划分存储方式

C语言根据变量的生存周期来划分,可以分为静态存储方式和动态存储方式。

静态存储方式:是指在程序运行期间分配固定的存储空间的方式。静态存储区中存放了在整个程序执行过程中都存在的变量,如全局变量。

动态存储方式:是指在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储区中存放的变量是根据程序运行的需要而建立和释放的,通常包括:函数形式参数。自动变量。函数调用时的现场保护和返回地址等。

(2)存储类型划分。

C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。

用关键字auto定义的变量为自动变量,auto可以省略,auto不写则隐含定为“自动存储类别”,属于动态存储方式。

用static修饰的为静态变量,如果定义在函数内部的,称之为静态局部变量。如果定义在函数外部,称之为静态外部变量。

注意:静态局部变量属于静态存储类别,在静态存储区内分配存储单元,在程序整个运行期间都不释放。静态局部变量在编译时赋初值,即只赋初值一次。如果在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)。

为了提高效率,C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”,用关键字register作声明。

注意:只有局部自动变量和形式参数可以作为寄存器变量。一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量。局部静态变量不能定义为寄存器变量。

用extern声明的变量是外部变量,外部变量的意义是某函数可以调用在该函数之后定义的变量。

13、内部函数外部函数!

在C语言中不能被其他源文件调用的函数称为内部函数,内部函数由static关键字来定义,因此又被称为静态函数,形式为:

14、static[数据类型]函数名([参数])。

这里的static是对函数的作用范围的一个限定,限定该函数只能在其所处的源文件中使用,因此在不同文件中出现相同的函数名称的内部函数是没有问题的。

在C语言中能被其他源文件调用的函数称为外部函数,外部函数由extern关键字来定义,形式为:

extern[数据类型]函数名([参数])。

C语言规定,在没有指定函数的作用范围时,系统会默认认为是外部函数,因此当需要定义外部函数时extern也可以省略。extern可以省略。14.数组数组:一块连续的,大小固定并且里面的数据类型一致的内存空间,数组的声明:数据类型数组名称[长度n]。

数据类型数组名称[长度n]={元素1,元素2,元素3,}。

数据类型数组名称={元素1,元素2,元素3,}。

数类类型数组名称[长度n]。数组名称=元素1。数组名称=元素2。注意:1、数组的下标均以0开始。2、数组在初始化的时候,数组内元素的个数不能大于声明的数组长度。

3、如果采用第一种初始化方式,元素个数小于数组的长度时,多余的数组元素初始化为0。4、在声明数组后没有进行初始化的时候,静态(static)和外部(extern)类型的数组元素初始化元素为0,自动(auto)类型的数组的元素初始化值不确定。

15、数组遍历

数组的冒泡排序:

冒泡排序的思想:相邻元素两两比较,将较大的数字放在后面,直到将所有数字全部排序。

字符串与数组在C语言中,是没有办法直接定义子字符串数据类型的,需使用数组来定义所要的字符串,形式如下:

char字符串名称[长度]=“字符串内容”。

char字符串名称[长度]={'字符串1','字符串2','字符串n','\0'}。

注:中的长度可以省略不写。

采用第二种方式最后一个元素必须是'\0',表示结束。

第二种方式不能写中文!。输出字符串时,要使用:printf(“%s”,字符数组名)。或puts(字符数组名)。

16、字符串函数

strlen(s):获取字符串s的长度。

strcmp(s1,s2):比较字符串。比较的时候会把字符串转换成ASCII码再进行比较,返回结果为0表示s1和s2的ASCII码值相等,返回结果为1表示s1比s2的ASCII码大,返回结果为-1表示s1比s2的ACSII码小。

strcpy(s1,s2):字符串拷贝。s2会取代s1中的内容。

strcat(s1,s2)将s2拼接到s1后面。注意:s1的length要足够才可以!

atoi(s1)将字符串转为整数!

17、多维数组

数据类型数组名称[常量表达式1]...[常量表达式n]。

多维数组的初始化与一维数组的初始化类似也是分两种:

数据类型数组名称[常量表达式1][常量表达式2][常量表达式n]={{值1,值n},{值1,值n},{值1,..,值n}}。

数据类型数组名称[常量表达式1][常量表达式2]...[常量表达式n]。数组名称[下标1][下标2][下标n]=值。

多维数组初始化要注意以下事项:

采用第一种始化时数组声明必须指定列的维数。因为系统会根据数组中元素的总个数来分配空间,当知道元素总个数以及列的维数后,会直接计算出行的维数。

采用第二种初始化时数组声明必须同时指定行和列的维数。

18、多维度数组的遍历。

使用嵌套循环。

注意:多维数组的每一维下标均不能越界!

19、结构体

C数组允许定义可存储相同类型数据项的变量,结构是C编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。

结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:

Title。

Author。

Subject。

Book ID。

20、共用体。

共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。

21、指针。

22、文件读写。

23、排序算法。

十大经典排序算法(动态演示+代码)。

24、查找算法。

九种查找算法。

25、面试知识。

C语言与C++面试知识总结。

26、字符串操作。

字符串操作的全面总结。

27、C语言常用标准库解读。

C语言常用标准库解读。

28、C语言最常用的贪心算法。

C语言最常用的贪心算法就这么被攻克了。

29、常见的C语言内存错误及对策。

常见的C语言内存错误及对策。

30、C语言实现面向对象的原理。

C语言实现面向对象的原理。

31、C语言/C++内存管理。

看完这篇你还能不懂C语言/C++内存管理。

32、再谈C语言指针。

再谈指针:大佬给你拨开C指针的云雾。

C语言函数指针之回调函数。

C语言指针详解(文末有福利)。

33、C语言预处理命令。

长文详解:C语言预处理命令。

34、C语言高效编程与代码优化。

C语言高效编程与代码优化。

35、C语言结构体。

C语言之结构体就这样被攻克了!值得收藏。

36、原码,反码,补码详解。

原码,反码,补码详解。

37、C语言宏定义。

简述C语言宏定义的使用。

38、c语言之共用体union、枚举、大小端模式。

c语言之共用体union、枚举、大小端模式。

C语言可以零基础入门,它的语法是很多高级编程语言的基础,比如说Java、C++。并且起到承上启下的作用,向上可以学习高级编程语言,向下可以学习计算机组成原理、操作系统等等偏基础的计算机基础知识。

书籍。

第一本书《阿哈C语言》的写书风格个人认为比较风趣幽默,对于培养兴趣,基础学习还是很不错的。

《C程序设计语言》,机械工业出版社,作者Brian W.Kernighan/(美)Dennis M.Ritchie。C语言之父写的,入门经典书籍。

《C Primer Plus》,人民邮电出版社,作者Stephen Prata。可以作为C语言工具书,也可以作为入门,内容循序渐进,能够锻炼编程思想。

《C和指针》深入了解指针,看完以后对指针不再害怕。

《C陷阱与缺陷》正如书上所说,“本书所揭示的知识,至少能够帮助你减少C代码和初级C++代码中90%的Bug”,看完后可以避免C语言开发的一些坑。

温馨提示:答案为网友推荐,仅供参考
相似回答