• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C 语言基础教程(我的C之旅开始了)[四]

C 语言基础教程(我的C之旅开始了)[四]

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c语言基础教程课程,编程基础教程c语言,c语言基础教程,零基础学c语言教程,java语言基础教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

10. 基本数据类型:整型(上)

1. 整型 int

    C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负。int 是整型之一,一般被称为整型。
    int 代表有符号整数,也就是说,用 int 声明的变量可以是正数,可以是负数,也可以是零,但是只能是整数。标准规定 int 的最小取值范围是 -32767 到 32767。int 的取值范围因机器而异,但是一定要大于或者等于-32767到 32767。一般来说,int 占用一个字的内存空间。因此,字长为 16 位的旧式 IBM 兼容机使用 16 位来储存整型 int ,取值范围是 -32768 到 32767 。目前的个人电脑一般都是 32 位字长的,这些电脑中,int一般也是32位的,取值范围是 -2147483648到 2147483647 。对于使用 64 位 CPU 的电脑,使用更多字节储存 int 也是很自然的事情,取值范围当然也会更大。


2. 声明 int 类型的变量

    正如我们在以前的教程里看到的那样,int 用于声明整型变量:以 int 打头,后面跟着变量的名字,最后以分号(;)结束。例如:

        int erns;  /* 声明一个变量 */
        /* 注意:一定要用逗号(,),不能用分号(;)*/
        int hogs, cows, goats;  /* 声明三个变量 */

    以上声明创建了变量,但是没有给它们提供“值(value)”。在前面的教程中,我们已经用了两种方法使变量获得“值”。一种是赋值:cows = 500; 。另一种是使用 scanf 函数:scanf( "%d", &goats ); 。下面我们来学习第三种方法。


3. 初始化变量

    初始化变量是指给变量赋初值:声明变量的时候,在变量名的后面写上等号(=),然后写下你希望赋予变量的“值”。例如:

        int hogs = 21;
        int cows = 32, goats = 14;
        int dogs, cats = 94;

    以上声明创建了变量,并且为这些变量分配了空间,同时也赋了初值。注意,第三行中只有 cats 被初始化为 94,而 dogs 没有被初始化!如下图:

 


4. int 常量

    上面的例子中,21、32、14,以及 94 都是整数常量。C 语言中,整数常量的默认类型是 int ,也就是说,整数常量占用内存空间的大小一般等于 int 类型的变量占用空间的大小。如果整数常量的大小超过了 int 的取值范围,那么编译器将会把这个整数常量当作 long int 类型来处理,这个我们后面还会讲到。
21、32、14 和 94 都在 int 的取值范围之内,因此它们都是 int 常量。


5. 输出 int 型数据
    我们可以用 printf 函数来输出 int 型数据。正如我们在前面的教程中看到的那样,占位符 %d 代表输出的是 int 型数据,它告诉 printf 函数在什么地方输出相应的 int 型数据。%d 也被称为格式限定符(format specifier),因为它指定了 printf 函数应该使用什么形式来输出数据。printf 函数的第一个参数只能是字符串,这个字符串被称为格式串(format string)。格式串中有多少个 %d,我们就应该相应地提供多少个 int 型参数给 printf 函数。int 型参数可以是 int 型变量,int 型常量,以及结果为 int 型的表达式等。例如:

        int year = 2005; /* year 是 int 型变量 */
           printf( "Today is %d-%d-%d\n", year, 9, 20 + 9 ); /* 20 + 9 是加法表达式 */

保证格式限定符的数目和参数数目一致是我们的责任,编译器不负责捕捉这种错误!例如:

            #include <stdio.h>

            int main(void)
            {
                int ten = 10, two = 2;

                printf("%d minus %d is %d\n", ten ); /* 少写了两个参数 */

                getchar();  /* 等待用户按回车 */
                return 0;
            }

这个程序可以通过编译,但是运行结果将会出乎意料,因为我们少写了两个参数。第一个 %d 被参数 ten 的值代替,而另外两个 %d 将被内存中本来储存着的值代替。因为内存中本来储存着的值是不确定的,所以输出结果是不确定的。


6. 八进制(octal)和十六进制(hexadecimal)

    C 语言中,整数常量默认是十进制(decimal)整数。通过在整数常量前面加上特定的前缀,可以把它设定为八进制或者十六进制整数。前缀 0x 或者 0X 把整数常量设定为十六进制整数。注意,是数字 0 ,而不是字母 O ,别搞错了哦!例如:十进制的 16 用十六进制来表示是 0x10 或者 0X10 。在整数常量前面加上前缀 0 ,表示它是八进制整数。注意,是数字 0 ,而不是字母 O 。例如:十进制的 16 表示为八进制就是 020 。


7. 以八进制或者十六进制形式输出数据

    使用格式限定符 %o 可以以八进制的形式输出整数。注意,是小写字母 o ,不是数字 0 。使用 %x 或者 %X 可以以十六进制的形式输出整数。小写 x 表示输出使用小写字母,大写 X 表示输出使用大写字母。使用 %#o,%#x 或者 %#X,得到的输出将包括前缀 0,0x 或者 0X。例如:

            #include <stdio.h>

            int main(void)
            {
                int x = 200;

                printf("dec = %d; octal = %o; hex = %x; HEX = %X\n", x, x, x, x);
                printf("dec = %d; octal = %#o; hex = %#x; HEX = %#X\n", x, x, x, x);

                getchar();
                return 0;
            }

这个程序的输出是:

        dec = 200; octal = 310; hex = c8; HEX = C8
        dec = 200; octal = 0310; hex = 0xc8; HEX = 0XC8

11. 基本数据类型:整型(中
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C 语言基础教程(我的C之旅开始了)[十]
  • C 语言基础教程(我的C之旅开始了)[九]
  • C 语言基础教程(我的C之旅开始了)[八]
  • C 语言基础教程(我的C之旅开始了)[七]
  • C 语言基础教程(我的C之旅开始了)[六]
  • C 语言基础教程(我的C之旅开始了)[五]
  • C 语言基础教程(我的C之旅开始了)[四]
  • C 语言基础教程(我的C之旅开始了)[三]
  • C 语言基础教程(我的C之旅开始了)[二]

相关文章

  • 2017-05-28浅析_tmain()与main()的区别
  • 2017-05-28C语言解字符串逆序和单向链表逆序问题的代码示例
  • 2017-05-28C语言控制台版2048小游戏
  • 2017-05-28基于c的for循环中改变变量值的问题
  • 2017-05-28Linux编程实现制作文件的ed2k链
  • 2017-05-28解析C++中派生的概念以及派生类成员的访问属性
  • 2017-05-28数据结构课程设计- 解析最少换车次数的问题详解
  • 2017-05-28c++作用域运算符用法(全局变量和局部变量)
  • 2017-08-30C++ 多线程 小记
  • 2017-05-28c语言文件读写示例(c语言文件操作)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言运算符的优先级和结合性实例详解
    • 解析为何要关闭数据库连接,可不可以不关闭的问题详解
    • c语言读取csv文件和c++读取csv文件示例分享
    • 递归法求最大公约数和最小公倍数的实现代码
    • 举例讲解C语言程序中对二叉树数据结构的各种遍历方式
    • 基于C语言EOF与getchar()的使用详解
    • C语言实现带头结点的链表的创建、查找、插入、删除操作
    • C++ 构造函数中使用new时注意事项
    • 如何使用递归和非递归方式反转单向链表
    • Ubuntu配置sublime text 3的c编译环境的具体步骤

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有