子德
本帖最后由 [email protected] 于 2017-5-13 07:14 编辑

第二章

你好,世界


索引贴地址



你好,世界



小结

上一章地址












2021.12 数据,可能有更多内容第二章
你好,世界


索引贴地址
这儿


你好,世界


我们今天来做出我们的第一个程序。
学习目标:
在程序中输出Hello world!
这是一个古老的故事。这是所有程序猿的第一个程序。
这个程序常常用于测试开发环境是否安装好。


让我们打开C++,在左上角文件>新建>源代码处创建一个新的源代码。



然后打出下列代码。(所有符号都是英文的)



按下F11(编译运行)。弹出保存窗口,随便保存。
然后再来按次F11。
(有些电脑快捷键不一样,找到”窗口“右下角四个彩色按钮从左往右第三个,相当于F11)
等待一下,你会发现弹出了一个窗口。



如果是这样的,那么恭喜你,你已经正式成为一个程序猿了。


接下来,我将讲述你打出的都是什么。
第一句
#include<cstdio>
这句话的意思是你载了名字叫cstdio的头文件。


头文件是什么意思?


打个比方。我们在生活中需要用到各种各样的东西。比如线、笔、纱布。
而这些东西都放在不同的箱子里:
比如线放在缝纫包,笔放在公文包,纱布放在医药箱。
那么当我需要使用笔的时候我就需要找公文包,要纱布就要找医药箱。
在C++中也是,我想要使用printf这个语句,这个语句放在一个叫cstdio的箱子里面。
那么我就需要用#include<cstdio>这句语句来拿到这个箱子。
#include<xxx>就表示拿到一个名字叫xxx的箱子。


第二句
using namespace std;
这句话你不打也可以。
对于初学者来说几乎没有什么意义。


第三句
int main(){}
程序好比一栋房子,但是只有一个房间有门。
我们要进入或者出去这栋房子就必须从这个房间的门出去。
main就表示这个房间。
程序开始执行和结束执行的地方都是在这儿。
我们把main()叫做”主函数“。
我们后面也可以定义自己的函数。
后面的{}括号就相当于这个房间的墙。
它的意思就是,{}内的东西都在这个叫main的房间里面。
平常我们去别人家做客,肯定会带些礼物,然后主人也会给我回礼对吧。
在程序中,带过去的东西叫做”传递参数“
对方的回礼叫做”返回值“
在这里,int就表示返回值的数据类型(整数)
我们在后面学习其他数据类型后也可以换成返回其他的书局类型。
可以有,也可以没有。
()里面的东西是传递参数。
就拿这个main()主函数的例子来说,
()里面啥都没有,表示你没有传递给这个主函数任何东西。
至于返回值,看下面。
可能有点难理解,后面讲函数的时候会再讲。
对于新人来说,你只要知道:
1.程序从这个叫main的函数里面开始。
2.main{}内的内容就是主函数的内容,在其之外就不是。
第四句
printf("Hello world!");
这句话的意思是:
输出一个Hello world的字符串。
""表示你里面的东西都是字符。
后面的;叫做分号,表示着一个语句的结束。
有了分号,你可以在同一行打一堆语句。
比如这样:
printf("Hello ");printf("world!");
但是为了代码的可读性(别人浏览你代码的时候能否懂你的代码的流程、有什么用)
还是建议一行一个语句。
第五句
return 0;
这表示这个函数结束了。
要返回一个值”0“。
而接收这个返回值的人不知道这是个东西是啥?
也就是不知道它是什么数据类型,要用什么东西来装他。
那么怎么办呢?
记得前面的int main()吧。
int就表示这个函数返回值的数据类型。


小结
打出了作为程序猿的第一个程序。
知道了main()函数是所有程序的起点。
知道了函数的”传递参数“,”返回值“。
懂得了使用"printf"语句。
看到这句话不回复/评分任一个 木有小JJ


上一章地址
第一章 开发环境



子德
luojiarui 发表于 2017-3-18 12:38
说一下吧:

-iostream是Cpp的标准流库,还是有必要讲一下的吧

流输入输出效率低很多,不推荐使用。
以及我辛苦码的3个帖子,你一个帖子都不给点人气- -

子德
luojiarui 发表于 2017-3-18 17:52
然而cstdio也是流库

我指的是cout比起printf效率低。

子德
luojiarui 发表于 2017-3-18 18:00
在圈子混过一段时间。。

并没有听说过这种说法哦。。

是这样的。我们有些题,cout就TLE printf就AC

子德
luojiarui 发表于 2017-3-18 18:19
效率不能用能否通过Accepted来看吧

我一开始把AC理解成某个寄存器应该是没救了XD ...

?不知道你有没有理解错,我的意思是用printf做题目就通过,用cout就超时

Java_command
没有必要翻译HelloWorld这句话吧……
我觉得英文挺好的。
IDE我比较喜欢CLion
你也可以说一下括号可以这么写(废话连篇):
  1. int main(){
  2.     printf("HelloWorld!");
  3.     return 0;
  4. }
复制代码

然后我记得main方法必须要返回0(正常退出),不然编译不过去。有异常才会返回别的吧。


子德
Java_command 发表于 2017-3-18 22:41
没有必要翻译HelloWorld这句话吧……
我觉得英文挺好的。
IDE我比较喜欢CLion

这个好像是JAVA用法辣。
话说不给个人气吗。

Java_command
[email protected] 发表于 2017-3-18 22:49
这个好像是JAVA用法辣。
话说不给个人气吗。

java和c++大括号都可以用两种方法,我比较倾向于我写的方法。
main需要返回0是必须的,希望你写一下。
(不是0就代表非正常退出)
忘了给人气了,马上。

子德
Java_command 发表于 2017-3-19 01:33
java和c++大括号都可以用两种方法,我比较倾向于我写的方法。
main需要返回0是必须的,希望你写一下。
( ...

文中说了啊。文中说了不是返回0就是程序炸了。

彪悍的新手
支持啊
我也是混OI的233
话说namespace不是应该说成命名空间吗

子德
彪悍的新手 发表于 2017-3-19 07:53
支持啊
我也是混OI的233
话说namespace不是应该说成命名空间吗

对啊。方便新手理解而已。

第一页 上一页 下一页 最后一页