版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 数据类型和输入输出2本章主要内容2.1 字符集与保留字2.2 基本数据类型2.3 变量定义2.4 常量2.5 常量定义2.6 I/O控制流2.7 printf与scanf作业3学习目标: 熟悉C+的关键字 理解C+中定义数据类型的意义,逐步掌握基本数据类型 弄清数据类型与变量、常量的关系 掌握各种字面量的性质和定义 掌握C+的输入输出方法 了解printf和scanf输出输入的使用方法42.1 字符集与保留字字符集大小写的英文字母:AZ,az数字字符:09特殊字符: 空格 ! # % & * _(下划线) + = - / “ ; . , ( ) : ?|5用户定义的标识符(名字)不能与
2、c/c+关键字有相同的拼法和大小写。关键字也不能重新定义!2.1 字符集与保留字保留字:也称关键字,是C+预先定义好的标识符C定义了32个关键字: int float long short do for if while C+补充了29个关键字: friend inline new private public 62.2 基本数据类型程序是针对数据进行处理的,对各种数据进行处理之前都要对其类型预先加以说明,其目的是:便于为这些数据分配相应的存储空间说明了程序处理数据时应采用何种具体运算方法计算机只能存放二进制数据。不同类型的数据占据不同长度的存储单元。不同类型的数据对应不同的值域范围。不同类型
3、的数据对应不同的操作(运算)及规则。整型:int 4字节 范围-21474836482147483647(32位处理器)7基本数据类型:C+内部定义的数据类型非基本数据类型:由基本数据类型组合而成或用户自定义的数据类型。整型int字符型char实型单精度型float双精度型double逻辑型bool数组type 指针type * 空类型void 结构struct联合union 枚举enum类class基本数据类型非基本数据类型数据类型2.2 基本数据类型8数据类型修饰符: short:只能修饰整型(int) long:只能修饰int和double。long int可简写为long signed
4、:有符号 unsigned:无符号signed 和unsigned只能修饰char和int。默认char和int为有符号;实型数总是有符号的,不能用unsigned修饰2.2 基本数据类型9整型 short int、signed short int、unsigned short int15870int、signed int、unsigned intlong int、signed long int、unsigned long int 有符号长整型占用四个字节存储空间 -231231-13124231615870有符号短整型占用两个字节存储空间 -215215-1(-3276832767)2.2
5、基本数据类型10有符号整数与无符号整数的不一样:有符号整数的最高位是符号位:0表示正数,1表示负数。对于16位整数:表示范围: 正数: -32768-1 10000000000000001111111111111111 负数: 0 32767 0000000000000000 011111111111111116位无符号整数表示范围: 065535 0000000000000000 01111111111111112.2 基本数据类型整型11#include int main() short a, b;a=32767; b=a+1; couta=aendlb=bendl;return 0;-2
6、.2 基本数据类型整型:整型数据的溢出12字符型(char、signed char、unsighed char): 总是占一个字节布尔型(bool):即逻辑型,占用一个字节存储空间,0表示false,1表示true (C无此类型)70字符型占用一个字节存储空间27 271 (128 127)2.2 基本数据类型13实型float(4B) double(8B) long double(10B)一个实型数据一般按照指数形式存储。系统把一个实型数据分成小数部分和指数部分,分别存放。float型:使用4个字节存放数据,-3.410-383.41038, 有效数字7位尾数部分指数部分018931浮点型存
7、储格式符号位2.2 基本数据类型14C+强类型语言要求程序设计者在使用数据之前对数据的类型进行声明。用sizeof (数据类型)或sizeof(变量)可以确定数据类型或某变量所属数据类型的字节长度cout“size of int is “ sizeof (int)endl;在16位计算机上输出: size of int is 2在32位计算机上输出: size of int is 42.2 基本数据类型152.2 基本数据类型162.3 变量定义什么是变量定义:程序运行期间其值可以改变的量称为变量。变量的理解变量名实际上是一个符号地址,在对程序编译连接时由系统给每一个变量名分配一个内存地址。在
8、程序中从变量中取值,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。变量有一个名字,并在内存中占据一定的存储单元。变量名与变量值是两个不同的概念。17变量的命名规则不能是C+关键字;只能由字母、数字或下划线组成;第一个字符必须是字母或下划线;中间不能有空格;变量名长度不能超过编译器规定的长度,一般以不超过31个字符为宜不要与C+的库函数名、类名、对象名相同合法变量名: a、 b1、 _area、m_nCount不合法变量名: 1-name、 student one、 floatmy_carmyCariMyCar2.3 变量定义182.3 变量定义变量的定义变量必须先定义后使用.定
9、义方式: 变量类型 变量名列表; int a; float b, c, numberOfStudent;变量定义与赋初值 int numberOfStudent; numberOfStudent=80;变量初始化 int numberOfStudent=80,a=5; int numberOfStudent=80,a,b;19typedef为一个已有类型名提供一个同义词;并不实际定义一个新的类型,并不单独分配内存空间,只起到帮助理解的作用;语法规则: typedef 类型名 新类型名; typedef double profit; typedef int INT,integer; INT a;
10、 profit d;2.3 变量定义202.3 变量定义#include typedef short int S;int main( ) S x1; int x2; char y; coutsizeof(x1) sizeof(x2) sizeof(y) sizeof(float) sizeof(double)endl; 执行结果:2 4 1 4 8注意:typedef并不产生新的类型,没有分配内存空间21整型数即整型字面量,3种表示形式: 十进制数:123;-345,0 八进制数:以0开头的整数:0123表示八进制数(123)8,等于十进制数83 十六进制数:以0X或0 x开头的整数:0X12
11、3;0 x123,等于十进制数291十进制数有正负之分,八进制和十六进制只能表示无符号整数整数后面加L或l表示long int 整数字面量:各种数据在编程时的具体表示2.4 字面量222.4 字面量#include int main( ) cout123 0123 -0123 0 x15 -0 x15 0 x123 -0 x123endl;执行结果: 123 83 -83 21 -21 291 -29123实型数即实型字面量,2种表示形式: 小数形式:12.3;.345;0.56 指数形式:以0开头的整数123e5,123E5,e或E前面必须有数字,后面的指数必须是整数 e5,3.4e5.5,
12、e,.e5 /非法C+中如果没有任何说明,表示double 型,实数后加f或F表示float型;实数后加L或l表示long double/float型/double型/long double型/long double型7.65f 7.657.65L7.65l 3.5e21f 3.5e213.5e21L3.5e400 /float型/double型/long double型/long double型2.4 字面量24字符是用单引号括起来的一个字符,a,?,¥,5转义字符:以反斜杠“”开头的字符序列 字符形式 值 功能 a 0 x07 响铃 n 0 x0A 换行 t 0 x09 制表符 0 x27
13、 单引号 cout “x07operatingtsystemn”;cout “this is a example”;Operating systemthis is a example2.4 字面量25字符字符的赋值: char c1=n,c2=x07,c3=B,c4=97,c5=97;某些情况下,字符型数据和整型数可以通用: 2.4 字面量#include int main() int x1=A,x2=0,x3=0; char c=97; coutx1 x2 x3 cendl; 执行结果:65 48 0 a26字符的ASCII码ASCII字符 ASCII字符 ASCII字符 ASCII字符 A
14、SCII字符 0NUL13CR26SUB395241SOH14SO27ESC40(5352STX15SI28FS41)5463ETX16DLE29GS42*5574EOT17DC130RS43+5685ENQ18DC231US44,5796ACK19DC332SPC45-58:7BEL20DC433!46.59;8BS21NAK3447/6011VT24CAN37%50263?12FF25EM38&513642.4 字面量27ASCII字符 ASCII字符 ASCII字符 ASCII字符 ASCII字符 65A78N91104h117u66B79O92105i118v67C80P93106j1
15、19w68D81Q94107k120 x69E82R95_108l121y70F83S96109m122z71G84T97a110n12372H85U98b111o124|73I86V99c112p12574J87W100d113q12675K88X101e114r127DEL76L89Y102f115s77M90Z103g116t2.4 字面量字符的ASCII码28字符串是由一对双引号括起来的字符序列: “Hello!” “I am a teacher”字符串不同于字符: “Monday”不能将字符串赋给字符 char c=“abc” /错误 2.4 字面量29枚举符通过建立枚举类型定义枚举
16、符:enum colorRED,BLUE,GREEN,WHITE,BLACK;enum colorRED=100,BLUE=200,GREEN,WHITE=300; color是枚举类型名,不是变量名,不占内存空间定义枚举变量: color paint=GREEN; paint=200; /error 2.4 字面量30常量的定义 const 类型名 常量名=初值; const float pi=3.13159; 常量定义时必须进行初始化,且程序对其只能读不能修改 const float pi=3.13159; pi=3.142593; /error const float area; are
17、a=9.43; /error2.5 常量常量定义中初始化的值可以是一个常量表达式,但表达式中不能含有某个函数 const int num=add(3,10); /error 31关于#define是c的编译预定义命令,c+中用const而不用#defineC+允许#define是为了兼容c语法: #define PI 3.14 后面无分号2.5 常量32关于# define 2.5 常量33 所谓输入输出是以计算机主机为主体而言的。 C+本身不提供输入输出语句,输入和输出操作是由函数或输入输出流来实现的。 在使用C+库函数时,要用预编译命令“include”将有关的“头文件”包括到用户源文件中
18、。 # include 2.6 I/O控制流34I/O书写格式 cinxy; cout X3;Y4;键盘3 4显示器cout“This is my first program!”2.6 I/O控制流35I/O书写格式例: # include int main() cout“My name is Petern”; cout“the ID is”; cout2; coutendl; 等价于: cout“My name is Petern”“the ID is”2endl;cout“My name is Petern” “the ID is” 2 endl;2.6 I/O控制流36使用控制符控制符是在头文件iomanip.h中定义的对象;使用控制符时,需要在程序头上加: # include 2.6 I/O控制流37控制浮点数值显示:setprecesion(n) 2.6 I/O控制流38设置值的输出宽度:setw(n) float amount=3.14159; coutsetw(4)amountendl; 输出:3.14159cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023-2024学年湖北省襄阳市枣阳市吴店二中九年级(上)第一次月考数学试卷
- 鲁教版八年级数学上册第三章数据的分析3从统计图分析数据的集中趋势课件
- 山东省菏泽市2024-2025学年高三上学期期中考试 物理 含答案
- 贵州省2024年中考化学真题(含答案)
- 内蒙古呼和浩特市赛罕区市级名校2023-2024学年中考数学模拟试卷含解析
- 内蒙古包头市、巴彦淖尔市2023-2024学年中考数学全真模拟试题含解析
- 浙江省杭州市周边重点中学四校2024-2025学年高二上学期10月联考物理试题
- 八年级生物期中模拟卷(考试版A4)(天津专用)
- 公积金基础知识题库单选题100道及答案解析
- 廉政党课课件教学课件
- 小学数学学困生转化案例
- 篮球培训报告
- 苹果公司的供应链合作伙伴关系课件
- 暴雨洪灾应急预案知识
- 长沙找工作分析报告
- 中耳炎健康教育护理课件
- 孕期vte的预防及护理
- 《区块链原理详解》课件
- 2024年广西广投临港工业有限公司招聘笔试参考题库含答案解析
- 脑出血后遗症康复护理查房课件
- ISO9001与ISO22000二合一体系的内审检查表(食品安全部)
评论
0/150
提交评论