首页 > 编程知识 正文

c语言内容总结,有干货的个人总结

时间:2023-05-05 13:21:12 阅读:152546 作者:39

C语言是现代人学习和生活中必备的基础知识,应用十分广泛,现将c语言的基础知识整理总结如下。 C语言零基础入门绝不是天方夜谭。

算法结构:

一、顺序结构、选择结构、循环结构; 二、循环结构又分为while型、until型、for循环结构; 程序流程图;

结构化编程方法:

)1)自上而下)2)逐步细化)3)模块化设计; )4)结构化代码。

数据类型:

常数:常数包括文字常数、直接常数和符号常数。

变量:在c语言中,标记必须仅包含三种类型的字符:字符、数字和下划线,第一个字符必须是字符或下划线。 压迫必须先定义再使用; 定义了每个变量并确定了类型后,就可以在编译时分配合适的存储单元。

整数类型:整数常量包括十进制、八进制和十六进制。 “%d”

整形变量:存储器存储数据的形式以二进制形式存储; 有int型、short int型、long int型,无符号整数变量的范围为-32768—32767,有符号型为0~65535。 通常,将long定义为32位,short定义为16位,int定义为32位或16位,这主要依赖于机器的字长。

实数常数的表示方法: (1)十进制,0.0; )2)指数格式,123e3

实数型变量:实数型数据存储在存储器中的格式。 内存通常占用4个字节,分为整数部分和小数部分进行存储。 实变量有float型、double型、long double型。 实际数据中有舍入误差。

实数型常数的类型: c编译系统将实数型常数作为双精度处理。

字符类型数组:(一)字符常量(转义字符(n——换行符、t——制表符、r——换行符、f——分页符、b——转义字符、ddd——1到3位八进制数表示

(二) (文字变量)文字数据的存储形式实际上用ASCII码存储。 “%c”

字符串常量:用双撇号括起来的一系列字符串。

的运算符包括:

1、算术运算符(-*/)的联接方向为从左到右

2、关系运算符(==''==!=' '

3、逻辑运算符(! ||

4、位运算符(~ | ^ ) ) ) ) ) )。

5、赋值运算符(=及符号扩展赋值运算符) ) ) ) ) )。

6、条件运算符(? )

7、逗号运算符(,)。

8、指针运算符(* )。

9、求字节运算符(sizeof )

10、强制类型转换运算符() (类型) ) ) ) ) )。

11、分量运算符(.- )。

12、下标运算符([] ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

十三、其他

控制语句:

完成一定的控制功能。

1、if(else

2、for () ) ~

3、while () ~

4、do~while () )

5、continue

6、布莱克

7、开关

8、goto

9、返回

字符数据输入输出:

1、putchar (输入字符变量

2、getchar ) )只能接受一个字符

格式输入输出:

1、printf(%d )整数,%c )字符类型,%ld、%md、%o、%u、%s、%-m.nf、%e、%g ) )

2、scanf (格式控制、地址列表)。

数组

一维数组的定义:类型说明符数组名【恒等式】; 定义后引用; 在初始化一维阵列时,仅初始化部分元素,且在初始化所有阵列元素时,可以设置预定长度; 但是,如果定义的数组长度与给定的初始值不同,则不能省略数组长度。

二维数组的定义:类型说明符数组名【常量表达式】【常量表达式】用c语言存储二维数组的是第一行的元素、下一行的元素,但实际上是一维存储。 如果在初始化时可以指定所有元素的初始值,则可以省略第1维的大小,但不能省略第2维。

字符数组:定义和初始化与数组相同,但需要单引号。 字符和字符串的结束标志。 在c语言中,用“ 0”表示。

字符串处理函数:

1、puts (将字符串输出到终端

2、gets ) )从终端将字符串输入字符数组,得到函数值。

3、strcat ) )链接两个字符数组中的字符串。

4,strcpy ) )字符串复制函数。

5、strcmp ) )比较字符串的作用。

6、strlen ()测试字符串长度的函数不包含“”

7、strlwr ) )将字符串的大写字符转换为小写字符。

8、strupr ) )将字符串中的小写字符转换为大写字符。

函数

)一个源程序由多个函数构成。

)2) c程序的执行从main )函数开始;

)3)所有函数都是平行的

(4)可以划分为函数的分类标准和自定义,也可以划分为有参数函数和无参数函数。

函数定义的一般格式:

(1)类型标记函数名称) )。

{

声明的一部分

语句

}

)2)类型标记函数名称(格式参数列表) ) )。

{

声明的一部分

br> 语句
}

关于形参和实参的说明:

