C++ Primer 学习笔记_1_快速入门



C++快速入门

--这个月的第一篇博客,献给我最爱的C++程序设计语言!

一、编写简单的C++程序

[cpp] view plaincopyprint?

  1. //main函数是唯一一个被操作系统显式调用的函数。
  2. int main()
  3. {
  4. /*
  5. *该返回值作为状态指示器,需要返回给操作系统!
  6. *以echo $?命令可以查看该返回值
  7. *通常非零返回值表示有错误出现,由操作系统定义
  8. */
  9. return 0;
  10. }
//main函数是唯一一个被操作系统显式调用的函数。
int main()
{
    /*
    *该返回值作为状态指示器,需要返回给操作系统!
    *以echo $?命令可以查看该返回值
    *通常非零返回值表示有错误出现,由操作系统定义
    */
    return 0;
}

二、初窥输入/输出

1、标准输入:cin

2、标准输出:cout

3、cerr、clog

【当写到cout、cerr与clog时,输出写至同一窗口!但是利用重定向可以将这些流与所选择的文件联系起来】

[cpp] view plaincopyprint?

  1. #include <iostream>
  2. //iostream库定义了接受各种内置类型的输入/输出操作符版本
  3. int main()
  4. {
  5. /*
  6. *当操作符是输入(>>)、输出(<<)操作符时,
  7. *其结果是左操作数,
  8. *也就是说:输入/输出操作返回的值是输入/输出流本身
  9. */
  10. //将"..."的内容写入到cout对象中
  11. std::cout << "Enter two numbers:" << std::endl;
  12. int v1,v2;
  13. //从istream操作数读入数据并保存在右操作数中
  14. std::cin >> v1 >> v2;
  15. //endl具有:1、输出换行 2、刷新与设备相关联的缓冲区 的作用
  16. std::cout << "The sum of " << v1 << " and " << v2
  17. << " is " << v1 + v2 << std::endl;
  18. return 0;
  19. }
#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?

  1. #include <iostream>
  2. /*
  3. *comment pairs/* */ cannot nes.
  4. *"cannot nest" is considered source code.
  5. *as is the rest of the program
  6. */
  7. int main()
  8. {
  9. return 0;
  10. }
  11. 1、std::cout << "/*";          //输出”/*”
  12. 2、std::cout << "*/";          //输出”*/”
  13. 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. //题1.10
  2. #include <iostream>
  3. int main()
  4. {
  5. int sum = 0;
  6. int val = 50;
  7. while (val <= 100)
  8. {
  9. sum += val;
  10. ++ val;
  11. }
  12. std::cout << sum << std::endl;
  13. return 0;
  14. }
//题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. //题1.11
  2. #include <iostream>
  3. int main()
  4. {
  5. for (int i = 10;i >= 0; --i)
  6. {
  7. std::cout << i << std::endl;
  8. }
  9. return 0;
  10. }
//题1.11
#include <iostream>

int main()
{
	for (int i = 10;i >= 0; --i)
	{
		std::cout << i << std::endl;
	}
	return 0;
}

