网站大量收购闲置独家精品文档,联系QQ:2885784924

第2章 数据类型.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 数 据 类 型 我们知道计算机处理的对象就是数据,然而不是所有的数据计算机都能直接处理。在计算机高级语言中能直接处理的数据类型称为该语言的数据类型。本章主要讨论C语言的数据类型。 2.1 C数据类型概述 什么是计算机的数据类型?这是我们首先要明确的一个问题。 数据类型(data type)是一个值的集合和定义在这个集合上的一组操作的总称。例如C语言中的整数类型int,它的值的集合为区间[minint,maxint]上的整数(minint、maxint是依赖特定计算机的最小、最大整数);定义在其上的一组操作为:加、减、乘、整除和取模等。数据类型体现了数据结构的特点,一种高级语言提供的数据类型越丰富,其直接描述简单数据结构和组织复杂数据结构的能力就越强。 C语言提供的数据类型较一般高级语言丰富,C语言除提供整型、字符型和实型等基本数据类型外,还提供了数组、结构体、共用体和指针等数据类型。利用这些数据类型能便捷地描述较复杂的数据结构(如常用的链表、二叉树、栈等动态存储分配的数据结构)。 C的数据类型如下: C语言中的数据有常量和变量之分,类似于数学中的常量和变量。 2.2 常 量 常量是指程序运行过程中其值不能被改变的数据对象。常量可以有不同的类型,如:78,0,?96为整型常量;76.6,?12.4为实型常量;(a(,(A(为字符型常量;(a(、(C Language(是字符串常量等。 2.2.1 整型常量 整型常量即整型常数。C语言整型常数可用三种表示方式: (1) 十进制整数。如124,234,?23,0等。 (2) 八进制整数。以0开头的数是八进制数。如0234表示八进制数(234)8,它等于十进制数156。 (3) 十六进制整数。以0x或0X开头的数是十六进制数。如0x234表示十六进制数(234)16,它等于十进制数564。 例2.1 整型常量的表示。 #include stdio.h void main() { int a, b, c; a?50; // a为十进制整数50 b??032; // b为八进制整数?32 c?0x5b; // c为十六进制整数5b printf((a??d, b??d, c??d\n(, a, b, c); //以十进制整数形式输出a,b,c的值 } 运行结果如下: a?50, b??26, c?91 2.2.2 实型常量 实数在C语言中又称浮点数。实数有两种表示形式: (1) 十进制数形式。它由数字和小数点组成(注意必须有小数点)。如0.678,.678,678.0,678.,0.0都是十进制数形式。 (2) 指数形式。如54.0e3或54E3都代表54.0(103。但注意字母e(或E)之前必须有数字,且e后面指数必须为整数,如e6,3.2e7.5,.e9,5e等都是不合法的指数形式。 2.2.3 字符型常量 1.字符常量 C语言的字符常量是用单引号(即撇号)括起来的一个字符。如(a(,(A(,(#(,(?(等都是字符常量。注意,(a(和(A(是不同的字符常量。 C语言中有些控制字符(又称非显示字符)是无法直接用字符常量形式表示的。例如,前面已经遇到过的,在printf函数中的(\n(,它代表一个“换行”符,就是一个难以用字符常量表示的控制字符。C语言规定用一种特殊形式表示控制字符,即以一个“\”开头的字符序列。因为“\”后面的字符已不再是原来该字符的作用而转为新的含义,因而称为转义字符。如(\n(中的“n”不代表字母n,而作为“换行”符。C语言的转义字符如表2-1所示。 表2-1 转义字符 字符 功 能 字符 功 能 \n 换行 \a 响铃 \t 横向跳格(跳到下一个输出区) \\ 反斜杠字符 \v 竖向跳格 \( 单引号字符 \b 退格 \( 双引号字符 \r 回车 \ddd 1到3位8进制数所代表的字符 \f 走纸换页 \xhh 1到2位16进制数所代表的字符 例2.2 转义字符的验证。 #include stdio.h void main() { printf((□□c\t□de\ra\tY\b=\n(); //为了反映空格的个数,用□表示空格 printf((\376(); } 第一个printf函数先在第一行左端开始输出“□□c”,然后遇到转义字符(\t(,它的作用是跳格,即跳到下一个“输出区”,在我们所用系统中一个“输出区”占8列。“下一个输出区”从第9列开始,故在第9?11列上输出“□de”。下面遇到转义字符(\r(,它代表“回车” (不换行),当前输出位置移至本行行首(第1列),输出字符(a(,然后遇转义字符(\t(再使当前

文档评论(0)

ymeioxianw + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档