零基础C语言(二)

C语言基本数据类型

1.各种常量

  • 常量: 一些具体的值 (常量一般是不能改变的)

  • C语言常量的分类:

    • 整型常量: 1 2,3 4 ....

      • 有符号: 包含整数
      • 无符号: 没有负数 1u; --->unsigned
    • 实数常量

      • 单精度浮点数: 1.1f -->float (小数位7-8)
      • 双精度浮点数:1.1 在C语言程序中默认的小数都是双精度 (小数位15-16)
      • 科学计数法: 1.1e2(double类型的110.0) e2等价于10^2 e的幂不能是小数,但是可以是负数
    • 字符常量

      • 字符边界符 ' '

      • 正常的字符常量 'a' 注意点: 'A' 和'a'是两个不同的字符 'ad'这种是不算字符的

      • 特殊字符常量

        • 转义字符: \加上特定的字母组成
        • 特殊字符表示方式:%%在打印时表示一个%
    • 字符串

      • 必须用字符串边界符括起来 “A”
      • ‘A’ (1Byte)和 "A" (2Byte) 是有区别
      • 每一个字符串都有一个字符串结束标记 '\0'
    • 在数据前面加前缀

      • 045 0开头的数字 八进制的整型常量 注意点: 083 这个是错的,八进制是不会出现8的

      • 0xaf 0x(是0不是O)开头的数字是十六进制的常量 注意点: 不能超过f 0xaz 这个是错误的

        10 11 12 13 14 15

        A B C D E F

      • 0b开头 就是二进制 0b11011

      • .123 表示当前数字是一个实数常量 就是0.123

      • 在数据后面加后缀

        • 1u: 无符号的(unsigned)
        • 1f: 单精度数(float)
        • 1L: 长整形(long)

2.各种变量

  • 变量: 可以改变的量,可以理解成一个容器 int num=inum (是一种值传递,后续改变inum不影响num)

  • 如何产生一个变量: 类型 变量名;

    • 变量名又叫做标识符

    • 标识符命名的规则和规范

      • 规则: 1.必须是字母或者_开头 2.C语言中的关键字不能成为标识符 3.不能存在特殊符号(-> . )

      • 规范:

        • 见名知意,尽量用英语单词

        • 特定的命名标准

          • 驼峰式: showImg; (建议使用)

          • 帕斯卡:ShowImg (大驼峰)

          • 匈牙利命名: 有特定的前缀

            i_num i前缀表明是int类型

            g_num g前缀表明是全局变量

    • C语言数据类型

      • 整型 int

      • 浮点数

        • float
        • double
      • 字符型

        • char
    • 注释: 20% 养成注释的习惯 初始化的习惯

      • // 单行注释

        //这是入口函数
        int  main()
        {
        
            return 0;			//这是返回值
        }
        
      • /**/

        /*
        	这是一个程序
        */
        
        /******************************************
        *		这是一个程序
        *		这是多行注释
        *******************************************/
        
        
    • 变量的作用域和生命周期 就近原则

      • 作用域: 在此范围内变量是可以使用的

      • 生命周期:变量分配内存到释放内存的时间

        局部变量:由{}限定的

        全局变量:没有用{}限制 ,不做初始化,默认为零,从程序的开始到结束为止

3.进制与存储

  • 二进制(以下以八位为例)

    • 机器码(一个数字的二进制)

    • 原码(引入符号位(最高位))

      • 正数:0000 0001
      • 负数:1000 0001 (-1的原码)
    • 反码

      • 正数: 三码合一 0000 0001

      • 负数: 原码符号位不变,其他位取反(0-->1 1-->0)

        ​ 1000 0001 -->1111 1110 (-1的反码)

    • 补码

      • 正数:三码合一 0000 0001
      • 负数:反码+1 1111 1111 (-1的补码)
  • 计算机中只有加法没有减法

    1-1: 1+(-1) 0000 0001+1000 0001 =1000 0010 -2

  • 十进制数如何转换为二进制数:模二取余法

  • 二进制数如何转换为十进制数

按权重相加
11111 : 10000 +1000+100+10+1

1:1

10:2

100:4

1000:8

10000:16

二进制

八进制

十六进制

5.修饰词衍生的其他数据类型

short: 短(2Byte)

long : 长

unsigned: 无符号

signed: 有符号(默认int为有符号)

注意点: 以上不能修饰实数型, short与long不能修饰字符(long double 不同的编译器做出的处理可能不同)

short int a =>short a long int a=1L =>long a =1L long还是4Byte long long 8 Byte

64位系统int还是32位

unsigned char='A'

6.C语言类型转换

  • 隐式转换

    • 赋值语句存在隐式转换 int size; size=1.22 -->size=1

    • 函数传参

    • 算术运算

    • ASCII码: 字符是用ASCII码的方式存储在内存,ASCII码就是一个整数

  • 强制转换、

    • 强制转换语法:(要转换的类型)要转换的东西;
    • size=(int )1.33
    • char 可以看成一个字节的int来使用 0~ 127,超出的话接着是-128 ~0 ~127

强调一下: C语言 在运算的时候,需要保持类型一致性原则

posted @   (e^x)'  阅读(250)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示