C语言程序设计第2章-1数据类型、运算符和表达式
第2章 数据类型、运算符和表达式 常用的进位制 数与字符在计算机内存中的表示方法 C语言基本数据类型 常量与变量 数据的输出与输入 C语言的基本数据类型概述 2.1 常用的进位制 2.1.1 二进制、八进制和十六进制数 2.1.2十、二进制、八进制和十六进制数之间的换算 ⒈ 二、八、十六进制数 → 十进制数的换算采用按权展开法。 2AB.F 16 2χ162+10χ161+11χ160+15χ16-1 683.93 ⒉ 十进制数 → 二进制数的换算整数部分采用除以二取余直到商 为零、小数部分采用乘以二取整直到小数部分为零。 233.8125 1101)2 ⒊ 二进制数 → 八、十六进制数的换算:三位二进制数对应一位八进制数、四位二进制数对应一位十六进制数,所以转换时以小数点为分界线,整数部分从低到高,小数部分从高到低按位数分组,每组对应相应的八或十六进制数码。 (1101100.1011)2 (0110 1100.1011)2 (6C.B)16 2.2 数与字符在计算机内存中的表示方法 2.3 常量 2.3.1 常量 常量指在程序运行的整个过程中,其值始终保持不变的量。 常量可以有不同的类型,可分为直接常量和符号常量。 1.整型常量 十进制整型常量:由数字0~9和正负号表示。 如 123,-456,0,而024,25o错误。 八进制整型常量:以数字0为前缀,后跟数字0~7表示。如 0123,011。 十六进制整型常量:由0x或0X开头,后跟0~9,a~f, A~F表示。如 0x123,0Xff。 2.实型常量 C中实型常量只能用十进制形式表示,有以下两种表示方式: 一般形式:由0~9的数字和小数点组成如2.1,2.,.1,-1.456 指数形式:由十进制数加上阶码标志 “e”或 “E”以及阶码组 成,可表示为a E n,其中a为十进制数,n为十进制整数且可 以带符号,其所表示的值为a*10n 3.字符常量 字符常量是用单撇号括起来的单个字符或转义字符, 如: ‘a’, ‘9’, ‘&’, ‘\n’, ‘\’’, ‘\101’。 字符常量的值为该字符的ASCII码值,如 ‘a’值为97, ‘\n’ 值为10, ‘0’值为48。 注意: 字符常量只能用单撇号括起来,不能用其他符号。 字符常量只能是单个字符,不能是字符串。 字符可以是字符集中任意字符,其中的数字字符与数字整 型常量是不同的,例如:‘6’和6的不同。 转义字符:以反斜杠 ‘\’开头的一个或几个字符,具有特定的 含义,不同于字符原有的含义。 例如: ‘\n’中的n不代表字符n,而作为换行符。 4.字符串常量 字符串常量是由一对双撇号括起来的字符序列, 如“hello”,“a”,“19”,“”,“ ”,“0&$”。 字符串常量的长度:字符串中的字符个数,如“”长度为0。 每个字符串串尾自动加一个‘\0’作为字符串结束标志。 如“hello”在内存中为 而空串“”在内存中为 5.符号常量 符号常量指用标识符定义一个直接常量,它的值在程序中始终不变。 定义形式:#define 标识符 直接常量 如:#define PI 3.14159 注意: #define 是一条宏定义预处理命令,不是C语句。 符号常量的标识符一般用大写字母。 符号常量在使用之前必须先定义,定义后程序中遇到 该标识符处都用其定义的直接常量值代替。 2.4 变量 变量概念:程序执行过程中其值可以改变的量。 变量声明:类型标识符 变量名1[,变量名2,变量名3, …]; 变量初始化:在变量定义时对其赋值 变量 赋值表达式 2.5 常用运算符与表达式 2.6基本输出/输入操作的实现 2.6.1 数据的输出 1.字符输出函数 格 式:putchar c ; 参 数:c为字符常量、变量或表达式。 功 能:把字符c输出到标准输出设备上(一般指显示器)。 返回值:正常时返回ASCII值;出错则返回-1。 2.格式输出函数 格 式:printf "格式控制字符串",输出项列表 ; 功 能:按指定格式向输出设备(一般为显示器)输出数据。 返回值:正常时返回实际输出的字符数;出错则返回-1 。 说明: 输出项列表可以是零个或多个,输出项之间用逗号分隔,输出的数 据可以是整数、实数、字符和字符串。 格式控制字符串必须用英文的双撇号括起来,它的作用是控制输出 项的格式和输出一些提示信息 。 格式控制字符串包含两种信息: 格式说明:%[修饰符]格式字符 普通字符或转义字符 ⑴ 格式字符 ⑵修饰符 也就是附加格式说明符,这些修饰符可以联合使用,其一般形式为: %[flag][[m][.