C++学习笔记(day1)

简介: C++学习笔记(day1)

using namespace std;  //用命名空间std


C++中如果想要输出表示自己想要的位数,可以使用:

cout.precision(位数);


如果想要规范小数位数,需要添加以下语句:

cout.flags(cout.fixed);

cout.precision(位数);


无符号数:

不能表示负数!

如果强行用无符号数表示负数,实际存储的是这个负数对应的“补码”

即:该负数+“模值”



输入规范性检查:

    int a;
  cout<<"请输入a:";
  cin>>a;
  if(cin.fail())
  {
    cout<<"输入失败,应该输入一个整数"<<endl;
    cin.clear();//清除cin的错误标志
    cin.sync();//清空输入缓冲区的数据
  }


sing namespace std;  //用命名空间std


C++中如果想要输出表示自己想要的位数,可以使用:

cout.precision(位数);


如果想要规范小数位数,需要添加以下语句:

cout.flags(cout.fixed);

cout.precision(位数);


无符号数:不能表示负数!

如果强行用无符号数表示负数,实际存储的是这个负数对应的“补码”

即:该负数+“模值”



字符串概念:

就是0个或者多个“字符”组成的“有序”序列。

组成要点:

1)由“字符”组成

2)按照特定的顺序组成


字符串长度:也就是字符串包含的字符个数(不是指中文)。

所以有:

空字符串的长度为0

“”是空字符串常量,没有一个字符,长度为0

特别:1个汉字长度占两个字节,长度为2


字符串常量:“字面型”字符串常量,要求用“”扩起来。


字符串变量的表示

在C语言中,使用char类型的数组,来存储字符串变量

注:C语言中,没有专用的字符串类型。


在C++中,使用std::string类型来表示字符串变量。


区别:

C语言字符串:

字符串结束符:'\0'

例:

“CHINA”=> 'C'   'H'   'I'   'N'   'A'   '\0'


C++字符串(string):

“CHINA”=> 'C'   'H'   'I'   'N'   'A'


C++风格的字符串string

string变量的定义、初始化 :

1)string girlFriend1;

     girlFriend1="王菲";


2)string girlFriend2;

  girlFriend2=girlFriend1;


3)string girlFriend("周迅");


4)string girlFriend4(girlFriend3);


5)string girlFriend5(10,'A');//定义指定字符串长度为10,里面全是A。等效于string girlFriend5("AAAAAAAAAA");


string变量的输入和输出:

例子:

cin>>job;//输入从第一个非空白字符(空白字符:回车符、制表符、空格)开始,直到遇到空白字符为止,和C语言的scanf类似


Windows系统:

连续输入多个字符串,而且输入的字符串个数不确定。

直到输入结束时(Ctrl+z并回车)

因为cin输入从第一个非空白字符(空白字符:回车符、制表符、空格)开始,直到遇到空白字符为止,和C语言的scanf类似。所以需要用循环语句来实现

使用cin>>输入时,如果遇到文件结束符(Ctrl+z),就返回0

string food;

int count;

while(cin>>food)

{

   count=count+1;

   cout<<"你最喜欢的第"<<count<<"美食是:"<<food<<endl;

}


string变量-读取一行

例:

string addr;

getline(cin,addr);//读一行,直到遇到回车符,注意不包括回车符。使用这个时,如果用户直接回车,就没有任何数据输入


补充:addr.empty();==true//判断字符串是否为空串

empty()判断一个字符串是否为空。如果是空字符串,结果为true(真),否则结果为false(假)



计算字符串的长度:

1)size()

例:

string addr;

cout<<addr.size()<<endl;


2)length()

string addr;

cout<<addr.length()<<endl;


相关文章
|
3月前
|
算法 API 计算机视觉
[opencv学习笔记] jiazhigang 30讲源码C++版本(含Makefile)
[opencv学习笔记] jiazhigang 30讲源码C++版本(含Makefile)
27 0
|
4月前
|
缓存 网络协议 Linux
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
55 0
|
4月前
|
存储 关系型数据库 MySQL
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
52 0
|
4月前
|
关系型数据库 MySQL 数据库
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
51 0
|
4月前
|
Shell Linux C++
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
39 0
|
4月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
59 0
|
4月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
39 0
|
4月前
|
算法 Linux Shell
Linux C/C++ 开发(学习笔记三):Linux C编程案例
Linux C/C++ 开发(学习笔记三):Linux C编程案例
25 0
|
6天前
|
C++
C++虚函数学习笔记
C++虚函数学习笔记
10 0
|
14天前
|
机器学习/深度学习 存储 算法
基础算法学习笔记(C++)
基础算法学习笔记(C++)
54 0