• 1. C++程序设计教程(第2版) 陕西理工学院计算机系 曹 阳 15991836299 cyang0618@sina.com C++程序设计教程
  • 2. 课程评分方法 (Grading Policies) 出勤and作业10% + 实验20% + 期末考试 70% = 总评 100% 50 学时 = 30(理论)+20(实验) 15周 必修 考试课 3学分
  • 3. 第1章 C++的基本知识 1.1 复习数据类型、表达式等知识 1.2 C++程序的基本结构 1.3 简单的输入/输出 1.4 程序的编辑、编译、连接和运行 小结及练习题 第1章 C++的基本知识
  • 4. 教学目的了解简单的C++程序的构成; 掌握标准输入流输出流; 初步熟悉编译程序所提供的开发环境; 掌握C++程序的编辑、编译、链接和运行的过程; 能利用设置断点、单步跟踪等技术调试程序。教学重点与难点本章重点: 标准输入流输出流; 程序的编辑、编译、连接和运行。 本章难点 : 输入输出流的使用 C++程序的编辑、编译、链接和运行的过程。第1章 C++的基本知识
  • 5. 1.1 复习数据类型、表达式知识1.C++中的数据类型包括哪些? 2.运算符 3.表达式1.1 复习数据类型、表达式知识指针类型整型 字符型 实型(实型)数组类型 结构体类型 共用体类型 枚举类型 类(class)数据类型基本类型构造类型单精度型 双精度型
  • 6. 1.2 C++程序的基本结构#include #include using namespace std; void main() { int a,b,sum; //定义变量 cout<<"input two number:\n"; cin>>a>>b; //从键盘输入两个数给变量a和b sum=a+b; //求和 cout<<"sum is "<
  • 7. 结构分析 1)C++程序由函数组成; 该程序只由一个主函数main()构成; 2)一对花括号“{ }”是函数的定界符; 3)函数由语句组成。 语句用分号结束; 4)采用标准输入输出流进行输入输出。1.2 C++程序的基本结构
  • 8. 数据的输入/输出(I/O)操作是人机交互的基础。C++中的输入/输出功能是由I/O流来实现的。1.3 简单的输入/输出1.3 简单的输入/输出 C语言中进行I/O操作主要采用的是printf和scanf等函数,但这些函数在进行操作时总存在着缺陷。如: printf(“%d”,”hello”); %s 该语句是想输出字符串“hello”的内容,而实际输出的是存贮”hello”的地址值,主要原因是输出类型不统一引起。 解决方法: cout<<“hello”;
  • 9. C++中用cin和cout进行输入/输出,它们是标准的输入和输出流对象。在类库中定义了4个标准流对象(系统预定义流对象)。 1、cin是与标准输入设备相关的流对象,用来处理标准输入,即键盘输入。 2、cout是与标准输出设备(CRT)相关的流对象,用来处理标准输出,即屏幕输出。 3、cerr是与标准错误输出设备(CRT)相关的流对象,用来处理标准的出错信息。 4、clog是与带缓冲区的标准错误输出设备(CRT)相关的流对象,也用来处理标准出错信息。1.3 简单的输入/输出注意: istream和ostream类被定义在iostream类库中。 #include
  • 10. 1.3.1 输出流:coutcout用来处理标准输出,即将数据输出到显示器.格式如下: cout<< <表达式1>《<< <表达式2>…<< <表达式n>》 插入运算符.后可以为任意的有确定值的表达式. 作用:将其后面的表达式的值输出到显示屏上当前光标所在的位置. 注意:一个<<对应一个表达式。 当插入运算符后的表达式为整数、实数、字符、字符串时,就能输出整数、实数、字符或字符串。且对于整数,可以以八进制或十六进制形式输出。 1.3 简单的输入/输出
  • 11. 1.常用的流状态(不带参数) showpos 在正数之前显示+号 例:cout<
  • 12. boolapha 逻辑值1和0用true和false表示 例:cout<<(2>3)<<” “<3); // 0 false fixed 定点格式输出 例:cout<
  • 13. 2.带参数的三个常用的流状态 不与<<连用 width(int) //设置显示宽度 fill(char) //设置填充字符 precision(int) //设置有效位数或精度 例: cout.width(5); cout.fill(‘s’); cout<<23<<23; 输出如果为: sss23231.3 简单的输入/输出
  • 14. 与<<连用的流状态 setw(int):用来设置输出数据之间的宽度; setfill (char) 用来设置填充字符; setprecision(int)用来设置有效位数或精度. 包含在头文件iomanip中 例1-2 库函数setw(int)的使用 #include #include < iomanip.h> void main () { int a=2, b=3, c=4; cout<
  • 15. 1.3.2 输入流:cincin用来处理标准输入,即键盘输入。格式如下: cin>> <变量名1>《>> <变量名2> >>… >> <变量名n>》 作用:是暂停程序的执行,等待用户从键盘输入 数据。 注意:>>之后必须有一个变量,而且只能有一个 变量。1.3 简单的输入/输出
  • 16. 1. 输入整数和实数 当要求输入多个整数或实数时,要将这些实数之间用空格或回车符分隔开,系统会自动跳过空格和回车符,将输入的整数或实数依次赋给各提取运算符中的变量。要注意输入的顺序、类型要与对应的变量的顺序、类型一致。 2.输入字符数据 当提取运算符后的变量为字符型时,必须输入字符。1.3 简单的输入/输出
  • 17. 例1-3 用cin输入整数和实数 #include void main () { int a; float b; cin>>a>>b; } 12 34.2 A B 23.44 11.4 2 51.3 简单的输入/输出
  • 18. 课堂练习1:以八进制和十六进制输入整数 #include void main () { int a, b, c; cin>>hex>>a>>b; cin>>oct>>c; cout<
  • 19. 课堂练习2:用cin输入字符数据 #include void main () { char ch1, ch2, ch3; cin>>ch1>>ch2>>ch3; cout<
  • 20. 如果我们要获取输入的空格或回车键,必须借助于函数cin.get().其格式为: cin.get(《<字符型变量》>); 该函数可以没有参数,这时它的作用是暂停功能。当有一个参数时,必须为字符型的变量。它的作用是等待键盘输入,并将输入的数据赋给参数,特点是不会自动跳过空格和回车符。1.3 简单的输入/输出
  • 21. 例1-4用函数cin.get(char)获取字符 void main () { char ch1, ch2, ch3; cin.get(ch1); cin.get(ch2); cin.get(ch3); cout<
  • 22. 1.3.3 printf() , scanf()符 号作 用%d以带符号的十进制形式输出整数%u以无符号的十进制形式输出整数%f以小数形式输出浮点数%s输出字符串%c以字符形式输出单个字符%e以指数形式输出浮点数%x, %X以十六进制无符号表示的整数%o以无符号八进制表示的整数%g自动选择合适的表示法输出表1.1 C++ printf()的格式说明符1. printf()函数 printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为: printf(<格式化字符串>,<参量表>)1.3 简单的输入/输出
  • 23. 符 号作 用%d用来输入十进制有符号整数%u用来输入十进制无符号整数%f用来输入浮点数%s用来输入字符串%c用来输入单个字符%e用来输入指数形式的浮点数%x, %X用来输入无符号的以十六进制表示的整数%o用来输入无符号的以八进制表示的整数2. scanf()函数 scanf()函数是格式化输入函数,它从标准输入设备(键盘)读取输入的信息。其调用格式为: scanf(<格式化字符串>, <地址表>)表1.2 C++ scanf()的格式说明符1.3 简单的输入/输出
  • 24. 1. 算法研制 2. 编写程序; 3. 编辑源程序 4. 编译和连接 5. 反复上机调试程序, 直到改正了所有的编译错误和运行错误。 6. 运行。1.4程序的分析、编码、编译、连接和运行1.4 程序的分析、编码、编译、连接和运行
  • 25. 1.编辑 编辑是将编写好的C++源程序输入到计算机中,生成磁盘文件的过程。 2.编译和连接过程 C++是以编译方式实现的高级语言。C++程序的实现,必须要使用某种C++语言的编译器对程序进行编译。 3.运行 一个C++的源程序经过编译和连接后生成了可执行文件。运行可执行文件可在编译系统下选择相关菜单项来实现。也可以再采用其他方法。1.4.1 C++程序的编辑、编译、连接过程和运行1.4 程序的分析、编码、编译、连接和运行
  • 26. 1.4.2 Visual C++ 6.0版本的基本用法 为了能够实现C++的程序,简单介绍C++程序在该编译系统下如何编译和运行。 1.Visual C++ 6.0启动后的用户界面 选择菜单“开始/程序/Microsoft Visual Studio 6.0 / Microsoft Visual C++ 6.0”,得到Visual C++ 6.0启动后的用户界面,如图所示。 1.4 程序的分析、编码、编译、连接和运行
  • 27. 2.选择“文件→新建→文件 → win32 Console Aplication”,建立一个工程项目。1.4 程序的分析、编码、编译、连接和运行
  • 28. 3.编辑C++源程序 编辑C++源程序时,选择“文件”菜单项,出现一个下拉式菜单,如图所示,再选择该菜单中的“新建”选项(热键为Ctrl+N),打开“新建”窗口。 1.4 程序的分析、编码、编译、连接和运行
  • 29. 4.选择“文件→新建→文件 → C++ Source File”,,就可以编辑C++源程序,如图所示,输入源程序。1.4 程序的分析、编码、编译、连接和运行
  • 30. 5.编译连接和运行源程序。 输入完源程序,选择“文件”下拉菜单中的“保存”菜单,将该文件保存文件名为eg1-1.cpp。 选择菜单项“编译”项,出现“编译”的下拉菜单,在该下拉式菜单中选择“编译eg1-1.cpp”菜单项,这时系统开始对当前的源程序进行编译,在编译过程中,将所发现的错误显示在屏幕下方的“编译”窗口中。所显示的错误信息指出该错误所在行号和该错误的性质。用户可根据这些错误信息进行修改。上述程序的“编译”窗口如图1-6所示。1.4 程序的分析、编码、编译、连接和运行
  • 31. 编译无错误后可进行连接生成可执行文件,选择“编译”下拉菜单中的“构件 eg1-1.exe”菜单项。“编译”窗口出现如图1-7所示的信息说明编译连接成功,并生成以源文件名为名字的可执行文件(本例中为eg1-1.exe)。 执行可执行文件的方法是选择“编译”菜单中“执行 eg1-1.exe”菜单项。这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中,如图所示。1.4 程序的分析、编码、编译、连接和运行
  • 32. 例1-5 加法计算器程序#include using namespace std; int main() { int a, b, c; cout<<"Please input two numbers: "; cin>>a>>b; c = a+b; cout << a << " + " << b << " = " << c<< endl; return 0; }1.4 程序的分析、编码、编译、连接和运行
  • 33. 例 1-6:用梯形法计算定积分使用梯形法计算定积分,其中a = 0,b = 1,被积函数为sin(x),取积分区间等分数为 1000。abxyf(x)xixi+1h梯型面积 =(上底+下底)x高21.4 程序的分析、编码、编译、连接和运行
  • 34. #include #include using namespace std; int main() { double a, b; double h; double sum; int n,i; a = 0.0; b = 1.0; n = 1000; h = (b-a)/n; sum = (sin (a)+ sin (b))/2; for(i=1; i
  • 35. 本 章 小 结 本章主要介绍: 1.输入输出流; 2.通过C++程序说明了C++语言的基本组成; 3.分析了程序编辑、编译、连接和运行的含义; 4.简单介绍了C++源程序在Visual C++ 6.0环境下进行编辑、编译、连接和运行的过程; 5.举例 自学内容:教材P8-15 作业:教材P17 2,5