C++学习笔记1(标准的输入输出)

前言:

  个人一直以来比较懒,最近才准备记录一下自己学习C++的学习过程,希望自己能在写博客的时候能够坚持下去,欢迎大家在博客中支出存在的问题,好了不多说了,自己能坚持下去。我准备在我的博客中通过与C语言的对比能够了解C++的不同与优势,接下来进去正题,让我们走进C++的大门。

标准的输出

  首先,在C++中用于标准的输入输出的头文件是#include<iostream>,大家可能也会发现直接使用这个头文件,是不能使用标准的输出cout的,那是应为cout是一个对象,类型是ostream类型,而iostream大家就可以看成是由istream与ostream合并在一起的。并且cout、cin等对象都是定义在标准的命名空间std中的,至于什么叫命名空间了,我在后续的课程中会陆续的讲到的,大家现在可以理解成一种作用域就可以了。

好了,我们先来看一个最简单的helloworld程序:

 1 #include <iostream>        //标准的输入输出头文件
 2 using namespace std;    //包含标准的命名空间std :<stdardard>
 3
 4 /*
 5     main函数同C语言中的主函数一样,一个程序运行的入口,
 6     一个程序有且仅能够有一个主函数
 7 */
 8 int main(int argc, char **argv)
 9 {
10     /*C++ 中用于标准的输出同C语言的printf函数功能一致*/
11     /*cout:标准的ostream类型对象,endl:和转义字符‘\n‘功能类似*/
12     cout << "hello world" << endl;
13     getchar();
14     return 0;
15 }

输出结果:

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进行输出就可以了,不需要知道什么类型(除基本类型,其他类型必须重载运算符<<),那我们来看看如何输出变量

 1 #include <iostream>        //标准的输入输出头文件
 2 using namespace std;    //包含标准的命名空间std :<stdardard>
 3
 4 int main(int argc, char **argv)
 5 {
 6     int vi = 100;
 7     double vd = 3.14;
 8     char vc = ‘Z‘;
 9
10     //分别输出三个变量的值
11     cout << "vi: " << vi << endl;
12     cout << "vd: " << vd << endl;
13     cout << "vc: " << vc << endl;
14
15     return 0;
16 }

输出结果:

vi: 100
vd: 3.14
vc: Z

是不是和 语言比较起来简单多了,不,你没有看错,就是这么简单。

标准的输入

  其实了解了C++中标准的输出问题,再来看,标准的输入就简单多了,应为他和标准的输出格式时一样的,只是使用的时cin而不是cout用做输入。还是一个简单的例子看一下:

 1 #include <iostream>
 2
 3 using namespace std;
 4
 5 int main(int argc, char *argv[])
 6 {
 7     int vi = 100;
 8     double vd = 3.14;
 9     char vc = ‘Z‘;
10
11     //分别输出三个变量的值
12     cout << "vi: " << vi << endl;
13     cout << "vd: " << vd << endl;
14     cout << "vc: " << vc << endl;
15
16     //修改三个变量的值
17     //标准的读取,可以标准的读取一个变量的值,
18     //也可以连续读入多个变量注意后边不要加叫endl
19     cin>>vi;
20     cin>>vd>>vc;
21
22     //分别输出三个变量的值
23     cout << "vi: " << vi << endl;
24     cout << "vd: " << vd << endl;
25     cout << "vc: " << vc << endl;
26     return 0;
27 }

输出结果应该是:

1 vi: 100
2 vd: 3.14
3 vc: Z
4 3
5 3.14 a
6 vi: 3
7 vd: 3.14
8 vc: a

以上就大概讲述了C++中的标准的输入输出问题,当然关于C++的输入输出问题中,还有关于类似与C语言中的格式控制问题,我将再下一章专门就这一块的问题做讨论。

时间: 2024-10-01 07:44:47

C++学习笔记1(标准的输入输出)的相关文章

[学习笔记] Python标准库的学习准备 [转]

Python标准库是Python强大的动力所在,我们已经在前文中有所介绍.由于标准库所涉及的应用很广,所以需要学习一定的背景知识. 硬件原理 这一部份需要了解内存,CPU,磁盘存储以及IO的功能和性能,了解计算机工作的流程,了解指令的概念.这些内容基础而重要. Python标准库的一部份是为了提高系统的性能(比如mmap),所以有必要了解基本的计算机各个组成部分的性能. 操作系统 在了解操作系统时,下面是重点: 1) 操作系统的进程管理,比如什么是UID, PID, daemon 2) 进程之间

