编程学习(二)----c++程序的认识

        前面一篇说到一个程序员一次性就写出一个完美的程序几乎是不可能的,要想写出好的程序就必须要逐步推敲。要写好程序就必须要从最简单的开始,先认识一个程序然后再模仿着自己写,直到自己完全独立写出自己想要的程序为止。下面就是一个例子:

                                        #include <iostream>
                                          using namespace std;
                                          void read() { cout << "read()\n"; }
                                          void sort() { cout << "sort()\n"; }
                                          void compact() { cout << "compact()\n"; }
                                          void write() { cout << "write()\n"; }
                                          int main()
                                            {
                                                 read();
                                                 sort();
                                                compact();
                                                write();
                                                return 0;
                                            }

        iostream是输入输出流库标准文件,它包含cout 的信息。#include 是预处理器指示符(preprocessor directive) 它把iostream 的内容读入我们的文本文件中。在C++标准库中定义的名字如cout 不能在程序中直接使用,除非在预处理器指示符#include <iostream>后面加上语句:using namespace std;这条语句被称作using 指示符(using directive) C++标准库中的名字都是在一个称作std 的名字空间中声明的,这些名字在我们的程序文本文件中是不可见的,除非我们显式地使它们可见。using 指示符告诉编译器要使用在名字空间std 中声明的名字。

        当程序写好以后就需要经过编译器进行编译,编译器不能判别程序语义正确与否,但是可以判别程序形式上的错误与否。例如常见的错误1、语法错误    2、类型错误。当编译器报错了会给出相应的错误描述,按照错误描述来逐一修改错误是个好习惯,修改好一个就要重新编译一次。如果编译正确,编译器就会给出编译结果。例如上面例子编译后的结果为:

                                                read();
                                                sort();
                                                compact();
                                                write(); 

        编译器还有一个工作就是转换正确的程序代码。这个比较好理解,比如声明了一个整型变量int age=10,这是如果再将一个双精度类型的值29.76赋给age的时候(age=29.76),那么这个赋给age的值小数点后面的数字都被截断,输出age=29。在c++中除了提供基本数据类型:整数类型(int)、 浮点数类型(float)、 字符类型(char) 以及只有false 和true 两个值的布尔类型(boolean)之外,还提供了一组扩展的基本数据类型:字符串(string)、 复数(complex)、number、 向量(vector) 和列表(list)。例如:

                               // 为了使用string 对象下面的头文件是必需的
                              #include <string>
                              string current_chapter = "Getting Started";
                             // 为了使用vector 对象下面的头文件是必需的
                            #include <vector>
                             vector<string> chapter_titles( 20);

        current_chapter 是一个字符串对象被初始化为字符串文字”Getting Started“。 chapter_titles是一个向量包含有20 个字符串类型的元素。这种特殊语法vector <string>指示编译器创建一个能够存放字符串元素的向量类型,要定义一个能够存放20 个整数的向量对象则可以这样写vector<int> ivec(20)

        无论是一种语言还是它的标准库都不可能提供实际程序设计环境要求的所有数据类型,因此现代语言都提供了类型定义工具设施使我们能够在语言中引入新的类型,这些类型的用法与内置类型的用法一样方便,在C++中这种设施就是类机制。在C++中像string、complex 、vector 、list 这样的标准库类型都被设计成类。实际上输入输出库也是这样的。

       另外,关于程序的流程控制,个人感觉大致看看了解一下即可。好了,今天的这篇帖子就先写到这里,里面没有包含多少东西,主要是自己学会的一点儿点儿发出来而已,全当是巩固自己所学罢了!看到的朋友不要吐槽哦,哈!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值