我的C++第一篇 基础知识

时间:2022-01-24 14:01:44
 

我的C++

第一篇    C++基础知识(是一种强类型语言)

 数据类型

1  C++数据的使用严格遵循“先说明后使用”的原则。

2  C++数据的类型:

                         整型(int

                         字符型(char

基本数据类型:                                

单精度型(float

                         实型双精度型(double

布尔型(bool

无值型(void

数据类型:

         

数组(type[ ]

指针(type*

引用(type&                    

         非基本数据类型:                            

类(class

结构(struct

联合(union

枚举(enum

3         基本数据类型介绍:(C++对基本数据类型分别进行了分装,

称为内置数据类型)

1         整型:1) 用来处理整数   

 2) 不加说明时指有符号整数,在内存中存放的是它的补码,无符号整数没有符号位,存放的是它的原码

3) 整数占用的字节数与机型有关,一般占用两个或四个字节(在32位机上占用四个)

    2 字符型:1 用来处理字符,存储的是该字符的ASCII  

                         2字符型数据类型的本质是整数,可以是任何一个8位二进制整数

                         3通常说的字符型指单字符型,还有宽字符类型,但不属于基本数据类型

    3 实型: 1用来处理实数,单和双精度类型表示的实数精度不同

                        2实数在内存中以规范化的浮点形式存储,包括尾数数符阶码

    4 布尔型:1又称为逻辑型,用来处理逻辑量

                        2取值只有true(逻辑真)false(逻辑假)

                        3在运算中可以和整形相互转换:

                                  false对应   true对应1或非0 

    5 无值型: 主要用来说明函数的返回值类型

  词法单位

1  字符集:1 ASCII码字符集是计算机领域中常用的字符集,它包括英文字母,阿拉伯数字等在内的128个字符,每个ASCII的存储占用一个字节

     2)国标码的存储占用两个字节

     3)Unicode字符集最多可容纳65536个符

                     4)用于C++的字符集包括:

                              26个大小写字母       10个阿拉伯数字

                           其他符号:+ - * / = , . : ; ? \ “ ’ ~ |# % & ( ) [ ]{ } ^ < >空格

                    5C++字符集所构成的词法单位有5种:关键字、标识符、常量、运算符和标点符号

2 关键字 又称为保留字,是由系统定义的具有特定含义的全由小写字母组成的英文单词,并且不能另作它用

3标字符:1是程序员定义的“单词”,用来为程序中涉及的变量、常量、函数及自定义数据类型等命名

                    2在标准C++中,合法标识符由字母或下划线开始,由字母、数字或下划线组成,其有效长度为1~31个字符

                   3用户自定义标识符时不能使用关键字

4标点符号:1有些标点符号有一定的语法意义,如:

〃〃引用字符串‵‵引用字符 

                       2)起分隔作用:运算符、空格符、制表符(Tab键)、回车符。

 变量和常量:

1 变量:1变量必须用标识符进行标识,该标识符称为变量

               2)程序编译时,编译器根据变量类型为每个变量分配

一段连续的内存单元。

                 3)变量说明:(变量定义)

                     一般格式:《存储类型》数据类型 变量名1《,

变量名2,…,变量名n

                   Eg. int i,j,k;  说明3个变量i,j,k

                  float x,y,z;说明3个单精度实型变量x,y,z

      4变量初始化:(初始化可以避免引用到随机变量)

          Eg. int a=3,b=4,c=5;

               float x=3.0;

       5)变量定义可以出现在程序中的任何位置,只要在使用前定义即可

2常量:1)分为文字常量和常变量(符号变量)

       2)常量是指取值在程序的执行过程中始终保持不变的

3文字常量存储在程序区,而不是数据区,对它的访问不是通过数据地址进行的

4)根据取值表示方法的不同,文字常量分为整型常量、实行常量、字符型常量、和字符串常量

 ⅰ 整型常量:

⑴ 可以用十进制、八进制、十六进制等表示

 A) 十进制和平时书写的一样

B) 八进制以0开始,由数字07组成

C) 十六进制以0X(或0x)开头,由数字09和字母AF(大小写均可)组成。

⑵ 整型常量还可以表示长整数和无符号整数

 A)长整型常数以Ll结尾,

 B)无符号长常数以Uu结尾,

 C)以ULLU(大小写均可)结尾则表示无符号长整型常数

         ⅱ 实型常量:(含有小数点的或10的幂的数)

             可以用一般形式和指数形式表示:

             A)一般形式和平时书写一样

             B)指数形式:由尾数、E或(e)和阶数组成

             C)尾数必须有数字,阶数必须为整数

          ⅲ 字符型常量:(是用单引号引起来的单个字符)

             A) 在内存中保存的是ASCII码值,显示的字符为单引号中字符

       B) 还有不可显示的以及不能从键盘上输入的

符,可以用转义序列的表示方法表示

Eg.\n //换行符

           ⅳ 字符串常量:(用双引号引起来的若干个字符)

             A)比字符型常量在存储中多了一个字“\0,称为串结束符。

             B)字符串常量实际占用的字节数是:

字符串的长度+1

       5常变量必须也只能在说明时进行初始化,用常量说明符给文字常量起名,这个标识符就称为标识符常量,因为标识符的说明和引用的形式很像变量,因此也称为常变脸

四 简单的输入和输出

   (C++没有专门的输入输出语句,它是通过系统提供的

输入输出流类来实现的)

1、ci ncout(最基本的数据输入输出,包括整数、实数、字

符和字符串)

  1) cin用来在程序执行期间给变量输入数据

    一般格式:cin>>变量名1>>变量名2>>>>变量名n

2 cout实现将数据输出到显示器上的操作

一般格式:cout<<表达式1<<表达式2<<<<表达式n

3 >> 称为提取运算符   <<  称为插入运算符

4) 使用cin cout时必须在程序开头增加:

     #include<iostream>

     Using namespace std;

2、数据的输入和输出:

 1) 字符的输入和输出:

    ① 格式:

 char c1,c2,c3; -------------定义变量

       cin>>c1;

       cin>>c2>>c3;

      如果输入: Ab<CR>   //<CR>表示回车符

                c<CR>

      则:c1A c2b  c3c

    ② 从键盘上输入的数据的个数、顺序、类型必须与cin中所列的变量一致,否则出错,而很多情况下程序不给出提示。

    ③ 如果希望把所有输入的内容(包括间隔符)都赋给变量,必须使用函数cin.get(),cin.get()函数只能提取一个字符的值。格式为:

          char c1,c2,c3;

          cin.get(c1);

          cin.get(c2);

          cin.get(c3);

如果输入: A b<CR>   //<CR>表示回车符

                c<CR>

      则:c1A c2为 空格   c3b

   2)字符串的输入和输出:

      向一个字符数组中输入字符串时,用函数getline()

合适。如:

  char city[11];

  cin.getline(city,10);  //从键盘上输入城市名

  cout<<〝城市名〞<<city<<endl;

 注意:从键盘上最多只能输入9个字符,因为还要存储串结束符ˋ\0ˊ

3、数据的间隔

   1) 除了用输出空格和回车换行外,还可以用函数setw()来设置输出数据的宽度。但在使用前,必须在程序开头加上:

       #include<iomanip>

  2) 只要在setw()的括号中给出一个整整数值,就限定了紧跟其后的一个数据的输出宽度。

    注意:如果数据的实际宽度小于指定的宽度,则按右对齐的方式在左边留空;如果数据的实际宽度大于指定宽度,则按实际宽度输出,即指定宽度失效。