该笔记包括简单的输入输出(含std::endl
和\n
的区别)、控制语句(含区分前(后)缀递增(减)运算符)。
目录
输入输出
使用iostream
库
一个示例程序:
#include <iostream> int main() { std::cout << "Enter two numbers:" << std::endl; int v1 = 0, v2 = 0; std::cin >> v1 >> v2; std::cout << "The sum of" << v1 << "and" << v2 << "is" << v1 + v2 << std::endl; return 0; }
std::endl
和\n
的区别
对于一个输出程序可有:
#include <iostream> int main() { std::cout << "Hello World!\n"; }
也可有:
#include <iostream> int main() { std::cout << "Hello World!<<std::endl"; }
区别在于std::endl
的效果是结束当前行,并刷新缓冲区。这可以保证到目前为止程序所产生的所有输出都真正写入输出流中,而不仅仅停留在内存中,等待写入流。
另一方面,在没有必要刷新输出流的时候应当尽量使用cout<<'\n'
,否则可能会影响程序执行效率。
Warning from Primer: 程序员常常在调试时添加打印语句。这类语句应当保证“一直”刷新流。否则,如果程序崩溃,输出可能还留在缓冲区,从而导致程序崩溃位置的错误推断。
控制流
一段典型的while
语句:
#include <iostream> int main() { int sum = 0, val = 1; while (val <= 10) { sum += val; ++val; } std::cout<<"Sum of 1 to 10 inclusive is " << sum <<std::endl; return 0; }
复合运算符+=
:sum += val
等价于sum=sum+val
。
前缀递增运算符++
:++val
等价于val=val+1
。
前(后)缀递增(减)运算符
前缀:先计算后赋值;
后缀:先复制后计算;
在单独使用时,无影响:
#include <iostream> int main() { int i = 0, j = 0; while (i <= 5) { i++; ++j; std::cout << "i = " << i << std::endl; std::cout << "j = " << j << std::endl; } }
输出均为1,2,3,4,5,6
前缀递增运算符:
#include <iostream> int main() { int i = 0; while (i <= 5) { std::cout << ++i << std::endl; } }
输出1,2,3,4,5,6
后缀递增运算符:
#include <iostream> int main() { int i = 0; while (i <= 5) { std::cout << i++ << std::endl; } }
输出0,1,2,3,4,5
前缀递减运算符:
#include <iostream> int main() { int i = 5; while (i >= 0) { std::cout << --i << std::endl; } }
输出4,3,2,1,0,-1
后缀递减运算符:
#include <iostream> int main() { int i = 5; while (i >= 0) { std::cout << i-- << std::endl; } }
输出5,4,3,2,1,0
一段典型的for
语句
#include <iostream> int main() { int sum = 0; for (int val = 1; val <= 10; ++val) sum += val; std::cout<<"Sum of 1 to 10 inclusive is " << sum <<std::endl; return 0; }
读取数量不定的输入数据
#include <iostream> int main() { int sum = 0, value = 0; // 读取数据直到文件尾 while (std::cin >> value) sum += value; std::cout << "Sum is:" << sum << std::endl; return 0; }
Note from Primer:从键盘输入文件结束符。
Windows:先Ctrl+Z然后Enter键;
UNIX或Mac OS X:Ctrl+D。
if
语句
if (condition) { statements }