精华内容
下载资源
问答
  • 输出一个有符号10进制 int 类型 %o unsigned int 输出8进制 int 类型 %x unsigned int 输出10进制 int 类型,字母以小写输出 %X unsigned int 输出10进制 int 类型,字母以大写输出 %u unsigned int...
    输出格式 对应数据类型 符号的含义
    %d int 输出一个有符号的10进制 int 类型
    %o unsigned int 输出8进制的 int 类型
    %x unsigned int 输出10进制的 int 类型,字母以小写输出
    %X unsigned int 输出10进制的 int 类型,字母以大写输出
    %u unsigned int 输出一个 10 进制的无符号整型

    注:%x 用小写字母a ~ f来表示,%X用大写字母A ~ F来表示。无符号整型的最小值是0;

    #include <stdio.h> 
    
    int main(){
    	int a = 12345;    // 赋值十进制的变量 
    	int b = 0014;   // 赋值 8进制的变量 
    	int c = 0x4d2;  // 赋值16进制的变量 
    	int d = 0;
    	int e = -1;     // 赋值为-1转换为 无符号整型输出  
    	
    	printf("a = %d\n", a);
    	printf("8进制: b = %o\n", b);
    	printf("10进制:b = %d\n", b);
    	printf("16进制:b = %x\n", c);
    	printf("16进制:b = %X\n", c);
    	printf("10进制:b = %d\n", c);
    	
    	printf("无符号整型 d 的 10进制: %u\n", d);	
    	printf("无符号整型 e 的 10进制: %u\n", e);	  // 无符号整型的最小值是0;
    	
    	return 0; 
    }
    

    运行结果:
    在这里插入图片描述

    shortintlonglong long

    数据类型 占用空间
    short(短整型) 2字节
    int(整型) 4字节
    long(长整型) Windows 为 4字节,Linuwx为4字节(32为), 8字节(64位)
    long long (长长整型) 8字节

    注:

    • short是短整型,一般short是int的一半大小,short在32位的windows下是2个字节。
    • 需要注意的是,整型数据在内存中占的字节数与所选择的操作系统有关。虽然C语言标准中没有明确规定整型数据的长度,但 long 类型整数的长度不能短于 int 类型,short 类型整数的长度不能短于 int 类型。
    • 当一个小的数据类型赋值给一个大的数据类型,不会出错,因为编译器会自动转换。但当一个大的类型赋值给一个小的数据类型,那么就可能丢失高位。
    整型常量 所需类型
    10 代表 int 类型
    10l, 10L 代表 long 类型
    10ll, 10LL 代表 long long 类型
    10u, 10U 代表 unsigned int 类型
    10ul,10IL 代表 unsigned long 类型
    10ull, 10ULL 代表 unsigned long long 类型
    输出格式 对应数据类型 符号的含义
    %hd short 输出 short 类型
    %d int 输出 int 类型
    %l long 输出 long 类型
    %ll long long 输出 long long 类型
    %hu unsigned short 输出 unsigned short 类型
    %u unsigned int 输出 unsigned int 类型
    %lu unsigned long 输出 unsigned long 类型
    %llu unsigned long long 输出 unsigned long long 类型

    总结

    整型后缀:

    • u 和 U 表示该整型常量为无符号类型。
    • l 和 L 表示该整型常量为long 型。

    整型常量的数据类型由以下三个因素决定。

    • 该整型常量的值
    • 该整型常量的后缀
    • 所在编译器中各数据类型的表示范围
    无后缀的十进制常量 int → long → unsigned long
    无后缀的八进制或十六进制常量 int → unsigned → long → unsigned long
    带后缀 u / U unsigned → unsigned long
    带后缀 l / L long → unsigned long
    带后缀 l / L 和 u / U unsigned long
    展开全文
  • C语言——整型变量

    千次阅读 2019-06-30 12:49:12
    标题整型变量的分类: (注意:占几个字节跟操作系统和编译器规定有关,可以在编译器上调试查看!) 1)基本型:类型说明符为int,在内存中占4个字节 2)短整型:short int或short,所占字节和取值范围基本相同 3)长...

    标题整型变量的分类:

    (注意:占几个字节跟操作系统和编译器规定有关,可以在编译器上调试查看!)
    1)基本型:类型说明符为int,在内存中占4个字节
    2)短整型:short int或short,所占字节和取值范围基本相同
    3)长整型:long int或long,在内存中占4个内存
    4)无符号型:为unsigned

    在编译器中输出变量类型所占字节数:
    在这里插入图片描述
    在这里插入图片描述
    说明一下,这个程序我原本以为会运行得很顺利,结果还是出了点小插曲。仔细检查发现了,就是这个逗号用成了中文的形式,然后立马改回来了,就输出正确结果。事实证明,在VC++6.0中,int基本型在内存中占4个字节。
    当然也可以把sizeof()里面的int替换成其他需要验证的类型所占内存的字节

    整型变量的定义

    变量定义的一般形式为“
    类型说明符 变量名标识符,变量名标识符…;(一个分号表示一个语句结束
    举比较常见的几个例子:
    int a,b,c;(定义为整型变量)
    short x,y,z;(定义为短整型变量)
    float m,n;(定义为浮点型变量)

    在书写变量定义时,需注意:

    • 一个类型说明符后面可跟多个相同类型的变量,各变量名之间用;隔开。
    • 最后一个变量名之后必须用;号结尾。
    • 必须先定义变量才能使用,一般放在函数体的开头部分。不定义的话,内存里就不存在这个变量。当然无法使用它。

    【例3.1】

    #include<stdio.h>
    void main()
    {
    int a,b,c,d;
    unsigned u;
    a = 12;
    b = -24;
    u = 10;
    c = a + u; d= b+u;
    printf(“a+u=%d,b+u=%d\n”,c,d);
    }

    因为使用到了printf输出语句,所以我们开头要用预处理语句stdio.h。在”“里面的都是以字符的形式输出,就是说你在字符串里面写什么输出的就是什么,%d是形式输出,每一个%对应后面的数,即第一个%d对应c,第二个%d对应d,c,d均以整型的形式输出。

    输出的结果如图所示:
    在这里插入图片描述
    当然我们这里是以字母相加的形式输出,我们也可以用%d对其进行替换,输出数字相加的形式,当然后面对应%d的字母也要相应替换掉,否则会乱掉,以图为鉴:
    在这里插入图片描述

    溢出

    溢出呢,怎么理解比较好一些呢?打个比方吧,我们来想一下一个水桶,水桶的容积是固定的,也就是说这个水桶能装多少水是固定的,当我们往里面放水,水的体积超过了水桶的容积的时候,超过水桶容积这部分的水就会溢出了。同样的道理,我们的内存给一个类型的数据分配的空间是固定的,当存入的数据值大小超过这个存储空间时,超出的这部分就自然而然地溢出了。

    【例3.2】

    #include <stdio.h>
    
    void main()
    {
      int a,b;
      a = 32767;
      b = 1 + a;
      printf("%d,%d\n",a,b);
    }
    

    运行出来的结果图如下:
    在这里插入图片描述
    这段代码的功能就是输出a,b的数值。int在内存里面占四个字节。此时并没有出现任何异常。但是当我们将int 改为short int 时,就变成如下情况:
    在这里插入图片描述
    这个时候就发生溢出了。为什么呢?
    因为啊,虽然是十六位,但是第一位是符号位,实际用来存储的就只有15位。我们来看一下:
    32767:0111 1111 1111 1111
    -32768: 1000 0000 0000 0000(负数的最大数)

    当在程序中遇到不同类型的数据时,编译器会进行自动转换,分为两种,一种是显式转换,另一种是隐式转换。通常,编译器进行的是的分类:
    (注意:占几个字节跟操作系统和编译器规定有关,可以在编译器上调试查看!)1)基本型:类型说明符为int,在内存中占4个字节2)短整型:short int或short,所占字节和取值范围基本相同3)长整型:long int或long,在内存中占4个内存4)无符号型:为unsigned在编译器中输出变量类型所占字节数:在这里插入图片描述在这里插入图片描述说明一下,这个程序我原本以为会运行得很顺利,结果还是出了点小插曲。仔细检查发现了,就是这个逗号用成了中文的形式,然后立马改回来了,就输出正确结果。事实证明,在VC++6.0中,int基本型在内存中占4个字节。当然也可以把sizeof()里面的int替换成其他需要验证的类型所占内存的字节 ## 整型变量的定义变量定义的一般形式为“类型说明符 变量名标识符,变量名标识符…;(一个分号表示一个语句结束)举比较常见的几个例子:int a,b,c;(定义为整型变量)short x,y,z;(定义为短整型变量)float m,n;(定义为浮点型变量)在书写变量定义时,需注意: - 一个类型说明符后面可跟多个相同类型的变量,各变量名之间用;隔开。 - 最后一个变量名之后必须用;号结尾。 - 必须先定义变量才能使用,一般放在函数体的开头部分。不定义的话,内存里就不存在这个变量。当然无法使用它。 【例3.1】> #include<stdio.h>void main(){ int a,b,c,d; unsigned u; a = 12; b = -24; u = 10; c = a + u; d= b+u; printf(“a+u=%d,b+u=%d\n”,c,d);}因为使用到了printf输出语句,所以我们开头要用预处理语句stdio.h。在”“里面的都是以字符的形式输出,就是说你在字符串里面写什么输出的就是什么,%d是形式输出,每一个%对应后面的数,即第一个%d对应c,第二个%d对应d,c,d均以整型的形式输出。输出的结果如图所示:在这里插入图片描述当然我们这里是以字母相加的形式输出,我们也可以用%d对其进行替换,输出数字相加的形式,当然后面对应%d的字母也要相应替换掉,否则会乱掉,以图为鉴:在这里插入图片描述## 溢出溢出呢,怎么理解比较好一些呢?打个比方吧,我们来想一下一个水桶,水桶的容积是固定的,也就是说这个水桶能装多少水是固定的,当我们往里面放水,水的体积超过了水桶的容积的时候,超过水桶容积这部分的水就会溢出了。同样的道理,我们的内存给一个类型的数据分配的空间是固定的,当存入的数据值大小超过这个存储空间时,超出的这部分就自然而然地溢出了。【例3.2】#include <stdio.h>void main(){ int a,b; a = 32767; b = 1 + a; printf("%d,%d\n",a,b);}运行出来的结果图如下:在这里插入图片描述这段代码的功能就是输出a,b的数值。int在内存里面占四个字节。此时并没有出现任何异常。但是当我们将int 改为short int 时,就变成如下情况:在这里插入图片描述这个时候就发生溢出了。为什么呢?因为啊,虽然是十六位,但是第一位是符号位,实际用来存储的就只有15位。我们来看一下:32767:0111 1111 1111 1111-32768: 1000 0000 0000 0000(负数的最大数) 当在程序中遇到不同类型的数据时,编译器会进行自动转换,分为两种,一种是显式转换,另一种是隐式转换。通常,编译器进行的是隐式转换,就是将范围小的数据类型向范围大的转换,而显式转换又称强制转换,将更大范围的数据类型转换成更小类型的数据。

    此次程序编译过程出现的一丢丢错误:就是在printf("%d,%d\n",a,b);这句话中,我将"后面a前面的这个逗号给省略掉之后,编译就一直在报错,于是检查一遍发现后,添加上去了,就没问题了。这里是因为要用这个逗号进行分段,使其能够进行区分识别是以字符串形式输出还是以数字形式输出。下次不能再犯这种错误了呀!

    实型数据

    1、实型常量的表示方法:
    实型就是数学中的实数,C语言采用十进制表示,二进制存储。有时候我们分不清一个数字是整型还是浮点型,举个栗子,5.00是个整数还是浮点数呢?不确定对吧,5.00f后面加一个f。
    2、存放形式
    学完了表示方法我们再学习一下存储方式,3.1415926这样子存

    符号 小数 指数
    + .31415926 1

    我们来算一下.31415926*10^1=3.141592
    一位为符号位,七位为小数位,剩余的二十四位为指数位

    小数部分占的位数越多,数的有效数字越多,精度越高;指数部分占的位数越多,则能标识的数值范围越大。

    3、实型变量的分类
    分为三种:单精度(float)、双精度(double)、长双精度(long float)三类。

    展开全文
  • C语言整型数据类型

    2020-11-16 23:14:42
    数据类型的本质就是固定内存大小的别名,因为每个数据类型编译器都规定了其占用内存空间的大小,在此基础上才衍生除了变量的大小,因此,变量的本质就是一段连续内存空间的别名。对变量的操作最终都是转换位对内存的...

    1.1数据类型的本质

    数据类型的本质就是固定内存大小的别名,因为每个数据类型编译器都规定了其占用内存空间的大小,在此基础上才衍生出了变量的大小,因此,变量的本质就是一段连续内存空间的别名。对变量的操作最终都是转换位对内存的操作。

    1.2整型的分类?

           整型分为字符,短整型,整型,长整型。同时有无符号和有符号之分。

         数据类型划分以及其表示数据范围如下

     

    1. 长整型至少要和整型一样长,而整型至少应该和短整型一样长。
    2. 在实际开发过程中,short int 至少是16bit的,而long int 至少是32bit的
    3. 在单片机开发种,一般无符号的数据类型,其定义方式如下所示。

    typedef unsigned          char u8;

    typedef unsigned short     int u16;

    typedef unsigned           int u32;

      4.在数值的后面添加L或者l,可以使这个数值被解释位long型,在后面添加U或者u,可以把数值指定为unsigned整型值,这在STM32的库中经常能看到该种表达方式。

    展开全文
  • 假定有一个程序,它把一个long整型变量赋值给一个short整型变量。当你编译程序时候会发生什么情况?当你运行程序时会发生什么情况?你认为其他编译器结果是否也是如此?
  • 嗨喽C语言整型变量

    2019-02-03 21:42:04
    根据占用内存字节数不同,整型变量又分为4类: (1)基本整型(类型关键字为int)。 (2)短整型(类型关键字为short [int])。 (3)长整型(类型关键字为long [int])。 (4)无符号整型。无符号型又分为无符号...

    1.分类
    根据占用内存字节数的不同,整型变量又分为4类:
    (1)基本整型(类型关键字为int)。
    (2)短整型(类型关键字为short [int])。
    (3)长整型(类型关键字为long [int])。
    (4)无符号整型。无符号型又分为无符号基本整型(unsigned [int])、无符号短整型(unsigned short)和无符号长整型(unsigned long)三种,只能用来存储无符号整数。
    2.占用内存字节数与值域
    上述各类型整型变量占用的内存字节数,随系统而异。在16位操作系统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型(2字节)≥short型(2字节)。
    显然,不同类型的整型变量,其值域不同。占用内存字节数为n的(有符号)整型变量,其值域为:-2n8-1(2n*8-1-1);无符号整型变量的值域为:0(2n8-1)。

    例如,PC机中的一个int型变量,其值域为-228-1~(228-1-1),即-
    3276832767;一个unsigned型变量的值域为:0(22*8-1),即0~655
    35。

    展开全文
  • C语言基本数据类型整型变量

    千次阅读 2019-07-10 15:42:30
    基本数据类型整型常量 在c语言中,整形常量分为八进制、十六进制、和十进制三种 ⑴八进制必须以0开头,以0作为八进制数前缀。数码取值为0-7,八进制数通常是无符号数 ⑵十六进制常整数前缀为0X或者0x。数码...
  • C语言的变量类型

    千次阅读 2018-09-22 19:56:57
    整形变量 1、int型(整型) int只占用一个字节,主要是用来存储整数,存储范围为:(-2)31次方~231次方-1。 比如如下一个求圆周长和面积程序: include&lt;stdio.h&gt; main(){ int r; int c; ...
  • 在初学C语言时,记得老师讲过存储整型变量可以定义为char、short、int,随着计算机硬件发展,可以忽略int类型带来字节浪费,统一定义为int类型。可真正原因是什么?本文从反汇编角度进行剖析说明,使用编译器...
  • C语言变量存储类型和生存周期

    千次阅读 多人点赞 2018-09-06 22:05:30
    前言 本博文基于VC++6.0开发,调试,...注意:数据类型和数据存储类型都是针对于声明或定义函数和变量而言; 动态存储类型变量或函数,在被使用时临时分配内存单元,在函数结束后所占用内存单元将会被释放...
  • 1)字符型变量可以与整型变量一样进行算术运算(使用字符数据ASCII码值进行运算) 例1: char m = ‘A’; char n = 32; //char类型直接赋值整型,此整型为对应字符ASCII码值 char result = m+n; printf(“%...
  • 整型变量的定义与输出 |打印格式 | 含义 -------- | ----- %d | 输出一个有符号的十进制int类型 %o | 输出八进制的int类型 %x | 输出十六进制的int类型,字母以小写输出 %X | 输出十六进制的int类型,字母以大写输出...
  • C语言中一个重要的东西就是弄清申明变量的类型、作用域、存储类型、链接属性等,例如是整型还是浮点型,存储于普通内存还是堆栈或者寄存器,作用于全局还是局部,能否被其他文件 引用等。 链接属性 申明变量或函数...
  • C语言--整型变量的种类

    千次阅读 2013-07-16 22:51:03
    整型变量的基本类型符为int,这是用得最多的。编译时系统为它分配一定的字节(Turbo C分配2个字节,Visual C++分配4个字节)。2个字节可以表示的数值范围为-2^15~(2^15-1),即-32768~32767,如是4个字节,则把15换成...
  • C语言三种基本数据类型是:整型 、实型 、字符型 和枚举型。每种类型又可以分为常量和变量整型常量:  (1) 十进制的整型常量:由数字0~9组成。如:0、10、365、-12等。 (2) 八进制的整型常量:以0...
  • 变量的基本类型包括:字符型、整型、长整型、浮点型。 每个变量在每个编译器所占的字节数不同,《the C Programming language》是这样说的: Each compiler is free to choose appropriate sizes for its own ...
  • C语言变量

    2019-07-10 23:31:43
    变量可以划分为不同的类型,包括整形变量、实型变量和字符型变量 整型变量 1.基本整型变量 类型说明符为int,在内存中占2字节,其取值范围为基本整常数。数据在内存中是以二进制形式存放的,如果定义了一个整型变量I,...
  • C语言的变量类型

    2008-10-20 09:17:00
    而且声明时必须确定变量类型 后使用 而如(c++等)必须先声明 这类语言变量的声明通常被称为弱类型 等) flash cs3.0以前 可以不用声明就直接赋值来决定变量类型的语言如(javascript 声明变量时 结构体变量等. C语言...
  • 问题描述:使用C语言级数求和,注意变量类型。 #include<stdio.h> #include<stdlib.h> #include<math.h> #include<time.h> int main() { int n,i; double sum=0.0; scanf("%d",&n); ...
  • 类型是抽象概念:有大小 没有空间 系统不会给类型分配空间,只给类型定义变量分配空间 测量类型大小:sizeof(类型名/变量名) printf("char 大小=%d\n", sizeof(char));//1字节 printf("short 大小=%d\n", ...
  • 整型数据 ②字符型数据 ③浮点型数据
  • 类型名称 ----------------字节数 ------------------------------- 取值范围 signed char ---------------1 --------------------------------- -128~+127 short int ------------------- 2 ---------------------...
  • C语言系列课8:一文吃透C语言整型 C语言系列课7:10分钟学会C语言基础语法 C语言系列课6:Hello World 第一个C语言程序 C语言系列课5:Visual Studio集成开发环境搭建 … … 文章目录1. 变量与常量2. 声明变量3. ...
  • C语言的变量

    2016-07-05 13:48:56
    1、变量的数据类型整型等 2、变量的作用域:局部变量和全局变量 3、数量的存储类型:register、static、auto 变量的储存和调用: 当一个可执行文件被执行(./a.out),即创建一个进程。此时,系统会为...
  • C语言变量的换值

    2018-09-25 08:29:00
    变量的换值是C语言中的重点,也是基础知识点。尤其是在多个数值比较大小时,我们会经常运用到变量的换值运算。变量的换值一般是同类型的互换。如整型、字符型、实数型、数组、字符串、结构体类型的变量。实现变量的...
  • 1. C语言指针变量 : 类型名 *指针变量名 char *pa; //定义一个指向字符型的指针变量 int *pb; // 定义一个指向整型的指针变量 2 . 取值运算符和取地址运算符 (1) 如果需要获取某个变量的地址,可以使用取地址...
  • C语言中并没有bool类型变量。这是C++中新增系统类型。 要在C语言中使用bool类型,可以使用自定义方式。 使用整型做bool类型。 typedef int bool; 或 typedef unsigned char bool; 只要是整型,都可以当做bool...
  • 一: C语言的变量和数据类型的理解 数据类型整型和小数 整型:int char short long 小数:float double b 存储空间最小单位:Byte = 8 bit 1 KB = 1024 B 1MB = 1024K 1024b 1024B 数据类型是不占用存储空间...
  • #include <stdio.h>... printf("输入一个整型数"); scanf("%d",&a); for(int i=1;i<=10;i++) { int num; num=a*i; printf("最后结果为:"); printf("%d\n" ,nu...
  • 一、学习目标 了解C语言的基本数据类型 注意:本篇内容知识大多为理论知识,如觉得生涩难懂也没关系,下一节将会以...基本数据类型指不可再分解的类型。想必各位读者觉得这句定义还是依如常规的生涩难懂。 为什么说

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,550
精华内容 1,020
关键字:

c语言整型变量的类型

c语言 订阅