开始使用C++

  • 开始使用C++
    • 1.1 安装Miscrosoft Visual Studio 2015/2017
    • 1.2 用Miscrosoft Visual Studio创建项目
    • 1.3 用Microsoft Visual Studio写程序
    • 1.4 用Visual Studio 运行程序
    • 1.5兼容性问题 #1:stdafx.h或pch.h
    • 1.6 兼容性问题#2:暂停屏幕
    • 1.7 如果不使用Visual Studio
      • 例1.1 :打印消息
        • 练习 1.1.1
        • 练习 1.1.2
        • 练习1.1.3
    • 1.8 跳到下个打印行
      • 例1.2 :打印多行
        • 练习1.2.1
        • 练习1.2.2:
        • 练习1.2.3:
    • 1.9 存储数据:C++变量
    • 1.10 数据类型简介
      • 例1.3:温度换算
        • 练习1.3.1:
        • 练习1.3.2:
        • 练习1.3.3:
    • 1.11 变量名和关键字的注意事项
      • 练习1.3.5:
    • 小结

开始使用C++

1.1 安装Miscrosoft Visual Studio 2015/2017

下载地址:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
以windows平台为例:
安装时至少勾选这个:

1.2 用Miscrosoft Visual Studio创建项目

1.启动Visual Studio

2.选择"文件"|“新建”|“项目”。随后会出现下图所示的"新建项目"窗口。

3.在左侧窗格选择Visual C++模版。

4.在中间窗格选择"Win32控制台应用程序"(VS 2017 更名为"Windows控制台应用程序"。

5.在底部的"名称"文本框中输入"print1"。解决方案名称随后会自动显示相同文本。

6.单击"确定"按钮或直接按ENTER键。

如果出现"应用程序向导",请单击"完成"按钮。

1.3 用Microsoft Visual Studio写程序

//  双斜杠后面的这行语句表示注释,注释不会被执行# include "stdafx.h" // VS2017 需要把这句话改为 # include "pch.h"# include <iostream>using namespace std;int main(){cout << "别怕,C++很简单!";return 0;}

1.4 用Visual Studio 运行程序

在VS中按快捷键Ctrl + F5或选择"调试"|“开始执行(不调试)”。

注意:

  • 两个 C++语句(输入的大多数代码行都是C++语句)以分号(;)结尾,#include指令不以(;)结尾。

  • C++大小写敏感(但大多数空白间距不敏感)。除了引号中的文本,这个程序没有任何大写字母。

1.5兼容性问题 #1:stdafx.h或pch.h

在 Microsoft Visual Studio中编译程序有下面几种方式

  • 最简单的就是确定在用VS创建的任何程序中,在第一行一定是 # include “stdafx.h”(VS2017 换成了
    ”pch.h“)。如果是从别的地方复制过来的代码,一定确保有这句话。
  • 如果想编译普通C++代码(非microsoft专用),创建项目时不要在”应用程序向导“中直接点击”完成“。相反,单击”下一步“,在”应用程序设置“窗口中取消勾选”预编译头“。
  • 项目创建好之后也可以更改设置。选择”项目“| ”属性“(快捷键是ALT+F7),在左侧窗格选择”预编译头“。(可能要先展开”配置属性“和”C/C++“)最后在右侧窗格从相应下拉列表中选择”不适应预编译头“。

1.6 兼容性问题#2:暂停屏幕

如果使用Microsoft Visual Studio,最简单的方式是按快捷键Ctrl + F5,但并不一定对所有编译器有效。另一个办法是在return 0;的前面加入代码 system(“PAUSE”); 该语句的效果大致等于Ctrl + F5,但此方法只对Windows平台有效。

1.7 如果不使用Visual Studio

如果不使用Miacrosoft Visual Studio作为编译器,那在代码的前面不要加
" # include “stdafx.h"或”# include "pch.h"这句话。

例1.1 :打印消息

// 使用VS 请保留下面这一行
// # include "stdafx.h"  // VS 2017 换成了 "pch.h"# include <iostream>
using namespace std;int main(){cout << "别怕,C++很简单!";return 0;}

练习 1.1.1

