c++学习笔记2(c++简单程序)

c++的简单程序

练习一:

#include <iostream>
int
main(){
std::cout<<"你好c++\n";
int
x;
std::cin>>x;
std::cout<<x;
return 0;
}

#:预处理标志,对文本进行预处理操作;预处理标志表示该行代码要最先进行处理,要在编译器编译代码之前运行。
include:预处理指令
表示将<>内的文件读入。

<...>头文件
iostream(输入输出流)标准库,包含了众多的成员函数,库中每个函数都有其自身的作用。

声明了一个main函数,main函数的意思是"主函数",每个c++程序都有一个main函数,
函数是指实现一个或多个功能的代码块。
每个函数都需要标明其返回值类型。
main函数和一般函数的区别是:main是在程序开始时自动执行,一般函数是由其他函数调用或者激活。

cout的用法后面要跟一个左移运算符"<<","<<"后面的所有内容都会被输出在屏幕上,"\n"格式符作用换行并将光标定位到第二行的开头。
cin的用法接受键盘输入,后面跟右移运算符">>";和cout使用相反。

练习二:

#include <iostream>
int
main(){
std::cout<<"表格";
std::cout<<"头部内容\t"<<100;  //"\t"制表符,类似tab键对齐。
std::cout<<"结束\t"<<(float)5/8;  //float用来说明后面所跟的值的类型是个浮点数。不加只会取整数。
std::count<<std::endl;  //endl类似\n,还调用输出流的flush函数,刷新缓冲区,让数据直接写入文件或者屏幕上。使用"\n"不刷新效率会高点,数据可能没有立即写入,存在缓冲区内。
return
0;
}

std::是个名称空间标示符,
c++标准库中的函数或者对象都是在命名空间std中定义的,所以要使用函数或者对象时都要用std来限定。
std都是在什么时候使用?
std是调用C++标准库时使用。(使用非标准库文件iostream.h,不用写std::)
如果使用标准库文件时,简单的声明方法不用重复写:
就是直接使用using
namespace std来代替using std::cout和using std::endl;

iostream是c++规范里面定义的。
iostream.h是c语言中定义的,没有名字空间的概念,所以不需要加std::。

c++引入名字空间的概念是为了避免命名冲突。

#include <iostream>
namespace a
{
  int
b=5;
}
namespace c
{
  int b=8;
}
int main()
{
  int
b=9;
  //(方法一)
  //std::cout<<b<<" "<<a::b<<"
"<<c::b<<std::endl;
  //(方法二)
  using namespace
a;//释放名字空间a
  using namespace c;
  std::cout<<b;

  return 0;

}

多行注释/**/
单行注释//

c++学习笔记2(c++简单程序),布布扣,bubuko.com

时间: 2024-10-09 16:10:37

c++学习笔记2(c++简单程序)的相关文章

Linux 程序设计学习笔记----进程管理与程序开发(下)

转载请注明出处:http://blog.csdn.net/suool/article/details/38419983,谢谢! 进程管理及其控制 创建进程 fork()函数 函数说明具体参见:http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html 返回值:Upon successful completion, fork() shall return 0 to the child process and shall re

gcc 学习笔记(一) - 编译C程序 及 编译过程

一. C程序编译过程 编译过程简介 : C语言的源文件 编译成 可执行文件需要四个步骤, 预处理 (Preprocessing) 扩展宏, 编译 (compilation) 得到汇编语言, 汇编 (assembly) 得到机器码, 连接 (linking) 得到可执行文件; -- 查看每个步骤的编译细节 : "-E" 对应 预处理, "-S" 对应 编译, "-c" 对应 汇编, "-O" 对应 连接; -- 每个步骤对应的工

C++ Primer 学习笔记_92_用于大型程序的工具 --命名空间[续1]

