1 / 66

主要内容安排

主要内容安排. 第一章: C++ 入门 第二章:基本数据类型与输入输出 第三章:表达式与语句 第四章:过程化语句 第五章:函数 第六章:程序结构 第七章:数组. 第二章 基本数据类型与输入输出. 2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 常量 2.5 常量定义 2.6 I/O 流控制 2.7 printf 与 scanf 小结. 2.1 字符集与保留字. 1. C++ 字符集 (1) 大小写字母: A-Z a-z (2) 数字: 0-9

blanca
Download Presentation

主要内容安排

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 主要内容安排 第一章:C++入门 第二章:基本数据类型与输入输出 第三章:表达式与语句 第四章:过程化语句 第五章:函数 第六章:程序结构 第七章:数组

  2. 第二章 基本数据类型与输入输出 2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 常量 2.5 常量定义 2.6 I/O流控制 2.7 printf与scanf 小结

  3. 2.1 字符集与保留字 1. C++字符集 (1)大小写字母:A-Z a-z (2)数字:0-9 (3)其他符号:+-*/=,.(下划线) :;?\ “‘ ~ # % & ( ) [ ]{ } (空格)

  4. 2.1 字符集与保留字(续1) 标识符:保留字、用户定义 2. 保留字 也称关键字,是系统预先定义好的标识符,具有特定的含义,不能另作它用。 C:32个 C++:29个 P12 表2-1 注意: (1)在程序中用到的其他名字(标识符)不能与C/C++的关键字有相同的拼法和大小写。 (2)关键字也不能重新定义。

  5. 第二章 基本数据类型与输入输出 2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 常量 2.5 常量定义 2.6 I/O流控制 2.7 printf与scanf 小结

  6. 2.2 基本数据类型 引言:一个程序要运行,就要先描述其算法。描述一个算法应先说明算法中要用的数据,数据以变量或常量的形式来描述。每一个变量或常量都有数据类型。 1. 数据类型 简称类型,规定了其内存所占空间大小和表示范围。 补充:规定了一定的取值范围(值域)和在该值域上所进行的各种操作。

  7. 整 型 int 基本数据类型 单字符型 char 逻辑型 bool 字符型 宽字符型 wchar-t 数据类型 数据 type [ ] 单精度型 float 指针type * 实 型 双精度型 double 空类型 void 非基本数据类型 结构 struct 联合 union 枚举 enum 类 class 2.2 基本数据类型(续1)

  8. 2.2 基本数据类型(续2) P14 表2-2 常用基本数据类型描述 补充运算: sizeof(数据类型):求数据类型的字节长度。 例:cout <<sizeof(int)<<endl; 结果:2

  9. 第二章 基本数据类型与输入输出 2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 常量 2.5 常量定义 2.6 I/O流控制 2.7 printf与scanf 小结

  10. 2.3 变量定义 主要内容: 1.命名变量名 2.变量定义方式 3.变量赋值与初始化 4.typedef

  11. 1.命名变量名 命名规则: (1)不能是C++关键字。 (2)第一个字符必须是字母或下划线。 (3)一般不超过31个字符。 (4)不能以数字开头。 (5)中间不能有空格。 (6)不能包含之类的特殊符号。 (7)不要与C++中的库函数名、类名和对象名相同。

  12. 1.命名变量名(续1) 补充:以字母或下划线开头、由字母、下划线、数字组成的字符序列。 掌握:命名的合法性、见名知义。

  13. 2.变量定义方式 格式: 类型名 变量名表; 说明: (1)变量先定义后使用。 (2)变量名间用逗号分隔。

  14. 3.变量赋值与初始化 赋值运算符:= 优先级:较低 结合性:从右向左 格式: 变量名=表达式 变量的初始化:在定义的同时赋给变量一个初始值。 例:unsigned short width; wide=5; //赋初值 或 unsigned short width =5;//初始化

  15. 4.typedef 格式: typedef已有类型名 新类型名; 功能:为一个已有的类型名提供一个同义词(别名)。 注意:typedef没有实际地定义一个新的数据类型,在建立一个typedef 类型时没有分配内存空间。 例:typedef double profit; profit d; //即double d;

  16. 第二章 基本数据类型与输入输出 2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 常量 2.5 常量定义 2.6 I/O流控制 2.7 printf与scanf 小结

  17. 2.4 常量 主要内容: 1. 整型常数 2. 实型常数 3. 字符常量 4. 字符串常量

  18. 1.整型常数 分类: (1)十进制:与日常一样,有正负之分,例:123 (2)八进制:以0开头,无符号,例:0123 (3)十六进制:以0X或0x开头,无符号, 例:0X123 0x123 注意: (1)基本类型是整型。 (2)长整型:整常数后加L/l 例:123L 123l

  19. 2.实型常数 表示: (1)小数形式:由数字、小数点组成, 例:1.23 .234 (2)指数形式:E/e之前必须有数字,E/e之后的指数必须为整数,例:1.23E+5 注意: (1)基本类型是double (2)float:加 F/f (3)long double:加 L/l

  20. 2. 实型常数(续1) 例: 34.5 // double 占8B 34.5F // float 占4B 34.5L // long double 占10B

  21. 3.字符常量 分类: (1)普通字符:用单引号括起来的一个字符。 (2)转义字符:以“\”开头的特殊字符,将“\”后面的字符转变成另外的意义 。 P18 表2-3 C++常用特殊字符(转义字符) 例:char c1,c2; char c3=`\n`,c4=`\007`; char c5=`B`,c6=`\xff`,c7=97;

  22. 3.字符常量(续1) 注意: (1)将一个字符常量赋值给字符变量,实际上并不是把该字符本身放到内存单元中,而是将该字符的相应ASCII码(整型数)存入。 (2)在内存中,字符数据以ASCII码存储,即以整数表示,所以C++中字符数据和整型数据之间可以相互赋值,只要注意其表示的范围合理。

  23. 3.字符常量(续2) 注意:(续) (3)字符数据和整型数据在输出中的表示是不同的。 例:int a=`b`;//ok:给一个整型变量赋一个字符值 char c=97;//ok:给一个字符变量赋一个整型值 cout<<a <<c <<endl; 结果:98a (4)`0`与0是截然不同的。

  24. 4.字符串常量 定义: 字符串常量是由一对双引号括起来的字符序列。 说明: (1)字符串常量以`\0`结束。 (2)不能将字符串常量赋给字符变量。 例: `0`与 “0”不同 (3)字符串输出时,不输出`0` 。 例:cout<<”a” <<`a`<<endl; 结果:aa

  25. 第二章 基本数据类型与输入输出 2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 常量 2.5 常量定义 2.6 I/O流控制 2.7 printf与scanf 小结

  26. 2.5 常量定义 分类: (1)常数 (2)符号常量:代表固定不变值的名字。 符号常量定义格式: (1)const 类型名 符号常量名=常量表达式; // C++ (2)#define 符号常量名 常数 // C 宏定义

  27. 2.5 常量定义(续1) 优点:提高程序可读性;一改全改。 说明: (1)常量定义必须初始化,之后只能对其读不能修改。 (2)常量名不能放在赋值语句的左边。 (3)常量表达式中不能含有函数。 例:const float pi=3.1415926 ; //ok #define pi 3.1415926 //ok const int size=100*sizeof(int); //ok const int number=max(15,23); //error

  28. 第二章 基本数据类型与输入输出 2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 常量 2.5 常量定义 2.6 I/O流控制 2.7 printf与scanf 小结

  29. 2.6 I/O控制流 主要内容: 1. I/O的书写格式 2. 使用控制符 3. 控制浮点数值显示 4. 设置值的输出宽度 5. 输出8进制和16进制 6. 设置填充字符 7. 左右对齐输出 8. 强制显示小数点和符号

  30. 1.I/O的书写格式 (1) <<:称插入操作符,向cout输出流中插入字符。 (2) >>:称抽取操作符,从cin输入流中取字符。 cin和cout能自动识别变量位置和类型。 例: cout <<”This is a program.\n”; int i; float f; long l; cin>>i>>f>>l;

  31. 2.使用控制符 用控制符(manipulators)可以对I/O流的格式进行控制。控制符是在头文件iomanip.h中定义的对象,可直接将控制符插入流中。 使用控制符时,要在程序的头上加头文件iomanip.h。

  32. 控制符 描述 dec hex oct setfill(c) setprecision(n) setw(n) setiosflags(ios::fixed) setiosflags(ios::scientific) setiosflags(ios::left) setiosflags(ios::right) setiosflags(ios::skipws) setiosflags(ios::uppercase) setiosflags(ios::lowercase) 置基数为10 置基数为16 置基数为8 设填充字符为c 设显示小数精度为n位 设域宽为n个字符 固定的浮点显示 指数表示 左对齐 右对齐 忽略前导空白 16进制数大写输出 16进制数小写输出 P23 表2-4 I/O流的常用控制符

  33. 3.控制浮点数值显示 setprecision(n): 控制输出流显示浮点数的数字个数。 C++默认的流输出数值有效位是6;最小有效位数为1。 特例: (1)与setiosflags(ios::fixed)合用: setprecision(n)控制小数点右边的数字个数(小数位数)。 setiosflags(ios::fixed):是用定点方式表示实数。

  34. 3.控制浮点数值显示(续1) 特例:(续) (2)与setiosflags(ios::scientific)合用: setprecision(n)控制指数表示法的小数位数。setiosflags(ios::scientific):是用指数方式表示实数。 注意:小数位数截短显示时,进行四舍五入处理。

  35. 3.控制浮点数值显示(续2) 例: //ch2-1.cpp #include <iostream.h> #include <iomanip.h> //要用到格式控制符 void main( ) { double amount = 22.0/7; cout <<amount<<endl; //3.14286 cout <<setprecision(0) <<amount <<endl //3 <<setprecision(1) <<amount <<endl //3 <<setprecision(2) <<amount <<endl //3 <<setprecision(3) <<amount <<endl //3.1 <<setprecision(4) <<amount <<endl; //3.14

  36. 3.控制浮点数值显示(续3) 例:(续) cout <<setiosflags(ios::fixed); cout <<setprecision(8)<<amount <<endl; //3.14285714 cout <<setiosflags(ios::scientific) <<amount <<endl; //3.14285714e+00 cout <<setprecision(6); //重新设置成原默认设置 }

  37. 4.设置值的输出宽度 setw(n):设置输出宽度。 说明: (1)如果一个值字符需要比setw(n)确定的字符数更多的字符,则该值按实际宽度输出。 (2)如果一个值的字符数比setw(n)确定的字符个数更少,则在数字字符前显示空白。setw(n)仅影响下一个数值输出。 (3)setw()的默认值为宽度0,即setw(0)。 例:float amount=3.14159; cout<<setw(4)<<amount<<endl; 结果:3.14159

  38. 5.输出8进制和16进制 hex、oct、dec:分别对应16进制、8进制、10进制数的显示。它们在iostream.h头文件中定义。 说明: 用头文件iomanip.h中的setiosflags(ios::uppercase)可以控制16进制数大写输出。

  39. 5.输出8进制和16进制(续) 例://ch2-2.cpp #include<iomanip.h> void main() {int number = 1001; cout<<”Decimal:”<<dec<<number<<endl <<”Hexadecimal:”<<hex<<number<<endl <<”Octal:” <<oct<<number<<endl; } 结果:Decimal:1001 Hexadecimal:3e9 Octal:1751

  40. 6.设置填充字符 setw()确定显示的宽度。默认时,流使用空格符来保证字符间的正确间隔。 用setfill控制符可以确定一个非空格的别的字符。setfill在头文件iomanip.h中定义。

  41. 6.设置填充字符(续) 例://ch2-3.cpp #include<iostream.h> #include<iomanip.h> void main() { cout<<setfill(`*`)<<setw(2)<<21<<endl <<setw(3)<<21<<endl<<setw(4)<<21<<endl; cout<<setfill(` `); //恢复默认设置 } 结果:21 *21 **21

  42. 7.左右对齐输出 默认时,I/O流左对齐显示的内容。使用头文件iomanip.h的setiosflags(ios::left)和(ios::right)标志,可以控制输出对齐。

  43. 7.左右对齐输出(续) 例://ch2-4.cpp #include<iostream.h> #include<iomanip.h> void main() { cout<<setiosflags(ios::right)<<setw(5)<<1 <<setw(5)<<2<<setw(5)<<3<<endl; cout<<setiosflags(ios::left)<<setw(5)<<1 <<setw(5)<<2<<setw(5)<<3<<endl; } 结果: 1 2 3 1 2 3

  44. 8.强制显示小数点和符号 (1)当需要显示小数点时,用ios::showpoint标志。 (2)默认时,I/O流仅在负数之前显示值的符号,在正数之前加上正号,用ios::showpos标志。

  45. 8.强制显示小数点和符号(续1) 例://ch2-5.cpp #include<iostream.h> #include<iomanip.h> void main() { cout<<10.0/5 <<endl; cout<<setiosflags(ios::showpoint) <<10.0/5 <<endl; } 结果:2 2.00000

  46. 8.强制显示小数点和符号(续2) 例://ch2-6.cpp #include<iostream.h> #include<iomanip.h> void main() { cout<<10<<〞〞<<-20<<endl; cout<<setiosflags(ios::showpos) <<10<<〞〞<<-20<<endl; } 结果:10-20 +10 -20

  47. 第二章 基本数据类型与输入输出 2.1 字符集与保留字 2.2 基本数据类型 2.3 变量定义 2.4 常量 2.5 常量定义 2.6 I/O流控制 2.7 printf与scanf 小结

  48. 2.7 printf和scanf 主要内容: 引言 1. printf函数 2. scanf函数

  49. 引言 printf和scanf是标准输入输出函数。它们是C程序输入输出必不可少的,在头文件stdio.h中声明了这两个函数。

  50. 1.printf函数 (1)printf函数的一般格式: printf(格式控制字符串,输出项1,输出项2,…) 功能:将后面的参数按给定的格式输出。 说明:格式控制字符串中包括: (1)格式说明符:由“%”和格式字符组成; 作用:将输出的数据转换成指定的格式输出。 (2)普通字符:原样输出字符。 输出项n是需要输出的一些数据,可以是表达式。

More Related