为了解决这个问题,在主函数中需要对被调用函数作声明。上面的程序可以改写如下:
#include <iostream> using namespace std; int max(int x,int y); //对max函数作声明 int main( ) { int a,b,c; cin>>a>>b; c=max(a,b); //调用max函数例1.3 给两个数x和y, 求两数中的大者。 cout<<″max=″<<c<<endl; return 0; } int max(int x,int y) //定义max函数 { int z; if(x>y) z=x; else z=y; return(z); }只要在被调用函数的首部的末尾加一个分号,就成为对该函数的函数声明。函数声明的位置应当在函数调用之前。
C++程序的结构特性一个面向对象的C++程序一般由类的声明和类的使用两大部分组成。
类的使用部分一般由主函数及有关子函数组成。
典型的C++程序结构 #include <iostream.h> //类的声明部分 class A{ int x,y,z; …… fun( ){……} …… }; //类的使用部分 int main() { A a; …… a.fun(); return 0; }在C++程序中,程序设计始终围绕“类”展开。通过声明类,构建了程序所要完成的功能,体现了面向对象程序设计的思想。
C++程序的编辑、编译和运行C++源程序文件的扩展名为.CPP
可以用多种编译器编辑、编译和运行
C++对C的补充 1. 注释与续行注释符:“/*”和“*/” 或“//” 。
Cpp新增了注释语句,它由“//”开始,到行尾结束。
例如:
续行符:“”(反斜杠)。作用是当一个语句太长时可以用该符号把它分段写在几行中。
例:
C中I/O操作出现的问题:
int i; float f; scanf(“%f”,i); printf( “%d”,d);Cpp中使用更安全更方便的方法:
int i; float f; cin >> i; cout << f;cout和cin分别是C++的标准输出流和输入流。 Cpp支持重定向,但一般cout指的是屏幕, cin指的是键盘。
操作符“<<”和“>>”除了具有C语言中定义的左移和右移的功能外,在这里符号“<<”是把右方的参数写到标准输出流cout中;相反,符号“>>”则是将标准输入流的数据赋给右方的变量。
例1.4 一个完整的C++程序 #include <iostream.h> int main() { char name[20]; cout << "Hello, your name: "; cin >> name; cout << name; return 0; }注意:
程序中必须包含头文件iostream.h
cin和>>,cout和<<配套使用
cin可以输入多个数据,但要用空白符隔开(tab,空格,回车)
如: cin >> a >> b >> c;
换行符:‘\n’或endl
如: cout << “x=” << x << endl; cout << “x=” << x << ‘\n’;
使用cout和cin时,也可以对输入和输出的格式进行控制,比如可用不同的进制方式显示数据,只要设置转换基数的操作符dec、hex和oct即可。
例1.5 操作符dec、 hex和oct的使用 #include<iostream.h> void main() { int x=25; cout << hex << x << ' ' << dec << x << ' ' << oct << x << '\n'; }输出结果为: 19 25 31
3. 灵活的变量说明 定义变量的位置在程序中的不同位置采用不同的变量定义方式,决定了该变量具有不同的特点。变量的定义一般可有以下三种位置:
在函数体内部
在函数体内部定义的变量称为局部变量,这种局部变量只在进入定义它的函数体时起作用,离开该函数体后该变量就消失(被释放),即不再起作用。因此,不同函数体内部可以定义相同名称的变量,而互不干扰。
形式参数
当定义一个有参函数时,函数名后面括号内的变量,统称为形式参数。
全局变量
在所有函数体外部定义的变量,其作用范围是整个程序,并在整个程序运行期间有效。
在C语言中,全局变量声明必须在任何函数之前,局部变量必须集中在可执行语句之前。
Cpp中的变量声明非常灵活,它允许变量声明与可执行语句在程序中交替出现。
例如
在C++中,结构名、联合名、枚举名都是类型名。在定义变量时,不必在结构名、联合名或枚举名前冠以struct、union或enum。
例如:
enum boole{FALSE,TRUE}; struct string{ char *string; int length; }; union number{ int i; float f; };在传统的C中,定义变量时,必须写成:
enum boole done; struct string str; union number x;但是,在C++中,可以说明为:
boole done; string str; number x; 5. 函数原型