(原创)c++primer(第五版)--1.1 一个简单的c++程序

  每个c++程序都包含一个或多个函数(function),其中一个必须命名为 main.

    注意:操作系统通过调用main来运行c++程序,即main函数是程序执行的入口,所以每个程序都必须有一个函数命名为 main。

  下面是一个非常简单的main函数,它什么也不干,只是返回给操作系统一个值:

1 int main() {
2     return 0;
3 }

  一个函数的定义包括四个部分返回类型(return type),函数名(function name),一个括号包围的形参列表(parameter list,允许为空),函数体(function body)。

  注意:main 函数的返回类型必须为 int,即整数类型。

   函数定义的最后一部分是函数体,它是以左花括号(curly brace)开始,以右花括号结束的语句块(block of statements):   

1 {
2     return 0;
3 }

  return,它结束函数的执行。当return语句包括一个值时,此返回值的类型必须与函数的返回类型相同。在本例中,main的返回类型是int,返回值0的确是一个int类型的值。

扩展:如果函数不需要返回值,则只需使用void。如果这时需要用return结束函数,return后面不需跟着参数。
示例:
// 有返回类型
int getSum( int a, int b ) {
    return a + b;}

// 无返回类型
void myPrint() {
    std::cout << "This is test" << std::endl;
    return; // 这条return语句可以不写。}

  在大多数系统中,main的返回值被用来指示状态。返回值0表明成功,非0的返回值的含义由系统定义,通常用来指出错误类型。  

请注意,return语句的末尾的分号。在c++中,大多数c++语句以分号表示结束。他们很容易被忽略,如果忘记写分号,就会导致莫名其妙的编译错误。
重要概念:类型
    一种类型不仅定义了数据元素的内容,还定义了这类数据上可以进行的运算。

    程序所处理的数据都保存在变量中,而每个变量独有自己的类型。如果一个名为v的变量的类型为T,我们通常说“v具有类型T”,或等价的,“v是一个T类型的变量”。

  

时间: 2024-10-27 05:51:38

(原创)c++primer(第五版)--1.1 一个简单的c++程序的相关文章

(原创)c++primer(第五版)--1.2 初始输入和输出

c++语言并未定义任何的输入输出(IO)语句,取而代之,包含了一个全面的标准库(standard library)来提供IO机制. 本书中的很多示例都使用了iostream库.iostream库包含两个基本类型 istream 和 ostream,分别表示输入流和输出流.一个流就是一个字符序列,是从IO设备读出或写入IO设备的.术语“流”(stream)想要表达的是,随着时间的推移,字符是顺序生存或消耗的. 标准输入输出对象 1. cin(发音为see-in):标准输入:istream类型的对象

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

C++ Primer(第五版)学习笔记_1_标准模板库--快速入门

C++ Primer(第五版)学习笔记_1_标准模板库--快速入门 欢迎大家阅读参考,如有错误或疑问请留言纠正,谢谢 标准模板库(STL)提供三种类型的组件:容器.迭代器和算法,他们都支持泛型程序设计标准. 容器主要有两类:顺序容器和关联容器.顺序容器(vector.list.deque和string等)是一系列元素的有序集合.关联容器(set.multiset.map和multimap)包含查找元素的键值. 迭代器的作用是遍历容器. STL算法库包含四类算法:排序算法.不可变序算法.变序性算法

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

C++ Primer(第五版)学习笔记_2_标准模板库vector(1) 欢迎大家阅读参考,如有错误或疑问请留言纠正,谢谢 向量容器vector不但能像数组一样进行随机访问,还能在尾部插入元素,完全可以替代数组. 值得注意的是,vector具有内存自动管理的功能,对于元素的插入和删除,可以动态调整所占的内存空间. 容器vector的下标是从0开始的,如果vector容器的大小是n,则元素下标为0~n-1,这和数组的一样的.不一样的是,vector可以随时调整其大小. vector重要的方法有三个

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

C++ Primer(第五版)学习笔记_4_标准模板库string(1) 1.创建string对象 创建一个空字符串,其长度为0 #include <iostream> #include <string> using namespace std; int main(int argc, char* argv[]) { string s; cout << s.length() << endl; return 0; } 运行结果: 0 2.给string对象赋值

C++ Primer(第五版)学习笔记_6_标准模板库_set集合容器

C++ Primer(第五版)学习笔记_6_标准模板库_set集合容器 Set集合容器实现了红黑树(Red-BlackTree)的平衡二叉检索树的数据结构,在插入元素时,它会自动调整二叉树的排序,把该元素放到适当的位置. (1)确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值: (2)另外,还得确保根节点左子树的高度与右子树的高度相等.这样,二叉树的高度最小,从而检索速度最快. 平衡二叉检索树的检索使用中序遍历算法,检索效率高.默认情况下,将键值由小到大遍历. 对于s

C++ Primer(第五版)学习笔记_8_标准模板库_map映照容器

C++ Primer(第五版)学习笔记_8_标准模板库_map映照容器 map映照容器的元素数据是由一个键值和一个映照数据组成的,键值与映照数据之间具有一一映照的关系. map映照容器的数据结构也是采用红黑树来实现的. 1.map创建.元素插入和遍历访问 #include <iostream> #include <stdio.h> #include <vector> #include <map> #include <string> using n