C++介绍|第一部分_基础编程(1)|c++程序设计(第二版)钱能

第一章 概述

1.3 C++

1.3.1 comment on C

C语言的高度灵巧和实现高效 >> FORTRAN擅长科学计算

C语言的简介高效在工业化上 >> 严谨的Pascal

当程序规模变得庞大,程序需要保修-可维护性要求,需要扩产-可扩展性要求,需要加固-安全性要求。但由于追求简捷高效的c语言其中数据结构和算法盘根错节,很难被人再分析和重新使用。

==> 需要复杂结构的数据需要系统的组织,统一管理,以使程序组织合理,算法设计简单易懂。

==> C++ get

1.3.2 Inheritor of C

C++可以进行过程化程序设计,又可以以抽象数据类型为特点的基于对象的程序设计,还可以以继承和多态为特点的面向对象的程序设计,并正在完善以模版为特点的泛型程序设计。

C++是一种混合型程序设计语言,体现在可以采用不同的程序设计方法。“混合”意味着绝不放弃计算机高效运行的实用性特征,而又致力于大规模程序的编程质量,提高程序设计语言的问题描述能力。

1.3.3 Standard C++

标准意味着若用标准C++编程,就可以在不同的标准C++编译器上,得到能在不同计算机系统中运行出同样结果的机器程序。

1.4 C++编译流程 Programming Flow

1.4.1 编译过程Programming Procedure

用编程语言写完程序后,要翻译成机器代码,以便让计算机运行获得结果。

翻译——解释型:边读程序边翻译,翻译成机器代码后就执行。保存程序文件可以直接运行得到结果,但程序运行不能离开解释器,需要不断交互,效率较低。

——编译型:整篇翻译成机器代码,保存在可执行文件中,然后启动该程序文件,运行获得结果。

==> C++语言要体现高性能,所以都是编译型。(但为了方便测试,调试环境做成解释型。)

编译流程:编辑edit——编译compile——链接link/make/build——调试debug

.cpp—— .obj —— *.exe

程序编译compile生成目标代码object code,object code是独立的程序段还没有挂载C++库代码和其他资源,需要相互链接。所以来到链接link阶段,将object code整合成可执行文件exe。

1.4.2 最小样板程序Minimum Sample Program

#include<iostream> //#include对编译器发出操作指令 ,iostream标准输入/输出流类的标准库头文件int main(){ std::cout<<"hello World.n"; //std名空间,为了防止程序员又命名一个cout造成冲突,所以给标准库的count冠以前缀。cout标准输出设备的名称,<<操作命令-输出,}

1.5 程序与算法 Programs&Algorithms

计算机程序是用计算机语言所要求的规范描述出来的一系列动作,表达了程序员要求计算机执行的动作。不同计算机,机器指令系统和速度有差异,表达数据的能力有差异,所以计算机在执行程序中,也会表现出差异。

算法具有目的性、抽象性、研究性。(提到NP问题,有兴趣的可以查查什么是NP问题:)

1.5.3编程与结构 Programming & Structures

N.Wirth提出程序=算法+数据结构

1.6 过程化程序设计 Procedural Programming

1.6.1 基于过程的程序设计Procedure-Based Programming

一般是具体问题具体分析,无法重复使用其中零部件,而且问题变得庞大后,复杂性会难以收场。

1.6.2 结构化程序设计Structured Programming

C++介绍|第一部分_基础编程(1)|c++程序设计(第二版)钱能

1.7 对象化程序设计 Objectified Programming

对象操作的多态性:要能准确反映分层之后的对象集合中每个对象行为的个性。

1.9 练习

C++介绍|第一部分_基础编程(1)|c++程序设计(第二版)钱能

#include <iostream>
int main(){
    std::cout<<"I am a student.n";
}
#include <iostream>
int main(){
    int num_star=0;
    int num_space=0;
    for (int i=1;i<=7;i++){
        if(i*2-1>7){
            num_star=(7-i)*2+1;
            num_space=i-4;
        }else{
            num_star=i*2-1;
            num_space=4-i;
        }
        for (int j=0;j<num_space;j++){
            std::cout<<" ";
        }
        for (int j=0;j<num_star;j++){
                std::cout<<"*";
            }
        for (int j=0;j<num_space;j++){
            std::cout<<" ";
        }
        std::cout<<"n";
    }

}

原文链接: https://www.cnblogs.com/Amanda-zxy/p/15778201.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/184520

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 上午10:44
下一篇 2023年2月12日 上午10:45

相关推荐