C++基础语法:数据类型、运算符、程序流程结构

本文详细介绍了C++中的基本数据类型,包括整型、浮点型、字符串、布尔型及其内存占用。同时讲解了sizeof关键字、转义字符的使用。此外,还涵盖了数据输入、算数和逻辑运算符、选择结构(if、switch)、循环结构(while、do...while、for)以及跳转语句(break、continue、goto)。内容全面,适合初学者学习。
摘要由CSDN通过智能技术生成

2.数据类型​

给变量创造合适的内存空间


前言:本文章的内容都是基于黑马老师的C++课程所写,若有侵权请告知。


目录

2.数据类型​

2.1整形int

2.2sizeof关键字

2.3实型(浮点型)

2.4转义字符

 2.5字符串型

2.6布尔类型 bool

2.7数据的输入

3.运算符

3.1算数运算符

1.加减乘除运算

2.取模运算

3.2赋值运算符

3.3比较运算符

3.4逻辑运算符

4.程序流程结构

4.1选择结构

4.1.1if语句

4.1.2三目运算符

4.13switch语句

4.2.1while循环语句

4.2.2do...while循环语句

4.2.3for循环语句

4.2.4嵌套循环

4.3跳转语句

4.3.1break语句

4.3.3goto语句


2.1整形int

定义变量为实数,如果变量含有小数点则自动去掉小数点只保留实数部分。

短整型 short (-32768~32767)

整形     int        (-2^31~2^31-1)

2.2sizeof关键字

作用:统计数据类型占的内存大小。
用法:sizeof(数据类型/变量)

2.3实型(浮点型)

1.单精度        float        四字节        七位有效数字

2.双精度        double    八字节        15~16位有效数字,默认情况下最多会显示6位有效数字

2.4转义字符

作用:用于表示一些不能显示出来的ASCII字符。如<">号的表示为<\">
 \n 换行        等效于endl;
 \\ 反斜杠
 \t 水平制表符

 2.5字符串型

作用:用于表示一串数字

表示方法:

1.C语言: char [变量名] = "abc";

2.C++: string 变量名 = “abc” //使用时需要包涵#include<string>头文件

2.6布尔类型 bool

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

true        真        本质是1

false        假        本质是0

任何不为0的数都为1

2.7数据的输入

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

语法:cin>> 变量;

3.运算符

用于代码的运算


3.1算数运算符

1.加减乘除运算

+、-        

*、/        运算优先级较高,当用/运算时,被除数为0时程序无法运行

2.取模运算

%        取模        10%3=1        当除数和被除数为两个小数是不能取模

++        前置递增        ++a        让变量a+1        先让变量a+1,再进行表达式的运算

++        后置递增        b++        让变量b+1        先让表达式运算,再让变量+1

3.2赋值运算符

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

a+=2       ==        a = a+2

a-=2        ==        a = a-2

a*=2        ==        a = a*2

a/=2        ==        a = a/2

a%=2        ==        a = a%2

3.3比较运算符

==        相等于        4==3        结果为0

!=        不相等        4!=3        结果为1

>=        大于等于 

<=        小于等于

>        大于

<        小于

3.4逻辑运算符

【在C++中,除了0都为真】

!        非        !a        若a为真,!a为假

&&        与        a&&b        若a和b都为真,结果为真,只要有一个假就为假

||        或        a||b        若a和b有一个为真,结果为真,二者为假时,结果为假

4.程序流程结构

顺序结构、选择结构、循环结构


4.1选择结构

4.1.1if语句

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

形式:

1.单行格式if语句:if(条件)

2.多行格式if语句:

if(条件)

{

语句1;

}

else{

语句2;

}

即:如果条件满足执行语句1,不满足执行语句2.

3.多条件if语句

if(条件1)
{
    语句1;
}
else if(条件2)
{
    语句2;
}
.....
else
{
    语句n;
}

应用案例:

#include<iostream>
using namespace std;
int main() {
    int score = 0;
cout<<"请输入你的分数:"<<endl;
cin>>score;
cout<<"您输入的分数为:"<<score<<endl;
if(score >= 600) //如果大于600分,执行下方大括号内容
{
    cout<<"恭喜你考上了一本大学"<<endl;
    }
    else if(score>=500&&score<600)
    {
    cout<<"您上了二本大学"<<endl;
    }
    else if(score>=400&&score<500)
    {
        cout<<"您上了三本大学"<<endl;
    }
    else //如果以上的条件都未满足则执行下方语句
    {
        cout<<"您未考上大学"<<endl;
    }
    system("pause");
    return 0;
}

4.嵌套if语句

if(条件1)
{
    if(条件2)
    {
    .....
    }
    else if(条件3)
    {
    ....
    }
}

使用多嵌套if语句可以得出更加精准的条件

4.1.2三目运算符

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

如果1位真,执行表达式2的语句,为假则执行表达式3的语句

应用:创建三个变量a、b、c,将a、b作比较,将变量大的赋值给b

int a = 10;
int b = 20;
int c = 0;
c = (a > b ? a : b)

注意:三目运算符放的是变量,可以继续赋值

(a>b?a:b)=100;//如果a>b,把100赋值给a,反之赋值给b

