C语言第Ⅱ部分 程序语言基础(第三章).ppt

上传人:啊飒飒 文档编号:13451648 上传时间:2021-12-26 格式:PPT 页数:104 大小:1.32MB
返回 下载 相关 举报
C语言第Ⅱ部分 程序语言基础(第三章).ppt_第1页
第1页 / 共104页
C语言第Ⅱ部分 程序语言基础(第三章).ppt_第2页
第2页 / 共104页
C语言第Ⅱ部分 程序语言基础(第三章).ppt_第3页
第3页 / 共104页
C语言第Ⅱ部分 程序语言基础(第三章).ppt_第4页
第4页 / 共104页
C语言第Ⅱ部分 程序语言基础(第三章).ppt_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《C语言第Ⅱ部分 程序语言基础(第三章).ppt》由会员分享,可在线阅读,更多相关《C语言第Ⅱ部分 程序语言基础(第三章).ppt(104页珍藏版)》请在三一文库上搜索。

1、第部分 程序语言基础(C语言) 第三章 数据类型与基本输入输出C/C+语言 简介 C语言是国际上广泛流行的计算机高级语言。它适合作为系统描述语言,既可以用来编写系统软件,也可用来编写应用软件。 C+是从C语言发展演变而来的,首先是一个更好的C,C+引入了类的机制,最初的C+被称为“带类的C”C/C+程序实现过程编辑器预处理器编译器连接器装入器磁盘磁盘磁盘磁盘内存内存CPU磁盘程序在编辑器中生成源程序并存盘,A.cpp,a.c编译器在编译前调用预处理器实现文本替换建立目标程序并存盘将目标码与库连接,生成a.exe文件并存盘把程序放入内存CPU取出指令并执行,可以在执行程序时存放新的数据值C程序实

2、例 #include using namespace std; int main() int i=1,ni,gi; do cinnigi; if(gi=80) coutni=ni gi=giendl; i=i+1; while(i=50); return 0; 词法记号 关键字C+预定义的单词 标识符程序员声明的单词,它命名程序正文中的一些实体 文字在程序中直接使用符号表示的数据 操作符用于实现各种运算的符号 分隔符 () , : ; 用于分隔各个词法记号或程序正文 空白符空格、制表符(TAB键产生的字符)、换行符(Enter键所产生的字符)和注释的总称标识符 字符集 大小写的英文字母:AZ,

3、az 数字字符:09 特殊字符:空格 !#% &*_(下划线)+= -/ ;.,() 标识符 标识符的构成规则:以大写字母、小写字母或下划线(_)开始。 可以由以大写字母、小写字母、下划线(_)或数字09组成。 大写字母和小写字母代表不同的标识符。v定义标识符表示下列数据:v姓名、学号、性别、年龄、成绩、电话、v住址、学校名 1.望文知意2.有规则 3.不超过20个字符 #include using namespace std; int main(void) const int PRICE=30; int num,total; float v ,r,h; num=10; total=n

4、um*PRICE; couttotal endl; r=2.5; h=3.2; v=3.14159*r*r*h; coutv endl; int,float是C语言的数据类型名数据类型 C语言中的数据类型包括基本数据类型(内置数据类型)和用户自定义数据类型。 基本数据类型整型浮点型空值类型(void)布尔型字符串类型字符型整型数据十进制 八进制 十六进制 0 0 0 x0 15 017 0 x0F 65 0101 0 x41 计算机只能存储二进制数二进制、八进制、十六进制转换 二进制 八进制 十六进制 01110000 160 0 x70 11110001 361 0 x F1 整型数据及取值

5、范围整型数据及取值范围 类型类型说明符说明符 位数位数数值范围数值范围 短整短整shortshort1616-32768-327683276732767 基本基本 intint32 32 -2-23131(2(23131-1)-1) 长整长整longlong3232 -2 -23131(2(23131-1)-1) 无符号无符号unsigned shortunsigned short16160 065535 65535 unsigned unsigned intint 32320 0(2(23232-1)-1)unsigned longunsigned long32320 0(2(23232-1

6、)-1)整数的使用输入两个整数,求和。#includeusing namespace std;int main( ) short int x1,x2; cinx1x2; /输入两个数; short int y=x1+x2; couty=yendl; return 0;输入:3 4y=7#includeusing namespace std;int main( ) short int x1,x2; x1=1; x2=32767; /赋值 short int y=x1+x2; couty=yendl; return 0;运行结果:y=-32768数据溢出浮点型long double(长双精度浮点类