用于大型程序的工具 --命名空间[续1] 二.嵌套命名空间 一个嵌套命名空间即是一个嵌套作用域 -- 其作用域嵌套在包含它的命名空间内部.嵌套命名空间中的名字遵循常规规则:外围命名空间中声明的名字被嵌套命名空间中同一名字的声明所屏蔽.嵌套命名空间内部定义的名字局部于该命名空间.外围命名空间之外的代码只能通过限定名引用嵌套命名空间中的名字. 嵌套命名空间可以改进库中代码的组织: namespace cplusplus_primer { namespace QueryLib { class Quer

(原创)c#学习笔记02--编写c#程序03--Windows Forms应用程序

2.3  Windows Forms应用程序 本解讲解如何创建一个windows forms应用程序,参考:(原创)c#学习笔记02--编写c#程序01--开发环境,修改为选择:Windows 窗体应用程序.如下图: 单击“确定”(OK)按钮,创建项目后,应该会看到一个空白的Windows窗体.把鼠标指针移到屏幕左边的“工具箱”(Toolbox)栏上,然后移到“所有 Windows 窗体”(All Windows Forms)选项卡上的Button选项,在该选项上双击,就会在应用程序的主窗体(F

C++ Primer 学习笔记_89_用于大型程序的工具 --异常处理[续2]

用于大型程序的工具 --异常处理[续2] 八.自动资源释放 考虑下面函数: void f() { vector<string> v; string s; while (cin >> s) { v.push_back(s); } string *p = new string[v.size()]; //... delete p; } 在正常情况下,数组和vector都在退出函数之前被撤销,函数中最后一个语句释放数组,在函数结束时自动撤销vector. 但是,如果在函数内部发生异常,则将

C++ Primer 学习笔记_90_用于大型程序的工具 --异常处理[续3]

用于大型程序的工具 --异常处理[续3] 九.auto_ptr类[接上] 5.auto_ptr对象的复制和赋值是破坏性操作 auto_ptr和内置指针对待复制和赋值有非常关键的区别.当复制auto_ptr对象或者将它的值赋给其他auto_ptr对象的时候,将基础对象的所有权从原来的auto_ptr对象转给副本,原来的auto_ptr对象重置为未绑定状态. auto_ptr<string> strPtr1(new string("HELLO!")); auto_ptr<

C++ Primer 学习笔记_93_用于大型程序的工具 --命名空间[续2]

用于大型程序的工具 --命名空间[续2] 五.类.命名空间和作用域 名字的可见性穿过任意嵌套作用域,直到引入名字的块的末尾. 对命名空间内部使用的名字的查找遵循常规C++查找规则:当查找名字的时候,通过外围作用域外查找.对命名空间内部使用的名字而言,外围作用域可能是一个或多个嵌套的命名空间,最终以全包围的全局命名空间结束.只考虑已经在使用点之前声明的名字,而该使用仍在开放的块中: namespace A { int i; namespace B { int i; int j; int f1()

C++ Primer 学习笔记_94_用于大型程序的工具 --命名空间[续3]

用于大型程序的工具 --命名空间[续3] 六.重载与命名空间 正如我们所见,每个命名空间维持自己的作用域,因此,作为两个不同命名空间的成员的函数不能互相重载.但是,给定命名空间可以包含一组重载函数成员. 1.候选函数与命名空间 命名空间对函数匹配有两个影响.一个影响是明显的:using声明或using 指示可以将函数加到候选集合.另一个影响则微妙得多. 正如前节所见,有一个或多个类类型形参的函数的名字查找包括定义每个形参类型的命名空间.这个规则还影响怎样确定候选集合,为找候选函数而查找定义形参类

[简明python教程]学习笔记之编写简单备份脚本

[[email protected] 0503]# cat backup_ver3.py #!/usr/bin/python #filename:backup_ver3.py import os import time #source source=['/root/a.sh','/root/b.sh','/root/c.sh'] #source='/root/c.sh' #backup dir target_dir='/tmp/' today=target_dir+time.strftime('

C++ Primer 学习笔记_95_用于大型程序的工具 --多重继承与虚继承

用于大型程序的工具 --多重继承与虚继承 引言: 大多数应用程序使用单个基类的公用继承,但是,在某些情况下,单继承是不够用的,因为可能无法为问题域建模,或者会对模型带来不必要的复杂性. 在这些情况下,多重继承可以更直接地为应用程序建模.多重继承是从多于一个直接基类派生类的能力,多重继承的派生类继承其所有父类的属性. 一.多重继承 1.定义多个类 为了支持多重继承,扩充派生列表: class Bear : public ZooAnimal { //... }; 以支持由逗号分隔的基类列表: cla