C++学习之旅记录hello world
来源:互联网 发布:u盘装mac os x10.11 编辑:程序博客网 时间:2024/05/16 15:20
一个很有意思的故事,有一个程序员老了,闲来无事的他开始找自己的兴趣爱好。他发现写毛笔字是一个非常不错的休闲娱乐方式,于是它买来了文房四宝。然后准备好一切就绪工作,大笔一挥写下了一个字符串“hello world!”哈哈,我还是来写我的第一个 C++ hello world 吧
从输入输出开始
c++提供了两个用于处理输入和输出的预定义对象(cin和cout),他们分别是istream和ostream类的实例,这两个类是在iostream文件中定义的
#include <iostream> //头文件、也叫包含文件int main(){ using namespace std; //编译指令 cout << "hello world!" << endl; //这里是endl不是end1 return 0;}gcc hello.c ./a.out
类比C语言
#include <stdio.h>int main(){ printf("hello world!\n); return 0;}g++ hello.cpp./a.out
以上两个代码的执行效果是一样的。
#include <iostream>int main(){ using namespace std; int num; cin >> num; cout << num << endl; return 0;}
#include <stdio.h>int main(){ int num; scanf("%d", &num); printf("%d\n", &num); return 0;}
以上两个代码的执行效果是一样的。
需要注意的是
在C语言中我们常使用的scanf、printf都是包含在stdio.h标准输入输出头文件中而在C++中,从概念上,输出是一个流,即从程序流出的一系列字符。cout对象表示这种流,其属性是在iostream文件中定义的。cout的对象属性包含一个插入操作符 (<<)它可以将其右侧的信息插入到流中。因此下面的语句
cout << "hello world."; //注意分号
将把字符串“hello world." 插入到输出流中。因此,与其说程序显示了一条消息,不如说它将字符串插入到了输出流中。细心的人会发现 << 和我们在C语言中的左移操作符一样。其实这是一个重载的例子。通过重载,同一个操作符将会有不同的含义。编译器会根据上下文来确定操作符的含义。C本身也有这样的例子。比如 * 既可以在算术运算符中表示乘号,也可以用作指针
控制符endl //它是endl不是end1.在我的编译器下字体一模一样。我就给看错了
cout << endl; //endl是一个特殊的C++符号。表示一个很重要的概念:重起一行。在输出流中插入endl将导致屏幕的光标移到下一行的开头。诸如endl等对于cout来说有特殊函数的特殊符号被称为控制符。和cout一样,endl也是包含在iostream中定义的,且位于名称空间std中。//C++其实也支持这种写法cout << "\n"; //两者一样的效果,看个人喜好
上面提到一个名称空间的概念:下面介绍一下
std 是一个命名空间,不同的命名空间可以有相同的类名被定义。 using namespace std;就是指明下面的程序使用std 如果不用这句指明的话就要用std::string string是std空间中定义的也可以在全局空间中定义,只要名字空间不一样即可..)..否则可以默认名字空间中有std.便不用std::来修饰它是C++新标准中有的,解决多人作编大程序时名字冲突问题。 比如A B两个班都有叫张三的人,你要使用A班的张三,必然要先指名是A班这个名字空间(namespace),然后你对张三的所有命令才能达到你的预想,不会叫错人 如果你用#include<iostream.h>就不需写这句话(旧标准)。但是如果你#include<iostream>就必须要写。
0 0
- C++学习之旅记录hello world
- “hello world” 开始c语言之旅
- [C学习笔记].Hello World
- Object-C 之 Hello World
- C语言之hello world
- C语言之hello world
- 我的c学习之路二------hello world
- Objective C 学习之路1(Hello world)
- Object-c 学习之路一(Hello world)
- 汇编学习笔记1 --- C内联汇编之Hello World
- Objective-C学习笔记(一):OC之Hello World!
- C/C++ 学习之路 -- 第0001课 -- Hello World
- C/C++ 学习之路 -- 第0001课 -- Hello World
- Ant学习之Hello World
- Jni学习之hello world
- python学习之--Hello World
- Bottle学习之hello world
- SpringBoot学习之hello world
- 来,带你见识一下CT三维重建
- Codeforces Round #346 (Div. 2) D. Bicycle Race
- 怎样将数据库MySQL 迁移到 MariaDB 上
- 如何上谷歌
- Servlet各版本web.xml头文件配置模板
- C++学习之旅记录hello world
- linux下使用CmakeLists编译ARDrone sdk相关例程
- 细说JS的表达式和运算符
- springmvc 不解析EL表达式的解决办法
- 自定义BottomBehavior
- 让在网页上ctrl+c,ctrl+v见鬼去吧~
- cvApproxPoly的学习(找任意形状)
- Neural Networks神经网络编程入门
- linux 中防火墙配置 iptables 命令参数的含义介绍