C++学习笔记——第二天变量和数据类型

目标:
1.掌握C++中的常量,变量及其定义
2.掌握C++中数据类型及其转换
3.熟练掌握在C++程序中如何声明及使用常量,变量和数据类型

本节之后选择用visual studio进行编程
教程参考:https://blog.csdn.net/luoweifu/article/details/48692267

常量

数据可分为常量和变量。在编程时,常量和变量必须遵循“先声明,后使用”的原则。

声明常量
常量可分为符号常量和直接常量。
直接常量:通常说的常数。如:123,3.14
符号常量:const float pi=3.1415926

根据常量的定义方法,可分为:const常量和宏常量
const常量:
const <类型名><常量名>=<表达式>
必须以const开头,类型名可省略,常量名为标识符,表达式应与常量类型一致
例如:

Const float pi = 3.1415926

宏常量#define定义:
#define <宏名><常量>
宏名可以是简单的字符名,也可以是带参数的函数名。
常量可以是数值,字符串和函数等。
例如:

#define pi 3.1415926

常量的应用

#include "stdafx.h"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    const double pi=3.1415926;  //定义圆周率pi
    const double radius=8.5;        //定义半径常量radius
    cout<<"area of circle of radius"<<radius<<"is"<<pi*radius*radius<<"\n";//输出结果
    getchar();
    return 0;
}

这里写图片描述

变量

声明变量
变量语句:
[<存储类>] <类型名或类型定义><变量名表>

存储类4种:
auto:一次性存储,其存储空间可以被若干变量多次覆盖使用(默认为auto)
register:存放在通用寄存器中
extern:在所有函数和程序段中都可引用
static:在内存中是以固定位置存放的,在整个程序运行期间都有效

类型名和类型定义是指变量所属的数据类型。不可默认

变量名表是指声明变量的变量名称。格式
1.<变量名>
2.<变量名>=<表达式>
3.<变量名1>=[<表达式1>],<变量名2>=[<表达式2>]表达式是指变量的初始化值。

int a ;
char b=’A’
floatc =2.5,d,e=56.1;

变量的命名规则
遵循标识符命名规则。(C++语言是大小写敏感的语言)
这里写图片描述

例如:

Char *szName;   //以0为结束符的符串,存储的是名字变量
BOOL bCanExit;  //布尔类型变量、
DWORD dwMaxCount;//32位双字变量

变量的作用范围
全局变量和局部变量。

// 2-2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    int a=0;
        int b=0;//定义全局变量a,b
    a++;
    b++;
    cout<<"a="<<a<<","<<"b="<<b<<endl;
    {
        float a=0.5;//定义局部变量a
        a++;
        b++;
    cout<<"a="<<a<<","<<"b="<<b<<endl;
    }
    a++;
    b++;
    cout<<"a="<<a<<","<<"b="<<b<<endl;
    getchar();
    return 0;
}

这里写图片描述

变量的应用

// 2-3.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    const double pi=3.1415926;
    double radius;
    double area;
    cout<<"please input radius"<<endl;
    cin>>radius;    //输入半径
    area=pi*radius*radius;
    cout<<"area of circle of radius"<<radius<<"is"<<area<<"\n";
    getchar();
    getchar();
    return 0;

}

这里写图片描述
这里写图片描述

基本数据类型

C++数据类型包括基本数据类型和构造数据类型;基本类型分为四种:
整型:说明符为int;
字符型:说明符为char;
浮点型:说明符为float和double;
布尔型:说明符为bool;
加上修饰符改变原来的含义:
signed:表示有符号
unsigned:表示无符号
long:表示长型
short:表示短型
这里写图片描述

整型

#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    int i;
    i=123;
    cout<<i<<endl;
    getchar();
    return 0;

这里写图片描述

字符型

#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    char ch1;
    ch1='a';
    cout<<"ch1="<<ch1<<endl;
    int ch2;
    ch2='a';
    cout<<"ch2="<<ch2<<endl;
    getchar();
    return 0;

}

这里写图片描述

浮点型

#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    double a;
    a=a=3.13564824;;
    cout<<a<<endl;
    getchar();
    return 0;

结果进行了取舍
这里写图片描述

布尔型

#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    double flag;
    flag=true;
    cout<<flag<<endl;
    getchar();
    return 0;

}

注意输出的是1,而不是true

这里写图片描述

类型转换

类型转换是用来把有一个类型转换成另一个类型。C++中支持隐式转换和显示转换。

隐式转换
隐式转换是系统默认的,不需要加以声明就可以进行的转换。


#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    char ch;
    ch='a';
    int i = ch;//声明整型变量并赋初值,隐式转换
    cout<<ch<<endl;
    cout<<i<<endl;
    getchar();
    return 0;

}

这里写图片描述

显式转换
显示转换是用户手动指出需要转换的类型。

#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    char ch;
    ch='a';
    int i;
    i=(int)ch;//显式转换
    cout<<ch<<endl;
    cout<<i<<endl;
    getchar();
    return 0;

}

这里写图片描述

编程中遇到的问题

1.error C2065: “cout”: 未声明的标识符 处理方法
解决:添加一行代码:

using namespace std;

2.解除vs中运行结果框闪退的方法
解决:在return 0;前加入一句getchar();

3.出现问题:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
解决:
项目->项目属性->嵌入清单改为“否”

参考:《21天学通C++》作者:刘蕾

猜你喜欢

转载自blog.csdn.net/weixin_39795049/article/details/82312710