4、硕彦博创李飞授——C语言变量,运算符,流程控制

    技术2022-07-11  94

    重点标记 : ******

    C语言变量:

    1.程序 = 数据结构 + 算法 数据: 分类:根据是否可以改变分为:常量与变量 C语言的三大基本类型 1.整型 2.字符型 3.浮点型 查看类型的空间大小: sizeof(常量/变量/类型); · 整型:短整型short 基本整型int 长整型long 2byte 4byte 4byte 整型分为:整型常量和整型变量 整型常量:十进制,八进制(0开头),十六进制(0x开头) %d %o %x 整型变量: 1,定义变量:分配空间 类型 变量名; PS:不能再同一函数中,重名定义变量; short a ; ------>给A分配2byte直接的空间 就是16个bit unsigned : 无符号 signed 有符号 默认(signed) unsigned short a ; [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] 最小值:0000 0000 0000 0000 最大值;1111 1111 1111 1111 以上只是正数范围: 如果值为负数是: ****** 【】[ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ] [ ] 最高位位符号位:0 + 1 :- 1 111 1111 1111 1111 -32768 (-0 就等于 32768) ****** 0 111 1111 1111 1111 32767 PS: 正数以原码存储 ,取出正数是 , 以原码取出 负数以补码存储 ,取出负数是, 将补码转换成原码取出 取出时,计算机是以0 和 1 判定是正是负 (理解) 如图示:

    2.1.类型 变量名 = 值 ; 2.2 类型 变量名 ; 变量名 = 值 ; 2.1叫初始化,2.2并不是初始化,是赋值(这点切记) 3.引用变量:通过变量名 , 来引用变量空间的内容 PS:这三点贯穿整个c语言,一定切记 字符型:字符常量和变量 字符常量 : 数字字符('0'),字符(‘a-z’) 计算机只能识别二进制 , 所以有特定的二进制序列来代表字符 ----》称为ascii表 ASCII表: a --- 97 A ---65 ‘0’-----》48 计算机中还有一些特殊的字符: 转移字符 :“\n”:换行符 “\t”:tab键 ‘\0’:空字符 字符变量: 1、定义变量: 类型(char) 变量名 ; 2、初始化变量: 3、引用变量: 浮点型:浮点常量和浮点变量 浮点型常量:十进制 3.14 科学计数法(也叫指数(e为10)表示法 ): 3e1 浮点型变量 : float (单精度) :4byte double(双精度):8byte 程序 = 算法+数据 算法基础:就是运算符 和流程控制

    运算符:(*****)

    弄懂: 结合性 优先级 溢出 : 等位赋值 运算符表达式: 有运算的结果

    空间大小运算符: sizeof();

    运算符和函数的区别: 运算符 没有() 函数 有() int a; Ps:sizeof a 可以没有括号 在不同的编译器中可能会有不同,我用的是GCC

    1.算数运算符:+ , - , * ,/ , %

    Ps: 1、同类型运算时,得同类型结果 2、不同类型运算时,发生隐式转换 整型%整型 = 余

    2.赋值运算符:= , += , -= (从右向左)

    PS: 2.1、100=a; //err:左侧必须是左值(变量): 2.2、溢出:(等位赋值) //凡是空间,都必须考虑满的情况

    2.3、不同类型之间赋值:

    PS: 整型变量:只能存放整型的值 浮点型变量: 只能存放小数的值

    3、隐式类型转换:

    1.大小不一时:(C语言是强类型语言,在运算过程中,必须转换成相同的类型进行转换):小位转高位 short ---》 int int -----》long float ---> double 2.不同类型 int ---》double char ----》int

    强制类型转换: (类型)变量; 例如: float a = 3.14; (int)a ----->3

    4、判断运算符:> < >= <= != == 结果 :真1 假0 5、逻辑运算符:&& , || , ! (从左往右结合)

    表达式1 || 表达式2 一真则真,(只要表达式1的值为真就不用看表达式2的值-----》提高效率) 表达式1&&表达式2 一假则假 !表达式 Ps:表达式结果非0即为真,0为假

    6、三目运算符 (?:) 结果= 表达式1?表达式2:表达式3 如果表达式1为真,结果等于表达式2的值,反之,结果等于表达式3的值

    7、自增自减 前自加:++i; 总结:(i)先自加,(结果)后取值 后自加:i++; 总结:(结果)先取值,(i)后自加

    8.括号运算符(优先级运算符) , (优先级最高,先内在外) (表达式)

    流程控制:

    1.代码指令的执行流程 首先了解:空语句 :指令为空 ; 2.语句块 { 语句1, 语句2, 。。。。 } 2.流程分类: 顺序流程:从上往下逐条执行 选择控制:指令带有条件,当条件为真时才执行 2.1单分支if: if(表达式) 语句;//if后面只有一条语句,可以不用花括号 2.2 双分支 if: if(表达式){ 语句块1; }else{ 语句块2; } 2.3 多分支if if(表达式){ 语句块1; }else if(表达式1){ 语句块2; }else if(表达式2){ 语句块3; } 。。。。 else if(表达式n){ 语句块n; }else{ 语句块; } 2.4.if嵌套 if(表达式1){ if(表达式2){ ....... }else{ ..... } }else{ if(表达式){ ....... }else{ ...... } }

    多分支:switch

    拓展: a = 1234 ; 第一位:a/1000; 第二位:a/100;

    Processed: 0.012, SQL: 9