第2章-C语言程序的数据描述及数据运算

C语言的基本元素

  • 字符集,即(ASCII字符集),由字母、数字、空格、标点和特殊字符组成

    ① 大小写英文字母:az,AZ

    ② 数字:0~9

    ③ 键盘符号

  • 关键字,已经被C语言编译工具本身使用的
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3F8Ovx1K-1636881121298)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636784432054.png)]

  • 标识符,程序员自己定义的一种字符序列,定义对象名称

    • 可以为单个字母

      int a = 0; int b = 1;
      
    • 由字母、数字和下划线组成,但必须以字母或下划线开头,不能是C语言关键字

      char _b1; char _123F; float Li;
      //错误示例: char void;       int -abc;		 double 2ab;
      //		  (void为关键字)    (以减号开头)		(以数字开头)
      
    • 有相应的意义,见明知意

基本数据类型

  • 常量和变量

    • 常量

      ① 字面常量(直接常量)

      ​ 整型常量:100、0、15

      ​ 实型常量:12.34、-0.5、3.24e5、-0.34E-6

      ​ 字符型常量:‘A’、‘8’、‘#’、‘\t’、‘\n’、‘\101’、‘\x41’

      ​ 字符串常量:“BOY”、“C program”、“12.5”

      ② 符号常量

      #define 标识符 常量
      #define PI 3.14159
      
    • 变量

      定义形式:

      类型说明符 变量名标识符,变量名标识符,...;
       dobule     r     ,     c        ;
      
    • int a = 3

      a是变量名,3是a的值,即存放在变量a的内存单元中的数据。

      变量名是以一个名字代表的一个存储地址,在对程序编译连接时由系统给每一个变量名分配对应的内存地址。

      程序运行–>从变量中取值,通过变量名找到相应的内存地址,在其相对应的存储单元中读取数据。
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j2CpAyjT-1636881103690)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636787122358.png)]

  • 整形数据

    • 整型常量

      • 整形常量的前缀

        ① 十进制整常量:无前缀,数码取值为0~9,例如:17,-31。

        ② 八进制整常量:以数字0为前缀,数码取值为0~7,例如:021(对应十进制数为17)

        ③ 十六进制整常量:以0X或0x为前缀,数码取值为09,AF或a~f,例如0x11(对应十进制数为17)

      • 整形常量的后缀

        有符号整型常量:整形int为有符号数,-31、17、021。

        无符号整型常量:不能表示小于0的数,17u、021u、0x11u

        有符号长整型常量:用后缀“L”或“l“表示,例如,65536L、0200000L,0x0000L

        无符号长整型常量:用后缀“LU”或“lu“表示,例如,65536LU、0200000LU,0x0000LU

    • 整形变量
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YX2nCRmF-1636881103692)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636854166066.png)]

  • 实型数据

    • 实型常量

      ① 十进制小数形式:0.0、25.0、0.13

      ② 指数形式:用e或E代表以10为底的指数,例如:3.4e-6(=3.4×10-6)、-2.5e5(=-2.5×105)

    • 实型变量
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yqe1KsZS-1636881103694)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636855250492.png)]

  • 字符型数据

    • 字符常量

      ① 普通的字符常量:'A’的ASCII码是十进制数65,二进制形式为1000001;‘1’->49->0110001

      ② 转义字符:以""开头,例如:\n,\t,\b

    • 字符变量
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iR4nxUv4-1636881103695)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636855701161.png)]

C语言的运算符和表达式

  • 运算符及表达式简介
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F9qfx0EQ-1636881103697)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636879879032.png)]
    ① 优先级 ; ② 结合性;

  • 自增自减

    i++ 先使表达式的值为i的值加1,而后自身加1;++i 则相反

    注意:

    ① 运算符操作对象只能是变量,不能是常量或表达式,例如6–、++(a*a)、++(-i)都是错误的;

    ② 若不赋值,则变量前置自增自减和后置后增后减结果相同:

    int x = 8; x++; printf("x=%d",x);	-->x=9
    int x = 8; ++x; printf("x=%d",x);	-->x=9
    

    ​ 若有赋值,则结果不同:

    int x,y = 8; y=x++; printf("x=%d",x,y);	-->x=9,y=8
    int x,y = 8; y=++x; printf("x=%d",x,y);	-->x=9,y=9
    

类型转换

  • 自动类型转换
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ARt5xtQi-1636881103698)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1636880859469.png)]

  • 强制类型转换

    (类型说明符)  (表达式)
    

    ① 必须加括号

    ② 不会改变数据本来的类型或值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值