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 ;
}

    自我分析:

错误原因之一 :显然对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 ;
}

chapter1-开始(1)-LMLPHP

05-11 18:24