C++ primer plus

阅读: 评论:0

C++ primer plus

C++ primer plus

目录

前言

一、进入C++

二、C++语句

2.2.1声明语句和变量

2.编程练习



前言

适合具有一定C/C++基础的读者观看

本章对C++程序的基本结构做一个概述,并预览后面将介绍的主题,如函数和类


一、进入C++

#include <iostream>
int main()//function header
{using namespace std;
cout<<"Come up and C++ me some time ";
cout<<endl;
cout<<"You won't regret it!"<<endl;
return 0;
}

该示例包含以下元素

注释            —— 由前缀//标识

预处理指令 ——#include

函数头        ——int main()

编译指令     ——using namespace std

函数体        ——使用{}扩起

结束main()函数的return语句

使用cout工具的显示消息语句

 这里需要注意的是名称空间

1.名称空间

如果使用iostream,而不是iostream.h,则应该使用下面的名称空间编译指令来使iostream中的定义对程序可用

using namespace std;

这叫做using编译指令 

名称空间是一项C++特性,它在代码组合的时候让程序更容易组织。

名称空间使得编译器能够将内容封装在一个成为名称空间的单元中,这时使用名称空间就知道该使用哪个单元的函数。

比如在Microsoft和Piscine都含有一个叫做wanda()的函数,那么

Microsoft::wanda("go dancing?");

Piscine::wanda(" a fish named Desire");

就可以使用名称空间来调用不同的函数了。

2.源代码中的标记和空白 

一行代码中不可分割的元素叫做标记。通常,必须用空格、制表符或者回车将两个标记分开。

空格、制表符、回车(换行符)统称为空白。

二、C++语句

2.2.1声明语句和变量

使用声明语句来指出存储类型并提供位置标签。(变量类型,变量名称,有时候甚至变量地址等等)

int a;

 上述语句表明了一个变量名为a的变量的数据类型是int类型,在内存中占8位。

2.2.2赋值语句

可以连续使用赋值语句。

int a ;

int b;

int c;

a=b=c=10;

这样做是合法的,赋值将从右向左进行。 

2.3其他C++语句

#include <iostream>
int main()
{using namespace std;int carrots;cout<<"How many carrots do you have?"<<endl;cin>>carrots;cout<<"Here are two more.";carrots=carrot+2;cout<<"Now you have "<<carrots<<" carrots."<<endl;
return 0;
}

2.3.1使用cin

cin>>carrots;

这条语句的意思是,信息从cin流向carrots。<<运算符将字符串插入到到输出流中;输入时,cin使用>>运算符从输入流中抽取字符。

2.3.2使用cout

cout<<carror;

cout<<endl;

//

cout<<"Now you carrot"

        <<carrots

        <<" carrots"

        <<endl; 

2.3.3类简介

类是用户定义的一种数据类型。也就是说,需要描述的是他能够表示什么信息和可对数据执行哪些操作。

类对于对象就像类型对于变量。也就是说类定义描述的是数据格式及其用法,而对象就是根据数据格式规范创建的实体。

类描述了一种数据类型的全部属性(包括可使用他执行的操作),对象是根据这些描述创建的实体。

2.4函数

C++函数分为两种,有返回值和没有返回值的。在标准C++函数库中可以找到这两类函数的例子,也可以自己创建这两种类型的函数。

 2.4.1使用有返回值的函数

有返回值的函数将生成一个值,而这个值可赋给变量或者在其他表达式中使用。

例如标准C++定义库中有一个名位sqrt()的函数,他的功能是计算平方根。

x=sqrt(6.25);

sqrt(6.25)被成为函数调用,被调用的sqrt函数称为调用函数。6.25成为函数参数,将作为参数把值传递给函数sqrt。

C++程序应当为程序中使用的每个函数提供原型,例如sqrt()函数的原型

double sqrt(double) 

这里的第一个double是函数返回类型,第二个double是参数类型,说明了 sqrt()函数的返回类型是double类型的数据,而且传递的参数也是double类型。

