C++学习笔记1(标准的输入输出)
前言:
个人一直以来比较懒,最近才准备记录一下自己学习C++的学习过程,希望自己能在写博客的时候能够坚持下去,欢迎大家在博客中支出存在的问题,好了不多说了,自己能坚持下去。我准备在我的博客中通过与C语言的对比能够了解C++的不同与优势,接下来进去正题,让我们走进C++的大门。
标准的输出
首先,在C++中用于标准的输入输出的头文件是#include<iostream>,大家可能也会发现直接使用这个头文件,是不能使用标准的输出cout的,那是应为cout是一个对象,类型是ostream类型,而iostream大家就可以看成是由istream与ostream合并在一起的。并且cout、cin等对象都是定义在标准的命名空间std中的,至于什么叫命名空间了,我在后续的课程中会陆续的讲到的,大家现在可以理解成一种作用域就可以了。
好了,我们先来看一个最简单的helloworld程序:
#include <iostream> //标准的输入输出头文件
using namespace std; //包含标准的命名空间std :<stdardard> /*
main函数同C语言中的主函数一样,一个程序运行的入口,
一个程序有且仅能够有一个主函数
*/
int main(int argc, char **argv)
{
/*C++ 中用于标准的输出同C语言的printf函数功能一致*/
/*cout:标准的ostream类型对象,endl:和转义字符'\n'功能类似*/
cout << "hello world" << endl;
getchar();
return ;
}
输出结果:
hello world
最简单的一个C++程序就写完了,还是简单吧,和C语言作一个对比,实际上的差距不是很大,首先头文件的格式,在C++中是没有.h结尾的,再次要使用标准的输出使用的是cout对象,而C语言使用的是系统的库函数printf(),并且在C++中使用cout对象必须使用标准的命名空间std,这是需要注意的,还有在C++中重载运算符<<,可以用于对象的输出,至于不知道什么叫运算符重载,你大概可以当做这个运算符具备了多个功能吧。
接下来我们看一下如何在C++中输出变量,还记得我们在C语言中是如何输出的吗,我们使用到了printf库函数的格式化字符串做输出,通过格式占位符来输出不同的数据类型是吧,比如:
int %d
short %d
long %ld
float %f
double %lf
char %c
在C++中输出变量是很简单的,只需要使用cout进行输出就可以了,不需要知道什么类型(除基本类型,其他类型必须重载运算符<<),那我们来看看如何输出变量
#include <iostream> //标准的输入输出头文件
using namespace std; //包含标准的命名空间std :<stdardard> int main(int argc, char **argv)
{
int vi = ;
double vd = 3.14;
char vc = 'Z'; //分别输出三个变量的值
cout << "vi: " << vi << endl;
cout << "vd: " << vd << endl;
cout << "vc: " << vc << endl; return ;
}
输出结果:
vi:
vd: 3.14
vc: Z
是不是和 语言比较起来简单多了,不,你没有看错,就是这么简单。
标准的输入
其实了解了C++中标准的输出问题,再来看,标准的输入就简单多了,应为他和标准的输出格式时一样的,只是使用的时cin而不是cout用做输入。还是一个简单的例子看一下:
#include <iostream> using namespace std; int main(int argc, char *argv[])
{
int vi = ;
double vd = 3.14;
char vc = 'Z'; //分别输出三个变量的值
cout << "vi: " << vi << endl;
cout << "vd: " << vd << endl;
cout << "vc: " << vc << endl; //修改三个变量的值
//标准的读取,可以标准的读取一个变量的值,
//也可以连续读入多个变量注意后边不要加叫endl
cin>>vi;
cin>>vd>>vc; //分别输出三个变量的值
cout << "vi: " << vi << endl;
cout << "vd: " << vd << endl;
cout << "vc: " << vc << endl;
return ;
}
输出结果应该是:
vi:
vd: 3.14
vc: Z 3.14 a
vi:
vd: 3.14
vc: a
以上就大概讲述了C++中的标准的输入输出问题,当然关于C++的输入输出问题中,还有关于类似与C语言中的格式控制问题,我将再下一章专门就这一块的问题做讨论。
C++学习笔记1(标准的输入输出)的更多相关文章
- shell编程学习笔记之标准输入输出(read&echo)
2017-07-17 09:32:07 输入read: 用途: 从标准输入读取一行,或者从文件描述符FD(file descriptor)中读取一行,并且将其分割成字段. 用法: read [-ers ...
- C++ Primer学习笔记2--c++标准库中的 vector、string 和 bitset 类型
一.string #include <string> using std::string 初始化函数: string s1; 默认构造函数 s1 为空串 ...
- Linux System Programming 学习笔记(三) 标准缓冲I/O
1. partial block operations are inefficient. The operating system has to “fix up” your I/O by ensuri ...
- APUE 学习笔记(四) 标准I/O库
1.流与FILE对象 unix I/O系统调用都是针对文件描述符的 标准C的I/O函数都是针对流(文件指针)的,我们使用一个流与一个文件相关联 2.缓冲 标准I/O库提供缓冲的目的就是尽可能减少r ...
- C语言学习笔记---3.字符串格式化输入输出
1.C语言字符串 字符串(character string)是一个或多个字符的序列,例如:"Zing went the strings of my heart!" C语言没有专门用 ...
- Python核心编程--学习笔记--9--文件和输入输出
本章将深入介绍Python的文件处理和相关输入输出能力,包括:文件对象(以及它的内建函数.内建方法和属性),标准文件,文件系统的访问方法,文件执行,最后简要涉及持久存储和标准库中与文件有关的模块. 1 ...
- Python学习笔记六--文件和输入输出
6.1文件对象 所有Python对文件的操作都是基于对文件对象的操作.那么就从文件对象的创建说起.open()[file()]提供初始化输入输出的接口.open()成功打开文件时会返回一个文件对象. ...
- day2_python学习笔记_chapter4_标准类型和内建函数
1. 标准类型 Integer,Boolean, Long integer, Floating point real number, Complex number, String, List, Tup ...
- C++ Primer 学习笔记_6_标准库类型 -- 命名空间using与string类型
标准库类型(一) --命名空间using与string类型 引: 标准库类型是语言组成部分中更主要的哪些数据类型(如:数组.指针)的抽象! C++标准库定义的是高级的抽象数据类型: 1.高级:由 ...
- js学习笔记之标准库
在全局函数中,this等于window 在函数被作为某个对象的方法调用时,this等于那个对象. 数组的函数: 检测:Array.isArray() 转换:toString(),toLocalStr ...
随机推荐
- thinkphp join加别名
//此段代码在某个Model里面$tbpre = $this->tableprefix;$Aaa = M('aaa');$Aaa->table(array("{$tbpre}aa ...
- java中的递归
所谓递归,是指程序调用自身,当然,递归不会无休止地调用下去,它必然有一个出口,当满足条件时程序也就结束了,不然的话,那就是死循环了. 看下面这个类,有几个递归方法,看了之后肯定会对你学习递归很有帮助的 ...
- 基于SSH协议的端口转发
[前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透等.这篇文章将主要讲解3种常用的ssh tunnelling使用方法和基本原理. 在介绍具体内容前,我先奉上端口转发的常用情景: ...
- pom.xml配置文件配置jar(不用记,快速配置)
1:网址:http://mvnrepository.com/ 2:在搜索栏搜索要用的框架;例如spring *以下为示例
- .net平台的MongoDB使用
前言 最近花了点时间玩了下MongoDB.Driver,进行封装了工具库,平常也会经常用到MongoDB,因此写一篇文章梳理知识同时把自己的成果分享给大家. 本篇会设计到Lambda表达式的解析,有兴 ...
- ARC引用计数
NSlog(@"Retain count is %ld", CFGetRetainCount((__bridge CFTypeRef)self)); block保环流---> ...
- 一次安装rpcbind失败引发的思考
问题: yum install rpcbind -y 出现如下错误: Error -.el6.x86_64 error: %pre(rpcbind--.el6.x86_64) scriptlet fa ...
- Java变量和对象的作用域
大多数程序设计语言都提供了"作用域"(Scope)的概念. 对于在作用域里定义的名字,作用域同时决定了它的"可见性"以及"存在时间".在C, ...
- 自己开发图表插件,脱离echart
前言 由于公司业务需要做一些图标来展示一些数据,之前都是用百度的echart.js.这次放弃使用它转而自己开发是有几个原因1.echart文件太大,有些功能用不到2.echart样式不易扩展3.需求简 ...
- HTTP协议(四)
第一步:新建一个header.php页 <?php header('Location:http://www.baidu.com');//默认是302重定向 ?> 第二步:分析 如何制定重定 ...