目标:
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++》作者:刘蕾