C语言入门-day03

一、C语言

    1编程规范

#include <stdio.h>

int main()

{

    return 0;

}

词法符号:所有的代码都是由词法符号构成

1、关键字 -- 32个,所有的关键字都是小写

        数据类型:int char short double float long signed unsigned (8个)

       关于存储: register auto static extern const volatile (6个)

        语句: if else for while do switch case break continue default

        return goto (12个)
        构造: struct union enum (3个)

        求字节: sizeod (1个)
                     sizeof(int)
        取别名: typedef
        空类型: void

2、标识符 -- 由程序员按照命名规则自定义的词法符号

        命名规则:
                (1)只能由数字、字母以及下划线构成

                (2)开头不能用数字

                (3]不能和关键字重名

                注意:大小写敏感!!!
                        尽量见名知意

3、标点符号

        C语言代表语句结束的符号  ;

        间隔 , 停顿 .

4、运算符

        (1) 算术运算符 + - * / % ++ -

        %取余:两边的操作数只能为整型
        ++:自增1
            单独语句使用: 前++ 和 后++是一样的
            如果不是在单独语句使用:
                ++a: 先自增。再使用
                a++ : 先使用,再自增

        (2) 关系运算符 >  <  ==  >=  <=  !=

                判断等 == 

                C语言中,真 是由 非0表示,假 是由 0 表示

        (3)逻辑运算符 

                &&全为真 才为真
                (表达式1) && (表达式2)
                短路法则: 如果表达式1为假,则不必运算表达式2
               || 有一个为真 则为真
               (表达式1) || (表达式2)
                短路法则: 如果表达式1为真,则不必运算表达式2

               !真为假,假为真
                !(表达式)

        (4)位运算符 & | ^ ~ << >> (运算二进制)

                补码:正数的补码就是它的源码,负数的补码是源码取反+1
                17=16+1 =0001 0001

                -17= 1110 1110 + 1=1110 1111

&(位于) 全为1,才为1

13 & 17  =  

        13 -> 0000 1101

        17 -> 0001 0001

                 0000 0001 = 1

|(位或) 有1则1

13 | 17  =  

        13 -> 0000 1101

        17 -> 0001 0001

                 0001 1101 = 29

^(异或) 相同为0 不同为1

13 ^ 17  =  

        13 -> 0000 1101

        17 -> 0001 0001

                 0001 1100 = 28

 ~(取反) 1为0 0为1

13 -> 0000 1101

    ~13 = 1111 0010    

        

<<  (左移) -- 符号位不变 ,高位向左移动,低位补0

13 -> 0000 1101

        13 << 4  =  1101 0000

 >>(右移)-- 符号位不变 ,低位向右移动,高位补符号位(每右移一位,相当于/2)

-17 = 1110 1110 + 1 = 1110 1111

 -17 >> 3  = 1111 1101 (此时符号位为1,所以高位补1,如果为0则补0)

        (5)赋值运算符 = += -= *=

        (6) 指针运算符

                &  --  取地址

                *   --  取内容

        (7)三目运算符

        (表达式1) ? (表达式2) :(表达式3)
        判断表达式1,如果为真则执行表达式2,如果为假则执行表达式3

5、数据类型

        有符号 -- 分正负

        无符号 -- 不分正负

unsigned

        0000 0000 - 1111 1111  ==>  0 ~ 2^8 - 1

signed 

        非负数  0000 0000 ~ 0111 1111 ==> 0 ~ 127

        负数      0000 0000 ~ 1111 1111 ==> -128 ~ -1

        short 型 -- 短整型
                 2个字节 --16位
        int 型 -- 整型
                 4个字节 32位
        long型 -- 8个字节 32位
        long  long 型 -- 8个字节 64位

6、常量  -- 不能更改

1.整型常量

        99

        0xab

2.浮点型常量

        小数型常量1.123
        指数型常量 -0.00123
        1.23*10^-3
        -1.23e-3

3.字符常量 -- 单个字符,用' '括起来

4.字符串常量 -- 一串字符构成," "括起来,以'\0'为结尾

5.标识常量 -- 宏

#define MAX 200

注意: 标识常量名 用大写

7、变量

定义一个变量:
        <存储类型><数据类型><变量名/标识符>;
        (auto) int a:
1、存储类型 - 你要把这个数据存放到什么地方
        auto static extern register
注意:
        在程序运行的时候,变量占据一定的大小内存空间

        变量存储空间的大小,由数据类型决定

        变量的内存空间首地址,会成为变量的地址

2、数据类型 -- 变量要装什么类型的数据(小数、字符、整数)

变量的分类:C语言中 {}为一个模块

        全局资量
        定义位置:在所有的模块外
        有效范围:从定义开始,整个程序结束

        生命周期:从定义开始,整个程序结束
        特点:如果没有初始化,默认为0


        局部变量
        定义位置:模块内部
        有效范围:从定义开始,整个模块结束

        生命用期:从定义开始,整个模块结束

        特点: 如果没有初始化,默认为0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值