C++ Primer 学习笔记_14_标准模板库_bitset位集合容器

C++ Primer 学习笔记_14_标准模板库_bitset位集合容器 bitset容器是一个bit位元素的序列容器,每个元素只占一个bit位,取值为0或1,因而很节省内存空间.下图是一个bitset的存储示意图,它的10个元素只使用了两个字节的空间. 使用bitset需要声明头文件"#include <bitset>" 1.创建bitset对象 创建bitset对象时,必须要指定容器的大小.bitset对象的大小一经定义,就不能修改了.下面这条语句就定义了bitset对

C++ Primer 学习笔记_23_标准模板库_stack.

C++ Primer 学习笔记_11_标准模板库_stack.queue队列容器与priority_queue优先队列容器 1.stack堆栈 stack堆栈是一个后进先出(Last In First Out,LIFO)的线性表,插入和删除元素都只能在表的一端进行.插入元素的一端称为栈顶,而另一端称为栈底.插入元素叫入栈(Push),删除元素叫出栈(Pop).下图是堆栈示意图 堆栈只提供入栈,出栈,栈顶元素访问和判断是否为空等几种方法.采用push()方法将元素入栈:采用pop()方法出栈:采用

树莓派学习笔记——使用标准PC104键盘

0 前言 本文将详细介绍树莓派的键盘设计.和多数的人的想法不同,世界上存在着各种各样不同的键盘,中国人使用的键盘和美国人使用的键盘相同,而树莓派源产自英国,英国的键盘和美国并不相同.国内多使用标准104键键盘,下面就讲讲如何配置. [相关博文] [树莓派学习笔记--索引博文]--更多博文请关注. 1 PC104标准键盘 [wiki百科]--IBM PC keyboard 所谓PC104标准键盘是指键盘含有104个按键,国内和美国多使用该类型键盘,而欧洲大陆多使用PC105键盘,除了比PC104键

[学习笔记] Python标准库简明教程 [转]

1 操作系统接口 os 模块提供了一系列与系统交互的模块: >>> os.getcwd() # Return the current working directory '/home/minix/Documents/Note/Programming/python/lib1' >>> os.chdir('~/python') # Change current working directory Traceback (most recent call last): File

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

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

C++ Primer 学习笔记_10_标准模板库_map和set的对比

C++ Primer 学习笔记_10_标准模板库_map和set的对比   set multiset 创建 set<int> str multiset<string> str 插入 str.insert(8) str.insert("abc") 遍历 set<int>::iterator iter multiset< string >::iterator iter 输出 *iter *iter 删除 n = str.erase(8) 删除

C++ Primer(第五版)学习笔记_9_标准模板库_multimap多重映照容器

C++ Primer(第五版)学习笔记_9_标准模板库_multimap多重映照容器 多重映照容器multimap与map结构基本相同,但由于重复键值存在,所以multimap的元素插入.删除.查找都与map的方法不相同. 1.multimap对象创建.元素插入 插入元素时,需要使用insert()方法和类似pair<string,double>("Jack", 300.5)的元素结构.可以看到,重复的元素是按照插入的先后顺序排序的. #include <iostre

C++ Primer(第五版)学习笔记_5_标准模板库string(2)

C++ Primer(第五版)学习笔记_5_标准模板库string(2) 10.搜索string对象的元素或子串 采用find()方法可查找字符串中的第一个字符元素(char, 用单引号界定)或者子串(用双引号界定):如果查到,则返回下标值(从0开始计数),如果查不到,则返回一个很大的数string:npos(即:4294967295). #include <iostream> #include <stdio.h> #include <string> using nam

C++ Primer(第五版)学习笔记_3_标准模板库vector(2)

C++ Primer(第五版)学习笔记_3_标准模板库vector(2) 欢迎大家阅读参考,如有错误或疑问请留言纠正,谢谢 6.元素的插入 insert()方法可以在vector对象的任意位置前插入一个新的元素,同时,vector自动扩张一个元素空间,插入位置后的所有元素依次向后挪动一个位置. 要注意的是,insert()方法要求插入的位置,是元素的迭代器位置,而不是元素的下标. #include <iostream> #include <vector> using namespa