首页 > 代码库 > C语言总结

C语言总结

十一天课的总结(只为总结,详细请看前面的)

一、顺序结构

从上往下依次执行的代码结构

计算机执行程序时,都是编译成二进制文件,计算机中又分为

二进制:例如  101001001就是一个二进制数字

八进制:例如  023767是一个八进制数字,前面的0代表这是一个八进制数字

十进制:10,33,22是十进制数字

十六进制:0x28AD代表一个十六进制的数字,0x代表这是个十六进制的数字

运算符:

int  a = 10,b = 20;

算术运算符

+ :加法运算示例:a  + b = 20

-  :减法运算   a -  b = -10

*  :乘法运算   a  *  b = 200

/   :  除法运算   a / b = 0(整数除法结果取整数部分,小数点后面的都不要)

  任何数除10相当于去掉个位

% :  取余运算   a % b = 10


比较运算符(为布尔类型)

>  :比较是否大于                      a  >  b    false

<  :比较是否小于     a < b      true

== :比较是否等于    a == b   false

>= :大于等于    a >=  b   false

<= :小于等于    a < = b     false

%= :取余等于    

!=  :不等于


逻辑运算符(布尔类型)

&&:并且条件1 && 条件2  同时满足条件1和2时,结果才为真(一架既假,两真才真)

 | | :或者条件1  | |  条件2 满足一个条件结果就为真(一真既真,两假才假)

 ! :非条件  ! 将条件的布尔值取反

常量、变量、表达式

常量:在程序中不能改变

变量:在程序中可以改变

表达式:由常量、变量、运算符结合而成的式子

二、选择结构

有选择的执行代码

if (条件表达式){

语句

}


if (条件表达式1){

语句1

}else if(条件表达式2){

语句2

}. . . 


switch(){

case1:{

语句1;

break;

}

case2:{

语句2;

break;

}

. . .

default:{

语句;

break;

}

}

三、循环结构

当满足循环条件时,反复执行某一段代码(循环体)的结构

for 循环

for(条件变量初始化;条件表达式;条件变量增量){

语句(循环体)

}

while 循环

条件变量初始值;

while(条件表达式){

语句(循环体);

条件变量增量;

}

do . . .while 循环(基本不使用)

do(语句(循环体)){

条件变量增量

}while (条件表达式)

四、数组、结构体

一位数组、二维数组、多维数组、字符数组、字符串数组

必须是相同数据类型元素组成

二维数组排序(冒泡排序)

int arr[ 5 ] = {2, 6, 3, 7, 5};/ / count 是数组的大小

for (int  i = 0; i < count - 1; i++){

for(int  j = 0; j < count - 1 - i; j++){

if (arr[ j ] > arr[ j + 1 ]){

int  temp = arr[ j ];

arr[ j ] = arr[ j + 1 ];

arr[ j + 1 ] = temp;

}

}

}

结构体:可以存放多个类型元素

struct  student {

结构体变量1;

结构体变量2;

. . .

};

一般我们定义结构体时,直接用typedef给结构体重新定义一个新名字

typedef  struct {

结构体变量1;

结构体变量2;

. . .

} Student; / / 给结构体起一个新名字Student

另外define(宏定义)、enum(枚举)也是结构体

结构体数组:存放结构体变量的

示例:

typedef   struct  {

char  name[20];

int  age;

float  score;

} Student;

Student  stu1 = {" xiaoming ", 20, 80};

Student  stu2 = {" xiaohong ", 19, 90};

Student  stu[ ] = {stu1,  stuff};

printf("%s %d %.2f",stu[1].name, stu[1].age, stu[1].score) / /打印数组元素时,需要在后面加上( . 变量名)

五、函数(详细请看函数那一篇)

实现某一功能的代码块的封装

例如:格式化的输入、输出函数

printf(" ")输出函数

scanf(" ", &变量名)输入函数

像这类由系统提供的函数称为系统函数,由编译者本身自己编写的函数称为自定义函数

例如:

int  sum (int  a,int  b){

return   a + b;

}

这是一个自定义的求和的函数

函数分为:

无参数无返回值:   void  a(){

printf(" hello ");

}

无参数有返回值:int  b(){

return  3;

}

有参数无返回值:void  c(int  x){

printf(" hui  zi ");

}

有参数有返回值:int   d (int  y){

return  y;

}

函数的编写步骤:

1:函数的声明

2:函数的编写

3:函数的调用

六、指针(详细内容请看前两篇)

指针就是地址,指向某个变量地址

函数指针、指针函数

函数指针是一个指针,指向一个函数

指针函数是一个函数,返回值是一个指针

结构体指针

指向结构体的指针

七、动态内存的划分(详细内容请看前两篇)

栈区:内存地址最高,声明的变量之类的都在这,先进后出,不能自动释放

堆区:内存空间最大的,需要手动申请、手动释放

全局区(静态区):存放全局变量,在任何变量前面加static,该变量就会放入全局区

常量区:存放常量

代码区:代码编译产生的CPU指令存放的区域

C语言总结