数据类型和输入输出.ppt_第1页
数据类型和输入输出.ppt_第2页
数据类型和输入输出.ppt_第3页
数据类型和输入输出.ppt_第4页
数据类型和输入输出.ppt_第5页
已阅读5页,还剩124页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 数据类型和输入输出,3.2 标识符,3.3 数据类型,3.4 变量和常量,3.5 运算符和表达式,3.6 类型转换,3.7 简单的输入输出,3.1 C程序的构成,3.1 C程序的组成,/3_1.cpp #include using namespace std; int main() cout“Hello!n“; cout“Welcome to c+!n“; 运行结果: Hello! Welcome to c+!,C程序的组成 有1个main函数,是应用程序的入口,程序从main函数的第一行开始运行 程序的后缀名是.c或者.cpp main函数可以调用其他函数,包括: 自己写的函数 标准语言的库函数,要包含对应的定义文件(.h) 编译环境提供的库函数,要包含对应的定义文件(.h),3.1 C程序的组成,所有的语言系统都是由字符集和规则集组成的 “字符”是语言的不可分解的最基本语法单位 由字符可以组成“词”,由词组成“表达式”、“句子”,又由各种句子构成“函数”、“程序”,3.2 标识符,C+语言的字符集是ASCII码的子集,有: 26个小写字母: a b c d e f g h i j k l m n o p q r s t u v w x y z 26个大写字母: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 10个数字: 0 1 2 3 4 5 6 7 8 9 其他符号: 空格 ! # % ? _ | .,3.2 标识符,单词是语言中有意义的最小语法单位。根据形成规则,一个单词由一个或多个字符组成。,3.2 标识符,1关键字 又称保留字 关键字是系统预定义的单词。C+不允许对关键字重定义。,3.2 标识符,C+常用的关键字: auto break case char class const continue default delete else enum explicit extern float for friend goto if inline int long new operator private protected public register return short signed sizeof static struct switch this typedef union unsigned virtual void while,2标识符(Identifier) 由程序员定义的命名符,3.2 标识符,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,注意:,break main int 等 不能用于命名程序中的自定义 函数、变量、常量,(1) 不能使用关键字作用户标识符;,(2) C+中,字母大小写敏感;,(3) 标识符尽可能做到见文知义。,Aa 和 aa 是两个不同的标识符,2标识符 由程序员定义的命名符,3.2 标识符,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,例 判断以下标识符的正确性:,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,3.2 标识符,例 判断以下标识符的正确性:,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,2标识符 由程序员定义的命名符,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,3.2 标识符,例 判断以下标识符的正确性:,以数字开头,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,2标识符 由程序员定义的命名符,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,3.2 标识符,例 判断以下标识符的正确性:,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,2标识符 由程序员定义的命名符,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,3.2 标识符,例 判断以下标识符的正确性:,关键字,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,2标识符 由程序员定义的命名符,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,3运算符 运算符是对数据进行操作的简洁表达,以单词的形式调用系统预定义函数,3.2 标识符,例如: + 加 - 减 * 乘 / 除 大于 = 大于或等于 = 等于 != 不等于 = 小于或等于,4分隔符 用于在程序分隔不同的语法单位,便于编译系统的识别,3.2 标识符,常用的分隔符有:空格,逗号,分号,冒号,括号,注释符等, 有些单词,例如运算符,也起到分隔符的作用,例如: int a, b, c ; a=b+c ;,必须用 空格作分隔符,3.2 标识符,例如: int a, b, c ; a=b+c ;,4分隔符 用于在程序分隔不同的语法单位,便于编译系统的识别,常用的分隔符有:空格,逗号,分号,冒号,括号,注释符等, 有些单词,例如运算符,也起到分隔符的作用,5常数,常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储,例如: 500 3.14159 0.263e-10 N,3.2 标识符,例如: 500 3.14159 0.263e-10 N,整数,3.2 标识符,5常数,常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储,例如: 500 3.14159 0.263e-10 N,3.2 标识符,5常数,常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储,例如: 500 3.14159 0.263e-10 N,字符,3.2 标识符,5常数,常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储,类型相同的数据有相同的表示形式、存储格式以及相关的操作 程序中使用的所有数据都必定属于某一种数据类型,3.3 数据类型,3.3.1 C+的数据类型,3.3.2 数据存储,一个二进制位 ( bit ),存储阵列,只能是“0”或者“1”,8位一个字节 ( byte ),存储阵列,3.3.2 数据存储,可以表示数字0255 表示一个字符(英文字母、数字、符号) ACSII码,16位一个字 ( word ),存储阵列,3.3.2 数据存储,两个字节(字)保存一个宽字符,UNICODE编码,b, B, KB, MB, GB, TB,Terabyte(TB),中文叫法:T Gigabyte(GB),中文叫法:G Megabyte(MB),中文叫法:兆 Kilobyte(KB),中文叫法: K Byte,中文叫法:字节 bit,中文叫法:位,1 TB = 1,024 GB,1 GB = 1,024 MB,1 MB = 1,024 KB,1 KB = 1,024 B,1 B = 8 b,3.3.3 基本类型,int 整数,在目前绝大多数机器上占4个字节 所占字节数取决于机器字长 float 单精度浮点数,一般是4个字节长 double 双精度浮点数,一般是8个字节长 char 字符,一般是1个字节长 用来表示256个ASCII字符,或者0255的整数,short short int,短整数,2个字节长,简称short long long int,长整数,4个字节长,简称long long double,高精度浮点数,一般是10个字节长。 signed 用来修饰char、int、short和long,说明他们是有符号的整数(正整数、0和负整数)。一般缺省都是有符号的,所以这个修饰符通常省略 unsigned 用来修饰char、int、short和long,说明他们是无符号的整数(正整数和0),数据类型修饰符,在定义变量时,计算机根据变量的类型分配存储空间,并且以该类型解释存放的数据,数据类型的取值范围,超出取值范围会怎样?(overflow),小蛇能吞下大象吗?,short int的范围是-3276732767 如果我们给它一个小于-32767或者大于32767的数会如何呢? 现场编程测验,#include void main() short int si_Exceed = 40000; short int si_normal = 10000; if (si_Exceedsi_normal) cout“ 40000 is bigger than 10000n“; else cout“ 40000 is smaller than 10000n“; 运行结果会是什么?,溢出所带来的问题,一台安装了Windows 95/98的机器,如果连续运行49.7天没有重新启动,可能死机 原因: Windows自启动时刻起,有一个计数器,记录系统已经运行了多少毫秒。这个计数器是个unsigned long 类型的变量 unsigned long的最大值是:4294967295 一天有 24*60*60*1000 = 86400000毫秒 4294967295 / 86400000 = 49.71026961805 当49.7天的时候,此计数器会溢出,引起死机,1整型,有8进制、10进制和16进制3种进制,以数字“0”开始的整型常数是八进制数 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见,因而常被用错 以“0x”或者“0X”开始的整型常数是十六进制 AF和af用来表示十进制的1015 0x11, 0x05, 0xFA, 0xFF 十六进制的形式比较常用,可以很方便地转换为二进制,补充知识(仅供了解) 原码:增加了一位符号位(即最高位为符号位),该位为0表示正数,该位为1表示负数,其余位表示数值的大小 反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外 补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1,1整型,有8进制、10进制和16进制3种进制,1整型,有8进制、10进制和16进制3种进制,补充知识(仅供了解):3和-2 原码表示? 反码表示? 补码表示? 数值在计算机中是用补码来存储的,float 4 字节 单精度浮点型 double 8 字节 双精度浮点型 long double 16 字节 长双精度浮点型,2浮点型,小数表示法, + | - Digits. Digits F | f | L | l ,2浮点型有小数表示法和指数表示法两种形式,指数表示法, + | - Digits. Digits指数 F | f | L | l ,( e | E ) + | - Digits,3.23E10 0.23E-4 45.e+23 -23.68E12 3.23E10F 0.23E-4f 45.e+23L -23.68E12L,指数计数法例子:,x = s * (1+m) * 2e,尾数,在0-1之间,指数,也称为阶码,符号位,浮点数在计算机中的存储方式(IEEE 754 ),如果用4个字节(一个字节表示阶码,3个字节表示尾数)来表示 浮点数,则在计算机的存储方式为:,浮点数的存储方式(仅供了解,以后会学):,浮点数的存储方式(仅供了解,以后会学):,浮点数实际存储时,为了表示最大值和最小值,指数 使用了偏移量 (float是127,double=1023): 存储e = 实际e + 127 实际e = 存储e - 127,深入了解参见:IEEE-754百度百科,浮点数计算器:浮点数计算器,浮点数计算器:浮点数计算器,浮点数的陷阱,#include void main() float f; f = 123.456; if (f = 123.456) cout“f is equal to 123.456 indeed.“; else cout“In fact, f is not equal tot“f; 运行结果会是什么?,float的精度低,较易发生精度带来的相等性判断问题 double精度高,这个问题发生的概率小一些,但也存在 解决办法: if (fabs(f 123.456) 1E-5) ,根据精度要求设定,字符一般用 ASCII 编码。 C+的字符型与整型数据密切相关,以ASCII 值参与运算,3字符型,表示方式,character,字符,或 八进制、十六进制值的转义符,字符 char:单引号括起来的一个字母,3字符型,转义字符 escape_character 以 “ “ 为前缀,表示改变后面escape_character符号或整数值的意义,使其成为控制符或字符值。,一些特殊字符(无法从键盘输入或者在C语言里有它用)用转义字符表示 转义的思想在网络协议和文件格式中常用,3字符型,C+常用转义字符,3字符型,# include void main () cout “x07operatingt systemn“ ; cout 101 t A 012 ; ,例 转义字符示例,响铃,等价于 a,横向跳一制表符,换行,取值范围: true:真 flase:假 C中表示方法: 0为假,非 0真,4. 布尔型(bool),字符串并不是C的基本数据类型。 字符串常量是包含在”中的字符序列,以数据形式存放;存放时,自动在字符串尾部添加一个空字符0作为结束符。 注意”A”和A的差别 在string.h中定义一系列处理字符串的函数,在第5章讲解,5字符串,空值类型表示没有、无效和含义 和NULL(空)区分开发: NULL表示不知道是什么的含义,6空值类型(void),3.4 变量和常量,程序使用内存空间需要申请,申请的方式是通过在程序中定义常量和变量来进行的 既能读又能写的内存对象,称为变量;若一旦初始化后不能更改的对象则称为常量。,3.4.1 变量定义,已定义类型,变量是存储单元 变量定义:申请指定类型的存储空间,并以指定标识符命名,变量定义形式: 类型 标识符, 标识符, , 标识符 ;,标识符表,3.4.1 变量定义,变量定义例子: int x ; int wordCut,Radius , Height ; double FlightTime , Mileage , Speed ;,变量定义同时可以赋初始值,类型 标识符=常量, 标识符=常量, , 标识符=常量;,3.4.2 访问变量,内存单元由操作系统按字节编号,称为地址 。一个变量占有内存的第一个字节的地址称为对象的地址 可以通过变量名或地址访问变量的值,3.4.2 访问变量,int a 0X0066FDF4,double b 0X0066FDEC,例如,有说明: int a ; double b ;,内存分配,变量a的地址,变量b的地址,1. 名访问,对于变量,名访问就是访问变量的内容 访问形式分为“读”和“写”,例如: int a, b ; a = 10 ; b = 20 ; a = a + b ;,1. 名访问,对于数据单元,名访问就是操作对象的内容 访问形式分为“读”和“写”,例如: int a, b ; a = 10 ; b = 20 ; a = a + b ;,建立内存对象,例如: int a, b ; a = 10 ; b = 20 ; a = a + b ;,1. 名访问,对于数据单元,名访问就是操作对象的内容 访问形式分为“读”和“写”,写操作,10,1. 名访问,对于数据单元,名访问就是操作对象的内容 访问形式分为“读”和“写”,例如: int a, b ; a = 10 ; b = 20 ; a = a + b ;,写操作,10,20,1. 名访问,对于数据单元,名访问就是操作对象的内容 访问形式分为“读”和“写”,例如: int a, b ; a = 10 ; b = 20 ; a = a + b ;,读操作,10,20,+,1. 名访问,对于数据单元,名访问就是操作对象的内容 访问形式分为“读”和“写”,例如: int a, b ; a = 10 ; b = 20 ; a = a + b ;,写操作,10,20,+,30,2. 地址访问,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性 C+允许通过名或地址(并根据类型)访问对象,例如,有说明: double b ;,名字b所标识的 浮点型对象,2. 地址访问,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性 C+允许通过名或地址(并根据类型)访问对象,例如,有说明: double b ;,地址0X0066FDEC 所指的浮点型对象,2. 地址访问,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性 C+允许通过名或地址(并根据类型)访问对象,例如,有说明: double b ;,int a ;,名字a所标识的 整型对象,2. 地址访问,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性 C+允许通过名或地址(并根据类型)访问对象,例如,有说明: double b ;,int a ;,地址0X0066FDF4 所指的整型对象,2. 地址访问,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性 C+允许通过名或地址(并根据类型)访问对象,例如,有说明: double b ;,取对象b的地址: &b 访问对象b: *(&b),取址运算符,间址运算符,取对象b的地址: &b 访问对象b: *(&b),2. 地址访问,例 测试对变量、常量的不同访问形式,#include void main() int a = 451 ; const int MAX = 1000 ; cout a endl ; cout ( ,定义形式 : 类型 & 引用名 = 变量名 ;,3.4.2 引用,引用说明为变量建立引用名,即别名,并不分配存储空间 引用在定义初始化时与变量名绑定,程序中不能对引用重定义 一个变量的别名,从使用方式和效果上,与使用变量名一致,4. 引用,引用说明符,3.4.2 引用,/ 引用 int a ; int ,ra 是 a 的别名 只能在定义时初始化,3.4.2 引用,/ 例 引用测试 #include void main () int a = 2345 ; int ,3.4.3 常量和约束访问,关键字 const 约束对象的访问性质,使对象值只能读,不能写,即不允许修改对象的值,标识常量对常数加以命名, 常量名是存储常量值的内存单元的名字,以后使用常量名(标识符)标识常数。 程序中以只读形式访问标识常量,1. 标识常量,定义形式: const 类型 常量标识符 = 常量值 ;,直接常量或简单表达式,例如,以下是正确的常量定义: const float PI = 3.14159 ; const int MIN = 50 ; const int MAX = 2 * MIN ;,1. 标识常量,const 类型 ,2. 常引用,例如: int a=314; const int /正确,约束对象用别名访问时为只读访问,3.5 表达式,表达式是由数据(操作数)和运算符,按求值规则,表达一个值的式子。 表达式可以分为:算术表达式、逻辑表达式、赋值表达式、条件表达式、逗号表达式。,运算符是以简洁的方式表达对数据操作的符号,3.5.1 运算符,单目运算符,运算符 右操作数,例如: -123 +500,双目运算符,左操作数 运算符 右操作数,例如: a*3 xy,三目运算符,条件运算: 操作数1 ? 操作数2 : 操作数3,例如: a ? b : c,3.5.1 运算符按照操作数的个数分类,算术运算符,+,-,*,/ 加、减、乘、除运算 四则混合运算中,先算乘除,后算加减, 先算左,后算右 % 求余运算 Sizeof 求数据或数据类型占用的存储空间字节数,算术运算符,两个整数相除的结果为整数 整数运算溢出的问题 unsigned short int i =1000*100; cout i“n“; 输出不是100000,而是34464,因为short int能表示的最大范围是65536,5/3 结果是1 4/5 结果是0 -11/2 结果根据由编译器选择,可为-5或者-6,自增和自减,i+,i-,+i,-i +让参与运算的变量加1,-让参与运算的 变量减1 运算符为后缀,先取i的值,然后加/减1 运算符为前缀,先加/减1,然后取i的值,自增和自减,自增操作符和自减操作符只能用于整型、字符型变量,不能用于常量和表达式. 自增式和自减式作为独立的表达式,前缀式和后缀式没有区别 说明:并不推荐使用,特别是自增和自减出现在表达式中,例: 5+ +(a+) ( x + y ) - 错误,3.5.3 赋值表达式,赋值表达式的作用是把数据值写入变量,修改对象的值,一般形式为: 变量 = 表达式,赋值操作的操作数类型不同时,以左操作数的数据类型为准。(int a = 2.156),赋值运算的优先级很低 赋值运算的结果是被赋值变量的值,例如 a=b=10; (a=b)=10;,3.5.3 赋值表达式,复合赋值运算,双目算符 op 的表达式: A = A op B 可以缩写成: A op = B,c = c - k,c - = k,x = x * ( y + 8 ),x * = y + 8,x = x + 3,x + = 3,x = x % 3,x % = 3,例:,3.5.3 赋值表达式,复合赋值运算,+= -= *= /= %= = &= = |=,C+ 提供的10个复合赋值运算符:,用于位运算,3.5.3 赋值表达式,双目算符 op 的表达式: A = A op B 可以缩写成: A op = B,3.5.4 逻辑表达式,逻辑表达式用于判断运算。 逻辑表达式的值只有两个: 表达式 成立 为 true(1) 表达式 不成立 为 false(0) 表达式求值过程中,非0值都作为逻辑真。 构成逻辑表达式的运算符有关系运算符和逻辑运算符。,关系运算符,,=,=,=,!= 大于,大于等于,小于,小于等于,等于,不等于 关系运算符运算出的结果为0和1 0,表示假,即该关系不成立 1,表示真,即该关系成立 在所有涉及到真假判断的地方,0表示假,非0表示真,逻辑运算符,逻辑运算也被称为布尔(Boolean)运算,运算结果也是1和0 & 与运算 ( a b & b c);a大于b,并且b大于c | 或运算 ( a b | b c); a大于b,或者b大于c ! 求反 ( !a );如果a是0,结果非0;如果a是非0,结果是0 并不改变a的值,逻辑与,逻辑或,逻辑非,逻辑运算符,逻辑真值表:,逻辑运算符,逻辑运算的短路求值:,E1 & E2 当表达式 E1 的值为 0 时,不再对 E2 求值 E1 | E2 当表达式 E1 值为非 0 时,不再对 E2 求值,x = y = 0 ; x + | y + ; X = y = 1 ; x - ,逻辑运算符,3.5.5 位运算符,按位与(&):全1为1,有0则0,运算规则 将两个操作数的每一个位进行逻辑与操作 举例:计算 3 取出 a 的低字节,置于 c 中,3.5.5 位运算符,按位或(|):有1则1,全0为0,运算规则 将两个运算量的每一个位进行逻辑或操作 举例:计算 3 | 5 3: 0 0 0 0 0 0 1 1 5:(|) 0 0 0 0 0 1 0 1 3 | 5: 0 0 0 0 0 1 1 1 用途: 将某些位置1,其它位不变。 例如:将 int 型变量 a 的低字节置 1 : a = a | 0xff;,3.5.5 位运算符,位运算按位异或(),运算规则 两个操作数进行异或: 若对应位相同,则结果该位为 0, 若对应位不同,则结果该位为 1, 举例:计算 071052 071: 0 0 1 1 1 0 0 1 052: () 0 0 1 0 1 0 1 0 071052 : 0 0 0 1 0 0 1 1,3.5.5 位运算符,用途: 使特定位翻转(与0异或保持原值,与1异或取反) 例如:要使 01111010 低四位翻转: 0 1 1 1 1 0 1 0 () 0 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1,位运算按位异或(),3.5.5 位运算符,单目运算符,对一个二进制数按位取反。 例: 025:0000000000010101 025:1111111111101010,位运算取反(),3.5.5 位运算符,位运算移位,左移运算() 右移后,低位:舍弃 高位:无符号数:补0 有符号数:补“符号位” 一起做:152=,3.5.6 条件表达式,E1 ? E2 : E3 其中 ? : 称为条件运算符,是C+中唯一的三目运算符; E1、E2、E3 为表达式。 功能 : 根据 E1 的值,决定计算 E2 或 E3。 若 E1 的值为真,条件表达式的值为 E2 的值; 若 E1 的值为假,条件表达式的值为 E3 的值。,/ 例 计算 a + | b | 的值 # include void main() float a,b; cout a b; cout = 0 ? a + b : a - b ) endl ; ,注意 添加括号 条件运算级别低于插入,3.5.6 条件表达式, 计算 a、b之中的大值: max = a b ? a : b 求 a 的符号: sig = a 0 ? 1 : ( a = A & ch = Z) ? ( ch + 32 ) : ch,3.5.6 条件表达式,条件表达式切忌用得过于繁杂,( ) - . ! + - + - * & (类型) sizeof * / % + - = = != & | & | ? : = += -= *= /= %= &= = |= = ,运算符的优先级(P18),以下从高到低排列各类运算的优先级,i +1 j * 4 & ! P | Q 等价于 : ( ( ( i +1 ) ( j * 4 ) ) & ( ! P ) ) | Q P != i j | Q & S 等价于 : ( P != ( i j ) ) | ( Q & S ),例如,运算符的优先级,能背下优先级表的人凤毛麟角 脑细胞太宝贵了,不能用来死记硬背 用括号来控制运算顺序更直观、方便,并减少出错的概率 先算乘除,后算加减,有括号就先算括号里的 括号太多,有时候不清晰 注意用空格做好分隔 实在不行就拆分表达式,运算符的优先级,运算符的结合性(方向),从左到右: 先计算左操作数,后计算右操作数 从右到左 先计算右操作数,后计算左操作数 例子: (a+b)+(c+d) 先计算那个,后计算那个?,3.6类型转换,(1)运算符的操作数类型相同时,运算结果也是相同类型(10/6) (2)当运算符的操作数数据类型不同时,存在隐式类型转换.(10/6.0)。转换规则是将类型较低(存储要求低)的数据类型转换为类型较高的类型,然后计算结果。 (3)赋值操作的操作数类型不同时,以左操作数的数据类型为准。(int a = 2.156),float Temp = 23.3 ; double Volume = 3.2 ; long double ldConstant = 6.23E23 ; cout Volume * ldConstant ; cout Temp / Volume ;,类型转换,double long double,float double,3.6.2 强制类型转换,用类型符对表达式值转换成所需类型,一般形式为: ( 类型 ) ( 表达式 ) 类型 (表达式 ) ( 类型 ) 表达式,例如: int ( x + y ) / 把x+y的结果转换成整型 ( char ) 70 / 把整数70转换成字符 F ( float ) ( 2 / 4 ) / 结果为 0,想一想, 为什么?,可以通过“(类型)表达式”的方式把表达式的值转为任意类型 强转时,你必须知道你在做什么 强转与指针,并称C语言两大神器,用好了可以呼风唤雨,用坏了就损兵折将,屠 龙 刀,倚 天 剑,3.6.2 强制类型转换,3.7 简单的输入输出,C+的输入、输出操作由 I/O 流库提供 cin 和 cout 是流库预定义的两个标准对象,分别连接键盘和屏幕 它们在头文件 iostream.h 中声明,3.7.1 键盘输入,键盘输入的作用是读取用户键入的字符串,按相应变量的类型转换成二进制代码写入内存,语句格式,cin 变量1 变量2 变量n ;,标准输入流对象,提取运算符,已声明存储空间的对象,3.7.1 键盘输入,键盘输入的作用是读取用户键入的字符串,按相应变量的类型转换成二进制代码写入内存,例如,int a ; char s ; cin a s ;,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1,3.7.1 键盘输入,键盘输入的作用是读取用户键入的字符串,按相应变量的类型转换成二进制代码写入内存,例如,int a ; char s ; cin a s ;,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1,0 1 0 0 0 0 0 1,3.7.1 键盘输入,键盘输入的作用是读取用户键入的字符串,按相应变量的类型转换成二进制代码写入内存,例如,int a , b ; cin a + b ;,可以吗? 为什么?,语句格式,cout 表达式1 表达式2 表达式n ;,3.7.2 屏幕输出,屏幕输出的作用从内存读取数据项的值,转换成相应的字符串显示到屏幕上,标准输出流对象,插入运算符,输出项,3.7.2 屏幕输出,例如,int a ; char s ; cin a s ; cout “a*2=“ a*2 endl ; cout s endl ;,屏幕输出的作用从内存读取数据项的值,转换成相应的字符串显示到屏幕上,3.7.2 屏幕输出,例如,int a ; char s ; cin a s ; cout “a*2=“ a*2 endl ; cout s endl ;,输出,字符串常量,直接输出,屏幕输出的作用从内存读取数据项的值,转换成相应的字符串显示到屏幕上,3.7.2 屏幕输出,例如,int a ; char s ; cin a s ; cout “a*2=“ a*2 endl ; cout s endl ;,a*2=,输出,屏幕输出的作用从内存读取数据项的值,转换成相应的字符串显示到屏幕上,屏幕输出的作用从内存读取数据项的值,转换成相应的字符串显示到屏幕上,3.7.2 屏幕输出,例如,int a ; char s ; cin a s ; cout “a*2=“ a*2 endl ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论