c语言基础总结1

本文详细介绍了C语言的基础知识,包括字节与比特的关系,变量的局部与全局作用域,常量的定义方式,字符串的特性,以及各种操作符的使用,如算术、位、赋值等。还涵盖了注释、函数、数组、指针、结构体等核心概念。特别强调了static关键字的作用,以及#define用于定义常量和宏的方法。
摘要由CSDN通过智能技术生成

1个字节(byte)=8个比特(bit)

变量:
局部变量: {}中的变量
全局变量: {}外的变量

生命周期:
局部变量:进入作用域生命周期开始,出作用域生命周期结束
全局变量:整个程序的生命周期

常量:
字面常量:
const修饰的常变量:定义不能被改变的变量 (如创建数组时 数组大小需要为一个常量 但使用const不能完成)
#define定义的标识符常量:
枚举常量: 定义枚举常量然后使用

字符串:
由“”引起来的一串字符,字符串的结束标准是\0的转义字符,计算字符串长度(strlen())时\0为结束,不算做字符串内容(不计算在长度内)
而sizeof()计算的是所占空间的大小

转义字符:
在这里插入图片描述

 使用\
 \ddd   1-3个八进制的数字 如\327
 \xdd   2个十六进制的数字 如\x6A

注释:
//和/* */

函数:
使用前要先声明

数组:
一组相同类型的元素的集合

操作符:
算术操作符:+ - * / %
移位操作符:>> <<(本质是移动的是二进制位)
位操作符:& ^ |(按位与、异或、或)
赋值操作符:= += -= *= /= ^= >>= <<=
单目操作符:
!逻辑反操作(只关注真假 0与非0)
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(计算的是变量所占的内存空间 以字节为单位)
~ 对一个数的二级制按位取反(整数在内存中存储的是二进制表示的补码)
– 前置或后置–
++ 前置或后置++
*间接访问操作符(解引用操作符)
(类型)强制类型转换
关系操作符: > >= < <= != ==
逻辑操作符: && 逻辑与 || 逻辑或 (结果为真或假)
条件操作符(三目操作符): exp1 ? exp2 :exp3 (1为真,执行2;1为假,执行3)
逗号表达式:exp1,exp2,exp3,… (从左向右依次计算,但整个表达式的结果是最后一个表达式的结果)
下标引用、函数调用和结构成员:
[] () . ->

常见关键字:
auto(c语言中局部变量就是自动变量 一般省略) break case char const continue default do double else enum extern(使用extern声明一下来自外部的变量、函数 即可使用) float for goto(不建议使用) if int long register(寄存器关键字 可以建议把变量的值放入寄存器中) return short signed(有符号的) sizeof static(静态的) struct switch typedef(类型定义) union(联合体/共用体) unsigned void(空类型) volatile while
static:
用static修饰局部变量,其生命周期变为和整个程序一样长,即在出其作用域时不会被销毁,其作用域并不会改变
用static修饰全局变量,改变了全局变量的作用域,其只能在自己所在的源文件中使用
用static修饰函数,同样改变了其作用域,其只能在自己所在的源文件中使用
static修饰的变量可以被修改,因为只要是变量就可以被修改,而且它会保持最新的值

#define定义常量和宏:
#define MAX 100;//常量
#define ADD(X,Y) ((X)+(Y)) ;//宏

指针:
32位电脑有32根物理电线,可以产生电信号并转换为数字信号,即可以产生512MB的内存地址,一个内存单元大小是一个字节(byte),每个内存单元都有一个编号
创建一个int变量a,要向内存申请4个字节的空间,可以用&(取地址操作符)得到变量a的地址
要存放地址,就要创建一个指针变量,一个地址的大小是4个字节(32位),即指针变量的大小也是4个字节(64位则为8个字节)
即:指针变量就是用来存放地址的
如 int * p=&a;//int表明p指向的是整型 *表明p是指针变量
在指针眼里,什么都是地址
*p=11;// *是解引用操作符 则是给a赋值为11

结构体:
结构体使得c有能力描述复杂类型
. 结构体对象.结构体成员 -> 结构体指针->结构体成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值