420 likes | 557 Views
2 编程准备. 请你 编程实现一个 功能强大的计算器. 学 习 目 标. 假如你是一个初学者,对在 C++ 语言环境下如何编程一无所知,这里先给你搭一个台阶,教你构造一个功能强大的计算器,所谓功能强大是说 ( 1 )数学计算式子可以很复杂; ( 2 )计算速度极快。. 内 容 要 点. I/O 流与插入、抽取操作符 算术运算符号 进入和退出 C++ 环境 常用数学函数. C++ 程序结构.
E N D
2 编程准备
请你编程实现一个 功能强大的计算器
学 习 目 标 • 假如你是一个初学者,对在C++语言环境下如何编程一无所知,这里先给你搭一个台阶,教你构造一个功能强大的计算器,所谓功能强大是说 • (1)数学计算式子可以很复杂; • (2)计算速度极快。
内 容 要 点 • I/O流与插入、抽取操作符 • 算术运算符号 • 进入和退出 C++环境 • 常用数学函数
C++程序结构 C++源代码一般都由若干函数和类组成。为了便于管理,一般把不同功能的函数和类放在不同的文件中,对于类的声明和实现也分别放在对应的.h(或.hpp)和.cpp文件中。 由于文件较多,所以为了便于管理,一般的集成开发工具都会提供工程(Project)管理功能来管理这些文件,对源文件进行编译和链接。
2.1 进入C++环境,写程序代码 【任务2.1】计算下列三角函数的值 1.为了完成任务2.1 先要进入C集成环境
GCC集成环境下调试c++程序的过程 • GCC是一个最接近标准c++的一个集成环境,是一个自由软件,免费使用,深受广大c++学习者的喜爱。 • dev-C++是一个支持多国语言的GCC,他小巧玲珑,只有9.5M,界面友好,支持标准c++。下面介绍dev-C++的使用方法. • a.安装 • 系统安装文件为.exe文件,双击即可自动安装,中间适当回答一些诸如安装位置、使用语言、启动图标名称等相关问题,就可顺利安装。 • b.启动dev-C++集成环境 • 双击相应图标或从开始菜单中找到dev-C++菜单项均可。 • c.选【文件】→【新建】 →【源代码】,可进入程序编辑界面
GCC集成环境下调试c++程序的过程 • d.程序编译,点击【运行】 →【编译】,出现编译画面,若没有错误,就直接生成可执行文件(.exe) • e.程序运行,点击 【运行】 →【运行】,编译好的程序就会正常执行。 • 若程序有错,系统会在出错的程序行前,画“X”,并将该行变色,以引起注意,有错误的程序不生成可执行文件。 • GCC执行严格的C++标准,主函数main不能是void型,只能是int型(可省略) • GCC集成系统在程序执行结束后自动关闭运行窗口,使我们无法仔细观察运行结果,为了留住运行窗,须在程序结束前增加一句:system("pause");
2. 建立工程和文件 3. 编译和链接 见演示
2.2 任务2.1计算三角函数程序代码的说明 // ************************************************ // * 程 序:YW1_1.cpp * // * * // * 功 能:任务1.1计算三角函数的值 * // * * // * sin(20)cos(20)-cos(10)/tan(10) * // * * // * 作 者:俞玮 * // * * // * 时 间:2002年6月4日 * // * * // * 修 改:张三 * // * * // * 时 间:2002年9月13日 * // ************************************************
#include <iostream> // 预编译命令 • #include <cmath> //预编译命令 • using namespace std; • int main() // 主函数 • { // 主函数开始 • // 计算三角函数式并输出 • cout << sin(20.0/180*3.14159)* • cos(20.0/180*3.14159)- • cos(10.0/180*3.14159)/ • tan(10.0/180*3.14159) • <<endl; • system("pause"); return 0 ; • } // 主函数结束
说 明 1、 以符号“#”开头的行,称为编译予处理行。 2、 “#include” 称为文件予处理命令。 3、“ #include <iostream >”这条命令是让文件“iostream ”的内容包含到新建的程序中去。 4、 iostream 是C++系统定义的一个 “头文件”,在这个头文件中设置了C++的输入/输出 ( I / O ) 相关环境,定义了输入流 cin 和输出流 cout 对象。
5、“#include< cmath >”,这条命令是让系统中已经有的常用的数学函数包含到新建的程序中去。有了它你才能使用正弦、余弦函数的公式。 6、using namespace 称为使用名字空间命令,是为避免同名冲突而引入的,std 是C++自带的一个名字空间,由它定义了C++的库标示符, 比如 cout 等。有了using namespace std这句话,程序就可以直接使用 std里面的标示符了。
7、int main( )是每一个C++程序都必须有的,称为主函数。你可以把它看成是程序的入口。在 main前面的 int 是标准 C++ 所提倡的,这样做,需要在主函数结束前增加两行代码: system("pause"); return 0 ;
关于 main( ) 主函数的详细说明将在第 3 章中介绍。在这个计算三角函数的程序中实际上只有一行代码,开头是 cout <<,中间是三角函数算式,结尾是 << endl。按照这种模式,两头不动,你只要改变中间部分就可以计算任何算式(当然是 cmath.h 支持的才行) • 这里 cout 是系统的关键字,代表标准输出的流设备,其后的符号<< 表示输出操作,可将其右侧的数据送至显示器上。在这个程序中“cout<< ”的右侧就是三角函数算式的数值。“<<endl ”表示在屏幕显示计算结果之后,换一行。
2.3 输出流对象 cout 在C++ 中引入术语stream(流),指的是来自设备或传给设备的一个数据流。 cout表示输出流对象,它是输入输出流库的一部分。与cout 相关联的设备是显示器。在程序中有了关联字cout 就有了将数据流传到显示器的条件,这时用插入操作符“<< ” 将其后的数据插入到该流中去。比如下面的两条语句 cout<<“welcome to Tsinghua”; cout<<endl;
welcome to Tsinghua cout welcome to Tsinghua << 可以用图 2.2 来说明,放在引号“ ”中的字符串welcome to Tsinghua是要送给显示器设备的数据,用插入操作符将其传至显示设备上。 endl字符串之后插入回车,直接将字符串写到屏幕上。 显示器 图 2.2
插入操作符可以把多个输出数据组合或级联成单个的输出语句。比如下面的语句: 插入操作符可以把多个输出数据组合或级联成单个的输出语句。比如下面的语句: cout << “Welcome to Tsinghua,” << “ I am a student.” << endl; 这时屏幕上显示 Welcome to Tsinghua, I am a student.
2.4 输入流对象cin cin 表示输入流对象,它也是输入输出流库中的一部分,与相关联的输入设备是键盘。 由键盘输入的字符串形成输入流,用提取操作符“>> ”可将输入流存储到一个事先定义好的变量中。比如 float x ; cin >> x ;
键盘 cin >> 3.14159 3.14159 X的地址 图 2.3 图 2.3 描述了提取输入流的示意图有关什么是变量,如何从键盘输入数据的内容放到下一章去讲。
2.5 注释及其重要性 注释(comments)是非常重要的一种机制。没有注释的程序不能算作合格的程序。 要建立这样的观念:程序是给人编的,让人家看懂是第一位重要的事情。特别是将来你可能参加一个团队,几十人甚至几百人一起合作编程,相互协同,更需将注释写得清清楚楚、明明白白,因此,我们规定程序中须有如下内容
注 释 内 容 • 程序名称 • 程序要实现的功能,比如要完成什么数学运算 • 程序的思路和特点 • 编程的人与合作者 • 编程的时间,修改后的第几版本 • 其它 • 对初学者,希望每条语句都加上注释,要求注明这条语句是做什么用的
2.7 算朮运算符 在C/C++ 中基本的算术运算符有五个,分别为 加 + 乘 * 减 -除 / 求余 % cout << 21 % 4 << endl;输出是1
2.7 数学函数 C++提供几百个数学函数,放在函数库中,这里只介绍最常用的13个函数。 1、求绝对值函数 (1) 函数原型为 int abs ( int x ) 自变量为整数,函数值也为整数。 例 abs (-415 ) = 415
(2) 函数原型为 long labs ( long x ) 自变量为长整数,函数值也为长整数。 例 labs(-41576)=41576
(3) 函数原型为 double fabs ( double x ) 自变量为双精度实数,函数值也为双精度实数。 fabs (-3.14159)=3.14159
2、正弦函数 函数原型为 double sin ( double x ) 自变量和函数均为双精度实数。其中x为弧度值。 例 sin (3.1415926535/2)=1
3、反正弦函数 函数原型为 double asin ( double x ) 自变量和函数均为双精度实数。 例 asin (0.32696)=0.333085 这里的 asin(x) 就是数学中的 arcsin(x)
4、余弦函数 函数原型为 double cos ( double x ) 自变量和函数均为双精度实数。 例 cos (3.1415926535/2) =4.48966e-011 注意cos(π/2 )的只由于π是近似值算出的余弦值不为0,但十分接近0,该值是 4.48966×10‾¹¹
5、反余弦函数 函数原型为 double acos (double x ) 自变量和函数均为双精度实数。 例 acos (0.32696)=1.23771 这里的 acos(x) 就是 数学中的 arccos(x)
6 、正切函数 函数原型为 double tan ( double x ) 自变量和函数均为双精度实数。 例 tan (3.1415926535/4)=1
7、反正切函数 函数原型为 double atan ( double x ) 自变量和函数均为双精度实数。 例 atan (-862.42)=-1.56964
8、计算 函数 函数原型为 double exp ( double x ) 自变量和函数均为双精度实数。 例 exp(1)=2.71828 exp(2.302585093)=10
9、 计算 函数 函数原型为 double log ( double x ) 自变量和函数均为双精度实数。 log( 2.71828 ) = 0.999999
10、计算函数 函数原型为 double log10 ( double x ) 自变量和函数均为双精度实数。 例log10(10)=1
11、 计算 函数 函数原型为 double pow(double x, double y) 自变量x,y 和函数 均为双精度实数。 例 pow(2.0, 3.0)=8
12、计算不大于自变量 x 的整数值函数 函数原型为 double floor (double x) 自变量和函数均为双精度实数。 例 floor( 2.8 ) = 2 floor( -2.8 ) = -3
13、计算 函数 函数原型为 double sqrt ( double x ) 自变量和函数均为双精度实数。 例 sqrt( 42.25 ) = 6.5
小结与作业 • C++语言是编程训练的主要工具,是开发软件的基础语言,等级考试、水平考试、研究生入学考试的指定语言,是教育部规定的计算机类专业的骨干课程。 • 参考:1.郑莉编著 《C++语言程序设计(第三版)》 • 2.谭浩强编著《C++程序设计》 • 推荐网址:编程中国、csdn等 • 下载资料及上交作业网址:ftp://ait1.lynu.edu.cn • 用户名:szpx 密码:111 • 学习C++语言的诀窍:多编程,上机调试! • 作业:P15 1~6 预习 第3章 自学 郑莉C++1.ppt • 重点是编程调试情况。