(1) 在定义函数中指定的形参,在未出现函数调用时,他们并不占用内存中的存储单元,只有发生调用时,才会分配内存。
(2) 实参可以是常量、变量或者表达式;有时传递的时地址;
(3) 在被定义中,形参必须指定类型;
(4) 实参与形参的类型应相同或赋值兼容;
(5) C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只有实参传递给形参,而不能由形参传递给实参。

函数的返回值:

希望通过函数调用使主调函数得到一个确定的值。
(1)函数的返回值是通过函数中的return语句获取的。
(2)函数值的类型;
(3)如果函数值的类型和return语句中表达式的值不一样,则以函数类型为准。
(4)如果调用函数中没有return语句,并不带回一个确定的用户需要的值,函数不是不带回值,而只是不带回有用的值,带回一个不确定的值。
(5)如不需要带回任何值,用void。

函数的调用:

调用方式1、函数语句;2、函数表达式;3、函数参数。

被调用的函数的声明:

一个函数调用另一个函数所具备的条件:

1、首先被调用的函数必须是已经存在的函数;
2、如果使用库函数,一般应该在本文件开头用#include命令将调用有关库函数时在所需要用到的信息“包含”到本文件中。.h文件是头文件所用的后缀。
3、如果使用用户自己定义的函数,而且该函数与使用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数做声明。
4、如果被调用的函数定义出现在主调函数之前可以不必声明。
5、如果已在所有函数定义之前,在函数的外部已做了函数声明,则在各个主调函数中不必多所调用的函数在做声明。

局部变量和全局变量:

(一)局部变量在一个函数内部定义的变量是内部变量,它只是在本函数范围内的有效,主函数也不能使用其它函数中定义的变量;不同函数中可以使用相同的名字的变量,他们代表不同的对象,互不干扰;形式参数也是局部变量;在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效,这种复合句也可以称为“分程序”或“程序块”;

(二)全局变量,在函数之外定义的变量称为外部变量,全局变量可以增加函数间数据联系的渠道,一般不再必要时不要使用,他在程序的全部执行过程中占用存储单元,是函数的通用性,使用全局变量会使程序的清晰性降低。还要注意若果同一源文件中,外部变量和局部变量同名,则在局部变量作用范围内,外部变量被“屏蔽”,不起任何作用。

———————————————————————————————————————--------------------------------------------------------------------------

变量的存储类别:

(变量值存储时间)动态存储方式,在程序运行期间进行分动态的分配存储空间的方式,静态存储方式是指在程序运行期间分配固定的存储空间的方式;存储空间分为程序区、静态存储区和动态存储区;全局变量全部放在静态存储区中,程序开始时分配空间,完毕时释放;动态存储区中存放以下数据:

1、函数形式参数;

2、自动变量;

3、函数调用时的现场保护和返回地址;在C语言中每个变量和函数都有两个属性,是数据类型和数据存储类型,存储类别是数据在内存中存储的方式。

存储方式分为静态和动态存储类,具体包含有四种:自动的(auto),静态的(static),寄存器的(register),外部的(extern),如果不加以声明,就自认为是auto型就会自动分配存储空间属于动态存储方式。

Static声明局部变量是在函数调用结束后不消失而保留原值,即占用存储单元不释放,在下一次调用该函数时,该变量已有值,就是上次函数调用结束时的值。其中需要说明的是在定义局部变量不赋初值的话,则静态局部变量编译时自动赋值为0或者空字符,虽然静态局部变量在函数调用结束后仍然存在,但是其他函数不能引用它的。静态局部变量主要用在当初始化后,变量只是被引用而不改变其值。

Register变量是C语言中允许将局部变量的值放在CPU中的寄存器中需要时直接从寄存器中取出来参加运算,不必再到内存中提取,但是计算机系统中寄存器数量有限,不能任意定义任意多的存储器,局部静态变量不能定义为寄存器变量。

Extern声明外部变量,用以扩展外部变量的作用域。在一个文件中,如果定义之前的函数想引用该外部变量,则应该在引用之前用关键字extern对该变量做外部变量声明。在多文件中,也可以采用extern声明的办法进行外部变量声明。有时希望某些局部变量只限于被本文件引用,而不能被其他文件引用,这时就可以采用在定义外部变量时外加一个static,这在程序模块化设计中加强了通用性。

Static来声明一个变量的作用有二个,一个是在声明对局部变量时。则为该变量分配的空间在整个程序执行期间始终存在;一个是在对全局变量声明中,该变量的作用域仅限于本文件模块操作。

注意:这些方法同样适用于函数的声明
参考文本
学习视频资料:http://www.makeru.com.cn/live/1392_1164.html?s=143793

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。