【无标题】

【无标题】,第1张

【无标题】

一 基本知识(Linux编译)
注释方法
中英文切换
函数通用符号
gcc编译
计算机数据表示
数值型数据
二进制:0b
十进制:正常认知
八进制:0o
十六进制:0x
非数值型数据
词法符号
关键词

标识符
分隔符
运算符
标点运算符
数据类型
整数
char
short
int
long
浮点类型
计算机存储数据
常量
浮点型
字符常量
标识常量 ----宏定义
练习:
基本语法:
变量:
定义格式
类型转换
算术运算符
关系运算符
逻辑运算符
位运算
赋值运算符和赋值符合运算符
条件运算符
逗号运算符
sizeof运算符
sizeof是一个关键字,也是一个运算符。主要用于获取一个数据类型或者变量所占内存的大小
注意事项
一 基本知识(Linux编译)
注释方法
// 注释一行
注释多行
#if 0 #end if
中英文切换
ctrl+space(输入法已经装好)
函数通用符号
/#:预处理指令,在gcc编译的第一个阶段就会执行的东西
#include :要包含的头文件
<>:用来包含头文件,也可以使用""
stdio.h:标准输入输出头文件
int:整数类型,放在这里代表函数的返回值类型
main:函数名,主函数,是所有函数的入口函数,一个程序只能有一个主函数,而且必须有
():里面存放参数
{}:用来包含这个函数的代码(函数体)
;函数中每一行代码执行的末尾必须加上;
gcc编译
正确编译:无现象
编译错误:有语法错误,并报错。若报错过多,优先处理第一个报错
计算机数据表示
数值型数据
二进制,十进制,八进制,十六进制
二进制:0b
十进制:正常认知
八进制:0o
十六进制:0x
非数值型数据
128个ascii

词法符号
关键词
关键词是由系统预定义的词法符号,有特定的含义,不允许用户重新定义,必须都是小写,可以直接使用
char short int long float double enum struct union void signed unsigend
auto register const static volatile extern
typedef
sizeof
if else switch case default for while do goto return break continue

标识符
在代码中用户可以自己定义的名字
只能— 数字 字母组成
第一个字符不能是数字
不能与系统定义的关键词相同
分隔符
空格 制表符 执行符号 注释
运算符
算术运算符
逻辑运算符
关系运算符
位运算符
赋值运算符
自增自减运算符
地址运算符
逗号运算符
标点运算符
一些基本的符号
, ; : {} ()
数据类型
整形:short int long (long long)
字符型:char
实型 float double
枚举类型:enum
结构体:struct
共同体:union
逻辑类型:bool类型
整数
char
char类型占一个字节
有符号:char或者 signed char
取值范围:-2^7 - 2^7-1 —> -128 - 127
无符号: unsigned char
取值范围:0 - 2^8-1 --> 0 - 255
short
short类型占两个字节
有符号:short或者 signed short
取值范围:-2^16/2 - 2^15-1 —> -32768 - 32767
无符号: unsigned short
取值范围:0 - 2^16-1 --> 0 - 65535
int
int类型占四个字节
有符号:int或者 signed int
取值范围:-2^32/2 - 2^31-1 —> -2,147,483,648 - 2,147,483,647
无符号: unsigned int
取值范围:0 - 2^32-1 --> 0 - 4,294,967,295
long
long类型在32位 *** 作系统占四个字节,在64位 *** 作系统占8个字节
有符号:long或者 signed long
取值范围:-2^64/2 - 2^63-1
无符号: unsigned long
取值范围:0 - 2^64-1
浮点类型
浮点类型也叫做实型,就是带有小数点的数据(本质就是带有小数点的数)
float:单精度 4个字节
double:双精度 8个字节
计算机存储数据
存储数据的顺序:原码—>反码---->补码
取出数据的顺序:补码—>反码---->原码
常量
在计算机中初始化后,不会再改变
十进制: %d
八进制:%#o
十六进制:%#x
浮点型
float:%f
double %lf
科学计数法:6.78910^5---->6.789e+5 //使用%e输出指数常量
字符常量
使用单引号’a’ ‘A’
使用双引号“字符串”
字符在计算机中以ascii形式存储
标识常量 ----宏定义
将一个常量或者常量表达式标识成另一个标识符,使用这个标识符就相当于使用这个常量或者常量表达式,也将其称之为宏定义,这个标识符一般使用大写字母表示,并且要满足标识符的命名规则。
练习:
一个水分子的质量约为3.0
10^-23g,1L水大约950g,编写一个程序,要求输入水的升数,然后显示这么多升水中包含多少个水分子

基本语法:
变量:
概念:变量,就是我们自己定义的变量名,变量就是可以改变其值的量,变量就是一个标识符,所以需要满足标识符的命令规则。
在程序的运过程中,变量占据一定的内存空间,其大小由变量数据类型来决定的
定义格式
存储类型 数据类型 变量
| |
auto char,int等
register
static
extern
类型转换
原本的变量在使用的过程中需要改变他的类型,转换之后这个变量的类型以及存储空间都会发生变化
隐式类型转化
显示类型转化
显示的类型转化一般形式
(float)(表达式)
%d 有符号的数
%u 无符号的数
强制类型转换的本质是截断
注意事项:
强制类型转换后面的表达式如果是复杂的运算,要加()
是一种不安全的转换,一般是高级转换低级,会丢失精度

算术运算符
双目运算符(+ -*/)
单目运算符(++ --)
%:取余 只能用在整数上
i++:先执行整条语句在+1
++i:先+1,再执行整条语句
不借助第三 方进行数据的互换

关系运算符

<=!
使用关系运算符的表达式的结果是一个bool类型
逻辑运算符
逻辑运算符是用于连接多个有关系运算符链接的表达式,判断整体表达式为真为假
!:取反
&&:与(10<=a<=20)==(a>=10&&a<=10)
||:或(与&&使用与&&基本一致)
短路原则:如果条件1不成立,则不会判断条件2
位运算
但凡涉及到位 *** 作,一定会将这个数转换为二进制再 *** 作
~ 位逻辑反
&位逻辑与
| 位逻辑或
^ 异或
<< 左移
-碰到了;
赋值运算符和赋值符合运算符
=:赋值运算 左值不能为常量
==:判断是否相等
赋值复合运算
a+=b-----》a=a+b

条件运算符
格式:表达式1?表达式2:表达式3
运行顺序:
表达式1为真,则执行表达式2
表达式1为假,则执行表达式3

逗号运算符
格式:
a=(表达式1,表达式2,表达式3,表达式4)
执行顺序
依次执行1234,最终结果为表达式4的结果

贪婪法则:在表达式的右边,从左往右尽可能进行(a++ +b)
sizeof运算符
sizeof是一个关键字,也是一个运算符。主要用于获取一个数据类型或者变量所占内存的大小
注意事项
算术当不确定表达式中多个运算符的优先级时,使用()来解决
后缀++或–的优先级大于前缀++或–的
p++后缀++优先级高于,所以先执行++,再执行*
++p前缀++和优先级一样,但是是从右向左结合,所以先执行++,再执行*
a = b = c = d; =的结合规律是从右向左,所以是从右向左依次赋值
a = b == c; 先判断b和c是否相等,然后将结果赋值给a
算术运算符(* / + -)的优先级大于位运算符,位运算符(& | ^)的优先级大于逻辑运算符(&& ||)
a & b + c,先算b+c的结果,然后再和a相与

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5704701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存