[cpp] view plaincopyprint?

  1. //题1.12编译并认识下列错误
  2. #include <iostream>
  3. int main(
  4. {
  5. std::cout << "read" << std::endl:
  6. std::cout << update << std::endl;
  7. std::cout << "write" << std::endl;
  8. return 0
  9. }
时间: 2024-10-29 19:09:43

C++ Primer 学习笔记_1_快速入门的相关文章

C++ Primer 学习笔记_2_快速入门(续)

 P15习题 [cpp] view plaincopyprint? //题1.14: 试分析如果v1 == v2的情况下,该程序的输出结果 #include <iostream> int main() { std::cout << "Enter two numbers:" << std::endl; int v1,v2; std::cin >> v1 >> v2; int lower,upper; if (v1 <=

C++ Primer(第五版)学习笔记_1_标准模板库--快速入门

C++ Primer(第五版)学习笔记_1_标准模板库--快速入门 欢迎大家阅读参考,如有错误或疑问请留言纠正,谢谢 标准模板库(STL)提供三种类型的组件:容器.迭代器和算法,他们都支持泛型程序设计标准. 容器主要有两类:顺序容器和关联容器.顺序容器(vector.list.deque和string等)是一系列元素的有序集合.关联容器(set.multiset.map和multimap)包含查找元素的键值. 迭代器的作用是遍历容器. STL算法库包含四类算法:排序算法.不可变序算法.变序性算法

C++ Primer 学习笔记(1)

出于对自己未来的规划和兴趣,一直想学一门编程语言,最终选择了C++这难啃的骨头. 本人13届毕业生,大学所学与计算机可以说毫无关系,所以基础基本为零:工作也和编程无关,不靠它换饭吃:学C++更多出于"未来可能有大用"的想法.自己些许的兴趣和一点点"懂编程应该很厉害的样子"的虚荣心. 刚申请博客时就计划学习<C++ Primer 中文版>第四版,由于公司培训计划最终耽搁下来.现在正式开始,希望没有太迟. (PS:本人为菜鸟,写博纯粹为了自己更好学习编程:以

C++ Primer 学习笔记_13_标准模板库_list双向链表容器

C++ Primer 学习笔记_13_标准模板库_list双向链表容器 list容器实现了双向链表的数据结构,数据元素是通过链表指针串连成逻辑意义上的线性表,这样,对链表的任一位置的元素进行插入.删除和查找都是超快速的.下图是双向循环链表的结构示意图. list的每个节点有三个域:前驱元素指针域.数据域和后继元素指针域.前驱元素指针域保存了前驱元素的首地址:数据域则是本节点的数据:后继元素指针域则保存了后继元素的首地址.list的头结点的前驱元素指针域保存的是链表中尾元素的首地址,而list的尾

计算机操作系统学习笔记_1_操作系统概述

操作系统概述 一.操作系统的概念.特征.功能和提供的服务 1.操作系统的概念     操作系统是计算机系统中最重要.最基本的系统软件,操作系统位于硬件和用户程序之间.    对于用户来讲:它能向用户提供使用计算机的接口;    从资源管理角度来看:它能管理计算机软硬件资源,提高其利用率;    再者,利用虚拟机技术(如WMWare,VirtualBox,Java虚拟机等),扩展了计算机的功能和使用范围.     因此,操作系统的定义为:操作系统是控制和管理计算机软.硬件资源,以尽可能合理.高效的

C++ Primer 学习笔记_98_特殊工具与技术 --优化内存分配

特殊工具与技术 --优化内存分配 引言: C++的内存分配是一种类型化操作:new为特定类型分配内存,并在新分配的内存中构造该类型的一个对象.new表达式自动运行合适的构造函数来初始化每个动态分配的类类型对象. new基于每个对象分配内存的事实可能会对某些类强加不可接受的运行时开销,这样的类可能需要使用用户级的类类型对象分配能够更快一些.这样的类使用的通用策略是,预先分配用于创建新对象的内存,需要时在预先分配的内存中构造每个新对象. 另外一些类希望按最小尺寸为自己的数据成员分配需要的内存.例如,

C++ Primer 学习笔记_73_面向对象编程 --再谈文本查询示例

面向对象编程 --再谈文本查询示例 引言: 扩展第10.6节的文本查询应用程序,使我们的系统可以支持更复杂的查询. 为了说明问题,将用下面的简单小说来运行查询: Alice Emma has long flowing red hair. Her Daddy says when the wind blows through her hair, it looks almost alive, like a fiery bird in flight. A beautiful fiery bird, he

C++ Primer 学习笔记_74_面向对象编程 --再谈文本查询示例[续/习题]

面向对象编程 --再谈文本查询示例[续/习题] //P522 习题15.41 //1 in TextQuery.h #ifndef TEXTQUERY_H_INCLUDED #define TEXTQUERY_H_INCLUDED #include <iostream> #include <fstream> #include <sstream> #include <vector> #include <set> #include <map&g

C++ Primer 学习笔记_19_类与数据抽象(5)_初始化列表(const和引用成员)、拷贝构造函数

C++ Primer 学习笔记_19_类与数据抽象(5)_初始化列表(const和引用成员).拷贝构造函数  从概念上将,可以认为构造函数分为两个阶段执行: 1)初始化阶段: 2)普通的计算阶段.计算阶段由构造函数函数体中的所有语句组成. 一.构造函数初始化列表 推荐在构造函数初始化列表中进行初始化 1.对象成员及其初始化 <span style="font-size:14px;">#include <iostream> using namespace std;