C++初识篇2(黑马程序员笔记)

2. 数据类型

C++规定在创建一个变量或常量时,必须要指出相应的数据类型,否则无法给变量分配内存

2.1 整型

作用:整型变量表示的是整型类型的数据

C++中能够表示整形的类型有以下几种方式,区别在于所占内存空间不同:

数据类型占用空间取值范围
short(短整型)2字节(-2^15 ~ 2^15-1)
int(整型)4字节(-2^31 ~ 2^31-1)
long(长整型)

Window为4字节,LInux为4字节(32位),8字节(64位)

(-2^31 ~ 2^31-1)
long long(长长整型)8字节(-2^63 ~ 2^63-1)

2.2 sizeof关键字

作用:利用sizeof关键字可以统计数据类型所占空间大小

语法:sizeof( 数据类型/变量)

#include <iostream>
using namespace std;

//常量的定义方式
//1. #define 宏常量
//2. const修饰的变量

//1. #define 宏常量
#define Day 7

int main()
{

	short a = 10;
	int b = 10;
	long c = 10;
	long long d = 10;
	cout << "short类型所占内存空间为" << sizeof(short) << endl;
	cout << "int类型所占内存空间为" << sizeof(int) << endl;
	cout << "long类型所占内存空间为" << sizeof(long) << endl;
	cout << "long long类型所占内存空间为" << sizeof(long long) << endl;

	
	cout << "short类型所占内存空间为" << sizeof(a) << endl;
	cout << "int类型所占内存空间为" << sizeof(b) << endl;
	cout << "long类型所占内存空间为" << sizeof(c) << endl;
	cout << "long long类型所占内存空间为" << sizeof(d) << endl;
	system("pause");

	return 0;
}

2.3 实型(浮点型)

作用:用于表示小数

浮点型变量分为两种:

        1. 单精度float

        2. 双精度double

两者的区别在于表示的有效数字范围不同。

数据类型占用空间有效数字范围
float4字节7位有效数字
double8字节15-16位有效数字

默认情况下,编译器会把小数当成double双精度,所以定义单精度时要在小鼠后面加上f。

示例:

double a=3.14;

float b=3.14f;

不管是float还是double,打印出来最多显示6位有效数字

科学计数法

float f2 = 3e2;         //3 * 10^2;

float f2 = 3e-2;         //3 * 0.1^2;

2.4 字符型

作用:表示单个字符

语法: char ch = 'a' ;

        注意1:在使用字符型变量时,用单引号将字符括起来,不要用双引号

        注意2:单引号内只能有一个字符,不可以是字符串

  • C和C++中字符型变量只占用1个字符
  • 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元

2.5 转义字符

作用:用于表示一些不能显示出来的ASCII字符

现阶段我们常用的转义字符有:\n        \\        \t

注意:转义字符可以理解为字符串,存在于双引号里面

转义字符含义ASCII码值(十进制)
\a报警007
\b退格(BS),将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF),将当前位置移到下一行开头010
\r回车(CR),将当前位置移到本行开头013
\t水平制表(HT) (跳到下一个TAB位置)009
\v垂直制表(VT)011
\\代表一个反斜线字符”\“092
\'代表一个单引号字符039
\"代表一个双引号字符034
\?代表一个问号063

示例:

int main()
{

	cout << "换行C++的表示" << endl;
	cout << "换行C语言的表示加转义字符\n";
	//以上两种方法效果一致,均为换行

	cout<<"\n";
	cout<<"\a";

	system("pause");

	return 0;
}

2.6字符串型

作用:用于表示一串字符

两种风格

1. C语言字符串:char 变量名[] = " 字符串值 ";

示例:        char str1[]="hello world";

2.C++风格字符串:string 变量名 = " 字符串值 " ;

示例:        string str2 = " hello world " ;

2.7 布尔类型 bool

作用:布尔数据类型代表真或假的值

bool类型只有两个值:

  • true——真(本质是1)
  • false——假(本质是0)

bool类型占1个字节大小

示例:

bool flag = true;

cout<<flag<<endl;    //输出显示为1

flag = false;

cout<<flag<<endl;    //输出显示为0

2.8 数据的输入

作用:用于从键盘获取数据

关键字:cin

语法: cin>>变量

示例:cin>>a;

注意:bool类型在输入时,应该输入数字,而不是true或者false,除了0,其他数字都是真,比如输入的数字是100,那么cout打印出来的值是1

3. 运算符

作用:用于执行代码的运算

本章我们主要讲解以下几类运算符:

运算符类型作用
算术运算符用于处理四则运算
赋值运算符用于将表达式的值赋值给变量
比较运算符用于表达式的比较,并返回一个真值或假值
逻辑运算符用于根据表达式的值返回真值或假值

3.1算数运算符

作用:用于处理四则运算