写程序打印消息Get with the program!。如果愿意,可以使用例子中的源代码,根据需要进行修改。

 # include <iostream>
using namespace std;int main()
{cout << " Get with the program!";return 0;}

练习 1.1.2

写程序打印你的姓名。

# include <iostream>
using namespace std;int main()
{cout << " ALZ-one";return 0;}

练习1.1.3

写程序打印Do you C++?

# include <iostream>
using namespace std;int main(){cout << " Do you C++?";return 0;}

1.8 跳到下个打印行

打印换行最简单的方式是使用预定义常量 endl。例如:

cout << “别怕,C++很简单!” << endl;

注:endl是 end line的简称。最后是字母 l 而不是数字1,发音是end ELL而非 END ONE。还要注意,endl全称是 std::endl。using语句帮我们少打一个std::。

打印换行的另一个方式是插入字符\n。这称为“换码序列”,C++把它解释成具有特殊含义的语句而不是字面意思。以下语句效果和前一个语句一样:

cout << “Never fer, C++ is here!\n”;

例1.2 :打印多行

// print2.cpp
//使用Microsoft VS,请保留下面这一行:
// # include "stdafx.h" //VS2017换成了"pch.h"# include <iostream>
using namespace std;int main()
{cout << " I am ALZ-one," << endl;cout << "计算机之神!" << endl;cout << "畏惧我吧!!!" << endl;return 0;
}

记住,空白间距随便定,但大小写务必一致。

练习1.2.1

从本节的例子中删除换行符,但在引号内添加额外的空格使它们不紧挨在一起。最终输出如下所示:

我是ALZ-one,计算机之神!畏惧我吧!!!哈哈哈哈!!!

答案:

# include <iostream>
using namespace std;int main()
{cout << "我是ALZ-one,";cout << "计算机之神!";cout < "畏惧我吧!!!";cout << "哈哈哈哈!!!";return 0;}

练习1.2.2:

修改例子在每行文本之间打印一个空行(双倍行距)。提示:每个文本字符串后面打印两个换行。

答案:

# include <iostream>
using namespace std;int main()
{cout << "我是ALZ-one" << endl << endl;cout << "计算机之神!" << endl << endl;cout < "畏惧我吧!!!" << endl;return 0;
}

练习1.2.3:

修改例子在每行文本之间打印两个空行。
答案:跟上一题类似,懒得写了。

1.9 存储数据:C++变量

计算机程序的一个基本功能是从某个地方获取数据(例如用户输入),然后对其进行处理。这种操作需要变量,即放入数据的位置。可将变量想像成容纳值的箱子。程序运行期间,可以读取、写入或更改值。

cin >> ctemp;

下面是运行该语句发生的事情(实际过程更复杂,但目前只需知道这么多。)

1.程序暂停运行并等候用户输入值

2.用户输入数字并按Enter

3.获取数字并放到变量ctemp中

4.程序恢复运行

C++变量必须先声明再使用

(声明变量必须知道要使用什么数据类型。和其他大多数语言一样,这也是C++的一个关键概念。)

1.10 数据类型简介

变量是可在其中放入信息(或数据)的箱子。但能放哪种数据?所有计算机最终都是数值,但具有下面三种基本格式:整数、浮点和文本字符串。

浮点和整数格式存在几处区别,但语言规范很简单。

**保留小数要用浮点变量,否则用整型。

C++主要浮点类型是double(double-precision floating point)。还有单精度浮点类型float,但用的较少。保留小数直接用double好了。这样可获得更好的结果,错误消息也较少。

用一下语法声明double变量,和大多数语句一样,该语句要以分号(;)结尾。

double 变量名;

还可在一个double声明中创建多个变量:

double 变量名1, 变量名2,...;

例1.3:温度换算

公式:Fahrenheit = (Celsius * 1.8) + 32

可以写一个小程序将输入的任何摄氏度换算成华氏度。程序功能包括两个:

  • 获取用户输入
  • 将值存储到变量
// convert.cpp
//使用Microsoft VS,请保留下面这一行:
// # include "stdafx.h" //VS2017换成了"pch.h"# include <iostream>
using namespace std;int main(){double ctemp, ftemp;cout << "请输入摄氏度是:";cin >> ctemp;ftemp = (ctemp * 1.8) + 32;cout << "华氏度是:" << ftemp;return 0;
}

