C++——初识C++

 

1. C关键字

autointdoublelongcharfloatshortsigned
unsignedstructunionenumstaticswitchcasedefault
breakregisterconstvolatiletypedefexternreturnvoid
continuedowhileifelseforgotosizeof

 

2. C++关键字

autobreakcasecharconst
continuedefaultdodoubleelse
enumexternfloatforgoto
ifintlongregisterreturn
shortsignedsiezeofstaticstruct
switchtypedefunsignedunionvoid
volatilewhileboolcatchclass

 

说明:C++中新增数据类型bool,class是面向对象中类的声明符,catch与异常处理有关。

 

2. C语言数据类型:

  • 基本数据类型只有5种:char、int、float、double、void
    • 但是可以用修饰符:signed、unsigned、short、long按一定规则组合
    • signed、unsigned可以修饰:char、int
    • short、long可以修饰:int
    • long可以修饰float:此时long float 即为double类型
    • signed、unsigned可以与short、long修饰的int型搭配
  • 自定义数据类型:
    • 数组(类型[])
    • 指针(类型*)
    • 构造数据类型:
      • 结构体型struct
      • 联合体型union
      • 枚举类型enum 

 

3. C++数据类型

 

 

4. 关于C++程序的说明

  1. 关于C++程序本身:

    1. 每个C++程序都由很多个“函数”组成;
      1. 每个程序都以main( )函数开始(程序入口);
      2. 每个函数的形式都有“输入”和“输出”;
    2. 语句分号结尾,一行可以写多个语句,一个语句
      可以写多行;格式变化不会影响程序运行;

    3. 程序中的注释可以放在/*….*/之间,或 // 之后;
  2. 关于C++程序的运行环境
    1. C++程序均保存在 xxx.cpp 的文件之中;
    2. 不同的文件之间可以互相“引用”; 
      1. 通过“ include”实现;
    3. xxx.cpp 文件不能直接执行,通过编译器进行编译、连接,形成可执行文件才能执行;

       
  3. C++程序的加工和执行
    1. 源程序,不能直接执行,必须先把它转换
      为可执行程序。

    2. 加工通常分两步:编译、连接

    3.  

  4. 关于C++程序的书写
    1. 每行程序的书写必须按照逻辑进行缩进;
    2. 编写如下程序行时,应该提供注释:
      1. 变量的定义; //说明变量代表的意义或作用;
      2. 函数的定义; //说明该函数的主要作用;
      3. 复杂逻辑出现时; //解释一段语句的作用;
    3. 变量的命名应该尽可能体现变量的含义;

5. 程序释义:计算任务的处理对象和处理规则的描述。

  • 计算任务:任何以计算机为处理工具的任务都是计算任务。
  • 处理对象是数据(如数字、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及有关的含义)。
  • 处理规则一般指处理动作和步骤。

6. 程序设计语言的分类

  • 机器语言
  • 汇编语言
  • 高级语言

7. 学习内容

 

8. C语言历史

  • Algol 60: 1960年1月,图灵奖获得者Alan J.Perlis在巴黎举行的由全世界一流软件专家参加的讨论会上,发表了“算法语言Algol60报告”,确定了程序设计语言Algol 60。( A 语言)
  • 1963年,剑桥大学在ALGOL 60的基础上推出了CPL( Combined Programming Language)语言,但规模比较大,难以实现。 1967年,剑桥大学的Matin Richards对CPL语言作了简化,推出了BCPL( Basic Combined Programming Language)语言。 1970年贝尔实验室的Ken Thompson进一步简化,设计出了B语言,并用B语言写第一个UNIX操作系统,在PDP-7上实现。
  • C语言是在1972-1973年间由UNIX的研制者Dennis Ritchie和Ken Thompson在B语言的基础上发展和完善起来的。

