热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言输出整数,c语言数据类型

整型数据即整数。整型数据的分类整型数据的一般分类如下:基本型:类型说明符为int,在内存中占2个字节。短整型:类型说明符为shortint或short。所占字节和取值范围


整数数据是整数。 整数数据的分类整数数据的一般分类如下。 基本类型:类型说明符为int,在内存中占2字节。 短整数:类型说明符为短整型或短整型。 字节和可能的值范围与基本类型相同。 长整数:类型说明符为长整型或长整型,在内存中占4个字节。 无符号类型:类型说明符为unsigned。 无符号类型可以根据上述三种类型进行配置。 无符号基本类型:类型说明符为unsigned int或unsigned。 无符号短整数类型:类型说明符为无符号短整型。 无符号长整数:类型说明符为无符号长整数。 下表介绍了分配给c语言中每个整数数据的内存字节数和数量的表示范围。 类型描述符数范围字节数int-32768至32767,即- 215至(215-1 )2unsigned int 0至65535,即0至(216-1 )2short int-32768至32225 - 215至(215-1 )2unsigned short int 0至65535,即0至(216-1 )2long int-2147483648至2147483647,即- 231至(2331 ) 数值以补数表示。 正数补数与原始代码相同。 负数补数:将该数绝对值的二进制形式按位反转后加1。 例如,求-10的补数:由此可知,左边的第一位表示符号。 每个无符号整数数据所占的内存空间字节数与相应的有符号类型的量相同。 但是,由于省略了符号位,所以不能表示负数。 以13为例,整数数据的表现方法为上述整数,均为十进制。 在c语言中,八进制和十六进制也很常用。 以下集中说明。 1) 十进制数进制没有前缀。 那个数字是0~9。 以下是合法的十进制数。 237、-568、65535、1627;

G: 0px; -webkit-text-stroke-width: 0px"> 以下是不合法的十进制数:023 (不能有前导0)、23D (含有非十进制数码)。

在程序中是根据前缀来区分各种进制数的。因此在书写时不要把前缀弄错造成结果不正确。

2) 八进制数
八进制数必须以0开头,即以0作为八进制数的前缀。数码取值为0~7。八进制数通常是无符号数。

以下是合法的八进制数:015(十进制为13)、0101(十进制为65)、0177777(十进制为65535);

以下是不合法的八进制数:256(无前缀0)、03A2(包含了非八进制数码)、-0127(出现了负号)。

3) 十六进制数
十六进制数的前缀为0X或0x。其数码取值为0~9,A~F或a~f。

以下是合法的十六进制数:0X2A(十进制为42)、0XA0 (十进制为160)、0XFFFF (十进制为65535);

以下是不合法的十六进制数:5A (无前缀0X)、0X3H (含有非十六进制数码)。

4) 整数的后缀
可以用后缀“L”或“l”来表示长整型数。例如: 十进制长整型数:158L (十进制为158)、358000L (十进制为358000);八进制长整型数:012L (十进制为10)、077L (十进制为63)、0200000L (十进制为65536);十六进制长整型数:0X15L (十进制为21)、0XA5L (十进制为165)、0X10000L (十进制为65536)。
长整型数158L和基本整型数158 在数值上并无区别。但对158L,因为是长整型数,C编译系统将为它分配4个字节存储空间。而对158,因为是基本整型,只分配2 个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。

无符号数也可用后缀表示,整型数的无符号数的后缀为“U”或“u”。 例如:358u、0x38Au、235Lu均为无符号数。

前缀,后缀可同时使用以表示各种类型的数。如0XA5Lu表示十六进制无符号长整型数A5,其十进制为165。

几个整型变量的定义: int a,b,c; // a,b,c为整型变量 long x,y; // x,y为长整型变量 unsigned p,q; // p,q为无符号整型变量
【例3-2】整型变量的定义与使用。 #include int 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); return 0; } 整型数据的溢出 【例3-3】整型数据的溢出。 #include int main(){ int a,b; a=32767; b=a+1; printf("%d,%d\n",a,b); return 0; }


注意:以上结果是在TC2.0下得出的;在VC6.0下,输出值是 32767, 32768。因为 int 类型在 TC2.0下默认是short int,占2个字节,在VC6.0下默认是 long int,占4个字节,32768不会导致溢出。将 a = 32767 改成 a = 2147483647 后即可看到溢出。

【例3-4】不同类型变量赋值 #include int main(){ long x,y; int a,b,c,d; x=5; y=6; a=7; b=8; c=x+a; d=y+b; printf("c=x+a=%d,d=y+b=%d\n",c,d); return 0; } 从程序中可以看到:x、y是长整型变量,a、b是基本整型变量。它们之间允许进行运算,运算结果为长整型。但c、d被定义为基本整型,因此最后结果为基本整型。 本例说明,不同类型的量可以参与运算并相互赋值。其中的类型转换是由编译系统自动完成的。 有关类型转换的规则将在后面介绍。
推荐阅读
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • c语言\n不换行,c语言printf不换行
    本文目录一览:1、C语言不换行输入2、c语言的 ... [详细]
  • 本文介绍了C函数ispunct()的用法及示例代码。ispunct()函数用于检查传递的字符是否是标点符号,如果是标点符号则返回非零值,否则返回零。示例代码演示了如何使用ispunct()函数来判断字符是否为标点符号。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 集合的遍历方式及其局限性
    本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
  • OO第一单元自白:简单多项式导函数的设计与bug分析
    本文介绍了作者在学习OO的第一次作业中所遇到的问题及其解决方案。作者通过建立Multinomial和Monomial两个类来实现多项式和单项式,并通过append方法将单项式组合为多项式,并在此过程中合并同类项。作者还介绍了单项式和多项式的求导方法,并解释了如何利用正则表达式提取各个单项式并进行求导。同时,作者还对自己在输入合法性判断上的不足进行了bug分析,指出了自己在处理指数情况时出现的问题,并总结了被hack的原因。 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • C语言判断正整数能否被整除的程序
    本文介绍了使用C语言编写的判断正整数能否被整除的程序,包括输入一个三位正整数,判断是否能被3整除且至少包含数字3的方法。同时还介绍了使用qsort函数进行快速排序的算法。 ... [详细]
  • C++语言入门:数组的基本知识和应用领域
    本文介绍了C++语言的基本知识和应用领域,包括C++语言与Python语言的区别、C++语言的结构化特点、关键字和控制语句的使用、运算符的种类和表达式的灵活性、各种数据类型的运算以及指针概念的引入。同时,还探讨了C++语言在代码效率方面的优势和与汇编语言的比较。对于想要学习C++语言的初学者来说,本文提供了一个简洁而全面的入门指南。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • 本文介绍了C++中的引用运算符及其应用。引用运算符是一种将变量定义为另一个变量的引用变量的方式,在改变其中一个变量时,两者均会同步变化。引用变量来源于数学,在计算机语言中用于储存计算结果或表示值抽象概念。变量可以通过变量名访问,在指令式语言中引用变量通常是可变的,但在纯函数式语言中可能是不可变的。本文还介绍了引用变量的示例及验证,以及引用变量在函数形参中的应用。当定义的函数使用引用型形参时,函数调用时形参的改变会同时带来实参的改变。 ... [详细]
author-avatar
溪龙2012_753
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有