《好学的C++ 第2版》 第1章 第一个c++程序

程序的特点和优点:

程序语言无歧义,转换为机器码不会出现任何不确定的问题;

可反复执行;

计算机执行速度超快;

术语:

应用程序:用户视角,编译和测试之后的程序

代码:程序员视角的程序;另外还跟数据(供程序处理的被动性信息,以数值和单词为最基本)相对,表示完成操作的程序部分

  源代码:高级语言编写的程序

    语句(;结尾)和复合语句

  机器码:计算机的母语,每条计算机指令由0和1构成,通常用十六进制表示,例如08 A7 C3 9E 58。用机器码写程序,需                     要深入了解CPU体系结构。

编译器:即语言翻译器,将源代码转换为CPU能理解的机器码

C的优点和特点:

精炼,语法简明全面,写出来短小精悍;比其他程序语言限制要少。

C++相比C:

增加了面向对象的编程能力,适合解决复杂问题。

类与对象:

(it)类是扩展的数据结构,表明此类对象怎么初始化、怎么使用的共性,而对象是用类定义的实例,是真正干活的。

编写程序:

文本编辑器例如MS word或记事本,但必须保存为纯文本格式。

IDE例如VS(为了搞大工程,所以对简单初学者不友好)。

  工程:构成某个程序的全体文件。VS:file->new->console application->命名->ok。file->new等价于new project

  #include "stdafx.h"   vs里创建控制台应用程序(非windows应用程序)所必须。

  system("PAUSE");  窗口不会在屏幕上一闪而过。非MS-DOS或WINS,可能无效。

  建立:编译+链接,.cpp通过编译器变为.obj。编译会发现语法错误和程序结构错误。VS:F7

  运行:寻找程序逻辑错误。VS:Ctrl+F5(显示"press any key to continue",避免窗口在屏幕上一闪而过)。

cout对象,左向流操作符(<<)

C++语句以分号结尾,除了少数例外(?)

#include  :预处理指令(给编译器的活)

c语言与其标准库是分开的(可以不用标准库而用自己的运行库),标准库的库函数与库对象与用户自定义的无本质区别,因          而也需先声明再使用。头文件干这个活。

  <file>:引入c++库里的相关声明和定义。<iostream>是预编译格式的虚拟头文件,所以不带.h。

  ""

    #include <iostream>之后两种用法:(it:std是个对象,它被导入后,using它就可以直接使用它的数据和函数,

    否则得间接使用)

    using namespace std;

    cout << "whats up" << endl;

    或:

    std::cout << "awesome" <<std::endl; //endl是std里的预定义常数

main函数返回值:返回给操作系统或开发环境,一般0代表执行成功。

变量:存放数据的地方。int var; cin << var;

####规则:C++变量使用前必须定义####      //Basic对此不严格导致许多低级错误

三种基本数据格式:整数(int)、浮点数(double,8字节(pc都有8字节协处理器),c++运算都转double,存储默认double除非指定例如12.6F)、文本字符串(即字符串)。

c++库内部变量使用下划线开头,因此自编变量命名最好不用下划线开头。

  

  

  

时间: 2024-10-10 04:19:15

《好学的C++ 第2版》 第1章 第一个c++程序的相关文章

《Java从小白到大牛精简版》之第3章 第一个Java程序

本书第一个Java程序是通过控制台输出HelloWorld,以这个示例为切入点,向大家系统介绍Java程序的编写.Java源代码结构以及一些基础知识. 在Java中,程序都是以类的方式组织的,Java源文件都保存为.java文件当中.每个可运行的程序都是一个类文件,或者称之为字节码文件,保存为.class文件.要实现在控制台中输出HelloWorld示例,则需要编写一个Java类. 3.1 使用Eclipse实现 HelloWorld示例可通过多种工具实现,这一节首先介绍如何通过Eclipse实

精通Docker第三版 – 第十一章 Portainer: 一个Docker的GUI( 转)

