C语言程序设计能力教程(第二版) 教学课件 赵凤芝 第2章 C语言的基础知识.ppt_第1页
C语言程序设计能力教程(第二版) 教学课件 赵凤芝 第2章 C语言的基础知识.ppt_第2页
C语言程序设计能力教程(第二版) 教学课件 赵凤芝 第2章 C语言的基础知识.ppt_第3页
C语言程序设计能力教程(第二版) 教学课件 赵凤芝 第2章 C语言的基础知识.ppt_第4页
C语言程序设计能力教程(第二版) 教学课件 赵凤芝 第2章 C语言的基础知识.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在线教务辅导网:http:/,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址,http:/,第二章 编制C程序的基础知识,本章重点内容: 2.1 常量与变量 2.2 C语言的基本数据类型 2.3 C语言的常用运算符和表达式,运行程序,第二章 编制C程序的基础知识,第一节 常量与变量,一、常量程序运行过程中保持不变的值,运行程序,二、变量程序运行过程中值可以改变的量,1、标识符,把给程序中的实体变量、常量、 函数、数组、结构体以及文件所起的名 字称为标识符。简单的说标识符就是一 个名字,标识符的命名规则,只能由英文字母、数字和下划线组成, 且第一个字符

2、必为英文字母或下划线,不允许使用关键字作为标识符的名字,标识符区分大小写,标识符命名应以直观且易于拼读为宜,有意义的标识符长度为前8个字符,例2.1】找出下列符号中合法的标识符。 3aB abc a.b b int next a3B ok? _swtch,2、变量,定义形式:类型 变量名1,变量名2,; 其中,方括号内的内容为可选项,可以 同时声明多个相同类型的变量,它们之间需 要用逗号分隔。例如:float a,b,c,定义:变量是在程序执行过程中可以改变、 可以赋值的量,四种数据类型,第二节 C语言的基本数据类型,1、整型常量有以下几种分类方法,按进制分类:分为十进制、八进制和十六进制,一

