第六课数据类型

  1. 为什么要引入数据类型1

    1. 为什么引入数据类型2
    2. 代码验证3
    3. 数据类型4
  2. 整形5

    1. 整型-数据类型定义6

    2. Liunx 连接网络问题7

      1. 没有 limits.h 的解决办法8
    3. C 语言中,如何获取某个数据类型所占用空间数?9

    4. sizeof 运算符10

  3. 变量的用法11

    1. 具体用法:12
    2. 变量的注意事项:13
    3. 变量的扩展14
  4. 数据类型_字符型15

    1. ASCII 码16

      1. 字符型数据17

      2. 字符变量18

        1. 实战19
      3. 大小写字母转换20

      4. 实战21

  5. 浮点型22

    1. 浮点数的表示形式23
    2. 绝大多数浮点数是不能够精确表示的24
  6. 浮点型_存储25

    1. 计算机浮点数格式标准26

      1. 举例27
      2. 网址28
      3. 程序验证29
  7. 浮点型的测试30

    1. 浮点型相关测试小题31

      1. 结果解释32
  8. 浮点型_浮点数怎么做比较33

    1. 浮点数怎么做比较34

      1. 测试代码35
      2. 可知不像等36
    2. 绝对值函数37

  9. 数据类型_bool 型和 void 型38

    1. _Bool 类型-基础类型39

    2. bool 代码示例40

    3. Void 类型(了解)41

      1. void 类型的用法42
  10. 强制类型转换43

    1. 数据类型转换44

    2. 自动类型转化45

    3. 隐士自动类型转换46

    4. 强制类型转换47

    5. 整形数转浮点数时要显示的转换类型48

      1. 改正后49

为什么要引入数据类型

1、为什么要引入数据类型.pdf

1、为什么要引入数据类型.pdf - p4 - 为什么引入数据类型

1、为什么要引入数据类型.pdf - p5 - 代码验证

1、为什么要引入数据类型.pdf - p6 - 数据类型

整形

2、数据类型_整型.pdf

2、数据类型_整型.pdf - p3 - 整型-数据类型定义

#include <stdio.h>
#include <limits.h>
int main(int argc, const char *argv[])
{
printf("char:%d ~ %d\n", SCHAR_MIN, SCHAR_MAX);
printf("short:%d ~ %d\n", SHRT_MIN, SHRT_MAX);
printf("int:%d ~ %d\n", INT_MIN, INT_MAX);
printf("long:%ld ~ %ld\n", LONG_MIN, LONG_MAX);
return 0;
}

$ gcc limit_test.c -Wall
$ ./a.out
char:-128 ~ 127
short:-32768 ~ 32767
int:-2147483648 ~ 2147483647
long:-9223372036854775808 ~ 9223372036854775807">>

Liunx 连接网络问题

gedit /usr/include/limits.h

没有 limits.h 的解决办法

sudo apt-get install -y gcc build-essential manpages-dev make perl
sudo apt-get install -y zlib1g zlib1g-dev
sudo apt-get install -y libssl-dev
sudo apt-get install -y linux-libc-dev

2、数据类型_整型.pdf - p7 - C 语言中,如何获取某个数据类型所占用空间数?

2、数据类型_整型.pdf - p8 - sizeof 运算符

能获取某个数据类型所占用空间的字节数。

变量的用法

3、变量的用法.pdf

3、变量的用法.pdf - p2 - 计算机中每一个字节的存储空间都有对应的地址,可以通过地址对其访问,进行读写操作。

3、变量的用法.pdf - p4 - Linux C 语言开发中,有段错误

3、变量的用法.pdf - p7 - 具体用法:

3、变量的用法.pdf - p8 - 变量的注意事项:

3、变量的用法.pdf - p11 - 变量的扩展

3、变量的用法.pdf - p11 - l 下面三点,后续课程会深入讲解

3、变量的用法.pdf - p11 - ① 变量的存储类型

3、变量的用法.pdf - p11 - auto

3、变量的用法.pdf - p11 - extern

3、变量的用法.pdf - p11 - register

3、变量的用法.pdf - p11 - static

3、变量的用法.pdf - p11 - ② 局部变量和全局变量

3、变量的用法.pdf - p11 - ③ 变量的作用范围

数据类型_字符型

4、数据类型_字符型.pdf

4、数据类型_字符型.pdf - p3 - ASCII 码

4、数据类型_字符型.pdf - p3 - • 字符数据在机器内也被变换成二进制编码的形式。

4、数据类型_字符型.pdf - p3 - • 国际上普遍采用的一种编码是美国国家信息交换标准代码,简称为 ASCII 码。

4、数据类型_字符型.pdf - p5 - ASC11(可以存放 0~255 个字符)

