嵌入式linux C编程基础知识点二:变量类型

嵌入式linux C编程基础知识点二:变量类型

  • 一、知识目录
    1.字符型: char -128~127 1byte %c
    uchar 0~255 1byte %c
    2.整型: short int 0~65535 2byte %d
    int 4byte %d
    3.长整型: long int 4byte %d
    4.浮点数 : float 4byte %f
    double 8byte %f
    注意:(1)只有浮点型才有小数点
    (2)如果变量是有符号类型,那么最高位是符号位,为1表示负数,为0表示正数。
    (3)uchar也可使用说明符 %d,输出的是字符的ASCII码值。
  • 二、学习笔记
    3.1、字符型
    字符型对应ASCII字符。ASCII字符是一种编码,就是用数字编码来表示一个符号的一种方法
    本质上说,字符型其实也是整形,只是这些整形数被用来表示一些字符的ASCII编码值,所以叫做字符型。字符型一般用8位二进制表示,无符号字符型范围是0~255.
    字符型其实是一种比short还短的整形,所以它可以和int相运算。
    3.2、整形
    C语言中的整形对应数学中的整数,整形变量是用来描述一个整数值的,整形变量经过计算后也只能是整数(整型),不可能出现小数(浮点型).
    要求:要学会整形变量的定义,赋值,计算
    要学会使用printf函数打印出一些整形变量的值,作为输出和调试。
    C语言中整形有三种:
    (1)int 整形
    (2)short int,又叫做short,短整整(<=整形)
    (3)long int,又叫做long,长整型(>=整形)

3.3、浮点型
C语言中浮点型对应数学中的小数。浮点型有float和double两种。使用方式相同,不同在于表示范围和精度。float表示的范围小,精度低(小数点后6位);而double表示范围大,精度高。(小数点后16位)
范围是说表示的数有多大,精度是指这个数的分辨率有多细
注意:printf中打印float或double类型,要是用%f,不能用%d。

3.4、有符号数和无符号数
数学中数是有符号的,有整数和负数之分。所以计算机中的数据类型也有符号,分为有符号数和无符号数。

有符号数:
整形:signed int(简写为 int)
signed long,也写作signed long int,(简写为long)
signed short,也写作signed short int(简写为short)
signed(表示signed int)
浮点型:
signed float(简写为float)
signed double(简写为double)
字符型:
signed char(简写为char)

无符号数:
整形:整形有无符号数,用来表示一些编码编号之类的东西。譬如身份证号,房间号
unsigned int(没有简写)
unsigned long int(简写unsigned long)
unsigned short int(简写为unsigned short)

浮点数:没有无符号浮点数。也就是说,小数一般只用在数学概念中,都是有符号的。

字符型:字符型有无符号数
    unsigned char(没有简写)

- 三、代码演示

/*
 * 公司:腕大集团
 * 作者:Dreamjz
 * 项目:C语言sizeof运算符的演示
 * 功能:sizeof测试类型占用内存
 */
#include <stdio.h>


int main(void)
{
    int len_lei1,len_lei2,len_lei3,len_lei4,len_lei5,len_lei6,len_lei7;

    // sizeof测试类型占用内存
    len_lei1 = sizeof(char);            // 1 单位是字节
    len_lei2 = sizeof(unsigned char);   // 1 单位是字节
    len_lei3 = sizeof(short);           // 2 单位是字节
    len_lei4 = sizeof(int);             // 4 单位是字节
    len_lei5 = sizeof(long);            // 4 单位是字节
    len_lei6 = sizeof(float);           // 4 单位是字节
    len_lei7 = sizeof(double);          // 8 单位是字节
    printf("len_lei1 = %d.\n", len_lei1);
    printf("len_lei2 = %d.\n", len_lei2);
    printf("len_lei3 = %d.\n", len_lei3);
    printf("len_lei4 = %d.\n", len_lei4);
    printf("len_lei5 = %d.\n", len_lei5);
    printf("len_lei6 = %d.\n", len_lei6);
    printf("len_lei7 = %d.\n", len_lei7);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值