我的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个阿拉伯数字
其他符号:+ - * / = , . : ; ? \ “ ’ ~ |!# % & ( ) [ ]{ } ^ < >空格
5)C++字符集所构成的词法单位有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开始,由数字0~7组成
C) 十六进制以0X(或0x)开头,由数字0~9和字母A~F(大小写均可)组成。
⑵ 整型常量还可以表示长整数和无符号整数
A)长整型常数以L和l结尾,
B)无符号长常数以U和u结尾,
C)以UL或LU(大小写均可)结尾则表示无符号长整型常数
ⅱ 实型常量:(含有小数点的或10的幂的数)
可以用一般形式和指数形式表示:
A)一般形式和平时书写一样
B)指数形式:由尾数、E或(e)和阶数组成
C)尾数必须有数字,阶数必须为整数
ⅲ 字符型常量:(是用单引号引起来的单个字符)
A) 在内存中保存的是ASCII码值,显示的字符为单引号中字符
B) 还有不可显示的以及不能从键盘上输入的
符,可以用转义序列的表示方法表示
Eg.′\n′ //换行符
ⅳ 字符串常量:(用双引号引起来的若干个字符)
A)比字符型常量在存储中多了一个字“\0”,称为串结束符。
B)字符串常量实际占用的字节数是:
字符串的长度+1
5)常变量必须也只能在说明时进行初始化,用常量说明符给文字常量起名,这个标识符就称为标识符常量,因为标识符的说明和引用的形式很像变量,因此也称为常变脸
四 简单的输入和输出
(C++没有专门的输入输出语句,它是通过系统提供的
输入输出流类来实现的)
1、ci n和cout(最基本的数据输入输出,包括整数、实数、字
符和字符串)
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>
则:c1为A c2为b c3为c
② 从键盘上输入的数据的个数、顺序、类型必须与cin中所列的变量一致,否则出错,而很多情况下程序不给出提示。
③ 如果希望把所有输入的内容(包括间隔符)都赋给变量,必须使用函数cin.get(),cin.get()函数只能提取一个字符的值。格式为:
char c1,c2,c3;
cin.get(c1);
cin.get(c2);
cin.get(c3);
如果输入: A b<CR> //<CR>表示回车符
c<CR>
则:c1为A c2为 空格 c3为b
2)字符串的输入和输出:
① 向一个字符数组中输入字符串时,用函数getline()最
合适。如:
char city[11];
cin.getline(city,10); //从键盘上输入城市名
cout<<〝城市名〞<<city<<endl;
② 注意:从键盘上最多只能输入9个字符,因为还要存储串结束符ˋ\0ˊ。
3、数据的间隔:
1) 除了用输出空格和回车换行外,还可以用函数setw()来设置输出数据的宽度。但在使用前,必须在程序开头加上:
#include<iomanip>
2) 只要在setw()的括号中给出一个整整数值,就限定了紧跟其后的一个数据的输出宽度。
注意:如果数据的实际宽度小于指定的宽度,则按右对齐的方式在左边留空;如果数据的实际宽度大于指定宽度,则按实际宽度输出,即指定宽度失效。