C++学习小记
之前“看”过C++,但是纯粹只是为了应付考试。现在想重新学习,久仰《C++ primer》大名,书之厚令我生畏,好记性不如烂笔头,遂以博客形式笔记之。
本人编程菜鸟一枚,当中如有任何错误,欢迎指正!谢谢!
声明:本文属原创,转载请留言我,谢谢!
一 "<<"与">>"
如果输入输出语句较长,那么可以直接分行,该语句直到 “;” 结束
放书中例子:
std::cout << "the sum of " << v1 << "and" << v2 << "is" << v1+v2 <<std::endl;
但是,被拆分的每一行语句后不能加“;”,因为这样一句话变成了几句独立的话。
二 两个注释符号 “//”,“/*...*/”
“//” :单行注释符,以换行符结束。
“/*...*/” : 以“/*”开始,”*/“结束,中间可以换行。但注意防止嵌套,否则很容易造成语句错误(遇到前面一个”*/“,注释提前终止)
三 练习while语句时自己犯的一个错误
题目:编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数
直接上错误代码:
#include<iostream> using namespace std; int main() { int c1,c2,val; cout << "please input two numbers" << endl; cin >> c1 >> c2; while((val <= c1 && val >=c2) || (val <= c2 && val >=c1)) { cout << val << " "; } return 0; }
自我分析:
错误原因之一 :显然对while()语句没有理解。当判断条件为真是,执行循环体,否则跳出循环。初始化中系统自给 "val" 赋初值为零。所以程序可能一直跳不出循环。比如 "c1 = 1,c2 = 3"
错误原因之二 :“val” 的值在循环过程中并没有改变。程序不会自动地遍历“c1”和“c2”之间的值。
经过分析,附上可执行的正确代码:
#include<iostream> using namespace std; int main() { int c1,c2,val; cout << "Please enter input two numbers" << endl; cin >> c1 >> c2; if (c1 <= c2){ val = c1; while(val <= c2){ cout << val << " ";//添加空格以区分数字 ++val; } } else{ val = c2; while(val <= c1){ cout << val << " "; ++val; } } return 0; }

浙公网安备 33010602011771号