我们又见面啦,从今天开始我将进入C++的学习,为什么选择C++呢,主要是团队的要求,以及个人对编程的爱好。不同于之前的java学习,这次我主要的参考资料不是视频,而是C++ Primer Pluls,这次将通过参考书学习,任务还是挺艰巨的。用的IDE是codeblocks。
今天主要学习C++的基础知识和语法
#include
int main()
{
using namespace std;
cout <<"Come up and C++ me some time.";
cout <
下面详细介绍上述程序中的元素
int main()//函数头
{
语句
return 0;//结束函数
}
main是函数名,花括号中的称为函数体
main()函数中最后一条语句叫做返回语句,它结束该函数
什么是语句
作为接口的函数头
就目前而言,只要记住:C++句法要求main()函数的定义以函数头int main()
开始。
【函数头的句法将在以后介绍】
也可以使用变体:int main(void)
在括号中使用关键字void明确指出,函数不接受任何参数。在C++【不是C】中让括号空着与在括号中使用void等效【具体的以后介绍】
另外:如果编译器到达main()函数末尾时没有遇到返回语句,则认为main()函数以
return 0;结尾【只适用于main()函数,不适用其他函数】
为什么main()不能使用其他名称
如果需要使用c++输入或输出工具,请提供这两行代码
#include < iostream>
using namespace std;
像iostream这样的文件叫做包含文件,也叫做头文件,在c语言中,头文件使用扩展名h
例如:math.h包含了c语言数学函数
但是c++用法变了,c++头文件没有扩展名,有些c头文件被转换为c++头文件后被重新命名
去掉扩展名h【使之成为c++风格的名称】,加上前缀c【表明来自c语言】
例如:C++ 版本的math.h为 cmath
如果使用iostream,而不是iostream.h,则应使用下面的名称空间编译指令来使iostream中的定义对程序可用
using namespace std;
这叫做using编译指令,现在先记住,以后再讲
cout << "Come up and C++ me some time.";
这是上述程序中使用的语句
cout <
endl是一个特殊的c++符号,表示一个重要的概念:重启一行,它将导致光标移到下一行开头
如果没有这个符号,输出结果将是:Come up and C++ me some time.You won’t regret it!
诸如endl等对于cout来说有特殊含义的特殊符号被称为控制符
和cout一样,endl也是在头文件iostream中定义的,且位于名称空间std中
c++同样支持C语言的换行符 \n
两者不同的是:endl确保程序继续运行前刷新输出【将其立即显示在屏幕上】;而 \n不能提供这样的保证,这意味着在有些系统中,有时可能在输入信息之后才会出现提示
一行代码中不可分割的元素叫做标记,通常必须用空格、制表符或者回车将两个标记分开
空格、制表符、回车统称为空白
#include
int main()
{
using namespace std;
int carrots;
carrots = 25;
cout << "I have ";
cout << carrots;
cout << "carrots";
cout << endl;
carrots = carrots - 1;
cout << "Crunch, crunch. Now I have " << carrots << "carrots."<
下面探讨这个程序
int carrots;
这条语句提供了两条信息:需要的内存以及该内存单元的名称
int是最基本的数据类型,它表示整数【没有小数部分的数字】具体的将在后面介绍
该声明语句指出,此后程序将使用名称carrots来标识存储在该内存单元中的值。carrots被称为变量,因为他的值可修改。在c++中所有变量都必须声明
程序中的声明语句叫做定义声明语句,简称为定义,这意味着他将导致编译器为变量分配内存空间。在较为复杂的情况下,还可能有引用声明。这些声明命令计算机使用在其他地方定义的变量。此例中声明是定义
赋值语句将值赋给存储单元。
例如:carrots = 25;
将整数25赋给变量carrots表示的内存单元
符号 =叫做赋值运算符。C++和C都可以连续使用赋值运算符
例如:a = b = c = 1;
是合法的
赋值将从右向左进行。首先1被赋给c,然后c的值【1】被赋给b,然后b的值【1】被赋给a
cout << carrots;
程序没有打印"carrots",而是打印存储在carrots中的整数的值,实际上将这两个操作合二为一了,首先cout将carrots替换成25,再把值转换为适合输出的字符
要打印字符串,cout只需要打印字符串中的各个字符即可,字符在计算机中储存的是编码
数值在计算机内被储存为二进制数
cout可以“区分”打印的是数值还是字符串
#include
int main()
{
using namespace std;
int carrots;
cout << "How many carrots do you have?" << endl;
cin >> carrots; //c++中的输入
cout << "Here are two more.";
carrots = carrots + 2;
//连起来输出
cout << "Now you have " << carrots << " carrots." << endl;
return 0;
}
基于上述程序的讲解
cin >> carrots;
cin被用来读取用户键盘输入,输入时cin使用>>运算符从输入流中抽取字符,通常需要在运算符右侧提供一个变量,以接收抽取的信息
与cout一样,cin也是一个智能对象,它可以将通过键盘输入的一系列字符转换为接收信息的变量能够接收的字符。
具体来说:
前文声明变量:int carrots;
这个代码创建了一个int类型的变量(carrots),carrots可以存储整数,可以按特定的方式使用——就像加减
现在看cout。他是一个iostream类对象。ostream类定义【iostream文件的另一个成员】描述了ostream对象表示的数据以及可以对他们执行的操作
注意:类描述了一种数据类型的全部属性【包括他可以执行的操作】,对象是根据这些描述创建的实体