1.1 编写简单的C++程序

每个C++程序都必须包含一个main函数,因为main函数是系统执行入口,且main函数是唯一被系统显示调用的函数。

定义函数必须指定4个元素:返回类型、函数名、形参表、函数体

main函数的形参个数是有限的。

返回值类型必须和函数的返回类型相同,或者可以转换为函数的返回类型。

1.2 偷窥输入输出

iostream的基础是istream(输入流)和ostream(输出流)的类型。

流:指从某种IO设备上读入或写出的字符序列。

1.2.1  标准输入与输出对象

标准库定义了4个IO对象

cin:标准输入,处理输入;

cout:标准输出,处理输出;

cerr:标准错误,输出警告和错误信息给程序使用者;

clog:用于产生程序执行的一般信息;

1.2.2 一个使用IO库的程序

应用实例:

#include<iostream>
using namespace std;
int main()
{
std::cout<< "请输入?"<<std::endl;
int v1,v2;
std::cin>>v1>>v2>>std::endl;
std::cout<<"用户输入了:"<<v1<<"and"<<v2<<std::endl;
}

这里std::表示是在std这个命名空间下

std::endl是个特殊值,称为操纵符(manipulator):具有输出换行效果,并刷新与设备相关的缓冲区(buffer)。通过刷新缓冲区,输入输出会立刻生效,输出的内容会立刻被呈现在屏幕或文件上。

由于这些功能属于标准库而不是内置类型,故使用前必须导入对应的库#include<iostream>

使用标准库中的名字

Std::cout和std::endl的前缀std::表明cout和endl是定义在命名空间(namespace)std中的。

优点:使用命名空间,程序员可避免由于无意中是用来与库中所定义名字相同的名字而引致冲突。

1.3 注释

类或者代码块的说明以/*开头,以*/结束,可跨行;单行注释用//。

通常最好将一个注释块放在所解释代码的上方。

注释不可以嵌套。

1.4 控制结构

1.4.1 while语句

1.4.2 for语句

1.4.3 if语句

1.4.4 读入未知数目的输入

可以通过while和std::cint的结合读取多个内容,代码如下:

#include <stdlib.h>
#include<iostream>
using namespace std;
int main()
{
int sum = 0, value;
while (std::cin>>value)//输入非整形字符时退出循环
{
sum += value;
}
std::cout<<"Sum is:"<<sum<<std::endl;
system("pause");//用来使显示屏停顿,需用库<stdlib.h>
return 0;
}

  while (std::cin>>value)为判断条件,先执行输入操作std::cin>> value它从标准输入读取下一个数并且将读入的值保存在value中。输入操作符返回其左操作数。While条件测试输入操作符的返回结果,即测试std::cin

  当用istream对象作为条件,结果是测试流的状态。若流是有效,则测试成功。遇到文件结束符(EOF)或无效输入(如非整数的值)时,则istream对象无效,此时条件失败,跳出循环。

1.5 类的简介

C++中类型分为内置类型类类型属于类类型

1.6 C++程序

C++ Primer 读书笔记 第1章的更多相关文章

  1. C++ Primer 读书笔记 第2章 变量和基本类型

    C++ Primer 第二章 变量和基本类型 2.1 基本内置类型 C++定义了一组表示整数.浮点数.单个字符和布尔值的算术类型(arithmetic type),此外还定义了Void类型. 算术类型 ...

  2. 《Linux内核设计与实现》第八周读书笔记——第四章 进程调度

    <Linux内核设计与实现>第八周读书笔记——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配 ...

  3. 《Linux内核设计与分析》第六周读书笔记——第三章

    <Linux内核设计与实现>第六周读书笔记——第三章 20135301张忻估算学习时间:共2.5小时读书:2.0代码:0作业:0博客:0.5实际学习时间:共3.0小时读书:2.0代码:0作 ...

  4. 《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度

    20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...

  5. 《Linux内核分析》读书笔记(四章)

    <Linux内核分析>读书笔记(四章) 标签(空格分隔): 20135328陈都 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行 ...

  6. 《LINUX内核设计与实现》第三周读书笔记——第一二章

    <Linux内核设计与实现>读书笔记--第一二章 20135301张忻 估算学习时间:共2小时 读书:1.5 代码:0 作业:0 博客:0.5 实际学习时间:共2.5小时 读书:2.0 代 ...

  7. 《Linux内核设计与实现》第四周读书笔记——第五章

    <Linux内核设计与实现>第四周读书笔记--第五章 20135301张忻 估算学习时间:共1.5小时 读书:1.0 代码:0 作业:0 博客:0.5 实际学习时间:共2.0小时 读书:1 ...

  8. 《Linux内核设计与实现》第五周读书笔记——第十一章

    <Linux内核设计与实现>第五周读书笔记——第十一章 20135301张忻 估算学习时间:共2.5小时 读书:2.0 代码:0 作业:0 博客:0.5 实际学习时间:共3.0小时 读书: ...

  9. 《Linux内核设计与实现》读书笔记——第五章

    <Linux内核设计与实现>读书笔记--第五章 标签(空格分隔): 20135321余佳源 第五章 系统调用 操作系统中,内核提供了用户进程与内核进行交互的一组接口.这些接口让应用程序受限 ...

随机推荐

  1. Unix/Linux环境C编程入门教程(18) kali-linuxCCPP开发环境搭建

    1. Kali linux是BT5的晋级版本,用于信息安全.基于Debian7内核.新建虚拟机. 2. 选择默认虚拟机 3. 选择稍后安装操作系统 4.选择Linux Debian7 64位,因为Ka ...

  2. 编程内功修炼之数据结构—BTree(三)总结

    BTree必须通过各种编程约束,使得不脱离BTree的本身特性: 1)BTree关键字插入操作:插入过程中,如果节点关键字达到上限,添加分裂约束,从而控制每个节点的关键字数维持在 t-1~2*t-1内 ...

  3. poj1922

    Ride to School Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 18704   Accepted: 7552 D ...

  4. MySQL存储过程的基本函数

    (1).字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2 [,... ]) //连接字串 INSTR (string ,substring ) //返回subst ...

  5. Eclipse:使用findBugs预先检测错误

    FindBugs是用于Java的另一种静态分析工具,它在某些方面与Checkstyle和PMD类似,但是侧重点不同.FindBugs不关心格式或编码标准,对最佳实践也不太感兴趣:事实上,它专注于检查潜 ...

  6. CSS 根据数据显示样式

    在低版本IE时代,我们想让数据根据其值显示不同的样式可能需要直接从服务器端输出时为不同的数据添加相应的class.但现在,通过属性选择器+伪元素+属性选择符,这三个东西混合使用就可以让数据根据其值以不 ...

  7. SQL事务与并发

    1.Transaction(事务)是什么: 事务是作为单一工作单元而执行的一系列操作.包括增删查改. 2.事务的种类: 事务分为显示事务和隐式事务: 隐式事务:就是平常我们使用每一条sql 语句就是一 ...

  8. 网站图片列表动态显示、根据屏幕宽度动态设置DIV的CSS样式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. svn代码版本管理

    1.0开发,做dev1.0的branch此时的目录结构svn://proj/             +trunk/ (不负担开发任务)             +branches/          ...

  10. CRM Entity 之Money转string int类型等

    Money转string 左右都是string //服务站地址 vehicleDetail["yt_servicestation_address"]=serviceStationC ...