C++从零基础到CSP-J获奖(暂未完更)No.2

一、输出语句

知识点(1)

准备:在你的电脑上安装一个C++编译器(如DEV-C++等)。

输入或复制以下代码,输入时注意:程序里面所有的符号都是英文格式。

#include <iostream>
using namespace std;
int main()
{
	cout << "Hello World!" << endl;
	return 0;
}

将文件保存,会发现文件格式为.cpp,这个格式就是C++文件的格式。

再点击编译器上方的“编译运行”。如果你输入正确的话,可以看到程序输出:Hello World!

把窗口关掉之后,打开文件保存目录,发现:新生成了一个和C++文件名称相同的.exe程序,之后每次运行这个C++程序,就只需要打开这个.exe就行。

那么这个程序是什么意思呢?

  • #include <iostream> 是头文件引入语句,可以引入外部库。举个例子,假如你在做饭,除了食材之外还需要煤气灶、锅和锅铲等等工具。这次使用的iostream头文件是一个可以用来输入输出的“工具”,将来会了解更多的头文件,甚至可以自己写头文件,就是自己制作“工具”。

  • using namespe std; 是命名空间声明语句。现在暂时不用理解它是怎么用的、干啥用的,但是现在使用到的C++的一些语句(例如cin、cout),则应加上这句话。注意,最后的分号不要遗漏。

  • int main() 是主函数。可以看到主函数后面有一对大括号 {},将主函数中的语句括起来。运行程序的时候,会从主函数后面的大括号开始运行,依次执行大括号中的语句直到结束。还是“做饭”,“炒菜”这个动作就是主函数。炒菜还包含其他的步骤,例如“洗菜”、“切菜”、“翻炒”、“调味”、“装盘”等就是这个主函数里面的语句。

  • cout << "Hello World!" << endl; 是输出语句,该语句可以让计算机输出一句话。我们挨个来解释:

    • cout 是输出语句的名称,它可以告诉计算机:接下来要输出了!

    • << 是输出流,后面跟上你要输出的内容,是两个英文的小于号,而不是中文的书名号;

    • "Hello World!" 是一个字符串,字符串的内容是:Hello World!,字符串外面用 "" 包裹;

    • endl 表示换行,也可以替换成 "\n" 或者 '\n',它们都可以换行。

    既然这一句话就可以达成目的,那为什么还要前前后后那么多“废话文学”呢?的确有的语言(例如Python)只用一句话就可以完成任务;但是对于C++来说,这是语言特性所造成的。在之后的学习过程中会理解C++拥有这种特性的原因。

  • return 0; 是返回语句,它的意思是主函数需要返回一个“0”,才能证明程序正常运行结束。在主程序中即使不写这一句话,编译器也会在编译时自动加上这句话,但是在将来的竞赛中,不写这句话或者 return 一个其他的非0值,这会造成系统认为这个程序异常退出,这会导致被认为是运行错误,也就是“Runtime Error”。

练一练(1)

你已经学会了最基本的C++代码框架和输出语句了,下面打开一个大名鼎鼎的网站——洛谷https://www.luogu.com.cn/),这个网站是学习编程的人的必备网站之一,你会渐渐熟悉这个网站。

注册一个账号,点击左边栏的“题库”,再点击下方“超级玛丽游戏”,跳转到本题页面。

读完题目之后(除了广告),你知道如何写代码了吗?

对了!多次使用我们刚学到的C++输出语句来输出!只要每次都换行,就没有问题!

经过思考,你会发现:这个题目输出时非常繁琐,而且容易出错。但是在C++中,没有什么巧办法可以快速解决这个题目。建议直接复制题目描述中的字符,粘贴到你的语句中。

先在你的编译器上面写完代码,再复制粘贴到洛谷提交。或者直接点击题目上方的“提交答案”,在洛谷的提交页面编写代码。但是个人不建议后者,因为洛谷的提交页面经常没有自动缩进、大括号补全等功能(原本是有的,但是“很玄学”的经常没有)。

点击下方“提交评测”交给评测机评测,自动跳转到另一个页面,等待评测结果显示。

  • 如果评测点全部显示“AC”(Accepted,通过),那么恭喜你通过了在洛谷上的第一道题!

  • 如果评测点有的显示不是“AC”,不要灰心,认真检查你的代码,如果实在检查不出来,可以对照下方标准程序来看。注意:不要直接复制标准程序!

P1000 超级玛丽游戏 标准程序:

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

如果读者们发现错误,请及时以评论或者其他方式告诉作者,我会在下方致谢区域挂上每一个人的用户名,感激不尽!

致谢

  • 感谢那些帮助作者排查错误的朋友:
  • 53
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值