经典利用: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);
for( int color=0;color<16;color++)
{
SetConsoleTextAttribute(screen,color);
cout<<“qiuqiuzhenkeai”<<endl;
Sleep(400);
}
40.清除屏幕
System (“cls”);
在用户选择要显示的新报告,该命令将从屏幕中删除上一个报告。
41.函数内部定义的参数是局部变量,只在该函数内部使用才有用。在刚开始外,所有的函数外定义为全局变量,全局变量如果不对其初始化,系统自动将它设置为0;局部变量不会像全局变量自动初始化。
42.静态变量的声明:在定义之前加上一个static;例如:
Static int x=1;如果程序员没有将其初始化那么系统会自动初始化0。
43.如果在函数调用时没有提供实参,则会将默认实参自动传递给形参;默认实参通常列在函数原型中:
Void int (double l=20.0,double w=10.0);
或者 Void int (double =20.0,double =10.0);
44.* 默认实参值必须是常数值或命名
-
当在函数调用中遗漏了一个实参时,他后面的所有实参也必须被省略。
-
当函数使用了带默认的实参和不带默认实参这两种混合的形参时,带默认的实参的形参必须最后声明。
45.引用变量相当于一个传地址调用,可以改变其实参的内容,
void getNum(int & userNum);这是一个函数头;只有变量才能按引用传递,如果尝试将非变量按引用传递,将导致错误。
如果一个函数有多个引用变量则必须在原型和函数头中为每一个形参使用&符号。
46.重载函数
只要形参列表不同,两个或多个函数可能具有相同的名称。
例如 :square (int )
Square (double)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/808e059cd7f272bf68bdebcbd14c6885.jpeg)
文末
好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。
这里放上一部分我工作以来以及参与过的大大小小的面试收集总结出来的相关的几十套腾讯、头条、阿里、美团等公司21年的面试专题,其中把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
【延伸Android必备知识点】
这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
)]
【延伸Android必备知识点】
[外链图片转存中…(img-sbnZVyUh-1712483436255)]
这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!