image

4、数据类型_字符型.pdf - p6 - 字符型数据

4、数据类型_字符型.pdf - p7 - 字符变量

实战

4、数据类型_字符型.pdf - p8 - 代码验证

image

4、数据类型_字符型.pdf - p10 - 大小写字母转换

4、数据类型_字符型.pdf - p10 - • 大写字母转小写字母 +32

4、数据类型_字符型.pdf - p10 - • 小写字母转大写字母 -32

实战

image

5、数据类型_浮点型.pdf - p2 - 浮点型

5、数据类型_浮点型.pdf

证明

image

5、数据类型_浮点型.pdf - p4 - 浮点数的表示形式

image

5、数据类型_浮点型.pdf - p6 - 绝大多数浮点数是不能够精确表示的

浮点型_存储

6、数据类型_浮点型_存储.pdf

6、数据类型_浮点型_存储.pdf - p2 - 计算机浮点数格式标准

6、数据类型_浮点型_存储.pdf - p5 - 举例

网址

计算器存储浮点数:https://www.h-schmidt.net/FloatConverter/IEEE754.html

https://baseconvert.com/ieee-754-floating-point

6、数据类型_浮点型_存储.pdf - p8 - 程序验证

浮点型的测试

7、数据类型_浮点型_小测试.pdf

7、数据类型_浮点型_小测试.pdf - p3 - 浮点型相关测试小题

image

7、数据类型_浮点型_小测试.pdf - p8 - 结果解释

浮点型_浮点数怎么做比较

8、数据类型_浮点型_浮点数怎么做比较.pdf

浮点数怎么做比较

• 浮点数存储的时候,存在精度损失,大多浮点数
不是一个精确表示的数。
• 在浮点数比较的时候,可不可以使用==进行比较?

8、数据类型_浮点型_浮点数怎么做比较.pdf - p3 - 测试代码

可知不像等

image

8、数据类型_浮点型_浮点数怎么做比较.pdf - p6 - 绝对值函数

fabs 就是绝对值

数据类型_bool 型和 void 型

9、数据类型_bool 型和 void 型.pdf

_Bool 类型-基础类型

从 C99 标准开始,增加了关键字 _Bool 用来表示布尔类型
只能取值为 1 或 0
非零值为真,代表条件成立

非零值真 ture 为 1,零值假 false 为 0

零为假,代表条件不成立
占用的空间是 1 个字节,使用二进制的第 0 位来表示 0 和 1

image

以下路径可以找到

/usr/lib/gcc/x86_64-linux-gnu/11/include/stdbool.h

头文件可以加

9、数据类型_bool 型和 void 型.pdf - p7 - bool 代码示例


可知:任何非零值转换 bool 类型都为 1

Void 类型(了解)

• 该类型也叫缺省型,代表没有类型。
• 它通常被用作一种占位符,或用来表示“无返回值”
的函数,或指向任一类型的指针等

9、数据类型_bool 型和 void 型.pdf - p9 - void 类型的用法

强制类型转换

10、数据类型_强制类型转换.pdf

10、数据类型_强制类型转换.pdf - p2 - 数据类型转换

10、数据类型_强制类型转换.pdf - p4 - 自动类型转化

• 如果运算时发生类型转换,就会按数据长度增加的方向
行,从而保证精度不降低
• 并且所有浮点数参与的运算都以双精度进行,即使表达式
中只有 float,也会先转为 double,再进行计算

10、数据类型_强制类型转换.pdf - p6 - 隐士自动类型转换

10、数据类型_强制类型转换.pdf - p7 - 强制类型转换

• 为了确保类型转换按照开发者期望的方式进行,可以明确
设置类型转换的方式,这就是强制类型转换
• 强制类型转换是一种运算符,在需要转换的表达式前添加
小括号括起来的新类型名称

10、数据类型_强制类型转换.pdf - p10 - 整形数转浮点数时要显示的转换类型