7、型,占16个字节)double(双精度浮点类型,占8个字节)float(单精度浮点类型,占4个字节)浮点型float的存储方式 双精度的存储方式 字符型数据字符型数据 字符常量单引号括起来的一个字符,如:a, D, ?, $ 字符变量用来存放字符常量例:char c1,c2; c1=a; c2=A; 字符数据在内存中的存储形式以ASCII码存储,占1字节,用7个二进制位 字符数据的使用方法字符数据和整型数据之间可以运算。字符数据与整型数据可以互相赋值。Page 2101001010字符J在内存中的存储 转义字符使用#includeusing namespace std;int main() c

8、har c1=a; couttc1endl;return 0;运行结果: a 大小写字母转换#includeusing namespace std;int main()char c1=a,c2=b;c1=c1-32;c2=c2-32;coutc1 c2endl;return 0;运行结果:A B整形字符型互用#includeusing namespace std;int main()char c1=a;int x1;x1=c1;coutx1=x1endl;c1=x1+5; coutc1=c1endl;return 0;运行结果:x1=97c1=f布尔型数据 布尔型(bool)数据的取值:只有

9、false 和 true 两个值 字符串常量例:CHINA a a所以:char c; c=a; C H I N A 0a 0aPage 28字符串类型 字符串类型数据是指用双引号括起来的若干字符序列 01001010010011110100111000000000字符串”JON”在内存的存储空值类型void void数据类型没有数值,void数据类型主要用于指针和函数 程序中的数据是如何存储到内存中的?一、首先要通过变量把两个整数存储到内存中;二、CPU从内存中取出数据求和。C语言程序中如何使用变量存储数据 变量的声明 int x ; /声明整型变量 int wordCut , Radius

10、 , Height ; double FlightTime ; /声明浮点型变量变量的使用4个字节int x ;请为保存一个整数提供足够的空间用名称x标记该空间变量的使用 变量声明 的格式: 数据类型名 变量名; 变量的使用 变量声明 的格式: 数据类型名 变量名; 已定义的数据类型变量的使用 变量声明 的格式: 数据类型名 变量名; 已定义的数据类型标识符程序中要使用一致和有意义的变量名变量初始化变量初始化例: int x=3; double f=3.56; char c=a; int c(5); int b=x;Page 384个字节int x=3;请为保存一个整数提供足够的空间用名称x标

11、记该空间,把值3存进去 变量声明时赋值称为变量的初始化格式: 数据类型名 变量名 =初始值,变量名 =初始值; 变量声明时赋值称为变量的初始化格式: 数据类型名 变量名 =初始值,变量名 =初始值; 可以是常量,也可是变量 编程序求两个整数的和。 int x1=5,x2=78; 把5,78保存到x1,x2所申请的内存单元中。 int y=x1+x2; /把5,78的和存到变量y中 int y=5+78;/不借助变量,直接使用5,78常量常量 常量是变量的特例,其实很少有至永远不变的变量。 常量的作用: 1.便于修改 2.便于书写常量 的分类 字面常量 如:A 、 hellow 、 中国、3.1

12、415 标识常量 :用标识符来表示常量 标识常量声明的语法格式是: const 数据类型名 标识符=初始值; 如:const int NUMBER=111111; const MAX; /没有指定初值 const int NUMBER=111111; NUMBER=222222; /修改标识常量NUMBER的值是错误的引用 C/C+语言允许为变量和对象定义别名,称为“引用”,引用声明的语法格式: 类型标识符 &引用名=变量名; int x=8; int &t=x; t=90;8xt int x=8; int &t=x; t=90;90 xt常引用 只能通过变量的常引用使

