![中学生C++创意编程](https://wfqqreader-1252317822.image.myqcloud.com/cover/61/45938061/b_45938061.jpg)
第2课 求生者密码——编程体验
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/erweima02.jpg?sign=1739307984-gHDjMBY1kqPpgZbFzXgMEQkmMlmqIAoV-0-40ef7034643d79f2fb4aa280d6710bd6)
扫一扫,看视频
读故事
“密室逃脱”游戏中,求生者的主要任务就是尽快破译密码机,这样才不会被监管者发现,因此如何在短时间内破译更多的密码机是逃生的关键。玩家杰克发现了一个通用密码——*#06#,每次只需要在计算机屏幕上输出“*#06#”,就能快速破译一个密码机。
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/12.jpg?sign=1739307984-XWYZk5dx10nP65W8AVDBQDixnDTbk7lh-0-21cae277152c8163e99a2b674b03f7aa)
编程任务:编写程序,在计算机屏幕上输出密码“*#06#”。
理思路
1.理解题意
利用Dev-C++软件编写程序,程序功能是输出一串字符“*#06#”。
2.问题思考
?问题1
如何编写输出程序代码?
?问题2
如何编译运行程序?
3.算法分析
若使用C++语言,实现在计算机屏幕上输出一串字符,需要用到cout语句输出指令,而指令需要在包含头文件和主函数的框架中执行。后面讲到的每个程序都需要在此框架中执行,初学者可先记住此框架,后面慢慢理解其含义。
程序流程图如下图所示。
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/14.jpg?sign=1739307984-hWsgOqjnKJMxJKONU2BqaZdoef9K0keN-0-7eb20e65b96dee3e2160f77ac2c46eba)
查秘籍
1.新建源文件
启动Dev-C++软件,选择“文件”→“新建”→“源代码”命令(或按<Ctrl>+<N>组合键),新建一个源代码文件,默认名称为“未命名1”。要养成良好的编程习惯,即为每次新建的程序文件重新命名。
2.C++程序的基本框架
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/tx005.jpg?sign=1739307984-VxM5PoRFR2CgH8WT2TXGeJW7pRwhJwPz-0-56b2917af8d3be3e5c588313f4873cc0)
3.cout语句
cout是输出语句,它的语法格式如下。
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/16.jpg?sign=1739307984-vw9QlRqLyU6TUtV6YrwttRmX2sRjiWaH-0-3f9a0128fc2af20972e0f4bedd488087)
格式:cout<< ;
示例:cout<<"Hello world"; //输出Hello world
cout<<6+2; //输出8
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/17.jpg?sign=1739307984-AagChW2SDNrRhnLrITHIublCzZcDDBBk-0-1c36d7d7a051fdc7248b9311e5f77577)
功能:输出一个字符常量或一个表达式的值。输出的内容如果用英文的双引号标识,则内容为字符常量,cout语句将按原样输出;如果没有用英文的双引号标识,则内容为表达式,cout语句将输出表达式的值。
4.编译运行
程序代码编写好之后,需要将程序指令翻译成机器语言,让计算机执行,这就是编译。编译的过程需要在Dev-C++中完成。
通常是先编译程序再运行程序。在“运行”菜单中选择“编译”命令,如果提示编译成功,就可以运行程序;也可以在“运行”菜单中选择“编译运行”命令,或者按<F11>键,编译并运行程序。
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/tx006.jpg?sign=1739307984-WmaxKAR8rehfJRRwz7EsMxWWLwOdDsCt-0-7ac1eeb2dbf2b90d66a1a9616aaba612)
如果代码中有编写错误,编译时会有红色文字提示,只有先修改代码才能再次尝试编译。
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/18.jpg?sign=1739307984-BXvpt7R0KpqV8fVMLFRmem16ChI3CmBD-0-3077990e9723c0bd2487bef849c24b84)
求解决
1.编程实现
在代码编辑区编写程序代码,并以“1-2-1.cpp 第2课 求生者密码——编程体验”为文件名保存。
文件名 1-2-1.cpp 第2课 求生者密码——编程体验
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/20.jpg?sign=1739307984-GPkJWT0b2KPwQBSRPVX7nVlzyh7CQfQP-0-0ef7f07e5d2fe0741662baa2243eef59)
2.测试程序
程序运行结果如下图所示。
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/tx007.jpg?sign=1739307984-xXKexoJ4am7BH4O01NeTURBkur4aJjbZ-0-2f717219d1718e784dc822a1558acf68)
3.程序解读
在本程序中,我们可以理解为除了第5行的输出语句,其他行的代码构成了C++程序的基本框架,此框架在后面讲到的每个程序中都有应用,读者需牢记。第5行的位置是写程序的地方。本程序是输出一句话,所以就用输出语句cout来实现。
4.易犯错误
在编写程序代码时,除了头文件#include<iostream>和主函数外,每一行语句指令要结束时,其后面都要加上一个英文分号。这个英文分号常常被编程初学者遗漏。此外,要注意代码字母的大小写,指令中出现的符号都是英文符号;不要滥用空格,应合理缩进代码,以保证程序的美观性和可读性。
阅览室
1.连续输出
如果程序中有多个要输出的内容,如要输出表达式“54*78”以及它的值,我们就可以这样写程序:
cout<<"54*78="<<54*78;
输出结果:
54*78=4212
2.换行输出
如果程序中需要多行输出,就要在需要换行的地方加上换行指令endl。例如,要分两行输出“我是中国人,我爱我的祖国!”,我们就可以这样写程序:
cout<<"我是中国人,"<<endl;
cout<<"我爱我的祖国!";
也可以这样写:
cout<<"我是中国人,"<<endl<<"我爱我的祖国!";
程序运行结果如下图所示。
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/tx008.jpg?sign=1739307984-gMoZ5ObFPmDsFcvasvAb7PBWBLQr2e9c-0-bae17e68caee4ac047c1e6de9e9d4c75)
练武功
1.修改程序
下图所示的程序代码,其功能是计算并输出12的平方值,其中有两处错误,请你改正。
练习1
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/tx009.jpg?sign=1739307984-rVtnL72KNCuYsJNPrqfuJoZoHOq2TC6S-0-d0e658c1d77239061d9aa9286f459673)
修改程序:①_____________________________________________
②_____________________________________________
2.编写程序
试编写一个程序,输出下图所示的金字塔图形。
![](https://epubservercos.yuewen.com/8AF596/25073779801900006/epubprivate/OEBPS/Images/tx010.jpg?sign=1739307984-8wiwMeynQKBfiFoeiLkts5GBqFgiDiRl-0-10f67cc2ebce76f421fb1c7dcfe5199a)