码迷,mamicode.com
首页 > 编程语言 > 详细

C语言大总结

时间:2017-08-05 21:12:35      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:拷贝   垃圾   break   ase   include指令   流程   区分   nbsp   野指针   

C语言大总结

 

一。

C语言基本常识

         1、语言由函数组成

         2、main是程序入口

         3、C语言中不能出现中文或中文字符 (凝视和字符串除外)

         keyword : C语言提供表示特殊含义的单词

                  特点 : 1、 所有小写 2、在Xcode中是紫褐色

         标识符 : 程序猿自己在代码中为某些东西起的名字

                  规则 : 1、字母、数字、下划线组成

                               2、严格区分大写和小写

                               3、不能以数字开头

                               4、不能与keyword重名

                  规范:驼峰标识

         凝视:对代码的解释说明,它是程序猿看的,它不參与编译

                  单行凝视 和 多行凝视

                  多行凝视能够嵌套单行凝视,但多行凝视不能嵌套多行凝视

         数据:存储时长:静态数据:存储在硬盘上的数据

                                       动态数据:内存中的数据

         常量:不能够改变的量

         变量:能够改变的量

 

二。数据类型

         1、基本数据类型

                  int             4字节       %d  %i

                  float           4字节       %f

                  double      8字节        %lf

                  char           1字节       %c

                  枚举:枚举的本质是整型(enum)

                  场合:当某个东西仅仅有几个固定取值的时候

                  特点:先定义枚举类型,依据枚举类型定义枚举变量

         2、构造类型

                  数组:用来从年初同样数据类型的多个数据的集合

                           定义:数据类型  数组名称 [元素个数]

                           遍历:把全部的元素都拿出来看一下(循环)

                  结构体:多个数据放在一起能够表示特定的含义组成结构体

                           特点:先定义结构体类型。然后定义结构体变量

                           结构体与函数:如同基本数据类型与函数的关系

 

三、指针:指针就是地址

                  指针变量:用来存放地址的变量

                           1、指针仅仅有初始化了才干够訪问它所指向的存储空间

                           2、假设一个指针没有初始化,它里面是垃圾值,称为野指针。

                           3、不能直接赋值一个整形数

                  基本数据类型的指针: 指向基本数据类型的指针

                           格式:数据类型 * 指针变量名称;

                  结构体的指针: 指向结构体类型的指针

                           格式 结构体类型 * 指针变量名称。

                           訪问其所指向的结构体成员方式

                           (*指针变量名称).成员名称

                           指针变量名称->成员名称

                  数组指针: 指向数组的指针

                           格式: 所指向的数组的数据类型 (*指针变量名称)[所指向的数组的元素个数]

                           这样的指针与二位数组名是等价的

                  函数指针: 指向函数的指针

                           格式: 所指向函数的返回值类型(*指针变量名称)[所指向函数的形參列表]

                  通过函数指针调用函数

                  (*指针变量名称)(实參列表)

                  指针变量名称(实參列表)

 

四、运算符

         1、算数运算符

                  + - *  / %

         2、赋值运算符

                  = += -= *= /= %=

         3、自增自减运算符

                  ++a , a++

                  --a , a--

         4、sizeof运算符:用来计算变量、常量、数据类型所占用存储空间的字节数

                  sizeof(常量) sizeof常量

                  sizeof(变量) sizeof变量

                  sizeof(数据类型)

         5、逗号运算符

                  1、运算顺序是从左到右

                  2、逗号表达式的运算结构为最后一个表达式的值

         6、关系运算符

                  ==  != > < >= <=

         7、逻辑运算符

                  &&            ||                !

         8、三目运算符

                  条件表达式  ?  结果1  :  结果2

         优先级:一般优先级越高越先进行计算

         结合方向:当优先级同样时,计算方向(从左到右,从右往左)

 

五、  流程控制:控制程序的运行流程

         顺序结构:依照从上到下的顺序运行

         分支结构:相当于岔路口。当条件满足的时候就运行某段代码

                  if 语句:

                           1.if 必须以if 开头

                           2.if 能够有多个else if

                           3.if 语句最多有一个else

                           4.if 语句中对多仅仅有一个代码块会被运行

                           5.假设有 else 那么必定有一个代码块会被运行

                  switch 语句: 当变量与否个常量相等时运行这个常量所相应代码块中的语句

                           格式: switch(变量){

                                    case 常量:

                                             …...

                                             break;

                                    case 常量:

                                             …...

                                             break;

                                    default:

                                             ……

                                             break;

                           }

                           注意点:1、仅支持整型数

                                         2、case 后面仅仅能是常量或常量表达式

                                         3、case 后面的常量的值不能同样

                                         4、结束条件  遇到break 或  "}"

         循环结构:当条件满足就会一直运行循环体中的代码。直到条件不再满足为止

                  while 语句:当条件满足的时候就运行while后面大括号里的语句

                  do while:循环体中代码至少运行一次

                  for语句:

                           for (初始化表达式;条件表达式;循环后操作表达式)

                           {       

                                    语句;

                                    …..    

                           }

                  break:1、在switch语句中用来结束switch语句

                               2、用在循环结构中。用结束当前的循环语句

                  continue

                               3、仅仅能用在循环结构中,跳过本次循环体重continue后面的语句,进入下一个条件推断

        

六、函数 : 完毕特定功能的代码段

                  定义格式:返回值类型 函数名称 (形參列表)

                  {

                           语句;

                           ….

                  }

                  函数声明:告诉编译器该函数已经存在了

                                    函数的声明能够有多个。定义仅仅能有一个

 

         函数參数:

                  1、基本数据类型作为函数參数传递是值传递

                  2、数组作为函数參数传递是地址传递

                  3、指针作为函数參数传递是地址传递

                  4、结构体作为函数參数传递与基本数据类型一致

         函数返回值:函数完毕功能后要返回给主调函数中的数据

 

                  1、返回值的类型必须与返回值的类型一致

                  2、一个函数仅仅能有一个返回值

         return 作用:返回值给主调函数

                                结束函数

 

七、预处理指令:在编译之前须要进行解析处理的指令

         1、宏定义:

                  不带參数的宏定义:在编译之前,使用宏名后面值,替换代码中全部出现宏名标识的地方

                  带參数的宏定义:把參数带入宏名表达式中,然后替换宏调用的地方

         2、条件编译:在编译的时候。当条件满足时就编译某段代码

                  #if开头  #elif  #else  #endif结尾 

                  #ifdef  #endif

                  #ifndef  #endif

         3、文件包括:

                  #include 拷贝所包括的文件内容到#include指令所在地方

                  #include  " "  包括自己的文件

                  #include   <  >  包括系统的头文件

 

         进制:

                  十进制

                  二进制 0b 或0B

                  八进制 0                               %o 或 %0

                  十六进制 0x 或0X              %x 或 %X

                  位运算

                  &  |  ^  ~  >>  <<

  

 

 

 

 

 

 

C语言大总结

标签:拷贝   垃圾   break   ase   include指令   流程   区分   nbsp   野指针   

原文地址:http://www.cnblogs.com/cynchanpin/p/7291286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!