13、用变量的值,不能通过变量的常引用修改变量的值. int var=100; const &t1=var; /t1是var的常引用 var=34; t1=34; 常引用 只能通过变量的常引用使用变量的值,不能通过变量的常引用修改变量的值. int var=100; const &t1=var; /t1是var的常引用 var=34; /正确,变量var的值可以修改 t1=34; 常引用 只能通过变量的常引用使用变量的值,不能通过变量的常引用修改变量的值. int var=100; const &t1=var; /t1是var的常引用 var=34; t1=34; /错误,不

14、能通过常引用修改变量var的值 v练习声明变量(初始化)、常量、引用输入半径计算圆的面积。#includeusing namespace std;const double PI=3.14159;/定义常量int main() double r,area; /定义变量r=56.7;area=PI*r*r;coutarea=areaendl;double &rr=r; /声明引用rr=78.7;area=PI*r*r;coutarea=areaendl;return 0;运行结果:area=10099.9area=19458 int y=5+78;运算符运算符和表达式 运算符分为一元运算符

15、、二元运算符、三元运算符 表达式是由标识符、数值、函数、运算符按求值规则构成的式子 运算符符 基本算术运算符 + - * / (若整数相除,结果取整) %(取余,操作数为整数) 优先级与结合性先乘除,后加减,同级自左至右Page 56sizeof 运算符 语法形式sizeof (类型名)或 sizeof (表达式) 结果值:“类型名”所指定的类型或“表达式”的结果类型所占的字节数。 例:sizeof(short)sizeof(x) +, -(自增、自减)+i,-i 前置自增,自减 等价于 i=i+1,i=i-1 i+,i- 后置自增,自减 等价于 i=i+1,i=i-1自增和自减运算符的操作数

16、必须是整型变量 int i=4; couti+endl;/先使用i的值,然后再刷新i cout+iendl;/先刷新i的值,然后再使用i int i=4; couti+endl; cout+iendl;coutiendl;i=i+1; int i=4; couti+endl; cout+iendl;i=i+1;coutiendl;7.8/27%-27/-2int a=6;couta-;cout-a;7.8/2 结果:3.97%-2 结果:37/-2 结果:-3int a=6; 结果:6couta-; 结果:6cout-a; 结果:4赋值运算符赋值运算符= 举例n=x+5 /变量x必须有值 表达

17、式的类型赋值号左边对象的类型 表达式的值赋值号左边对象被赋值后的值Page 64a=34;b=34;c=34;a=b=c=34;3int x=3;请为保存一个整数提供足够的空间用名称x标记该空间,把值3存进去67 x=67;请为保存一个整数提供足够的空间用名称x标记该空间,把值3存进去X=(y=2)+(z=3);y=2;Z=3;X=y+z; 编写程序,计算和显示一年中分钟的数量。 #include int main() int secondSum; secondSum=365*24*60; coutsecondSum:secondSumendl; return 0; 关系运算符 关系运算是比较

18、简单的一种逻辑运算,优先次序为: = = != 优先级相同(高) 优先级相同(低) 关系表达式是一种最简单的逻辑表达式其结果类型为 bool,值只能为 true 或 false。 例如:ab,c=a+b,x+y=3X= =b错误逻辑运算逻辑运算符 逻辑运算符 !(非) &(与) |(或)优先次序: 高 低 逻辑表达式 例如:(ab)&(xy) 其结果类型为 bool,值只能为 true 或 false7.8=2 x=2 7.6-27.6!=-2 7.6&-2 !7.67.8=2 0 x=2 2 7.6-2 07.6!=-2 1 7.6&-2 1 !7.6 0关系