本章中,我们将一起来学习Portainer.Portainer是一个允许我们通过网页界面管理Docker资源的工具.本章将涵盖如下主要内容: Portainer的发展历程 设置和运行Portainer 使用Portainer和Docker Swarm 技术准备 和此前章节一样,我们将继续使用本地Docker软件.同样,本章中的截图来自我个人偏好的操作系统macOS.在本章的最后,我们将使用Docker Machine和VirtualBox来启动本地Docker Swarm集群. 如前,我们所运行

Java 线程第三版 第四章 Thread Notification 读书笔记

一.等待与通知 public final void wait() throws InterruptedException 等待条件的发生. public final void wait(long timeout) throws InterruptedException 等待条件的发生.如果通知没有在timeout指定的时间内发生,它还是会返回. public final void wait(long timeout, int nanos) throws InterruptedException

C++ Primer Plus 第六版 第16章 string类和标准模板库

1.string实际上是模板具体化basic_string<char> 的一个typedef,有默认参数,所以省略了初始化参数 2.size_type是一个依赖于实现的整形 string将string::npos定义为字符串的最大长度 3.string类的构造函数P656 4.对于c-风格字符串,3种输入方法:cin>>   cin.getline(),cin.get 对于string   ,2种输入方法:cin>>,getline(cin,string对象) 5.st

Java 线程第三版 第六章 高级同步议题 读书笔记

多线程数据同步错误比较难检测,因为通常是与事件的特定发生顺序有关. 一.同步术语 Barrier(屏障) barrier是多个Thread的集合点:所有的Thread都应该到齐在这个barrier之后才能允许它们继续下去. Condition variable(条件变量) 实际上不是变量,而是与某个lock有关联的变量. Event variable(事件变量) 条件变量的另一个名称. Critical section(临界区) 临界区是synchronized方法或者block. Lock(锁

c++ primer plus(第6版)中文版 第九章编程练习答案

首先,说明下环境: linux:fedora14: IDE:eclipse: python:python2.7 python框架:django web服务器:apache web服务器的python模块:mod_wsgi 写在前面: 之前用的windows下面的xampp,写的php后台,现在想转向linux下面的python,跟以前一样,选择apache和eclipse作为自己的开发工具. eclipse的python配置, 参见之前的博客:http://blog.csdn.net/zy416

(三)配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序

配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序 一.   需求部分 在ubuntu上用Eclipse IDE进行hadoop相关的开发,需要在Eclipse上安装hadoop的开发插件.最新释放出的hadoop包含源码的包,以 hadoop-1.X为例,包含相关的eclipse插件的源码,因此可以针对自己的eclipse版本来编译一个合适hadoop的eclipse插件.下面将详细介绍插件的编译安装过程,以及在Eclipse上配置hadoop开发插

Java 线程第三版 第三章数据同步 读书笔记

多线程间共享数据问题 一.Synchronized关键字 atomic一词与"原子"无关,它曾经被认为是物质的最小的单元,不能再被拆解成更小的部分. 当一个方法被声明成synchronized,要执行此方法的thread必须先取得一个token,我们将它称为锁.一旦该方法取得(或者说是获得)锁,它将运行此方法然后释放掉(或者返回)此锁.不管方法时怎样返回的(包括通过异常)该锁会被释放. 二.Volatile关键字 如果变量被标示为volatile,每次使用该变量时都必须从主寄存器中读出

Java 线程第三版 第五章 极简同步技巧 读书笔记

一.能避免同步吗? 取得锁会因为以下原因导致成本很高: 取得由竞争的锁需要在虚拟机的层面上运行更多的程序代码. 要取得有竞争锁的线程总是必须等到锁被释放后. 1. 寄存器的效应 计算机有一定数量的主寄存器用来存储与程序有关的数据. 从逻辑上的观点来看,每个Thread都有自己的一组寄存器.当操作系统将某个Thread分配给CPU时,它会把该Thread特有的信息加载到CPU的寄存器中.在分配不同的Thread给CPU之前,它会将寄存器的信息存下来.所以Thread间绝不会共享保存在寄存器的数据.