栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++入门知识点

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++入门知识点

1.C++包括基本数据类型和自定义数据类型,基本数据类型包括:整型,浮点型,字符型,逻辑型;自定义数据类型有数组型,指针型,构造数据类型(结构体型,联合体型,枚举型),类,空类型。
2.常量包括整型常量,实型常量,字符常量,字符串常量,布尔常量,枚举常量;实型常量表示方式数字+E(或e)(代码里e为10)+整数;
3.布尔常量用法
A.bool:b;
b=33; //33成立,则为true,所以b=1
B.bool isPrime(int x); //此函数用于判断一个整数是否为质数,是则返回ture,否则为flase
C.bool greater(int x,int y){return x>y;}//判断两个数大小,返回ture或false
D.bool b=ture;
While(b){…};
在算数和逻辑表达式里,bool都被转换为int类型的数据,在这种转换后得到的值上进行各种算数和逻辑运算。注意:指针也可以隐式的转换为bool类型,空指针转换为false,非空指针转换为ture.
4.枚举常量(格式:enum<枚举名>{<枚举表>})
A.<枚举表>由若干个枚举符组成,多个枚举符之间的逗号分隔
B.枚举符是用标识符表示的整型变量,又称枚举常量
C.枚举常量的值默认为最前面的一个零,其后的值依次加一
D.枚举常量的值也可以显示定义,未显示定义的则在前面的基础上加一
5.I/O流常用的格式控制符
头文件:#include
控制符 描述
dec 置基数为10
oct 置基数为8
hex 置基数为16
setfill(w) 设填充字符为w
setprecision(m) 设显示精度为m位,包括整数部分
setw(m) 设域宽为m个字符
setiosflags(iso:fixed) 固定的浮点数显示
setiosflags(iso:scientific) 浮点数采用科学计数法表示
setiosflags(iso:right) 右对齐
setiosflags(iso:left) 左对齐
setiosflags(iso:skipws) 忽略前导空白
setiosflags(iso:lowercase) 十六进制小写输出
setiosflags(iso:uppercase) 十六进制数大写输出
setiosflags(iso:showpoint) 强制显示小数点符号
setiosflags(iso:showpos) 强制显示符号
resetiosflags(上面括号里面的内容)取消输出数据的各种格式(使用了哪种格式就括号里面内容去取消)
A.例如:int x=34;
cout< cout< 运行结果为11 22 12 42 22
设置数制基数后,它一直有效,直到遇到下一个基数设置
B.setw(n) //n是输出数据占用屏幕宽度的字符个数,在默认的情况下,输出数据按右对齐。若输出数据的位数比n小,则左边留空,若输出数据的实际位数比n大,则输出数据将自动扩充到所需占用的列数(左边补满,向右扩展)
6.字符输入函数getch(),getche(),getchar()
(1)getch():直接从键盘接受一个字符,将一个从键盘输入的字符给字符型变量,在屏幕上不回显(输入时不显示)
(2)getche:直接从键盘接收一个字符,并在屏幕上回显(先回显,再输出cout)
(3)getchar:从键盘接收一个字符,并在屏幕上回显该字符,在按回车键后该字符才进入内存(先回显再回车,再cout)
例题:char x;
x=getch(); cout<<”x=”< X=getche(); cout<<”x=”< X=getchar(); cout<<”x=”< 运行结果:输入ABC(回车)
X=A
BX=B
C
X=C
7.
①不带参数的get函数,其调用方式:cin.get()
用来从指定的输入流中提取一个字符(包括空白字符),函数的返回值就是读入的字符。若遇到输入流中的文件结束符,则函数值返回文件结束标志位EOF,一般以-1代表EFO,用-1而不用0或者正值,是考虑到不与字符的ASCLL代码混淆,但C++系统所用的EFO值有可能不同(个人理解:用于提取输入的内容)
②有一个参数的get函数其调用形式为cin.get(ch)
其作用是从输入流中读取一个字符,赋给字符变量ch,如果读取成功,则函数返回ture,如果失败,则返回false(一般用于判断读取语句中)
③有三个参数的get函数,其调用形式为cin.get(字符数组,字符个数n,终止字符)或cin.get(字符指针,字符个数n,终止字符)注意:终止结束符自己指定,不要像个憨憨一样等系统给你指定,判断顺序为终止符,再字符个数
其作用是从输入流中读取n-1个字符,赋给指定字符数组(或字符指针指向的数组),如果在读取n-1个字符之前遇到终止字符,则提前结束读取。如果读取成功,则函数返回ture,如果失败(遇到文件结束符),则返回false
④cin.getline()函数读入一行字符
getline函数的作用是从输入流中读取一行字符,其用法与带三个参数的get函数类似。cin.getline(字符数组(或字符指针),字符个数n,终止标识字符)
⑤getline()
当接受一个字符串,可以接受空格并输出,需要包含#include
注意:cin.getline()属于istream流,而getline()属于string,是不一样的两个函数;当同时使用getline(cin,str)时,在不设置结束标志的情况下系统默认为’n’,也就是回车换行符(遇到回车停止读入)将回车符作为输入流的一部分,输入完回车符后才算把输入的内容输入完成
2.3 c++中的类型转换
1.隐式类型转换
①在出现了很多数据类型的算数表达式中。转换原则是窄数据类型(占用存储空间少的类型)向宽数据类型转换(占用存储空间多的类型)。窄类型数据向宽类型转换不会损失数据精度,因为宽类型有足够的存储空间保存窄类型数据;相反,宽数据类型转换成窄数据类型不够安全,常会发生精度损失。宽到窄常常采用截取方法
②将一种数据赋值给另一种类型的变量,会发生隐式类型转换,把符指句右边的表达式结果转为赋值右边变量的类型
③函数调用时,若参数表达式与形式参数的类型不符,将发生隐式类型转换(int min(int a,int b); 最终转换为(形参为int类型)int类型)
④函数的返回时,如果返回表达式的值与函数返回类型不同,发生隐式转换。目标类型是函数返回类型,即将表达式的结果转换为函数返回类型(形参的定义的值,例如double zdd(int ,int )return 返回的为double
3.显示类型转换
static_cast(expression);
const_cast(expression);
dynamic_cast(expression);
reinterpret_cast(expression);
1)static_cast<>
static_cast<>是静态强制转换,能够实现任何标准类型转换,如从整型到枚举型,从浮点类型到整型的转换等,它的作用主要有以下几个方面:
①基本数据之间的转换,如把int类型转换为char类型等;
②把任何类型的表达式转换为void类型
③把空指针转换为目标类型的指针④用于类层次结构中的基类和子类指针或引用的转换
⑤把子类的指针或引用转换为基类类型是安全的
注意:stastic_cast<>不能转换数据类型的const,volatile等特性(可变)
Int x=2;char n=static_cast_cast(x)
2)const_cast<>const_cast<>在进行类型转换类型转换时用来修改类型的const或volatile属性,除了const或volatile修饰之外,原来的数据值和数据类型都不变的(如果用了const,用const_cast可以取消const的特性(前提),如果改变指向使用const的字符,改变指针的值就可以改变原来使用const的字符。
注:const用于修饰常量,使变量成为变量(下面将会说明常量指针和指针常量的区别)
3)dynamic_cast<>
dynamic_cast<>是动态强制数据类型转换,只能用来转换指针和引用,它能够把一种类型的指针或引用转换为另一种类型的指针或引用。该操作符用于进行运行时检查类型是否安全,但只能在多态类型时合法,即该类型至少具有一个虚拟的方法,。它与stastic_cast<>具有相同的语法,但dynamic_cast<>主要用于类层次间上行和下行转换,以及类之间的转换.。在类层次之间的交叉转换。在类层次进行转换时,它和stastic_cast效果是一样的,在进行转换时,它具有类型检查的功能,比stastic更安全。dynamic_cast所完成的类型转换时在程序运行时刻实现的,而其他类型的强制转换在编译的时就完成了
4)reinterpret_cast<>
reinterpret_cast<>是重解释强制转换,它能够完成互不相干的数据类型之间的转换,如将整型转换为指针,或把一个指针转换成与之不相干的另一个类型指针
reinterpret_cast其实是按强制转换所指定的类型对要转换数据的内存区域进行重新定义。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/396160.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号