https://www.toutiao.com/article/7187037308003205687/?log_from=1c67ecdaf3cbf_1680011940651
什么是程序输出
(注namespace只可以在全局区即main函数上方)
在学习编程过程中,首先第一步就是输出一个字符串"Hello world.",在各种编程语言的书籍中,大多数都是这样开始,而我自己给学生设置的题库第一题也是"伟大的开始——Hello,World!"
初学者面临多种语言可能会花费大量时间分析语言的优劣以及学习难度,实际上如果没有迫切的时间要求,从C++开始学习是比较好的,如果年龄较小可以从Python开始,因为语言在初学阶段都是基础语法不断熟练的过程,仅仅是语法形式不同,但是编程思路都是一样的,解决同一个问题,是可以使用不同语言的。学习基础语法的同时,配合一定量的题目,学以致用,如果不是专门做算法,只需要刷一些基础的模拟算法题目即可。
比如,上述程序是C++的基础框架,输出字符串Hello world.,而Python只需要print("Hello world.")。语法形式上更加简洁,然而这些都是基础的语法格式,并不是逻辑上的难度提升。
那么,输出除了可以在控制台输出一些内容,并没有图形化界面或者一个形成一个软件,是不是有些枯燥呢?
输出是编程中极为重要的环节,随着程序的不断复杂,编程过程中一定会遇到各种问题,很多错误编译器会给出提示,然而,很多时候程序并没有抱错,结果确和预期不同,这就需要通过输出功能分段测试,逐步缩小范围,定位到错误位置。
程序是调试出来的,不是一次性从头到尾完成一个大型复杂程序后,再运行测试,而是在实现过程中,不断输出中间过程与自己的预期进行匹配,最终得到正确结果。
编程的过程就是解决某一具体问题,我们可以把程序想象成一个黑箱,当程序功能编写好之后,使用者并不需要了解程序的具体内容,只需要知道按照固定格式输入数据,运行程序后就可以得到正确的结果。
输入数据的过程就是人和计算机交互的过程,比如我们在一行输入两个整数,空格分隔,运行程序后就会输出这两个整数的和。
C++读取数据使用的是输入流cin,也需要#include <iostream>库,同时using namespace std;
int a, b; cin >> a >> b; // cin读取数据使用空格或换行分隔
赋值符和条件运算的优先级都低于提取符: cout << a=b ; //错误 cout << a>b ? a : b ; //错误 可以添加括号改变优先级: cout << ( a = b ) ; //正确 cout << ( a>b ? a : b ) ; //正确
键盘输入的作用是读取用户键入的字符串,按相应变量的类型转换成二进制代码写入内存。
在C++中,32位系统 int类型占4个字节,char占1个字节。
当程序越来越复杂时,同一作用域下变量命名可能会发生冲突,这时就可以引入namespace。
注:namespace只可以在全局区,即main函数上方。
#include <iostream> #include <cstdio> using namespace std; namespace cat1{ int a = 1, b = 2; } namespace cat2{ int a = 3, b = 4; } namespace cat3{ int a = 5, b = 6; } int main() { cout << cat1::a << " " << cat1::b << endl; using namespace cat2; cout << a << " " << b << endl; using cat3::a; cout << a << endl; return 0; }
联系客服