呼和造器 !葶议冰语言 第2章顺序结构程序设计 [学习目标]: 1.C语言中的数据类型 2,标识符、常量、变量 3,数据输入/输出处理 4.运算苻和表达式 5,顺序结构程序设计
第2章 顺序结构程序设计 [学习目标]: 1.C语言中的数据类型 2.标识符、常量、变量 3.数据输入/输出处理 4.运算符和表达式 5.顺序结构程序设计
第二章数据描述 预备知识 数据类型 常量与变量 不同类型数据间的转换 运算符和表达式
第二章 数据描述 预备知识 数据类型 常量与变量 不同类型数据间的转换 运算符和表达式
C 语言 §2.0预备知识 ★计算机中数的表示及进制转换 序设计 数码、基与权 ●数码:表示数的符号 ●基:数码的个数 ●权:每一位所具有的值 数制 第二章数据描述 <>
§2.0 预备知识 «计算机中数的表示及进制转换 v数码、基与权 l数码:表示数的符号 l基:数码的个数 l权:每一位所具有的值 v数制 语 言 程 序 设 计 第 二 章 数 据 描 述 C
C 语言程序设计 各种进制之间的转换 ●二进制、八进制、十六进制转换成十进制 ◆方法:按权相加 例 (111011D2=1×25+1×24+1×23+0×22+1×2+1×2°=(59)10 例 (136)g=1×82+3×8+6×8°=(94)10 第 例 (1F2A)16=1×163+15×162+2×16+10×16°=(7978)10 三章数据描述 <>
v各种进制之间的转换 l二进制、八进制、十六进制转换成十进制 u方法:按权相加 10 5 4 3 2 1 0 例 (111011)2 1 2 1 2 1 2 0 2 1 2 1 2 (59) 10 2 1 0 例 (136)8 18 38 68 (94) 10 3 2 1 0 例 (1F2A)16 116 1516 216 1016 (7978) 语 言 程 序 设 计 第 二 章 数 据 描 述 C
C 语 各种进制之间的转换(整数) ●二进制、八进制、十六进制转换成十进制 程 ◆方法:按权相加 序设 ●十进制转换成二进制、八进制、十六进制 计 ◆原理: ◆方法:连续除以基,从低到高记录余数,直至商为0 例把耐95套拱製数进制数 例把士进制数459转换成十六进制 ②n¥7条豹于餐2+C×2 腳子2兴 x29)+a 问里2筑豹2 .4是不效徐1— 28 第二章数据描述 (458)10-(1CB)6 111011 (59)10=(111011)2
v各种进制之间的转换(整数) l二进制、八进制、十六进制转换成十进制 u方法:按权相加 l十进制转换成二进制、八进制、十六进制 u原理: 是 的余数 2 2 ( 2 2 . 2 ) 2 2 . 2 2 ( . ) 0 0 0 1 2 1 1 0 0 1 1 1 1 1 1 0 2 N a a a a a a a a a N a a a a n n n n n n n n n n u方法:连续除以基,从低到高记录余数,直至商为0 例 把十进制数59转换成二进制数 2 59 2 29 2 14 2 7 2 3 2 1 0 (59)10=(111011)2 1 1 0 1 1 1 1 1 1 0 1 1 余 余 余 余 余 余 例 把十进制数159转换成八进制数 8 159 8 19 8 2 0 (159)10=(237)8 2 3 7 余 7 余 3 余 2 例 把十进制数459转换成十六进制数 16 459 16 28 16 1 0 (459)10=(1CB)16 1 C B 余11 余12 余 1 语 言 程 序 设 计 第 二 章 数 据 描 述 C
C 语言程序设计 。二进制与八进制之间的转换 ◆二进制转换成八进制:从右向左,每3位一组(不足3位左 补0),转换成八进制 ◆八进制转换成二进制:用3位二进制数代替每一位八进制数 000~0 001≈1 例(1101001)2=(001,101,001)2=(151)8 010~2 011~3 100~4 例(246)8=(010,100,110)2=(10100110)2 101~5 110~6 111~7 第二章数据描述 <>
l二进制与八进制之间的转换 u二进制转换成八进制:从右向左,每3位一组(不足3位左 补0),转换成八进制 u八进制转换成二进制:用3位二进制数代替每一位八进制数 例 (1101001)2=(001,101,001)2=(151)8 例 (246)8=(010,100,110)2=(10100110)2 000 ~ 0 001 ~ 1 010 ~ 2 011 ~ 3 100 ~ 4 101 ~ 5 110 ~ 6 111 ~ 7 语 言 程 序 设 计 第 二 章 数 据 描 述 C
语 ●二进制与十六进制之间的转换 ◆二进制转换成十六进制:从右向左,每位一组 0000≈0 程 (不足4位左补0),转换成十六进制 00011 设 ◆十六进制转换成二进制:用4位二进制数代替每一 00102 位十六进制数 0011~3 0100≈4 01015 例(11010101111101)2=(0011,0101,0111,1101)2=(357D)16 01106 0111~7 1000~8 1001~9 例(4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2 1010~A 1011~B 1100~C 1101~D 第二章数据描述 1110~E 1111~F <>
l二进制与十六进制之间的转换 u二进制转换成十六进制:从右向左,每4位一组 (不足4位左补0),转换成十六进制 u十六进制转换成二进制:用4位二进制数代替每一 位十六进制数 例 (11010101111101)2=(0011,0101,0111,1101)2=(357D)16 例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2 0000 ~ 0 0001 ~ 1 0010 ~ 2 0011 ~ 3 0100 ~ 4 0101 ~ 5 0110 ~ 6 0111 ~ 7 1000 ~ 8 1001 ~ 9 1010 ~ A 1011 ~ B 1100 ~ C 1101 ~ D 1110 ~ E 1111 ~ F 语 言 程 序 设 计 第 二 章 数 据 描 述 C
语 765.43,210 ★字节和位 程 必内存以字节为单元组成 序设计 必每个字节有一个地址 0 必一个字节一般由8个二进制位组成 必每个二进位的值是0或1 2 3 4 5 6 7 7 6 8 5 9 10 4 第二章数据描述 3 ··: 2
«字节和位 v内存以字节为单元组成 v每个字节有一个地址 v一个字节一般由8个二进制位组成 v每个二进位的值是0或1 7 6 5 4 3 2 1 0 012345678910 . 语言程序设计第二章数据描述C 7643251
C 语 ★数值的表示方法一原码、反码和补码 程 原码:最高位为符号位,其余各位为数值本身的绝对值 序设 必反码: ●正数:反码与原码相同 ●负数:符号位为1,其余位对原码取反 必补码: ●正数:原码、反码、补码相同 ●负数:最高位为1,其余位为原码取反,再对整个数加1 11 12 1 10 2 9-5=4 第二章数据描述 9、 3 9+7=16=(14)12 8 4 <> 7 5 6
«数值的表示方法——原码、反码和补码 v原码:最高位为符号位,其余各位为数值本身的绝对值 v反码: l正数:反码与原码相同 l负数:符号位为1,其余位对原码取反 v补码: l正数:原码、反码、补码相同 l负数:最高位为1,其余位为原码取反,再对整个数加1 3 12 6 9 1 2 4 7 5 8 10 11 9-5=4 9+7=16=(14)12 语 言 程 序 设 计 第 二 章 数 据 描 述 C
语言程序设计 口整型常量 (整常数)》 必三种形式: ●十进制整数:由数字0~9和正负号表示.如123,-456,0 ●八进制整数:由数字0开头,后跟数字0~7表示.如0123,011 ●十六进制整数:由0x开头,后跟0~9,a~f,A~F表示. 如0x123,0Xff 必整型尚具的兴 ●根 问题: 居类型 在 0123 的它是long int 型常量 0x123 0Xff 第二章数据描述
&整型常量(整常数) v三种形式: l十进制整数:由数字0~9和正负号表示.如 123,-456,0 l八进制整数:由数字0开头,后跟数字0~7表示.如0123,011 l十六进制整数:由0x开头,后跟0~9,a~f,A~F表示. 如0x123,0Xff < 例 12 与 12L 例 30000 为int型 65536 为long int 型 v整型常量的类型 l根据其值所在范围确定其数据类型 l在整常量后加字母l或L,认为它是long int 型常量 问题: 0123 = ( )10 0x123 = ( )10 0Xff = ( )10 83 291 255 问题: 0123 = ( )10 0x123 = ( )10 0Xff = ( )10 语 言 程 序 设 计 第 二 章 数 据 描 述 C