算术运算符包括以下符号:

(+ - + - * \ % ++ -- --)

(正 负 加 减 乘 除 取模(取余) 前置递增 后置递增 前置递减 后置递减)

3.2 赋值运算符

作用:用于将表达式的值赋值给变量

(= += -= *= /= %=)

3.3 比较运算符

(==    !=      <     >     <=    >=)

3.4 逻辑运算符

(!   &&   ||)

4. 程序流程结构

C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构

顺序结构:程序按顺序执行,不发生跳转

选择结构:依据条件是否满足,有选择的执行相应的功能

循环结构:依据条件是否满足,循环多次执行某段代码

4.1 选择结构

4.1.1 if语句

作用:执行满足条件的语句

if语句的三种形式

(1)单句

if ( score > 60 )

{

        cout<<"成绩合格"<<endl;

}

(2)多句

if(score>60)

{

        count<<"考试通过"<<endl;

}else{

        count<<"考试需补考"<<endl;

}

(3)多条件if语句

if (score > 90){

        cout << "优"<<endl;

}else if (score > 80){

        cout << "良"<<endl;

}else if (score > 60){

        cout << "及格"<<endl;

}else{

        cout << "不及格"<<endl;

}

(4) 嵌套if

if (score>60){

        if(score>90){

                cout<<"优"<<endl;

        }else if(score>80){

                cout<<"良"<<endl;

        }else{

                cout<<"及格"<<endl;

        }

}else{

        cout<<"不合格"<<endl

}

4.1.2 三目运算符

作用:通过三目运算符实现简单的判断

语法:表达式1?表达式2:表达式3

解释:

如果表达式1的值为真,执行表达式2,并返回表达式2的结果

如果表达式1的值为假,执行表达式3,并返回表达式3的结果

示例:

int a = 10;

int b = 20;

int c = 0;

c = a > b ? a : b;

4.1.3 switch语句

作用:执行多条件分支语句

语法:

switch ( 表达式 )

{

        case 结果1:执行语句; break;

        case 结果2:执行语句; break;

        .........

         default:执行语句; break;

}

示例:

switch (score)

{

        case 10:

                cout<<"您认为是经典电影"<<endl;break;

        case 9:

                 cout<<"您认为是经典电影"<<endl;break;

        case 8:

                cout<<"您认为电影非常好"<<endl;break;

        case 7:

                cout<<"您认为电影非常好"<<endl;break;

         case 6:

                cout<<"您认为电影一般"<<endl;break;

        case 5:

                cout<<"您认为电影一般"<<endl;break;

        default:

                cout<<"您认为这是烂片"<<endl;break;

}

注意:一定要加break,不然会继续向下执行

4.2 循环结构

4.2.1 while循环结构

作用:满足循环条件,执行循环语句

语法:while (循环条件) {循环语句}

解释:只要循环条件的结果为真,就执行循环语句

示例:

int num=0;

while (num<10){

        system("pause");

        num++;

}

4.2.2 do...while循环语句

作用:满足循环条件,执行循环语句

语法:do{ 循环语句 } while( 循环条件 )

注意:与while的区别在于do....while会执行一次循环语句,再判断条件。且括号后面要加分号

示例:

//在屏幕中输出0到9这10个数字

int num=0;

do{

        cout<<num<<endl;

        num++;

} while ( num<10 ) ;

4.2.3 for循环语句

作用:满足循环条件,执行循环语句

语法:for(起始表达式;条件表达式;末尾循环体) { 循环语句; }

示例:

for ( int i=0;i<10;i++ ){

        cout<<i<<endl;

}

4.2.4 嵌套循环

作用:在循环中再嵌套一层循环,解决一些问题

示例:

//打印10行10列*

for (int i=0;i<10;i++)

{

        for(int i=0;i<10;i++)

        {

                cout<<"*";

        }

        cout<<endl;

}

4.3跳转语句

4.3.1 break语句

作用:用于跳出选择结构或循环结构

break使用的时机:

  • 出现在switch条件语句中,作用是终止case并跳出switch
  • 出现在循环语句中,作用是跳出当前的循环语句
  • 出现在嵌套循环中,跳出最近的内层嵌套语句

4.3.2 continue语句

作用:在循环语句中,跳过本次循环中余下的尚未执行的语句,继续执行下一次循环

4.3.3 goto语句

作用:可以无条件跳转语句

语法: goto 标记;

解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

示例:

#include <iostream>
using namespace std;

//常量的定义方式
//1. #define 宏常量
//2. const修饰的变量

//1. #define 宏常量
#define Day 7

int main()
{

	cout<<"1" << endl;

	goto FLAG;

	cout << "2" << endl;
	cout << "3" << endl;
	cout << "4" << endl;

	FLAG:
	cout << "5" << endl;

	system("pause");

	return 0;
}

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值