C++ primer学习笔记—1.1你会编一个简单的程序吗?

整章概要:类型、变量、表达式、语句、函数。

销售记录例子-->初步认知程序的组成:1.定义变量;2.输入、输出;3.数据保存(什么样的数据结构);4.功能(检测相同ISBN);5.运作机制(一个ISBN对应一次循环)。


1.1编写一个简单的C++程序

程序

程序——>函数——>主函数(必须,且命名为main)、子函数

函数——>返回类型(return type)、函数名(function name)、形参列表(parameter list)、函数体(function body)

注意:1.返回值和返回类型相容;

           2.主函数返回值一般用于指示状态;

           3.数据存于变量,变量需要一个类型。类型包含了数据的内容形式和运算。

从命令行运行编译器

首先提出几个书中所写的知识点:

       1.IDE是集成开发环境,会自动生成一些子文件并耗费时间;

       2.源文件对不同编译器有不同的后缀名:.cpp、.cc等;

       3.$是系统提示符(unix系统,windows系统在相应文件夹中直接打开命令提示符);

       4.编译器编译源文件会生成一个可执行文件(.exe\.out);

       5.windows运行可执行文件可忽略扩展名.exe;

       6.执行时必须显示之处文件位置;

       7.echo命令获取返回值。

windows+vs2015下执行上述过程:

      首先,我们打开记事本,写下书中这段简单代码:

#include <stdio.h>
int main()
{
  return 0;
}

      并保存为:prog1.cpp【注意后缀名】到桌面。

      第二步:打开vs2015——>工具——>visual studio 命令提示(c)【目的是找到你执行vs的编译器所在的文件夹目录,即以后运行只需在该目录下输入cmd进入命令提示符窗口】

【发现我的目录在如下位置】

输入cl【就是在命令提示符中调用了vs的编译器,此时会告诉你cl语句的用法】

第三步,根据书上提示输入命令:$cl/EHsc prog1.cpp

注意:1.$是系统提示符,即你在文件目录下打开的命令提示符窗口——c:\program files (x86)\microsoft visual studio 14.0\vc\bin>     ;

               2.cl是调用编译器,/EHsc是编译器选项,其作用是打开标准异常处理,一定不要写成\EHsc了;

               3.prog1.cpp,这里应该显示的指出你源文件所在的位置

故正确做法如下:

注意,这里出现了问题:fatal error C1083:无法打开编译器生成的文件。【首先,在该文件夹(C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin)下生成了obj文件;错误原因在于,编译器要访问该文件夹下的obj文件没有权限

解决办法:尝试在有权限的地方操作,比如桌面。   try again!

把prog1.cpp剪切到桌面上,然后在桌面位置打开cmd...结果出现下面的状况。

这是啥意思?意思是在桌面这个文件夹下无法执行cl命令,想一想什么原因?

我们打开最开始找到的文件夹目录,我们会在该目录下找到一个名为cl.exe的文件

意味着我们在cmd命令提示符下输入cl,其实是在执行cl.exe这样一个可执行文件,我们可以在该文件夹下的命令提示符中输入cl.exe验证。

嗯...的确是这样的。那我们怎么在桌面的文件夹下运行这个cl.exe呢?【不要想着把该cl.exe文件复制到桌面就行,因为执行cl.exe还有一些附带的文件,除非你全部拷贝到桌面上】

方法就是建立一个路径能使我们从桌面到达我们需要的地址上去。怎么做呢?

方法1:在C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin目录下找到vcvars32.bat这个批处理文件,拷贝到桌面,并重新命名为vcv.bat。然后打开命令提示符,进行以下操作:

至此就完成了书上的一系列操作了。解释一下:输入vcv的目的就是要进入到vs编译器的环境下,然后就可以在该环境下进行后续的编译过程即可。可以看出这里生成了生成了一个.obj文件和一个.exe可执行文件。

方法二:我们还可以直接添加环境变量,包括path、include、lib来直接运行cl,而不需每次都拷贝一个bat文件出来。

操作步骤:首先还是在桌面的文件夹下打开cmd,因为要运行cl,所以我们添加C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin到路径中

注意:这里的%path%;的作用是在系统原有的path路径后添加,如果没有%path%;则意味着删除原有的,只保留C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin路径。

我们运行一次:

这时候发现我们还缺找到stdio.h头文件的路径。所以我们需要添加。它的路径在哪呢?因为在系统中是存在有这样的头文件的,所以在vs15版本里,在vs目录下都找不到stdio.h路径,需要在系统文件里查找,我的是在C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt中。故我们添加进去:

还是要缺头文件vcruntime.h,这个名字提醒我,该文件是在vs的目录下的。所以找一找,发现果真!我的在:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include中,继续添加进去:

是这样的。这里又提醒我没有LIBCMT.lib,这个是在vs中C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib。添加进去:

还缺kelnel132.lib,心里一想,这个肯定是在系统盘里啦。找一找,果真在系统盘里找到了,我的是在:C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86中,继续继续添加:

哎呀,还要缺,但是我感觉已经快了!!找到libucrt.lib,也是在系统文件里的,我的在:C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86里,添加进去:

哇!终于成功了!!!激动!!

好了,总结一下我们一共添加了些什么:

path:         C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

include:     C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt;

                 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include

lib:             C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib;

                 C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86;

                 C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86。

【说明】1.在系统文件里找的路径不一定都是这些,只要路径里包含了我们需要的文件即可;

               2.Lib和include路径下我们没有输入%lib%;和%include%;是因为我的环境变量里面没有这两项,所以没必要输入;

               3.在cmd窗口中设置环境变量只对当前窗口有效,意味着每次我们在新的窗口里编译时都需要重新设置一次。

而一劳永逸的方法就是将上面的6个路径直接放入系统的环境变量中即可。具体的就不演示啦!

最后我们运行prog1.exe并验证其返回值:

练习题就很简单了,不说了不说了。


猜你喜欢

转载自blog.csdn.net/weixin_42273201/article/details/88042420