C++学习02day——字符

基数:某进制计数制允许选用的基本数字符号的个数称为基数

权:各进制中每一个固定位置对应的单值成为权,权的大小是以基数为底,数字符号所处的位置序号为指数的整数次幂

比如说,2的3次方,权为3(固定位置),2为基数(底)

进制的表示B表示二进制,O八进制,D十进制,H十六进制

其他进制转化为二进制:除基取余倒着读。(注意:如果是小数要正着读)二进制转化为其他进制,*对应的倍数

(个人总结:大的变小的,除基取余倒着读,小的变大的*对应的倍数)

二进制,八进制,十六进制相互转化,二->八(三位),二->八(四位)

在 C++ 中,auto 是一个类型推导关键字,它允许编译器自动推断变量的类型

内联函数(虽说调用了两个函数,用力inline之后,能只用一块空间反复调用,可以节约栈空间)(放在函数定义的地方):在C语言中,如果一些函数被频繁调用,不断地有函数入栈,会造成栈空间和栈内存的大量消耗,在C++中,为了解决这个问题,特别的引入了inline修饰符,表示内联函数

内联函数的定义:

inline returntype funcname(paramterType params)//与函数定义放在一起{

        return [val];

}

内联函数的inline关键字,只能放在函数定义的地方,不能放在定义接口的地方,类似static

使用限制:

inline只适合函数体内代码简单的函数使用,不能包括复杂的结构控制语句例如while switch并且内联函数本身不是直接递归函数

函数重载(不仅函数可以重载,运算符也可以重载)

函数重载规则:
1.函数名称必须相同

2.参数列表必须不同(个数不同,类型不同,参数排列顺序不同等)

3.函数的返回类型可以相同也可以不同

4.仅仅返回类型的不同不足以成为函数的重载

字符串与字符数组

字符串最后又一个\n

输入输出

1.cout,cin(输入输出连续字符,遇到空格与\n都会停止)

2.gets(输入,可带空格,到最后\n位置停止,遇到空格不会停止),puts(直接输出一整个字符串)

cout 在遇到char数组时,会输出整个字符串,直到遇到NULL,所以就算普通char 单个字符地址,我们也需要(void *)(无类型指针或空指针或泛指针)来强制转化它的类型

直接加地址符,是把里面的值直接输出

这时候就应该加上强制类型转化

在访问连续内存空间的时候,无论是字符数组还是字符串数组,得遇到NULL才能停止,arr没有NULL,后续继续连续的访问,就会出现越界的问题而出现乱码,这与输出特性有关,不与数组的类型有关字符数组操作

str n cat( 字符串名 1, 字符串名 2,n);
将字符串 2 n 个字符连接到字符串 1 后边 ( 返回字符串 1 的值 )
stricmp( 字符串名 1, 字符串名 2) windows
strcasecmp( 字符串名 1, 字符串名 2) macos/linux
不区分大小写比较字符串 1 和字符串 2 的大小 , 比较的结果由函数返 回值带回。
str ni cmp( 字符串名 1, 字符串名 2, 长度 n);
不区分大小写比较字符串 1 和字符串 2 的前 n 个字符 , 比较的结果由函 数返回值带回。
 查找:
strchr(字符串,c)在字符串中查找指定字符
strrchr(字符串,c)在字符串中反向查找
返回一个指向该字符串中第一次出现的字符的指针,如果字符串中不包括该字符则返回NULL空指针。
strlwr(字符串名) 将字符串中大写字母换成小写字母
strupr(字符串名)将字符串中小写字母换成大写字母
memset(字符串名,初始化值,初始化字节数),将某一块内存中的内容全部设置为指定的值
字符串类型转化
atio(p)转为 int;
atof(p)转为double
atlo(p)转为long型
字符检查
isalpha() 检查是否为字母字符
isupper() 检查是否为大写字母字符
islower() 检查是否为小写字母字符
isdigit() 检查是否为数字
isxdigit() 检查是否为十六进制数字表示的有效字符
isspace() 检查是否为空格类型字符
iscntrl() 检查是否为控制字符
ispunct() 检查是否为标点符号
isalnum() 检查是否为字母和数字
isprint() 检查是否是可打印字符
isgraph() 检查是否是图形字符,等效于 isalnum() | ispunct()
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值