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 ...
随机推荐
- weui.css中flex容器下子项目的水平和垂直居中
想用weui.css写微信平台的页面,发现没有让flex(weui-flex)容器下,子项目(weui-flex__item)居中的类. 百度了一下,是用justify-content:center; ...
- 在 JavaScript 中 prototype 和 __proto__ 有什么区别
本文主要讲三个 问题 prototype 和 proto function 和 object new 到底发生了什么 prototype 和 proto 首先我们说下在 JS 中,常常让我们感到困惑的 ...
- Pascal's Triangle II leetcode
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3, ...
- Redis的发布订阅及.NET客户端实现
序言 发布订阅在设计模式中也可以说是观察者模式,针对这个模式是处理对象间一对多的依赖关系的,当一个对象发生变化,其它依赖他的对象都要得到通知并更新. 然而它也有自己的缺点,就是当主题发生一系列的变化时 ...
- javascript解析机制、闭包详解
js解析机制: js代码解析之前会创建一个如下的词法环境对象(仓库):LexicalEnvironment{ } 在扫描js代码时会把: 1.用声明的方式创建的函数的名字: 2.用var定义的变量的名 ...
- JNDI常见配置方式
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...
- iOS开发之数据存储之XML属性列表(plist)归档
1.概述 “归档”意思是持久化存储数据.plist文件是一种XML格式的文件,拓展名为plist.如果对象是NSString.NSDictionary.NSArray.NSData.NSNumber等 ...
- 腾讯云数据库团队:PostgreSQL TOAST技术理解
作者介绍:胡彬 腾讯云高级工程师 TOAST是"The Oversized-Attribute Storage Technique"的缩写,主要用于存储一个大字段的值.要理解TOA ...
- HANA CDS与ABAP CDS
如果你在网络或者SCN上面搜索CDS,即SAP的Core Data Services,你会很容易地找到类似“Core Data Services(CDS)是一个在SAP HANA中用于定义和消费富语义 ...
- Android -- 自定义ViewGroup+贝塞尔+属性动画实现仿QQ点赞效果
1,昨天我们写了篇简单的贝塞尔曲线的应用,今天和大家一起写一个QQ名片上常用的给别人点赞的效果,实现效果图如下: 红心的图片比较丑,见谅见谅(哈哈哈哈哈哈).... 2,实现的思路和原理 从上面的效果 ...