C++代码以双斜杠(//)开头,C++编译器会忽略直到行末的所有内容。

下面来优化这个代码(只用一个变量):

// 优化convert.cpp
//使用Microsoft VS,请保留下面这一行:
// # include "stdafx.h" //VS2017换成了"pch.h"# include <iostream>
using namespace std;int main()
{double ctemp;cout << "请输入摄氏度是:";cin >> ctemp;cout << "华氏度是:" << (ctemp * 1.8) + 32 << endl;return 0;}

再举一个例子:

// Square.cpp
//使用Microsoft VS,请保留下面这一行:
// # include "stdafx.h" //VS2017换成了"pch.h"# include <iostream>
using namespace std;int main()
{double x = 0.0;//提示并输入x的值cout << "请输入一个数然后按Enter:";cin >> x;// 计算并输出平方值cout << " 这个数的平方值是:" << x * x << endl;return 0;
}

练习1.3.1:

重写例子执行反向换算,输入华氏度ftemp,换算成摄氏度ctemp并输出。提示:公式是ctemp = (ftemp - 32) / 1.8。

答案:

#include <iostream>
using namespace std;int main()
{double  ctemp, ftemp;cout << "输入华氏度并按Enter:";cin >> ftemp;ctemp = (ftemp - 32.0) / 1.8;cout << "摄氏度是: " << ctemp << endl;return 0;
}

练习1.3.2:

只用变量ftemp写华氏度到摄氏度换算程序,优化1.3.1的程序。

答案:

#include <iostream>
using namespace std;int main()
{double  ftemp;cout << "输入华氏度并按Enter: ";cin >> ftemp;cout << "摄氏度是: ";cout << (ftemp - 32.0) / 1.8 << endl;return 0;
}

练习1.3.3:

写程序想变量x输入值,输出立方值(x * x * x),记得将字符串中square改成cube。

答案:

#include <iostream>
using namespace std;int main()
{double  x;// 输入一个数cout << "输入一个数然后按Enter: ";cin >> x;// 打印立方值cout << "立方值是: ";cout << x * x * x << endl;return 0;
}

1.11 变量名和关键字的注意事项

变量名可以随便取,但前提是遵守以下规则:

  • 首字母应该是字母。不能是数字。虽然首字母也可以是下划线(_),但C++库已经用了这个命名规范,所以我们应该尽量避免。
  • 名字其余部分可以是字母、数字或下划线(_)。
  • 不能使用C++预定义的单词,比如关键字。

C++关键字不必记全。输入和C++冲突的名称时编译器会报错。改个名字就好。

练习1.3.5:

一下哪些是合法C++变量名,哪些不是?
x1

EvilDarkness

PennslyvaniaAve1600

1600Pennsy1vaniaAve

Bobby+the+Robot

whatThe??

amount

Count2

Count2five

Scount

main

main2

答案:
你猜。
在编译器里声明一下,看哪些变量会报错。

小结

  • 写C++源代码来创建程序。源代码由C++语句构成。这些语句和英语相似,较为直观。(与此相反,机器码一点都不直观,除非你能理解所有1和0的组合。)程序真正运行前要转换成机器码,这才是计算机能理解的东西。
  • 将C++语句转换成机器码的过程称为“编译”。
  • 编译之后,程序还需链接到C++库中存储的标准函数。该过程称为链接。这一步成功完成后才获得一个可执行程序。
  • 在开发环境中,编译、链接和运行按一个功能键就可完成。编译和链接统称为“生成”。如果使用Microsoft Visual Studio,按组合键Cr+F5来生成并运行程序。
  • Microsoft Visual Studio 要求每个程序的第一行都是#include"stdafx.h"。使用
    “新建” | "项目”命令自动添加该行。
  • 简单C++程序一般采用以下形式:
# include <iostream>
using namespace std;
int main()
在此输入你的语句!
{在此输入你的语句!return 0;
}
  • 打印输出用cout对象。示例如下:
cout <<"Never fear,C++ is here!";
  • 打印输出并跳到下一行用cout对象并发送一个换行符(endl)。示例如下:
cout <<"不要怕,C++很简单!"<< end1;
  • 大多数C++语句都以分号(;)结尾。主要例外的是以 # 开头的指令。
  • 双斜杠(//)开始一条注释: 直到行末的内容会被编译器忽略。注释对维护程序的人很有用。
  • 变量必须先声明再使用。示例如下:
double x;//将x声明为浮点变量
  • 要存储小数部分,变量应定义为double类型。double代表双精度浮点数。只有在浮点数据量过大时才应使用单精度浮点类型(float)。
  • 用cin对象将键盘输入存储到变量。示例如下:
cin >> x;
  • 还可用赋值操作符(=)将数据存储到变量。先对等号右边的表达式进行求值,再将结果存储到左边的变量。示例如下,
x=y*2;//y乘以2,结果放到x中

第1章 开始使用C++相关推荐

  1. 一篇文章告诉你标准化和归一化的区别?

    一篇文章告诉你标准化和归一化的区别? 2019-02-28 17:12:39 融融网融融网阅读量:484 进一步推进企业的标准化工作,使之发展水平适应经济全球化下市场竞争的要求,促进企业综合实力的提升 ...

  2. 第25章 Pytorch 如何高效使用GPU

    第25章 Pytorch 如何高效使用GPU 深度学习涉及很多向量或多矩阵运算,如矩阵相乘.矩阵相加.矩阵-向量乘法等.深层模型的算法,如BP,Auto-Encoder,CNN等,都可以写成矩阵运算的 ...

  3. 操作系统学习笔记 第六章:设备管理(王道考研)

    本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...

  4. 操作系统学习笔记 第五章:文件管理(王道考研)

    本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...

  5. 操作系统学习笔记 第四章:存储器管理(王道考研)

    本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...

  6. 操作系统学习笔记 第三章:处理机调度与死锁(王道考研)

    本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...

  7. 操作系统学习笔记 第二章:进程管理(王道考研)

    本文章基于 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系统概述 ...

  8. 王道考研 计算机网络笔记 第六章:应用层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  9. 王道考研 计算机网络笔记 第五章:传输层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  10. 王道考研 计算机网络笔记 第四章:网络层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

最新文章

  1. 中文微博客的热门锐推用户榜
  2. 微信小程序UI组件、开发框架、实用库...
  3. diskcheck.sh
  4. 苹果照片库的照片,直接拖到桌面上
  5. 怎么在html中写java代码,在html里面写java代码
  6. 【预测模型】基于布谷鸟算法优化最小二乘支持向量机lssvm实现预测matlab代码
  7. 有哪些比较好的免费简历网站?
  8. 创建局域网Git服务器
  9. mac 下 Parallels Desktop 克隆虚拟机 product_uuid 相同
  10. SKlearn - ValueError: Unknown label type: 'continuous'
  11. ubuntu 安装java运行环境,Ubuntu 安装java环境搭建
  12. VM安装win7系统一直失败,可能是镜像文件不对
  13. 刷题 Python: 明码
  14. Android--智能图像识别(基于百度智能云)
  15. 华为OD机试 - 最小调整顺序次数、特异性双端队列
  16. VS2015中无法查找或打开 PDB 文件
  17. safari对100vh的兼容问题
  18. ...weights already exists, disallowed. Did you mean to set reuse=True...(解决办法)
  19. 【课程汇总】Hello HarmonyOS系列课程,手把手带你零基础入门
  20. 抖音视频批量发布方法

热门文章

  1. 6_3.信道与信道容量
  2. 抖音企业号,抖音搜索框SEO优化系统搭建。
  3. 大数据管理与分析技术(1)
  4. cad输入法自动切换_银河麒麟操作系统用户教程(八):如何设置输入法?
  5. python领域语言教案_第一单元 走进Python 编程世界
  6. 自己设计一个美观的网页版介绍界面(HBuilder)
  7. 浅谈移动端——前端适配详解
  8. ONES 联合中国信通院发布《中国企业软件研发管理白皮书》
  9. 单位根检验、航空模型、季节模型
  10. 公司上市有几种方式?