C++快速入门
--这个月的第一篇博客,献给我最爱的C++程序设计语言!
一、编写简单的C++程序
[cpp] view plaincopyprint?
- //main函数是唯一一个被操作系统显式调用的函数。
- int main()
- {
- /*
- *该返回值作为状态指示器,需要返回给操作系统!
- *以echo $?命令可以查看该返回值
- *通常非零返回值表示有错误出现,由操作系统定义
- */
- return 0;
- }
//main函数是唯一一个被操作系统显式调用的函数。 int main() { /* *该返回值作为状态指示器,需要返回给操作系统! *以echo $?命令可以查看该返回值 *通常非零返回值表示有错误出现,由操作系统定义 */ return 0; }
二、初窥输入/输出
1、标准输入:cin
2、标准输出:cout
3、cerr、clog
【当写到cout、cerr与clog时,输出写至同一窗口!但是利用重定向可以将这些流与所选择的文件联系起来】
[cpp] view plaincopyprint?
- #include <iostream>
- //iostream库定义了接受各种内置类型的输入/输出操作符版本
- int main()
- {
- /*
- *当操作符是输入(>>)、输出(<<)操作符时,
- *其结果是左操作数,
- *也就是说:输入/输出操作返回的值是输入/输出流本身
- */
- //将"..."的内容写入到cout对象中
- std::cout << "Enter two numbers:" << std::endl;
- int v1,v2;
- //从istream操作数读入数据并保存在右操作数中
- std::cin >> v1 >> v2;
- //endl具有:1、输出换行 2、刷新与设备相关联的缓冲区 的作用
- std::cout << "The sum of " << v1 << " and " << v2
- << " is " << v1 + v2 << std::endl;
- return 0;
- }
#include <iostream> //iostream库定义了接受各种内置类型的输入/输出操作符版本 int main() { /* *当操作符是输入(>>)、输出(<<)操作符时, *其结果是左操作数, *也就是说:输入/输出操作返回的值是输入/输出流本身 */ //将"..."的内容写入到cout对象中 std::cout << "Enter two numbers:" << std::endl; int v1,v2; //从istream操作数读入数据并保存在右操作数中 std::cin >> v1 >> v2; //endl具有:1、输出换行 2、刷新与设备相关联的缓冲区 的作用 std::cout << "The sum of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl; return 0; }
三、关于注释
1、注释用于:
概括算法、确认变量的用途、阐明难以理解的代码段
2、规则
1)多行注释:使用注释对/**/,同时,在注释的每一行以星号开始,指明整个范围是多行注释的一部分。
2)单行注释:使用//
3)通常最好是将一个注释块放在所解释代码的上方!
4)注释对不可嵌套
是否正确:
[cpp] view plaincopyprint?
- #include <iostream>
- /*
- *comment pairs/* */ cannot nes.
- *"cannot nest" is considered source code.
- *as is the rest of the program
- */
- int main()
- {
- return 0;
- }
- 1、std::cout << "/*"; //输出”/*”
- 2、std::cout << "*/"; //输出”*/”
- 3、std::cout << /* "*/" */; //编译出错
#include <iostream> /* *comment pairs/* */ cannot nes. *"cannot nest" is considered source code. *as is the rest of the program */ int main() { return 0; } 1、std::cout << "/*"; //输出”/*” 2、std::cout << "*/"; //输出”*/” 3、std::cout << /* "*/" */; //编译出错
四、控制结构
1、关于C++程序的缩排和格式:
一旦你选定了某种风格,就要始终如一地使用他!
2、再谈编译
编译器可以检查出的错误:
1)语法错误
2)类型错误
3)声明错误
编译器无法检测出的错误:
逻辑错误,该类错误一般需要单步跟踪等进行调试,工具如GDB等。
3、读入未知数目的输入
如果定义了变量intval;并执行语句while(std::cin
>> val){...},会为判断条件,先执行输入操作,如果遇到文件结束符(end-of-file)或遇到无效的输入时,如读取了一个不是整数的值,则istream对象是无效的。处于无效状态的istream对象将导致条件失败。
4、从键盘输入文件结束符
Windows:Ctrl+z UNIX/Linux/MacOS:Ctrl+D【在Ubuntu下有时候需要连摁两下】
P14.习题
[cpp] view plaincopyprint?
- //题1.10
- #include <iostream>
- int main()
- {
- int sum = 0;
- int val = 50;
- while (val <= 100)
- {
- sum += val;
- ++ val;
- }
- std::cout << sum << std::endl;
- return 0;
- }
//题1.10 #include <iostream> int main() { int sum = 0; int val = 50; while (val <= 100) { sum += val; ++ val; } std::cout << sum << std::endl; return 0; }
[cpp] view plaincopyprint?
- //题1.11
- #include <iostream>
- int main()
- {
- for (int i = 10;i >= 0; --i)
- {
- std::cout << i << std::endl;
- }
- return 0;
- }
//题1.11 #include <iostream> int main() { for (int i = 10;i >= 0; --i) { std::cout << i << std::endl; } return 0; }
[cpp] view plaincopyprint?
- //题1.12编译并认识下列错误
- #include <iostream>
- int main(
- {
- std::cout << "read" << std::endl:
- std::cout << update << std::endl;
- std::cout << "write" << std::endl;
- return 0
- }