C语言之

C程序结构

  1. 预处理器指令
  2. 函数
  3. 变量
  4. 语句&表达式
  5. 注释

C的令牌

  • C程序是由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值、或者一个符号。

C数据类型

序号类型与描述
1基本类型:整数类型和浮点类型
2枚举类型:被用来定义在程序中只能赋予其一定的离散整数值的变量
3void类型:表明没有可用的值
4派生类型:包括指针类型、数组类型、结构类型、共用体类型和函数类型

C存储类

存储类定义变量/函数的范围(可见性)和生命周期。这些说明符放置在他们所修饰的类型之前,下面列出C语言中可用的存储类:

auto所有局部变量默认的存储类,只用在函数内,只能修饰局部变量
register

用于定义存储在寄存器中(需快速访问的变量)而不是RAM中的局部变量,因此变量最大尺寸等于寄存器大小,且不能对它应用一元“&”运算符(因为它没有内存位置)。需注意,“register”变量仅可能存在寄存器中,取决于硬件和实现的限制。

static

使用static修饰局部变量可以在函数调用之间保持局部变量的值

使用static修饰全局变量,会使作用域限制在声明它的文件中

static用在类数据成员上时,仅有一个该成员的副本被类的所有对象共享

extern

用来在另一个文件中声明一个全局变量或函数,通常用于多个文件共享相同的全局变量或函数

当使用“extern”时,对于无法初始化的变量,会把变量名指向一个之前定义过的存储位置。

C运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。

算术运算符+、-、*、/、%、++、--
关系运算符==、!=、>、<、>=、<=
逻辑运算符&&、||、!
位运算符

 

&、|、^(异或)、~(取反)、<<(左移)、>>(右移)

赋值运算符=、+=、-=、/=、%=、<<=、>>=、&=、^=、|=
杂项运算符sizeof()、&(&a,返回变量地址)、*(*a,指向变量)、?:(条件表达式)
运算符优先级后缀》一元》乘除》加减》移位》关系》相等》位与AND》位异或XOR》位或OR》逻辑与AND》逻辑或OR》条件》赋值》逗号

C判断

语句或运算符描述
if语句一个if语句由一个布尔表达式后跟一个或多个语句组成
if...else语句一个if语句后可跟一个可选的else语句,else语句在布尔表达式为假时执行
嵌套if语句可以在if或else if语句中使用另一个if或else if语句。
switch语句一个switch语句允许测试一个变量等于多个值时的情况
嵌套switch语句可以在一个switch语句中使用另一个switch语句
?:运算符Exp1?Exp2:Exp3,如果Exp1为真,则执行Exp2,否则,执行Exp3

C循环

循环类型描述
while循环当给定条件为真时,重复语句或与剧组,它会在执行循环主体之前测试条件
for循环多次执行一个语句序列,简化管理循环变量的代码
do...while循环除了是在循环主体结尾测试条件外,其他与while语句类似
嵌套循环在while、for或do...while循环内使用一个或多个循环
控制语句描述
break语句终止loop或switch语句,程序流将继续执行紧接着loop或switch的下一条语句
continue语句引起循环跳过主体的剩余部分,立即重新开始测试条件
goto语句将控制转移到被标记的语句,不建议在程序中使用goto语句

注意:for( ; ; ); 表示无限循环,ctrl +c 终止无限循环。

C函数

函数声明告诉编译器函数的名称、返回类型和参数

函数定义提供了函数的实际主体

传参方式

调用类型描述
传值调用该方法把参数的实际值值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数
引用调用该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。

C作用域规则

变量类型描述
局部变量在函数或块的内部声明的变量称为局部变量。它们只能被该函数或代码块内部的语句使用,局部变量在函数外部不可知。
全局变量全局变量是定义在函数外部,通常是在程序的顶部,全局变量在整个程序生命周期内都有效,在任意函数内部都能访问,但在函数内部,局部变量的值会覆盖相同名称的全局变量的值。
形式参数函数的参数,形式参数,被当做该函数内的局部变量,会优先覆盖全局变量。

C数组

数组是由连续内存位置组成,由低到高。声明数组需指定元素类型和数量。

概念描述
传递数组给函数C支持多维数组,多维数组最简单的形式是二维数组
传递数组给函数通过指定不带索引的数组名称来给函数传递一个指向数组的指针
从函数返回数组C允许从函数返回数组
指向数组的指针通过指定不带索引的数组名称来生成一个指向数组中第一个元素的指针

C指针

指针是一个变量,其值为另一个变量的地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值