c语言随笔1

C语言基础

=====================函数

1. 学习方法

  多看+多敲+多思考总结学习

2. C语言中变量类型及其使用

-1)、变量

  ----用来存放各类类型的数据编码

  例子:spa

    商品的价格---》小数表示 4.0 3.5指针

    商品的数量---》整数字符串

    商品的名称---》中文字符串或者英文字符串数学

-2)、变量类型

 int(整型)         long  long  int(长长整型)   

char(字符类型) float(单精度浮点型)  

double(双精度浮点型)   long(长整型)

short(短整型)   union(联合体)

bool(类型)  struct(结构体)  

enum(枚举)  unsigned(无符号数)

-3)、变量的使用

  语法规则: 类型 变量名字;string

如:it

  int ab123;io

  float price; //英文单词,或者缩写

  float jiage; //最恶心的--即拒绝用拼音命名!!!

-4)、C语言命名规范

  第一个:变量的名字中只能有字母,数字和下划线组成,而且首字母不能是数字

    如:ab Ab ab78 a79 _abc 7mn(非法) a#b(非法) h@c(非法)

  第二个:命名的时候尽可能通俗易懂,不要用汉语拼音,用英文单词缩写

(1)整型

大小: 4个字节,32位二进制,知道大小是为了防止使用的时候数据溢出了(超出取值范围了)

存储:

  原码:一个整数本来的二进制编码

    好比: 8的二进制原码 1000(短除法求)

  反码:把原码依次取反

    原码:1101 --》反码0010

    补码:反码加1

例子:

  原码:1101 --》补码0010+1 --》0011

正数在计算机中采用原码存放,而且最高位是符号位,0表示正数,1表示负数

三、C语言程序的一些规范

最简单的C语言程序

        #include   //头文件

•       int main()  //C语言程序的入口,main函数

•       {

•                printf("hello world!\n");  //帮助咱们在屏幕上打印一句话

•                return 0;  //结束整个main函数

•       }

(1)、C语言的格式控制符号以及输入和输出

-1)、格式控制符号

做用:C语言区分不一样的数据类型,在输入输出数据的时候须要使用不一样的格式控制符号来跟变量类型对应

  经常使用进制数的标准写法:

        int  a=10;    //二进制10 --》2

•          //八进制10 --》8
​  
•                     //十六进制10 --》16

•        int  a=b10;   //二进制

•        int  a=010;  //八进制10

•        int  a=0x10; //十六进制10

•        int  a=10;   //十进制的

-2)、格式对应关系

          %d     --> int

•         %f      -->float    默认保留6位有效数字

•         %lf     -->double

•         %hu     -->short

•         %ld     -->long

•         %lld    -->long  long int

•         %c      -->char    输出的是字符自己

•         %d      -->char    输出是字符的ASCII码值

•         %x      -->十六进制,字符小写打印

•         %X      -->十六进制,字符大写打印

•         %#x     -->标准形式打印十六进制,前面加上0x

•         %o      -->八进制

•         %#o     -->标准形式打印八进制,前面加上0

•         %10.2f    -->前面10表示位宽   后面的2表示保留2个小数位

•         %-10.2f    -->前面10表示位宽   后面的2表示保留2个小数位

•         %.9f     -->指定了保留9个小数位,位宽没有指定,默认位宽

•         %10d     -->10是位宽,靠右对齐,左边补空格

•         %-10d    --> 靠左对齐,右边补空格

•         %s       -->字符串

•         %5s  

•         %p      -->变量地址

(2)、C语言代码编写规范

1.注意缩进---用tab键缩进对齐;

2.适当的空行;

3.注释,简明扼要:

  C语言注释只有两种写法

        --单行注释 //注释文字

        --块注释 /* 注释的内容 */,块注释不能嵌套

            尤为是重要的核心代码必须写注释

4.命名。通俗易懂---英文,千万不要用拼音

四、C语言中的运算符

     算术运算符     +   -   *   /   % (取余)  

•   关系运算符   >   <   ==   !=   >=   <=

•   逻辑运算符   ||逻辑或     &&逻辑与   !逻辑非

•   指针运算   *   &

•   三目运算符   ?:

•   求数据类型大小,变量大小   sizeof

