冲刺蓝桥杯
明年打算冲刺一下蓝桥杯,现在开始准备三个月看看能什么效果!!加油吧,小伙子!!
1.什么是c语言语句
分隔符 ; 机器指令
五大类语句 表达式语句 函数调用 控制语句(7种) 复合语句 空语句
预处理指令不是语句
变量的声明和定义有什么区别
声明:分配地址 不分配空间
定义:分配地址 分配空间
关键字
print 是个标准库函数不是关键字
sizeof 不是函数 而是操作符
include 和 define 是预处理指令
哪些是合法的定义变量的
int float称为保留字
标识符的定义:取的名字
让电脑的蜂鸣器发出声音
printf /7
调用beep 直接调用汇编直接操作
编程规范的理解 和 认识
- 可行性
- 可读性
- 可移植性
- 可测试性
函数变量命名的规则
bool int float 与 0 值 进行比较的语句
数据类型
- 基本数据类型
- 构造数据类型
- 指针类型
- void类型
8 16 10 进制的转换
- 八进制整常数 必须以0开头
- 十六进制 必须 0x开头
- 十进制整常数,没有前缀
例如:25十进制值是25,025八进制值25,十进制值是21.
不合法的整形常数
类型转换
类型转换时向表达能力更强的地方进行转换,char-short-int-long-double-long double
+=会默认执行类型转化
char x[]={“abcd”} char y[]={‘x’,’x’,’x’,’x’}
两者有本质的区别
字符:”括起来的一个字符代表一个整数
字符串:代表一个指向无名数组起始地址的指针
区别就是一个【 \0 】结束符
‘a’!=”a”
运算符
分类方式1:
- 赋值运算符
- 算数运算符
- 逻辑运算符
- 位运算符
- 指针运算符
- 取成员运算符
分类方式2:
- 单目运算符
- 双目运算符
- 三目运算符
分析代码 前增量 后增量问题
int a=10; //初始化a=10
b=a++; //b=10 a=a+1 a=11
c=++a; // a=a+1 a= 12 c=12
d=10 * a++; a先*10 赋值给d d=120 a=a+1 a=13
运算符的优先级问题
- 单目运算 优先于双目 三目
- 赋值运算优先级特别低
- 位逻辑优先于代数逻辑
- 比较运算的优先级高于逻辑运算
位运算符 &&与& ||与| 有什么区别
- &对操作数进行求值运算,&&只是判断逻辑关系。
- &&在判断左侧操作数就能确定结果的情况下 就不在对右侧进行求值。
什么时左值 右值
左值:存储在某内存地址当中的数据,也称为变量的数据
右值:存储数据值的那块内存的地址,变量的地址的值
数据类型的长度 运算符sizeof
sizeof 返回一个数据类型的长度 是一个操作符 编译时 就可以计算出结果
strlen 返回一个字符串的长度 是一个库函数 运行时才能计算出来
结构体
结构体时是构造数据类型的数据
构造数据类型:数组类型结构体类型 联合类型
结构体可以直接赋值吗
大多数情况下是可以的 但是当结构体当中包含有 指针”成员”需要慎重。多个指针指向同一段内存的时候,就要小心,释放掉内存导致别的指针非法操作。