10、数据类型_强制类型转换.pdf - p11 - 改正后


  1. 为什么要引入数据类型

  2. <<assets/1、为什么要引入数据类型-20240624160652-rjxrcbv.pdf/20240624162500-7stzboe "为什么引入数据类型">>

  3. <<assets/1、为什么要引入数据类型-20240624160652-rjxrcbv.pdf/20240624164008-at23l72 "代码验证">>

  4. <<assets/1、为什么要引入数据类型-20240624160652-rjxrcbv.pdf/20240624164242-qpqa8rj "数据类型">>

  5. 整形

  6. <<assets/2、数据类型_整型-20240624170734-ghx0dif.pdf/20240624171050-yhxukdq "整型-数据类型定义">>

  7. Liunx 连接网络问题

  8. 没有 limits.h 的解决办法

  9. <<assets/2、数据类型_整型-20240624170734-ghx0dif.pdf/20240627211145-fckv6xx "C 语言中,如何获取某个数据类型所占用空间数?">>

  10. <<assets/2、数据类型_整型-20240624170734-ghx0dif.pdf/20240627211216-e8pdzud "sizeof 运算符">>

  11. 变量的用法

  12. <<assets/3、变量的用法-20240628101721-7nzp6q6.pdf/20240628153450-z7u4u5q "具体用法:">>

  13. <<assets/3、变量的用法-20240628101721-7nzp6q6.pdf/20240628153532-zh8egjm "变量的注意事项:">>

  14. <<assets/3、变量的用法-20240628101721-7nzp6q6.pdf/20240629180347-i01qglg "变量的扩展">>

  15. 数据类型_字符型

  16. <<assets/4、数据类型_字符型-20240629181223-zfz750s.pdf/20240629181326-2pas34r "ASCII 码">>

  17. <<assets/4、数据类型_字符型-20240629181223-zfz750s.pdf/20240629181934-yx2rk8i "字符型数据">>

  18. <<assets/4、数据类型_字符型-20240629181223-zfz750s.pdf/20240629181957-8ckv8xy "字符变量">>

  19. 实战

  20. <<assets/4、数据类型_字符型-20240629181223-zfz750s.pdf/20240629184228-4hof5bz "大小写字母转换">>

  21. 实战

  22. <<assets/5、数据类型_浮点型-20240629205358-ogyh2ch.pdf/20240629205411-04yz8nm "浮点型">>

  23. <<assets/5、数据类型_浮点型-20240629205358-ogyh2ch.pdf/20240629225021-nfhvq3r "浮点数的表示形式">>

  24. <<assets/5、数据类型_浮点型-20240629205358-ogyh2ch.pdf/20240629231220-rduhjlu "绝大多数浮点数是不能够精确表示的">>

  25. 浮点型_存储

  26. <<assets/6、数据类型_浮点型_存储-20240630101132-l0yhv35.pdf/20240630103848-w1yui84 "计算机浮点数格式标准">>

  27. <<assets/6、数据类型_浮点型_存储-20240630101132-l0yhv35.pdf/20240630105210-3xk8yrk "举例">>

  28. 网址

  29. <<assets/6、数据类型_浮点型_存储-20240630101132-l0yhv35.pdf/20240630110434-4glrayk "程序验证">>

  30. 浮点型的测试

  31. <<assets/7、数据类型_浮点型_小测试-20240630114542-7umxwio.pdf/20240630143104-k00m7hj "浮点型相关测试小题">>

  32. <<assets/7、数据类型_浮点型_小测试-20240630114542-7umxwio.pdf/20240630145104-pnka5zw "结果解释">>​

  33. 浮点型_浮点数怎么做比较

  34. 浮点数怎么做比较

  35. <<assets/8、数据类型_浮点型_浮点数怎么做比较-20240630145743-9hal27e.pdf/20240630151453-6pvqp0q "测试代码">>

  36. 可知不像等

  37. <<assets/8、数据类型_浮点型_浮点数怎么做比较-20240630145743-9hal27e.pdf/20240630154407-bhuwsqx "绝对值函数">>

  38. 数据类型_bool 型和 void 型

  39. _Bool 类型-基础类型

  40. <<assets/9、数据类型_bool 型和 void 型-20240630155552-2dtzm2y.pdf/20240630174034-wrka7p1 "bool 代码示例">>

  41. Void 类型(了解)

  42. <<assets/9、数据类型_bool 型和 void 型-20240630155552-2dtzm2y.pdf/20240630175912-mzglpj9 "void 类型的用法">>

  43. 强制类型转换

  44. <<assets/10、数据类型_强制类型转换-20240701092857-bdkzw3z.pdf/20240701093430-63bcq2a "数据类型转换">>

  45. <<assets/10、数据类型_强制类型转换-20240701092857-bdkzw3z.pdf/20240701105956-76wmlrl "自动类型转化">>

  46. <<assets/10、数据类型_强制类型转换-20240701092857-bdkzw3z.pdf/20240701110201-9cb9f6u "隐士自动类型转换">>

  47. <<assets/10、数据类型_强制类型转换-20240701092857-bdkzw3z.pdf/20240701111244-1qxhmqo "强制类型转换">>

  48. <<assets/10、数据类型_强制类型转换-20240701092857-bdkzw3z.pdf/20240701162539-wjuq4vh "整形数转浮点数时要显示的转换类型">>

  49. <<assets/10、数据类型_强制类型转换-20240701092857-bdkzw3z.pdf/20240701162600-aj2pccf "改正后">>

  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    574 引用 • 3533 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...