•   位运算               &   |   ~   ^

•   组合运算     +=   -=   *=   \=     &=   |=  

•   移位运算       >>   <<

•   自增自减     ++   --

(1) 除法

状况一:

  两个整数相除,结果取整,并且不会四舍五入

状况二:

  除法运算中有一个是小数

    1/2 --》结果不是0.5 是0

    16/3 --》5

    2/3 --》

(2)取余,计算余数

只能用于整数运算 15%2 余数1

         15.0%2 不对的,小数不能参与取余运算

实际做用

  除法和取余配合实现获取一个数的各个位

(3)逻辑运算,跟条件判断配合在一块儿使用

if(a>b)

数学中: 10<x<100

C语言中: if(x>10 && x<100)

重点---区分==和=

  “==”用来判断变量是否相同 if(a==b)

  “= ”赋值运算符号 a=233

C语言规定的真和假

   非零就是真  1   18   -9

零就是假

&&、||、~:

 表达式一 || 表达式二 ||  表达式三 

 //从左到右,有一个条件为真,后面的都不用运算了,整个表达式都为真

表达式一 && 表达式二 &&  表达式三

//从左到右,有一个条件为假,后面的都不用运算了,整个表达式都为假

if(有房&&有车&&帅) ---都成立,你才是高富帅

逻辑非     --》假

•                        --》真

(4) 三目运算符

	表达式1?表达式2:表达式3

判断表达式1是否为真

  为真 --》执行表达式2

  为假 --》执行表达式3

(5)位运算(重点)

对整数的二进制进行运算

按位与 &     只要有一个是0结果就是0,所有都是1,结果就是1

好比: 18&16结果是多少? int a=89; int b=96; a&=b; //等价于 a=a&b;

    18 --》二进制 10010

    16 --》二进制 10000

           10000

特色: 任意一个整数要求把它的第三位二进制置0,其它位不容许改变

    125--》二进制1111101 --》最终但愿的结果1111001

          1111101 --》125

          1111011 &

          1111001

规律: 任何二进制位跟1进行按位与运算结果保持不变

      任何二进制位跟0进行按位与运算结果必定是0

按位或 |      只要有一个是1,结果就是1,所有都是0,结果就是0

好比: 18|16结果是多少?

      18 --》二进制 10010

      16 --》二进制 10000

             10010

特色: 用位或运算去设置某一位二进制为1

规律: 任何二进制位跟0进行按位或运算结果保持不变

       任何二进制位跟1进行按位或运算结果必定是1

按位异或 ^   相同为0,相异为1

好比: 18^16结果是多少?

    18 --》二进制 10010

    16 --》二进制 10000

           00010

特色: 将一个数的二进制数的某一位取反

  好比: int a=785 第三位二进制取反

        785

        0000........100 异或

  一个数跟本身异或,结果为0 a^a结果为0

  异或知足交换律 a^b^a等价于 a^a^b

  一个数跟0异或,结果保持不变 a^0结果为a

 

     按位取反 ~   0变成1    1变成0

  好比: ~18结果是多少?

        18 --->二进制 10010

        ~18 ---> 01101

(6)组合运算(复合运算)

  "+=" a+=10; //等价于 a=a+10;

其它的类比,如 -=、/=、*= 等

(7)移位

左移 << 把一个整数的二进制总体向左移动若干位,低位补0

  18<<2; //18左移2位

  0000000000.........10010<<2

特色: 一个数左移n位,至关于乘以2的n次方

右移 >> 把一个整数的二进制总体向右移动若干位,高位补什么??

  算术右移: 高位补符号位

  逻辑右移: 高位补0

特色: 一个数右移n位,至关于除以2的n次方

(8)自增和自减

a++ 后置++ 先使用a本来的值,而后再把a加1赋值给本身

++a 前置++ 先把a加1,而后再使用加一以后的a

a-- 后置-- 先使用a本来的值,而后再把a减1赋值给本身

--a 前置-- 先把a减1,而后再使用减一以后的a

  例如:

    ++i + ++i = ? --->即(++i)+(++i)=3+3=6

笔记连接:https://kejizeichuan.lanzous.com/ifBFhf9dboh(建议用Typora打开)

相关文章
相关标签/搜索