19、表达式、逻辑表达式,结果是true,C系统产生整型1,结果是false,则产生整型0.短路求值: int i=0,j=0; (i=0)&(j=2); /j的值是0 (i=2)|(j=8); /j的值是0位运算符位运算符 按位与(按位与(& &) 运算规则将两个运算量的每一个位进行逻辑与操作 举例:计算 3 & 5 3: 0 0 0 0 0 0 1 1 5:(&) 0 0 0 0 0 1 0 13 & 5: 0 0 0 0 0 0 0 1 用途:将某一位置0,其它位不变。例如:将 char 型变量 a 的最低位置 0: a = a & 03

20、76;取指定位。例如:有 char c; int a; 取出 a 的低字节,置于 c 中:c = a & 0377; 按位或(按位或(| |) 运算规则将两个运算量的每一个位进行逻辑或操作 举例:计算 3 | 5 3: 0 0 0 0 0 0 1 1 5:(|) 0 0 0 0 0 1 0 13 | 5: 0 0 0 0 0 1 1 1 用途:将某些位置1,其它位不变。例如:将 int 型变量 a 的低字节置 1 : a = a | 0 xff; 按位异或(按位异或( ) 运算规则 两个操作数进行异或:若对应位相同,则结果该位为 0,若对应位不同,则结果该位为 1, 举例:计算 071

21、052 071: 0 0 1 1 1 0 0 1 052: () 0 0 1 0 1 0 1 0 071052 : 0 0 0 1 0 0 1 1取反取反()()单目运算符,对一个二进制数按位取反。例: 025:0000000000010101 025:1111111111101010 移位移位 左移运算()右移后,低位:舍弃 高位:无符号数:补0 有符号数:补“符号位” -2|3(占一个字节) -2的补码:11111110 3的补码: 00000011 位或: 1 1 1 1 1 1 1 0 | 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1结果:-17&27|-2-

22、7-272 -72 1 -72 -28 7 -8逗号运算和逗号表达式逗号运算和逗号表达式 格式表达式1,表达式2 求解顺序及结果先求解1,再求解2,最终结果为表达式2的值 例a=3*5 , a*4 最终结果为60Page 83混合运算时的类型转换混合运算时的类型转换 类型转换分为:隐式转换和显示转换类型转换分为:隐式转换和显示转换当不同类型数据进行混合运算时,编译器会自动进行类型转换。-隐式隐式转换转换 显示转换显示转换语法格式:类型说明符(表达式) 或 (类型说明符)表达式 例如:float c;int a,b;c=float(a)/float(b); 或 c= (float)a/(floa

23、t)b; void main( ) float x1=2.25,x2=2.2; double y1,y2; y1=(double)x1; cout.precision(20); coutx1=x1 y1=y1endl; y2=(double)x2; coutx2=x2 y2=y2endl;void main( ) float x1=2.25,x2=2.2; double y1,y2; y1=(double)x1; cout.precision(20); coutx1=x1 y1=y1endl; y2=(double)x2; coutx2=x2 y2=y2endl;void main( ) fl

24、oat x1=2.25,x2=2.2; double y1,y2; y1=(double)x1; cout.precision(20); coutx1=x1 y1=y1endl; y2=(double)x2; coutx2=x2 y2=y2x; 向标准输出设备(显示器)输出例:int x; cout“x=“x;cout56; cinaendl; cinx; cinx1x2;X1,x2是int,输入:5 6X1是int,x2是char,输入:5a cout56; cout45.67; cout“zhong”t“中国”; 结果:5645.67zhongt中国 cout56endl; cout45.

25、67endl; cout“zhong”t“中国”; 结果:56 45.67 int x=8;coutxendl;coutx*8 x=x*8endl; int x=8;coutxendl;coutx*8 (x=x*8)endl; #include using namespace std; int main(int argc, char* argv) int x1,x2;coutinput x1,x2x1x2;coutx=x1 x2=x2endl;char c1,c2;coutinput c1,c2c1c2;coutc1=c1 c2=c2endl;return 0; C语言提供了专门的字符输入函数

26、getch()函数:不需要用回车结束输入,输入一个字符后, 系统自动结束输入操作,输入时没显示, 例如:char ch=getch();getche()函数:不需要用回车结束输入,输入一个字符后, 系统自动结束输入操作,输入时有显示, 例如:char ch=getche();getchar()函数:需要用回车结束输入,输入时有显示, 允许一次输入多个字符,系统自动读取 第一个字符 . 例如:char ch=getchar(); 常见错误: int y=9; x=y+6; /x没有声明 coutyendl /没有分号代码的规范和风格 变量的对齐 int x1; float y;int x1; float y;一般上宽下窄v从键盘输入一个整数,输出它的倒数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1