4.13switch语句

作用:执行多条分支语句

语法:

switch(表达式)

{
	case 结果1:执行语句;break;
	case 结果2:执行语句;break;
	...
	default 执行语句;break;
}

实例:

switch (score)// 以用户输入的score分数的多少来判断电影的层次,层次可以按需求分成几类。
    {
    case 10:
        cout<<"您认为是经典电影"<<endl;
        break;
    case 9:
        cout<<"您认为是经典电影"<<endl;
        break;
    default :
    	...;
    	break;
    }

缺点:switch的缺点是它判断时只能是整形或者字符型,不可以是一个区间,所以局限性很大

优点:结构清晰,执行效率高。

4.2.1while循环语句

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

语法:

while(循环条件)

{

循环语句;

}

因为while语句只要条件为真就会一直循环,所以设置循环条件时也要有退出循环的出口。

4.2.2do...while循环语句

语法:

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

do...while和while语句的区别在于do...while会先执行一次循环语句;而while会先判断条件再执行语句。

实例:

水仙花数:指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

获取个位数:153%10 = 3

获取十位数:(153/10)%10 = 5

获取百位数:153/10 = 1

#include<iostream>
#include<math.h>
using namespace std;
int main() {
    int j = 100;//三位数为100~999
    do
    {
        int a = j/100;
        int b = (j/10)%10;
        int c = j%10;
        if(a*a*a+b*b*b+c*c*c==j){
            cout<<j<<endl;
        }
        j++;//执行一次语句后j+1,从100到999全部走一遍,判断是否有满足条件的数字,如果有用cout输出
    } while (j<1000);
system("pause");
return 0;
}

4.2.3for循环语句

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

语法:

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

先执行起始表达式,再判断条件表达式,满足条件时运行循环语句,再执行末尾循环体

实例:

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

优点:结构清晰

案例:敲桌子

从1开始数到数字100,如果个位数含有七,或者数字十位含有七,或者是七的倍数,我们打印敲桌子,其余数字直接打印输出。

#include<iostream>
using namespace std;
int main() {
    for (int i = 0; i < 101; i++)//打印1~100个数字
    {
        if(i/10==7||i%10==7||i%7==0){ //个位数、十位数、七的倍数时敲桌子
            cout<<"敲桌子"<<endl;
        }
        else//不然打印数字 
        {
            cout<<i<<endl;
        }
    }
system("pause");
return 0;
} 

4.2.4嵌套循环

作用:在循环体中再循环一层循环,解决一些实际问题

for(int i = 0;i < 10;i++){  //利用嵌套循环实现星图,一般外层为i,内层为j
        for (int j = 0; j < 10; j++)
        {
            cout<<"* ";
            //若cout中包涵i,该i就近原则,指的是嵌套中的i
        }
        cout<<endl;
    }

注意:若内外两层循环都用i作为变量,则cout语句中的i会根据就近原则选取最近一层层i所代表的数字。

案例:九九循环表

int main() {//列数*行数 = 计算结果
    for (int i = 1; i <= 9; i++)//打印行数
    {
        for (int j = 1; j <= i; j++)//列数
        {
            cout<<i<<"*"<<j<<"="<<i*j<<"  ";//实现i*j=...
        }
        cout<<endl;
    }
    
system("pause");
return 0;
}

4.3跳转语句

4.3.1break语句

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

作用时机:

1.出现在switch条件语句,作用是终止case并跳出switch

cout<<"请选择副本难度"<<endl;
cout<<"1、普通"<<endl;
cout<<"2、中等"<<endl;
cout<<"3.困难"<<endl;
int select = 0;//创建选择结果的变量
cin>>select;//等待用户输入
swich(select){
	case 1:
		cout<<"您选择的是普通难度"<<endl;
		break;
	case 2:
		cout<<"您选择的是中等难度"<<endl;
		break;//结束当前语句,并退出switch
	case 3:
		cout<<"您选择的是困难难度"<<endl;
		break;
}

2.出现在嵌套循环中,跳出最近的内层循环语句

for(int i = 0;i<10; i++)
{
	for(int j = 0; j < 10; j++)
	{
		if(j == 5)
		{
		break;//退出内层循环
		}
	cout<<"*";
	}	
	cout<<endl;
}	

3.出现在循环语句中,跳出当前的循环语句

for(int i = 0;i<10;i++){
	if(i == 5){//如果i等于5退出循环
	break;//退出循环
	}
}

4.3.2continue语句

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

 for (int i = 0; i < 100; i++)
    {
        //如果是奇数输出,偶数不再输出
        if(i%2==0){
            continue;//可以筛选条件,可以执行到此就不再执行,执行下一次循环
        }
        cout<<i<<endl;
    }

4.3.3goto语句

作用:无条件跳转语句

语法:goto 标记;

解释:如果标记存在,执行goto语句会跳转至标记。

goto语句可观性不是很强,推荐少用

cout<<"1、xxxx"<<endl;
    cout<<"2、xxxx"<<endl;
    goto FLAG;
    cout<<"3、xxxx"<<endl;
    cout<<"4、xxxx"<<endl;
    FLAG:
    cout<<"5、xxxx"<<endl;

输出为:1、2、5

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值