C++学习笔记(供学过C使用最好)

本文介绍了C++语言的基本概念,如字符常数、字符串处理、布尔类型、C++库的使用(如iostream和random)、文件流操作、类型转换、流操作符(setw、fixed、setprecision等)以及面试中常见的知识点,如颜色设置和Android/Java开发面试真题。
摘要由CSDN通过智能技术生成

11、字符常数用单引号括起来,字符串常数用双引号括起来,诸如\n之类的转义字符在内部是以单个字符储存的。

12、C++提供了string类,在第一步必须要引用#include。

13、Bool 数据类型 布尔变量可被设计为true或者false,具有true或者false 值表达式被称为布尔表达式。

#include

using namespace std;

int main()

{

bool i;

i=true;

cout<<i<<endl;

i=false;

cout<<i<<endl;

return 0;

} 单词true和false不能用引号括起来,因为他们是变量。

14.sizeof运算符可以用于确定系统上任何数据类型的大小,数据类型或者变量名称放在运算符后面的括号内,运算符返回该项目使用的字节数。

例如:double apple;

Sizeof(apple)==8

Sizeof(int)==4

15.auto是c++11引入另外的一种方式声明变量

例如 auto amount=100;,关键字auto这是告诉编辑器通过初始值来确定变量类型。初始值100是一个整数,所以amount是一个int类型。

16.cout对象可以显示C++中任何表达式的值。

17.使用数学库函数要引用#include头文件。

18.类型强制转换使用 static_cast(value)

19.命名常量 const double INTFG=0.069;const是一个限定符,告诉编译器TNTFG为只读;在命名常量时必须用一个值来进行初始化,他不可以通过先定义,后赋值。

20.C++中使用流操作符setw可用于建立指定宽度的打印区域用法示例:

Value=23;

Cout<<setw(5)<<value<<endl;

单词setw后面的括号数字表示字段宽度。他是以右对齐方式输出,#include头文件必须必须包含在使用的setw的任何程序中。

21.setprecision操作符用来控制显示浮点数值的有效位数的数量。如果有效位数小于要显示的数字,则setprecision将舍入,另外,抹尾是零的将被省略。与所有格式化操作符一样,必须包含头文件iomanip才能使用。Setprecision的精度设计将保持有效,直到下一次更改为止。

22.fixed,他表示浮点输出应该以固定点,fixed与setprecision一起使用时,将会确定小数点后面的位数,而不是有效位数。例

Cout<<fixed<<setprecision(2);

23.默认情况下,浮点数不会显示尾数0,showpoint表示打印浮点数的小数点和小数位数;与setprecision一样,fixed和showpoint操作符都将持续有效,直到程序员明确更改。

经典利用:cout<<fixed<<showpoint<<setprecision(2)<<X<<endl;

表示保留两位小数。

24.lefe和right操作符

使用left操作符,left的左对齐将一直有效,直到使用right操作符将设置改为右对齐。这两个操作符可以用于任何类型的值,甚至包括字符串。

Fixed,showpoint,setprecision操作符对整数没有影响,只对浮点数有效。

25.输出流操作符

Setw(n) 为下一个输出值打印最小字段宽度n

fixed 以固定点的形式显示浮点数

showpoint 显示浮点数的小数点和尾数0,即使没有小数点也一样

setprecision 设置浮点数的精度(有效位数)

left 使后续输出左对齐

right 使后续输出右对齐

25.cin他以非空字符开始,以空白字符表示读取结束。getline函数可以实现整行读取,其使用:

Getline(cin,name);name是字符串string变量的名称。

26.cin>>不可能仅输入一个空格或者回车符,这个时候就要使用cin.get(ch)或者ch=cin.get();

如果程序正在使用get函数简单的暂停屏幕直到按回车键,并且不需要储存字符,可以这样调用:cin.get();

27.cin.ignore函数告诉cin对象跳过键盘缓冲区中的一个或多个字符,以下是他的形式:cin.get(n.c)括号里显示的参数是可选的,n是一个整数,c是一个字符。他们告诉cin跳过n个字符,直到遇见c字符;如果没有参数只会跳过下一个字符例如:

Cin.ignore();

27.c++中测字符串长度的函数 string state=”New Jersey”

Int size=state.length();size将保存为10两个单词之间的空格一样计入其中。

另一个有用的成员函数assign。此函数允许将一组重复的字符赋值给字符串,而不对字符进行计数。例如给spaces赋值22个空格。Spaces.assign(22,’’);

+运算符可以将字符串连接在一起。例如 string i=”hello ”;

String h=”china”;

则i+h=hello china;

