C++ 知识点记录(1)基础知识

1. 对于float,C++只保证6位有效位,如果需要更高的精度,使用double或long double。

2. 类型转换:对不同类型进行运算时,C++将把它们转换为同一类型。

(1)浮点常量在默认情况下为double类型。

(2)将浮点型转换为整型时,C++采取截取(丢弃小数部分)而不是四舍五入。

3. 求模运算符返回整数除法的余数,它与整数除法相结合,尤其适用于解决要求将一个量分成不同整数单元的问题。例如将英寸转换为英尺和英寸。

4. sizeof是C++的一个操作符,作用是返回一个对象或者类型所占用的内存字节数。其计算发生在编译时刻,因此可以被当作常量表达式使用。如果将sizeof用于数组名,返回的是整个数组的长度(字节数),而sizeof用于数组元素,返回的是这个元素的长度。

5. strlen()函数返回的是存储在数组中字符串的长度,而不是数组本身的长度。且只计算可见的字符,不把空字符'\0'计算在内。如果cosmic是字符串,则存储此字符串的数组长度不能小于strlen(cosmic)+1。

6. cin使用空白(空格、制表符和换行符)来确定字符串的结束位置,这意味着cin在获取字符数组输入时只读取一个单词,将其放到数组中,并自动在结尾添加空字符。

7. istream中的类(如cin)提供了一些面向行的类成员函数:getline()和get()。这俩函数都读取一行输入,直到到达换行符。区别是,getline()将丢弃换行符,而get()将换行符保留在输入序列中。

(1)面向行的输入:getline()。调用方法:cin.getline()

       该函数包含两个参数,第一个参数用来存储输入行的数组的名称,第二个参数指出要读取的字符数,如果此参数为20,则最多读取19个字符,余下的空间用于存储在结尾自动添加的空字符。getline()成员函数在读取指定数目的字符或遇到换行符时停止读取。

// instr2.cpp -- reading more than one word with getline
#include <iostream>
int main()
{
	using namespace std;
	const int ArSize = 20;
	char name[ArSize];
	char dessert[ArSize];

	cout << "Enter your name: \n";
	cin.getline(name, ArSize);  //reads through newline
	cout << "Enter your favorite dessert: \n";
	cin.getline(dessert, ArSize);
	cout << "I have some delicious " << dessert;
	cout << " for you, " << name << ".\n";

	return 0;
}

(2)面向行的输入:get()

       使用不带任何参数的cin.get()调用可读取下一个字符(即使时换行符)。注意,get()函数在调用后,会将换行符留在输入队列里。注意采用下面的调用序列:

cin.get(name, ArSize);
cin.get();
cin.get(dessert, ArSize);

另一种使用get()的方式是将两个类成员函数拼接起来:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值