文章目录(Table of Contents)
前言
最近在做安全实验的时候好多代码是用c写的,于是就想回顾一下,并且做一下记录,方便自己之后的查阅,于是就有了这一系列的文章。
这里就会记录一些学习过程的代码,可能没有什么完整的逻辑,主要是我自己看的。
说明
文章可能会没有什么说明,我会把所有注意点都写在注释里面;会在文章的前面写一下会出现的内容,作为目录,方便自己之后的查找。
本文的主要内容
这一篇会介绍一下C中常见的数据类型,主要的数据类型如下图所示:
这一篇会涉及到的是:
- 数值类型(整型 : int,浮点型 : float)
- 字符类型 : char
下面就直接看一下代码的书写;
源代码
注意C中每句语句结束都需要以 ; 结尾。
- #include<stdio.h>
- /*
- 关于数据结构的一些介绍
- 这一部分介绍:常见的几种数据类型,包括int,float,char
- */
- int main(){
- /*
- 介绍整型 : int,short,long
- */
- int a,b,c;
- a = 1;
- b = 2;
- c = a + b;
- printf("a is %d, b is %d and c is %d.\n",a,b,c); // 格式输出函数 printf
- // >> a is 1, b is 2 and c is 3.
- /*
- 除了int外,还有short和long
- 每种数据类型系统分配的大小不同
- int为4字节,short为2字节,long为8字节
- */
- printf("int:%d,short:%d,long:%d.\n",sizeof(int),sizeof(short),sizeof(long));
- // >> int:4,short:2,long:4
- // -----------------------------
- /*
- 介绍浮点型 : float,double,long double
- */
- // float有效位数7, double有效位数16, long double有效位数19
- // 下面看一下数值溢出的情况
- float d_float = 123456.789e5;
- float f_float = d_float + 20;
- printf("%f + 20 == %f.\n",d_float,f_float);
- // >>12345678848.000000 + 20 == 12345678848.000000.=> 这个计算结果是错误的
- // 使用double类型可以解决这个问题
- double d_double = 123456.789e5;
- double f_double = d_double + 20;
- printf("%f + 20 == %0.8f.\n",d_double,f_double);
- // >> 12345678900.000000 + 20 == 12345678920.00000000. => 这个计算结果是正确的,同时%0.8f表示控制输出位数
- // ------------------------------
- /*
- 介绍字符型 : char (分配一个字节)
- */
- char g_char='a',h_char=121; // 可以直接用''进行定义,也可以使用ASCII的值进行定义
- printf("字符型分配大小 : %d. \n", sizeof(g_char));
- // >> 字符型分配大小 : 1.
- printf("输入字符和其对应的ASCII码:%c:%d, %c:%d\n",g_char,g_char,h_char,h_char);
- // >> 输入字符和其对应的ASCII码:a:97, y:121
- return 0;
- }
编译运行后结果如下:
只是我自己学习过程中的一些记录,这样方便我之后再看,所以就这么写了。
- 微信公众号
- 关注微信公众号
- QQ群
- 我们的QQ群号
评论