28.setw流操作符与width函数都可以留出字符宽度,

Char word(5);

Cin>>setw(5)>>word;

与使用width一样等效

Char word(5);

Cin.width(5);

Cin>>word;

29.cin处理字符段宽度的方式有三个要点

  • 字段宽度只适合用于下一个输入项目;

  • 要为’\0’留出空格

  • cin接触到空格,将停止读取。

30.c字符串必须使用cin.getline来进行整行读入。例:cin.getline(i,20) i为数组名,20为数组大小,只能存储19个字符,最后一个必须存储null。

31.随机数字的使用:必须包含#include头文件, 用法示例:randnum=rand();该函数的数字其实是伪随机数,他们实际上是算法生成的,该算法需要一个初始值,称为种子,如果没有种子,那么他每次运行时产生相同的数字流。要程序每次运行时获得不同的随机的数字流,则必须要为随机数生成器提供一个种子开始。 通过调用srand函数来实现的。

用法示例:int seed;

Cin>>seed;

Srand(seed);

*使用cin读入种子数,比较麻烦,另一种是调用时间函数,必须要引用#include,在调用时间函数时必须给他传递参数0。

用法示例:unsigned seed;

Seed=time(0); srand(seed);

32.随机数的范围设计:

Number=rand%(max-min+1)+min;

33.C++中false被认为为0,true被认为非零的整数。

34.C++中有一个isalpha(‘ 字符’)的函数用来判断一个字符是一个字母字符,测试isalpha(‘x’)评估结果为true;

35.使用字符测试函数必须使用#include头文件

字符测试函数

字符函数 描述

Isalpha 如果参数是字母,返回true,否则反之

Isalnum 如果参数是数字和字母,返回true,否则反之

Isdigit 如果参数是0~9,返回true,否则反之

Islower 如果参数是小写字母,返回true,否则反之

Isprint 如果参数是可打印字符(包括空格),返回true,否则反之

Ispunct 如果参数是除数字,字母,空格外的可打印字符,返回true,否则反之

isupper 如果参数是大写字母,返回true,否则反之

Isspace 如果参数是白色的空格字符,返回true,否则反之

36.介绍两个函数toupper和tolower这两个函数使用必须包含#include头文件。

  • toupper该函数传递一个字符并且返回字符整数的ASCII码,如果界收的是小写字母则返回大写字母的ASCII码。如果界收的是大写字母则返回本身的ASCII码。Toupper返回是ASCII码,但是如果,他被赋值给一个char变量,这打印字符。

  • tolower 反之

37.C++程序中输入输出文件设置程序

当程序使用文件时必须采取5个步骤

(1)包括执行文件输入输出所需的头文件#include

(2)定义文件流对象

(3)打开文件

(4)使用文件

(5)关闭文件

文件流数据类型

文件流数据类型 描述

ofstream 输出文件流,创建文件并写入数据

ifstream 输入文件流,打开文件并读取数据

fstream 文件流,打开文件进行读取,写入两者兼容

输入(读取)示例:

Ifstream inputFile;

inputFile.open(“nubn.txt”);

输出(写入)示例:

Ofstream outputFile;

outputFile.open(“cubsu.txt”);

关闭文件

OutputFile.close();

38.C++(11)以前open函数不接受string对象,open函数要求将文件的名称作为一个由null终止字符串传递。但可以利用c_str的函数转换,示例:

ifstream inputFile;

string fileName;

int numValues;

double value,

total=0;

cout<<“This program reads abd sums the values in a data file.”<<endl;

cout<<"Enter the name of the file to read from: "<<endl;

cin>>fileName;

inputFile.open(fileName.c_str() );

39.创建一个丰富多彩的程序;

  • 使用头文件#include<windows.h>

  • cout对象写入标准输出屏幕。可以通过提供一个句柄来设置此屏幕上的颜色。句柄是HANDLE类型的对象由Microsoft Windows

定义。以下就是如何捕获标椎输出到屏幕的句柄;

HANDLE screen=GetStdHandle(STD_OUTPUT_HANDLE);

通过调用SetConsoleTextAttribute函数来实现

HANDLE screen=GetStdHandle(STD_OUTPUT_HANDLE);

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。

还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

Android 基础知识点

Java 基础知识点

Android 源码相关分析

常见的一些原理性问题

希望大家在今年一切顺利,进到自己想进的公司,共勉!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

Android 基础知识点

Java 基础知识点

Android 源码相关分析

常见的一些原理性问题

[外链图片转存中…(img-sNziV9hv-1713299538204)]

希望大家在今年一切顺利,进到自己想进的公司,共勉!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值