收藏 分享(赏)

C++基础实例教学教育资料.doc

上传人:小屁孩 文档编号:9079337 上传时间:2019-07-23 格式:DOC 页数:169 大小:612.50KB
下载 相关 举报
C++基础实例教学教育资料.doc_第1页
第1页 / 共169页
C++基础实例教学教育资料.doc_第2页
第2页 / 共169页
C++基础实例教学教育资料.doc_第3页
第3页 / 共169页
C++基础实例教学教育资料.doc_第4页
第4页 / 共169页
C++基础实例教学教育资料.doc_第5页
第5页 / 共169页
点击查看更多>>
资源描述

1、1.1 C+程序结构 (Structure of a program)下面我们从一个最简单的程序入手看一个 C+程序的组成结构。/ my first program in C+#include using namespace std;int main() cout 以#标志开始的句子是预处理器的指示语句。它们不是可执行代码,只是对编译器作出指示。在本例中这个句子# include 告诉编译器的预处理器将输入输出流的标准头文件(iostream.h)包括在本程序中。这个头文件包括了 C+中定义的基本标准输入-输出程序库的声明。此处它被包括进来是因为在本程序的后面部分中将用到它的功能。using

2、namespace std;C+标准函数库的所有元素都被声明在一个名空间中,这就是 std名空间。因此为了能够访问它的功能,我们用这条语句来表达我们将使用标准名空间中定义的元素。这条语句在使用标准函数库的 C+程序中频繁出现,本教程中大部分代码例子中也将用到它。int main()这一行为主函数(main function)的起始声明。main function 是所有 C+程序的运行的起始点。 不管它是在代码的开头,结尾还是中间 此函数中的代码总是在程序开始运行时第一个被执行。并且,由于同样的原因,所有 C+程序都必须有一个 main function。main 后面跟了一对圆括号(),表示

3、它是一个函数。C+中所有函数都跟有一对圆括号 (),括号中可以有一些输入参数。如例题中显示,主函数(main function)的内容紧跟在它的声明之后,由花括号 ()括起来。 cout int main ()cout int main ()cout using namespace std;int main ()/ declaring variables:int a, b;int result;/ process:a = 5;b = 2;a = a + 1;result = a - b;/ print out the result:cout using namespace std;int ma

4、in ()6int a=5; / 初始值为 5int b(2); / 初始值为 2int result; / 不确定初始值a = a + 3;result = a - b;cout ,并且使用 using namespace语句来使用标准名空间(std),如下面例子所示:/ C+字符串例题#include #include using namespace std;int main ()string mystring = “This is a string“;cout #include using namespace std;int main ()string mystring;mystring

5、 = “This is the initial string content“;cout using namespace std;int main ()int a, b; / a:?, b:?a = 10; / a:10, b:?b = 4; / a:10, b:4a = b; / a:4, b:4b = 7; / a:4, b:7cout =, using namespace std;int main ()int a, b=3;a = b;a+=2; / 相当于 a=a+2cout , =, 大于 Greater than= 大于等于 Greater or equal than4) 将返回

6、true.(3 != 2) 将返回 true.(6 = 6) 将返回 true.(5 = c) 将返回 true 因为它实际是(2*3 = 6)(b+4 a*c) 将返回 false因为它实际是(3+4 2*6)(b=2) = a) 将返回 true.注意:运算符= (单个等号)不同于运算符= (双等号)。第一个是赋值运算符(将等号右边的表达式值赋给左边的变量);第二个(=)是一个判断等于的关系运算符,用来判断运算符两边的表达式是否相等。因此在上面例子中最后一个表达式(b=2) = a),我们首先将数值 2赋给变量 b,然后把它和变量 a进行比较。因为变量 a中存储的也是数值2,所以整个运算的

7、结果为 true。 在 ANSI-C+标准出现之前的许多编译器中,就像 C语言中,关系运算并不返回值为真 true或假 false的 bool值,而是返回一个整型数值最为结果,它的数值可以为 0,代表“false“或一个非 0数值(通常为 1)来代表“true“。 逻辑运算符 Logic operators ( !, int main ()int a,b,c;a=2;b=7;c = (ab) ? a : b;7 cout b)运算值为假(false),所以整个表达式(ab)?a:b 要取分号后面的值,也就是 b的值 7。因此最后输出 c 的值为 7。逗号运算符 ( , )逗号运算符 (,) 用

8、来分开多个表达式,并只取最右边的表达式的值返回。例如有以下代码:a = (b=3, b+2); 这行代码首先将 3赋值给变量 b,然后将 b+2 赋值给变量 a。所以最后变量 a 的值为5,而变量 b的值为 3。位运算符 Bitwise Operators ( float f = 3.14;i = (int) f; 以上代码将浮点型数字 3.14转换成一个整数值(3)。这里类型转换操作符为(int)。在C+中实现这一操作的另一种方法是使用构造函数 constructor 的形式:在要转换的表达式前加变量类型并将表达式括在括号中:i = int ( f );以上两种类型转换的方法在 C+中都是合

9、法的。另外 ANSI-C+针对面向对象编程(object oriented programming)增加了新的类型转换操作符 (参考 Section 5.4, Advanced class type-casting).sizeof()这个运算符接受一个输入参数,该参数可以是一个变量类型或一个变量自己,返回该变量类型(variable type) 或对象(object)所占的字节数: a = sizeof (char); 这将会返回 1给 a,因为 char是一个常为 1个字节的变量类型。sizeof返回的值是一个常数,因此它总是在程序执行前就被固定了。 其它运算符在本教程后面的章节里我们将看到

10、更多的运算符,比如指向指针的运算或面向对象编程特有的运算,等等,我们会在它们各自的章节里进行详细讨论。运算符的优先度 Precedence of operators当多个操作数组成复杂的表达式时,我们可能会疑惑哪个运算先被计算,哪个后被计算。例如以下表达式: a = 5 + 7 % 2 我们可以怀疑它实际上表示:a = 5 + (7 % 2) 结果为 6,还是 a = (5 + 7) % 2 结果为 0?正确答案为第一个,结果为 6。每一个运算符有一个固定的优先级,不仅对数学运算符(我们可能在学习数学的时候已经很了解它们的优先顺序了),所有在 C+中出现的运算符都有优先级。从最从最高级到最低级

11、,运算的优先级按下表排列:优先级Level操作符Operator说明Description结合方向Grouping1 : 范围 从左到右2 () . - + - dynamic_cast static_cast reinterpret_cast const_cast typeid 后缀 从左到右+ - ! sizeof new delete 一元(前缀)* cin age; 声明一个整型变量 age然后等待用户从键盘输入到 cin并将输入值存储在这个变量中。cin 只能在键盘输入回车键(RETURN)后才能处理前面输入的内容。因此即使你只要求输入一个单独的字符,在用户按下回车键(RETURN)

12、之前 cin将不会处理用户的输入的字符。在使用 cin输入的时候必须考虑后面的变量类型。如果你要求输入一个整数,extraction () 后面必须跟一个整型变量,如果要求一个字符,后面必须跟一个字符型变量,如果要求一个字符串,后面必须跟一个字符串型变量。 / i/o example#include int main ()int i;cout i;cout “The value you entered is “ i;cout “ and its double is “ i*2 “.n“;Please enter an integer value: 702The value you entered is 702 and its double is 1404.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报