我的新学习方法正式应用中,如下,我昨天提到的,总分结构
此方法的好处是系统化、模块化
我目前的不足是,不能仅仅依赖于老师的授课内容,我需要多查找一些更加正统丰富的资料来充实自己
今日学习内容
1*进制,表数方式 表示方式
十进制:逢十进一 (9 ~ 0)
二进制:逢二进一 (1 ~ 0)
八进制:逢八进一 (7 ~ 0) (12456)8 012456
十六进制:逢十六进一 (f ~ a 9 ~ 0) (12456)16 0x12456 0X12456
进制转换
N进制->十进制 (1111)N=1*N^0+1*N^1+N^2+N^3
{ 2^n进制->二进制 一位转换成二进制的n位 0123=001 010 011 反用即为:二进制->2^n进制
N进制(非2^n进制)->二进制 N进制->十进制->二进制 }
2^a进制->2^b进制 2^a->二进制->2b进制
2*变量、常量、初始化 数据类型
变量:存放数据,数据可变
变量定义:确定数据类型以分配资源(存储空间),必须先定义后使用
常量:只能读,不能写,数据不可变,常量不能被赋值 //优化:在判断语句中可用 0==i 代替i==0 防止当i=0时,判断语句也写成i=0,从而进入死循环
初始化:第一次以输入的方式赋值给变量
十进制%d %i 八进制%o 十六进制%x 或%X
3*运算符
除法:
int类型的,分取整(/) 和取余(%) //输入方式:外设输入,赋值输入
float类型 就数学上的除法(/)
自增: i++ ->i=i+1 a=i++ ->a=i; i=i+1;
++i ->i=i+1 a=i++ ->i=i+1; a=i;
位运算:位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制的问题。C语言提供了6个位操作运算符。这运算作符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型
&按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
| 按位或 两个相应的二进制位中只要有一个为1,该位的值为1
^按位异或 若参加运算的两个二进制位值相同则为0,否则为1
~取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变为1,将1变为0
<<左移 用来将一个数的二进制位全部左移N位,右补0
>>右移 将一个数的个二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0
,运算:执行,后的语句,当有多个,时依次执行
条件运算符:()? {1} :{2} ()内表判断 判断成立执行{1},判断不成立执行{2}
4*函数
time->还不清楚...
*5九种控制语句
两种选择控制语句
if(判断条件){ } if=如果:(判断条件),条件成立,结果为真1;执行成立结构体
else { } 条件不成立,结果为假0;执行不成立结构体
else:不能单独使用,必须和同级上面最近的if配套使用。
switch(参数){case常量1:语句;break;
case常量2:语句;break;
case常量3:语句;break;
default:语句;break (没有break会依次执行)}default为除去case的其他选择
循环语句
for(i=0;i<10;i++){ 循环体 }
//第一步,(i=0)循环次数控制变量赋初值;
//第二步,(i<10)条件判断,如果满足条件,执行第三步;如果不满足条件,则结束for循环,然后执行,for模块之后的代码模块。
//第三步,{ 循环体语句 },执行循环体;
//第四步,(++i),改变循环控制变量,返回第二步...
while(判断条件){ 循环体 }
//第一步,判断循环条件(i),如果i等于0,结果为假,结束while;如果i不等于0,结果为真,执行循环体;
//执行完循环体,继续判断循环条件...
do { 循环体 } while();先执行循环体,再进行判断操作
返回语句
break:直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中其他任何语句和循环条件测试。它只能跳出一层循环,如果你是循环嵌套,那你需要
按照嵌套的层数,逐步使用break跳出
continue:也是终止当前循环过程,但并不跳出循环,而是继续往下判断循环条件执行语句。他只能结束循环的一次过程,但不能种植循环继续进行
return:返回一个指定数据给主调函数,另一个作用就是结束所在函数的执行
goto goto (定义方向) aim; aim:(从aim的下一句开始执行执行)