3、、整型数据,按长短分类:分为长整型、无符号整型和短整型,1、整型常量有以下几种分类方法,八进制的数码范围为07; 018 * 十六进制的数码除了数字09外, 还使用英文字母a f (或A F)表示1015。 如:0 x1e,注意,二、整型(采用定点整数的存储格式,只能表示纯整数,整型常量,1) 十进制形式:与数学上的整数表示相同; 例如: 12, -100, 0 (2) 八进制形式:在数码前加数字0; 例如: 012=1*81+2*80=10(十进制) (3) 十六进制形式:在数码前加0X(数字0和字母X)。 例如: 0 x12=1*161+2*160=18(十进制,2.定义整型变量的标志是i

4、nt,二、实型数据,1、实型常量有两种表示形式: 十进制小数形式和指数形式,2、实型变量,main( ) int a,b; /*定义a、b为整型变量*/ unsigned int t; /*定义t为无符号整型变量*/ float x,y; /*定义x、y为实型变量*/ a=1;b=-2;t=5; x=a+b;y=x+t; printf(%f,%f,x,y);,例2.2】变量的定义与使用,例2.3】整型数据的运算。 程序代码如下: #include stdio.h main() int a,b; a=32767; b=a+1; printf(%d,%dn,a,b); 程序的运行结果为: 3276

5、7,32768 (注意:turbo C 下运行结果为-1,include stdio.h main() float a=12.3; printf(%fn,a); /*a以十进制小数形式输出*/ printf(%en,a); /*a以指数形式输出*/ 程序的运行结果为: 12.300000 1.230000e+001,例2.4】实型数据的不同表示,例2.5】实型变量的定义与使用,include stdio.h main() float a=12.3; printf(%fn,a); /*a以十进制小数形式输出*/ printf(%en,a); /*a以指数形式输出*/ 程序的运行结果为: 12.3

6、00000 1.230000e+001,三、字符型数据,1、C语言中有两种类型的字符常量: 普通字符:用单引号括起来的单个字符。 特殊字符:以“”开头的具有特殊含义 的字符转义字符,常用的转义字符,2、字符串常量由双引号括起来的字符序列,字符常量与字符串常量的区别有如下几点: 字符常量与字符串常量的表示形式不同。 字符常量通常可以给字符型变量赋值, 而字符串通常被存放在一个字符数值中。 字符串常量要有一个结束符,而字符常 量没有结束符,它只有一个字符。 字符常量与字符串常量的运算不同,3、字符变量的定义形式,即char,例2.7】转义字符的使用,程序代码如下: #include stdio.h

7、 main() printf(abtcden); printf(f101n); 程序的运行结果为: ab cde fA,例2.9】将小写字母转换为大写,程序代码如下: #include stdio.h main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(%c %cn,c1,c2); 程序的运行结果为: A B,运算符的分类,运算符按其操作数个数分为3类: 单目运算符(一个操作数)、双目运算符 (两个操作数)和三目运算符(三个操作数) 运算符按其优先级的高低分为15类: 优先级最高的为1级,其次为2级等等 运算符按其功能分为: 算术

8、运算符、关系运算符、逻辑运算符、 赋值运算符、逗号运算符等等,第三节 C语言的常用运算符和表达式,一、算术运算符及其表达式,二、算术运算符和表达式 基本算术运算符: + - * / % 结合方向:从左向右 优先级: - -* / % - + - (1) (2) (3) 说明: “-”可为单目运算符时,右结合性 两整数相除,结果为整数 %要求两侧均为整型数据,例 5/2 = -5/2.0,例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2,例 5/2 = 2 -5/2.0 = -2.5,例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 (,2、

9、自反算术赋值运算符,复合的赋值运算符 1复合运算符:10种 +=,=,*=,/=,%=, , a+=a-=a*a,例: int a=2; a%=4-1; a+=a*=a-=a*=3,a=-264 等价于a=a+(a=a-(a*a,a=0 等价于a=a+(a=a*(a=a-(a=a*3,例2.11】复合的赋值运算符的应用,已知a=12,n=5,求下列表达式的值。 a+=a; /*相当于a=a+a;*/ a-=2; /*相当于a=a-2;*/ a*=2+3; /*相当于a=a*(2+3);*/ a/=a+a; /*相当于a=a/(a+a);*/ a%=(n%=2); /*相当于n=n%2,得到n值

10、为1,再计算a=a%n;*/ a+=a-=a*=a; 上述表达式的计算结果分别为 24,10,60,0,0,0,3、自增和自减运算符,自增、自减运算符+ - 作用:使变量值加1或减1 种类: 前置 +i, -i (先执行i+1或i-1,再使用i值) 后置 i+,i- (先使用i值,再执行i+1或i-1,例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b,说明: + - 不能用于常量和表达式,如5+, (a+b)+ + -结合方向: 自右向左

11、优先级:- + - -* / % -+ - (1) (2) (3,4、正负号运算符,5、强制类型转换运算符,强制类型转换运算符: 将一个表达式转换成所需类型。 一般形式: (类型名)(表达式,例 (int) x (int)(x+y) (int)x+y (double)(3/2) (int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变,例2.13】 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 结果:x=3.600000,i=3,二、关系运算符及其表达式,关系运算符和关系表达式,一)、关系运算符及

12、其优先次序,1、C语言的6种关系运算符 = = =,2、优先次序 前4种运算符的优先级相同,后两种也相同,且前4种高于后2种。 关系运算符优先级低于算术运算符 关系运算符的优先级高于赋值运算符,例: ca+b c(a+b) ab!=c (ab)!=c a= =b a= =(bc a=(bc) 注:即 相当于,二)、关系表达式 1概念:用关系运算符将两个表达式连接起来的式子,称关系表达式。 例:ab, (a=3)(b=5), ab)b表达式的值为1 (ab)=c表达式的值为1 b+cb d的值为1 f=abcf的值为0,例2.14】关系运算符的计算,若a=1,b=2,c=3,x=4,y=5;,请

13、计算下列表达式的值。 (1)ca+b (2)ab=c (3)a=bc (5)ab 区别: printf(%d,%d,%d,(a,b),a,b); 此句中(a,b)则是逗号表达式,其值为b的值,例 a=3*5,a*4 a=3*5,a*4,a+5 例 x=(a=3,6*3) x=a=3,6*a 例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c,赋值表达式,表达式值18,x=18,a=15,表达式值60,a=15,表达式值20,逗号表达式,表达式值18,x=3,1,2,3,3,2,3,赋值表达式,表达式值18

14、,x=18,例2.15】逗号运算符的使用,1)3+5,6+8 (2)a=3*5,a*4 (3)a=3*5,a+4,a+5 (4)x=(a=3,6*3) (5)x=a=3,6*a 上述表达式的计算结果分别为 14,60,20,18,18,例: /*ch2_6.c*/ #include main() int x,y=7; float z=4; x=(y=y+6,y/z); printf(x=%dn,x);,运行结果:x=3,六、各类型数据之间的转换,float a=2.0; int b =6,c =3; a*b/c -1.5 +a +fabs(-5,12.0/3,5,4.0 - 1.5,2.5 +

15、 97(int,99.5 + 5,104.5(double,思考 int a=1,b=2; 表达式a/b+3的结果是多少? int a=10000,b=30000; 表达式a+b的结果是多少? 如何修改,main( ) int a,b,c; float x,y,z; a=b=1;b+=2; x=a+;y=-b;z=-(-b); c=(int)z; printf(x=%f,y=%f,z=%fn,x,y,z); printf(a=%d,b=%d,c=%dn,a,b,c);,例2.16】综合应用实例,main() int a,b,c; float x; b=1; a=b+(c=2); x=(a+,b

16、+a,c); printf(x=%f,a=%d,b=%d,c=%d,x,a,b,c);,例2.17】赋值运算和逗号运算符的应用,本程序运行结果为:x=2.000000,a=4,b=1,c=2,符号常量,将一个常量用一个定义的标识符来表示,这个量就称为符号常量。 符号常量的定义形式如下: #define 标识符 常量值 注意:在程序之前定义符号常量,通常常量名用大写字母表示。 【例2.18】定义一个符号常量PI表示,求圆的面积。 #define PI 3.14159 /*定义常量PI*/ #include stdio.h main() int r ; float s; r=1; s=PI*r*r; printf(s=%f,s); 程序的运行结果为: 3.141590,技能训练 整型、实型与字符型数据变量的定义与使用。 若a=1,b=2,x=1.2,y=2.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论