9. C语言版本

  • K&R C
    • 在1978年, Kernighan和Ritchie的《 The C Programming Language》 第一版出版。在以后的几年里, 《 The C Programming Language》 一直被广泛作为C语言事实上的规范。在这本书中, C语言通常被表述成“ K&R C”。
  • ANSI C和ISO C( 1989年)
    • 1989年, C语言被ANSI标准化,对 K&R C进行了扩展,包括了一些新的特性,也规定了一套标准函数库。
    •  ISO成立 ISO/IEC JTC1/SC22/WG14工作组来规定国际标准的C语言。
    • 通过对ANSI标准的少量修改,最终通过了ISO 9899:1990。随后ISO标准被ANSI采纳。
  • ANSI C和ISO C( 1995年)
    • 作为对标准的维护与更新, WG14工作小组在1995年对1985年颁布的标准做了两处技术修订(缺陷修复)和一个补充(扩展)。
  • C99
    • 在ANSI标准化后, WG14小组继续致力于改进C语言。新的标准很快推出,就是ISO9899:1999( 1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。

 

10. 从C到C++

  • 美国AT&T贝尔实验室的本贾尼( Bjarne Stroustrup)在20世纪80年代初期发明并实现了C++(最初被称作“ C with Classes”)。
  • 1985年10月, Bjarne博士完成了经典巨著The C++ Programming Language第一版 ;
  • 1998年11月ISO颁布了C++程序设计语言的国际标准ISO/IEC 14882-1998。
  •  2003年发布一个C++标准的修正版本;每5年视实际需要更新一次标准。

11. 执行一个C++程序

 

12. 命令行参数

用户通过命令行界面执行某个程序时输入的参数;C++ 程序通过入口函数 main() 来接收命令行参数。

一个简单的例子:

#include <iostream>
#include <string>

using namespace std;

int main(int argc, char **argv) { // or char* []argv
    for (int i = 0; i < argc; ++i) {
        cout << string(argv[i]) << endl;
    }
    return 0;
}    
  • 参数 argc 表示启动程序时,传入的命令行参数的个数
  • 参数 argv 是一个数组,其每个元素都是一个 char* 类型的指针
    • 每个指针都指向一个字符串,这个字符串里就存放着对应的命令行参数
    •  argv[i] 指向的字符串中就存放着第 i 个命令行参数的值
  • 命令行参数的第一个值永远是可执行程序自身的名字
    • argc 的值至少是 1
    • argv[0] 指向的字符串就是这个可执行程序的名字

 

13. 数制转换

把十进制数转换为二进制数的方法是:

整数转换用“ 除2取余法”:

 

小数转换用“乘2取整法”:

 

14. 程序设计语言的构成

语言的种类千差万别,但是,一般说来,基本成分不外四种:

  1. 数据成分,用以描述程序中所涉及的数据;
  2. 运算成分,用以描述程序中所包含的运算;
  3. 控制成分,用以表达程序中的控制构造;
  4. 传输成分,用以表达程序中数据的传输;

 

15. 整型数据的范围:

一个例子:(在mac air x86_64系统演示)

#include <iostream>

int main(){
    std::cout<<std::endl;
    std::cout<<"sizeof short [int]: "<<sizeof(short int)<<std::endl;
    std::cout<<"sizeof signed short [int]: "<<sizeof(signed short int)<<std::endl;
    std::cout<<"sizeof unsigned short [int]: "<<sizeof(unsigned short int)<<std::endl;
    std::cout<<std::endl;
    std::cout<<"sizeof int: "<<sizeof(int)<<std::endl;
    std::cout<<"sizeof signed int: "<<sizeof(signed int)<<std::endl;
    std::cout<<"sizeof unsigned int: "<<sizeof(unsigned int)<<std::endl;
    std::cout<<std::endl;
    std::cout<<"sizeof long [int]: "<<sizeof(long int)<<std::endl;
    std::cout<<"sizeof signed long [int]: "<<sizeof(signed long int)<<std::endl;
    std::cout<<"sizeof unsigned long [int]: "<<sizeof(unsigned long int)<<std::endl;
    std::cout<<std::endl;
return 0; }

结果如下:

16. 以不同方式输出整数

#include <iostream>

using namespace std;

int main(){
    int x = 10, y = 20, z = 30;
    cout<<"To display in decimal: ";
    cout<<"x = "<<x<<", y = "<<y<<", z = "<<z<<endl;
    cout<<"To display in hex: ";
    cout<<hex<<"x = "<<x<<", y = "<<y<<", z = "<<z<<endl;
    cout<<"To display in oct: ";
    cout<<oct<<"x = "<<x<<", y = "<<y<<", z = "<<z<<endl;
   return 0; }

结果:

 

17. 变量未初始化

#include <iostream>

using namespace std;


int main(){
    int a;
    for(auto i = 0; i < 10 ; i++)cout<<a<<endl;
    return 0;
}

结果:

 

转载于:https://www.cnblogs.com/oddcat/p/9672477.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值