使用库函数

C++库函数存储在库文件中,编译器在编译程序的时候,它必须在库文件中搜索您使用的函数。至于自动搜索哪些库文件,将因编译器而异。如果运行程序时得到一个消息

-》指出sqrt是一个没有定义的外部函数,则可能是由于编译器不能自动搜索数学库。如果在UNIX实现中遇到这样的问题,则需要在命令行添加lm选项

g++ sqrt.C -lm

 2.4.2函数变体

有些函数需要多项信息,这些函数使用多个参数,参数之间用逗号隔开。

double pow(double,double0

有些函数没有返回值,也不接受任何参数

void rand(void) 

关键字void表示rand函数没有返回类型(没有返回值),而且不接受参数 

由于它不返回值,所有不能将该函数调用放在赋值语句或者其他表达式中。

2.4.3用户定义的函数

我们可以使用函数库里的函数,也可以在需要的时候自己设计函数去完成自己所需要的功能。

无论是有返回值,有函数参数,或者没有函数参数,无返回值,简洁的完成我们的目标才是我们设计函数的最终要求。

2.4.4在多函数程序中使用using编译指令

using namespace std;

在程序示例中,每个主函数中都包含这行代码这是因为我们在函数中使用了cout。

总之,让程序能够访问名称空间std的方法有很多种

》》将using namespace std;放在函数定义之前,让文件中所有的函数都能使用名称空间std中所有的元素。

》》将using namespace std;放在特定的函数定义中,让该函数能够使用名称空间std中所有的元素。

》》在特定的函数中使用类似 using std::cout这样的指令,而不是using namespace std;

让该函数能使用指定的元素

》》完全不使用编译指令using,在需要使用名称空间std中的元素时,使用前缀std:: 

std::cout<<"xxxxxx"<<std::endl;

2.编程练习

#include <iostream>
int main()
{char name[20];char address[20];std::cout<<"Please input your name:"<<std::endl;std::cin>>name;std::cout<<"Please input your address:"<<std::endl;std::cin>>address;std::cout<<"Name:"<<name<<",Address:"<<address<<std::endl;return 0;
}

2.

#include <iostream>
int main()
{int d;std::cout<<"Please input an distance in long:"<<std::endl;std::cin>>d;std::cout<<"The distance in code is:"<<d*220<<std::endl;return 0;
}

3. 

#include <iostream>
using namespace std;
void mice();
void run();
int main()
{mice();mice();run();run();return 0;
} 
void mice()
{cout<<"Three blind mice"<<endl;
}
void run()
{cout<<"See how they run"<<endl;
}

 4.

#include <iostream>
using namespace std;
int main()
{int age;cout<<"Enter your age:"<<endl;cin>>age;cout<<"Your age have "<<age*12<<" months"<<endl;return 0;}

5.

#include <iostream>
using namespace std;
double reflect(double a)
{return 1.8*a+32.0;
}
int main()
{double b;cout<<"Please enter a Celsius value: ";cin>>b;cout<<b<<" degree Celsuis is "<<reflect(b)<<" degree Fahrenheit."<<endl;return 0;
}

6.

#include <iostream>
using namespace std;
double reflect(double a)
{return 63240*a;
}
int main()
{double b;cout<<"Enter the number of light years : ";cin>>b;cout<<b<<" light years =  "<<reflect(b)<<" astronomicla units."<<endl;return 0;
}

 7.

#include <iostream>
void show(int, int);
using namespace std;
int main()
{int hour;int minute;cout << "Enter the number of hours: ";cin >> hour;cout << "Enter the number of minutes: ";cin >> minute;show(hour,minute);return 0;
}void show(int hour, int minute)
{cout << "Time: " << hour << ":" << minute << endl;
}

本文发布于:2024-02-02 18:13:08,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170686940645550.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:Day2
下一篇:初识事件.
标签:primer
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23