C语言学习

一、C语言的基本概念与常识

 

1、所有计算机的指令与数据都是由 0、1构成

 

2、C语言是由函数组成的

 

3、C语言的入口是main函数

 

4、源码 -> 编译 -> 链接 -》运行

 

关键字:C语言提供的表示特殊含义单词

 

标示符:程序员自己为某些东西起名字

 

命名规则:

 

1、字母、数字、下划线

 

2、不能以数字开头

 

3、不能与关键字重名

 

4、严格区分大小写

 

命名规范

 

驼峰标示

 

注释:对代码解释说明,是给程序员看的,方便程序员之间的交流

 

1、注释不参与编译

 

2、 单行注释 // 多行注释

 

数据类型:按照存储时间

 

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

 

动态数据:存储在内存中的数据

 

常量:不可以改变量

 

变量:可以改变的量,变量使用来存储常量数据的

 

运算符

 

算术运算符 + - * / %

 

赋值运算符 = += -= /= *= %=

 

自增自减 --a a-- ++a a++

 

关系运算符 == != > < >= <=

 

逻辑运算符 && || !

 

三目运算符 条件表达式 ? 结果1 : 结果2;

 

二、数据类型

 

基本数据类型

 

int 、float 、double 、char

 

枚举:当某个东西只有几个固定的取值的时候,我们就使用枚举

 

定义格式 enum 枚举类型名{成员,... };

 

作用:提高代码可读性

 

构造类型

 

数组:保存相同数据类型的多个数据的集合(容器)

 

格式: 数据类型 数组名[元素格式]

 

结构体:用来保存不同数据类型的多个数据的,相同的数据类型但可以表示特定含义的也可以使用结构体

 

定义结构体类型的格式; struct 结构体类型名{ 数据类型 成员名; ... };

 

特点:先定义结构体类型再定义结构体变量

 

作用:提高代码的可读性、封装数据、然代码更有组织

 

指针类型

 

定义格式:所指向数据类型 * 指针变量名

 

*作用:

 

1、在变量定义的时候,它是一个说明符,说明定义这个变量是指针变量;

 

2、在非变量定义的时候,它是一个操作符,访问指针所指向存储空间

 

&作用:取出变量的地址

 

* 与 & 是一对反操作符

 

1、指针作为函数参数传递是地址传递

 

指向数组的指针:

 

int nums[5][10];

 

int (*array)[10] = nums;

 

指向结构体指针

 

struct Person{int age;};

 

struct Person person = {10};

 

struct Perosn *p = &person;

 

p->age;

 

指向函数指针

 

int sum(int num1,int num2) { return num1 + num2 ; }

 

int (*sumPointer)(int,int) = sum;

 

sumPointer();

 

字符串:

 

1、使用字符数组

 

char name[] = "zbz"; //栈 : 可以修改的

 

2、使用字符指针

 

char *name = "zbz"; //常量区 只读的

 

3、字符串数组

 

1、char类型的二维数组

 

char names[][10] = {"xhh","xff","xmf"};//栈

 

2、char类型指针数组

 

char *names[] ={"xhh","xff","xmf"};// 常量区

 

总结:所有的数据类型都可以定义变量

 

所有数据类型都可以作为函数参数

 

所有数据类型都可以作为函数的返回值

 

三、流程控制

 

顺序结构:按照从上到下顺序执行

 

分支结构(选择结构):就相当于岔路口,根据不同条件指向不同代码

 

if语句:当条件满足的时候,执行if后面大括号中语句

 

1、if都是以if开头

 

2、if语句最多只有一个else

 

3、if语句可以有任意个else if

 

4、if语句最多只有一个代码会被执行

 

switch语句

 

1、只支持整形数据

 

2、如果表达式中值与case中的常量相等就执行这个case中语句

 

3、只有遇到break和 } 才会结束

 

4、只要匹配上一个case那么后面的case都失效了

 

循环结构体:只要条件满足就指向循环体中的语句,直到条件不再满足为止

 

while循环:当while后条件表达满足就指向循环体

 

do while: 循环体中的代码至少会执行一次

 

for循环:

 

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

 

{

 

语句;

 

....

 

}

 

初始化表达式:在整个循环中仅执行一次

 

条件表达式:在每一次循环前都会判断条件表达式是否满足,如果满足就执行循环体中代码

 

否则就退出循环

 

操作后表达式:在没有循环结束的时候都可以循环后操作表达式

 

continue:

 

只能用循环结构中,跳过本次循环中,continue后语句,进入下一次条件判断

 

break:

 

用在switch中,他是用结束switch语句的

 

用在循环结构中,结束当前循环语句的

 

四、 函数:完成特定功能代码段

 

函数定义的格式:

 

形参列表

 

返回值类型 函数名称(形参类型 形参名称...)

 

{

 

语句;

 

...

 

}

 

写一个函数步骤:

 

1、确定函数功能,给函数起一个有意义名字

 

2、确定形参列表(完成该功能是否需要外界传入一些补助值)

 

3、确定返回值类型(完成该功能是否需要返回数据给调用者)

 

4、写函数体,完成函数功能

 

如果我们要在前面的函数中访问后面的函数,需要对函数进行声明

 

多文件开发

 

.h 中写函数的声明

 

.c 写函数的实现(定义)

 

注意点:

 

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

 

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

 

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

 

4、结构体作为函数参数传递是值传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值