nullnullnull教学目标教学目标(1) 掌握基本数据类型的含义及其定义方法;
(2) 理解常量和变量的概念及类型说明方法;
(3) 掌握算术、赋值、关系、逻辑及其他运算符和表达式的使用方法。基本内容 基本内容 2.1 数据类型
2.2 常量和变量
2.3 运算符与表达式
2.1 数据类型2.1 数据类型数据
程序的主要任务是对数据进行处理,而数据有多种类型,如数值数据、文字数据、图像数据以及声音数据等。
不同类型的数据在存储器中存放的格式不同
程序中对各种数据进行处理之前都要对其类型 (也就是存储格式) 预先加以说明,其目的是:
便于为这些数据分配相应的存储空间
说明了程序处理数据时应采用何种具体运算方法数据类型数据类型计算机只能存放二进制数据。不同类型事物的数据如何区分和描述?由此产生数据类型。
不同类型的数据占据不同长度的存储单元。
不同类型的数据对应不同的值域范围。
不同类型的数据对应不同的操作(运算)及规则。
数据类型越丰富,求解能力越强大。整 型整 型短整型
占用两个字节存储空间 -2^15~2^15-1(-32768~32767)
整型、长整型
占用四个字节存储空间 -2^31~2^31-1158703124231615870实 型实 型可采用浮点类型和双精度类型表示:
浮点类型
使用4个字节存放数据,10-38~1038, 有效数字7位
双精度类型数据
使用8个字节存放数据,10-308~10308,有效数字15位尾数部分指数部分3124231615870浮点型存储格式字符型、布尔型、无值型字符型、布尔型、无值型字符型(char)
占用一个字节存储空间 -27 ~ 27-1 (-128 ~ 127)
布尔型(bool)
即逻辑型,占用一个字节存储空间,0表示false,1表示true
无值型(void)
值域为一空集,主要用来说明函数的参数或返回值类型,表示无参数或无返回值。702.2 常量和变量2.2 常量和变量在实际数据处理过程中,有些数据经常变化,而有些数据不变化。
变化的量称变量,不变化的量称常量。2.2.1 常量2.2.1 常量整型常量
2进制常量 100100000000B,10B
8进制常量 04400,0777,0100
10进制常量 2304
16进制常量 0x900,0xABC,0xffff
实型常量: 有两种表示形式:
十进制形式: xxxxx.xxxx
0.0, -2.68, 3.141593, 637.312, 32768.0,…
指数形式: xxx.Exx
1.267E20, 1.2E-5…
字符型常量 'a', 'A', '1', ' ', '+',
字符串常量 "Visual C++", "12.34", "This is a string.\n", …
布尔型常量:true 和 false文字数据表示文字数据表示文字数据有两种:
单个字符: 例如,‘A ’、‘+‘ 、 ‘\0’ 、 ‘\’’
实际存储的是其编码 可以用整数来表示ASCII码
字符串:例如,"This is a string . "
如何存储?ASCII码ASCII码共有128个,使用整数0~127表示。
10个阿拉伯数字
52个英文字母
32控制字符(非显示字符)
34个特殊字符
ASCII码对应的字符
‘A’的值65、‘a’的值97(差是32)
问号‘?’的值63、‘*’的值42
回车键的值13、ESC键的值27
助记码
转义字符
'\n'(换行), '\r'(回车), '\t'(横向跳格), '\''(单引号), … 字符串存储方式字符串存储方式字符串“MONDAY”的存储方式 字符和字符串的区别字符和字符串的区别字符
是用单引号括起来的单个字符,它在存储器中占1个字节;
字符串
是用双引号括起来的一串字符,它在存储器中占n+1个字节,即字符串的结束符‘\0’也占1个字节的位置。
例如:
‘A’和“A”是有区别的;前者是字符常数,后者是字符串常数。2.2.2 变量2.2.2 变量定义: 其值可以改变的量称为变量。
变量名实际上是一个符号地址,在对程序编译连接时由系统给每一个变量名分配一个内存地址。
在程序中从变量中取值,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。
用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符(identifier)。简单地说,标识符就是一个名字。变量命名规则
变量使用规则
变量初始化
变量引用
类型修饰符(1)变量定义(1)变量定义变量的定义:用基本数据类型描述符来说明对象
变量类型 变量名表;
例:
int i, j, k; //说明了3个整型变量
short len; //说明了1个短整型变量
float average; //说明了1个浮点类型的变量
double baseSalary, bonus, totalSale, additionalBonus, Salary;
//说明了5个双精度类型的变量
bool sex; //说明了1个布尔型变量
char c1, c2; //说明了2个字符型变量
(2) 变量(标识符)命名规则(2) 变量(标识符)命名规则变量名只能由字母、数字或下划线组成;
变量名的第一个字符必须是字母或下划线;
变量名长度不能超过编译器规定的长度;
不要用保留字定义变量名。
合法变量名:
a、 b1、 _area、m_nCount
不合法变量名:
1-name、 student one、 float(3)变量使用规则(3)变量使用规则先定义,后使用
例如: int a,b,c;
a=1;b=2;c= a+b;
下列用法是错误的(有几处?):
#include
using namespace std;
int main()
{
int a;
cin>>b;
int c=a+b;
cout<
int main()
{
short a, b;
a=32767;
b=a+1;
cout<<"a="< int -> float -> double
例2-1 算术运算
#include
using namespace std;
int main()
{ int x=7, y=3;
double d=7.0;
cout< < == >= <= !=
大于 小于 等于 大于等于 小于等于 不等于
关系表达式:由关系运算符组成的表达式。
计算结果:逻辑值(“真”和“假”)
优先级:
{>,>=,<,<=} 高于 { == , !=}
赋值运算 < 关系运算 < 算术运算
运算对象:算术、关系、赋值、字符表达式运算对象运算对象算术表达式:
x+y >= x*y ;
关系表达式:
(a > b) == (c < d);
赋值表达式:
(x + = 3 ) == ( y- = 1);
字符表达式:
‘a’ ! = ‘A’ ;运算规则运算规则关系成立,结果为‘真’(非0);否则,结果为‘假’(0)。
例如: a=3,b=5;
a>=b 结果为0
a< b 结果为1
a == b 结果为0
a! = b 结果为1
结合性:从左到右。注意事项注意事项在逻辑上必须正确,否则会出现不正确的结果。
例如: 1X 10
若写成 1<=x<=10 正确的写法是: 1 <= x && x <= 10在语法上是正确的,但在逻辑上是错误的。
当 x= 8 时, 1 <= x <= 10 结果为1
当x= - 5时, 1 <= x <= 10 结果也为12.3.3 逻辑运算符和逻辑表达式2.3.3 逻辑运算符和逻辑表达式逻辑运算符:
&&(与) ||(或) !(非)
逻辑表达式:
由逻辑运算符组成的表达式。
运算结果:
逻辑值(“真”和“假”)
优先级:
!> && > ||
赋值运算< &&、|| < 关系运算 < 算术运算< !举例举例xc或xb至少之一成立
x <= c || x >= b
i和j均小于或等于100,或者i和j均大于k
( i <= 100 && j <= 100 ) || ( i > k && j > k )
选所有未婚的 35岁以上男副教授和30岁以上女讲师
! 婚否 && ( (性别==‘男’&& 职称==‘副教授’&& 年龄〉=35)
|| (性别==‘女’&& 职称==‘讲师’&& 年龄〉=30))2.3.4 赋值运算符和赋值表达式2.3.4 赋值运算符和赋值表达式赋值运算符 =
赋值表达式 V = e
赋值表达式的值等于运算符右边的表达式的值
副作用是将表达式的值存入变量V。
复合赋值运算符
格式: V op = e
等价于: V = V op e
例如: a += 5, 等价于 a = a + 5
复合赋值运算符有
+=、- =、*=、/=、%=等10个举例举例i=j=m*n;
计算表达式m*n的值,将其结果存入变量j中,然后再将结果存入变量i中。
temp=a; a=b; b=temp;
交换a和b的值,temp是工作单元。
sum=sum+i;(等价于 sum+=i;)
计算sum与i的和,结果送sum。
str[i] = ch+‘A’- ‘a’;
将字符变量ch转换为大写字母,结果存入数组str[i]中。表达式中各运算符的运算顺序表达式中各运算符的运算顺序
C/C++中的几十种运算符有严格、确定的运算符优先关系和运算顺序规则。
null扩展阅读扩展阅读2.4 常量修饰符
2.5 强制类型转换运算符
To be continue…2.4 常量修饰符2.4 常量修饰符直接常量:其本身的书写格式就说明了该常数的类型
符号常量
用const定义的常量
const double pi=3.1415926;
用宏定义#define定义的常量;类似变量,但不是变量。
#define PI 3.1415926
#define MAXNUM 10000
可以出现在表达式中
f1= r * r * PI;
但是不能作左值,下列用法是错误的:
PI = 1.0*3.14 ;2.5 强制类型转换运算符2.5 强制类型转换运算符强制类型转换
C格式: (类型语句)e
C++格式: 类型语句(e)
例:
int i=1,j=2;
double d;
d = i / j; //结果d为0.0
d = (double) i / j; //结果d为0.5
d = double ( i ) / j; //结果d为0.5上机指导上机指导2.6 语法错误
查看和修改编译错误
查看和修改链接错误
应用举例应用举例例2-5 温度转换:输入一个华氏温度,计算并输出对应的摄氏温度值。
#include
using namespace std;
int main()
{
double c, f;
cout<<"请输入一个华氏温度:";
cin>>f;
c=5.0/9.0 * (f-32); //温度转换公式
cout<<"对应于华氏温度"<
using namespace std;
int main()
{
char ch;
cout<<"请输入一个字母: ";
cin>>ch;
if(ch>='A' && ch<='Z') ch=ch-'A'+'a';
cout<<"将大写转换为小写后,该字母为:"<
using namespace std;
int main()
{
cout<<"Hello\n"; //使用换行符
cout<<"1\t2\t3\t4\t5\n"; //使用制表符和换行符
cout<<"12345\b\b78\n"; //使用退格符和换行符
cout<<"\"hi!\", he said.\n"; //使用双引号和换行符
return 0;
}应用举例应用举例例2-8 找零钱问题
假定有伍角、壹角、伍分、贰分和壹分共五种硬币,在给顾客找硬币时,一般都会尽可能的选用硬币个数最小的方法。
例如,当要给某顾客找七角二分钱时,会给他一个伍角,2个壹角和1个贰分的硬币。
请编写一个程序,输入的是要找给顾客的零钱(以分为单位),输出的是应该找回的各种硬币数目,并保证找回的硬币数最少null#include
using namespace std;
int main()
{
int change; //存放零钱的变量
cout<<"请输入要找给顾客的零钱(以分为单位)";
cin>>change;
cout<<"找给顾客的五角硬币个数为:"<
本文档为【c++基础教程2】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。