C语言基础及程序设计格式课件

上传人:我*** 文档编号:144916251 上传时间:2020-09-14 格式:PPT 页数:38 大小:221.50KB
返回 下载 相关 举报
C语言基础及程序设计格式课件_第1页
第1页 / 共38页
C语言基础及程序设计格式课件_第2页
第2页 / 共38页
C语言基础及程序设计格式课件_第3页
第3页 / 共38页
C语言基础及程序设计格式课件_第4页
第4页 / 共38页
C语言基础及程序设计格式课件_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《C语言基础及程序设计格式课件》由会员分享,可在线阅读,更多相关《C语言基础及程序设计格式课件(38页珍藏版)》请在金锄头文库上搜索。

1、本讲主要内容,C语言的程序格式及结构特点 数据类型 算术运算符与算术表达式 赋值运算符和赋值表达式 逗号运算和逗号表达式 逻辑运算与逻辑表达式 赋值语句 数据输入、输出 简单程序举例,实例 #include Void main() int x, y, z; x=2; y=3; z=x+y; printf(x+y=%dn,z); ,程序格式 关键字及编译预处理命令成。 以分号(;)作为语句的结束符,(不是分隔符)。 没有行的概念,可任意书写。 用大括号对表示程序的层次范围,一个完整的程序模块要用一对包括。 不能在变量名、函数名、关键字中插入空格和空行。,C语言的程序格式,Page 2,标识符,标

2、识符可用作变量名、函数名、数组名、文件名等 标识符的命名有一定的规则:(1).标识符只能由字母、数字和下划线三类字符组成(2).第一个字符不能是数字(3).大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符 (4).标识符可以任意长,但只位前32位有效 (5).标识符不能是C的关键字,例,下列四组选项中,均是不合法的用户标识符的选项是 。 A) W P_0 do B) b-a for int C) floatla0 _A D) -123abcTEMP,例,下列可用于C语言用户标识符的一组是 A)void, define, WORD B)a3_b3, _123,Car C)Fo

3、r, -abc, IF Case D)2a, DO, sizeof,整型常量,在c语言中,整型常量可以用十进制、八进制、十六进制来表示。 十进制常量用一串连续的数字,32767、-989,0等。 八进制用数字0开头(注意不是字母o),如010、016等,但不能写成018等 十六进制数用数字0和字母x(或大写X)开头,如0 x10、0 xf等,十六进制里的字母不区分大小写。 整型常量又有短整型(shot int)、基本整型(int)、长整型(long int)和无符号型(unsigned),以下均是合法整型常量的是,A 160 -0 xffff 011 B-0 xcdf 01a0 xe C-01

4、986,0120668 D-0 x48a-0680 xf A,浮点型常量,就是平常所说的实数,有两种表示方法 (1)十进制小数形式。0.123、123.、123.0、0.0、都是十进制小数形式 (2)指数形式。如123e3或123E3都代表123*103 。 注意:字母e(或E)之前必须有数字,e后面的指数必须为整数,如e2、 3.2e2.8、 e2等都是不合法的,以下均是不合法浮点数的是,A160.0.12e3 B123e2e4.2.e5 C-.e18123e40.0 D- e3.e2341e3 B,例2:可作为C语言合法常量的是,A,80 B, 080 C,8e1.0 D,0 x19hd3

5、 下列均是合法整形常量的选项是 A,160 -0 xfff 011 B,-0 xcd 01a 0 xe C,-01 9865 0668 D,-0 x48a 2e5 0 x,字符型数据,字符常量 单引号括起来的一个字符,如:a, D, ?, $ 字符变量 用来存放字符常量例:char c1,c2; c1=a; c2=A; 字符数据在内存中的存储形式 以ASCII码存储,占1字节,用7个二进制位,Page 11,字符型数据,字符数据的使用方法 字符数据和整型数据之间可以通用,可以按字符形式输出,也可以按整型输出。,Page 12,字符数据与整型数据可以互相赋值。 char c = a ;print

6、f(“%d”,c); 结果我97,字符串常量 例:CHINA a a,所以:char c; c=a;,例,main() char c1,c2; c1=97; c2=98; printf(%c %dn,c1,c2); 结果:a 98,例,运行结果: a,97 a,97,main() int i; char c; i=a; c=97; printf(%c,%dn,c,c); printf(%c,%dn,i,i); ,例,下面正确的字符常量是 a t b “A” c 65 d A 下面不正确的字符串常量是 a abc b “1212” c “0” d “” a a,转义字符,转义字符 转义字符的意义

7、 n 回车换行 t 横向跳到下一制表位置 v 竖向跳格 b 退格 r 回车 f 走纸换页 反斜线符“” 单引号符 a 鸣铃 ddd 13位八进制数所代表的字符 如2 代表笑脸 , 22 代表箭头 xhh 12位十六进制数所代表的字符 如 x23 代表#,例 6,设有语句char a=72,则变量a是 (1)包含1个字符 (2)包含2个字符 (3)包含3个字符 (4)说明不合法 下列不正确的转义字符是 。(1) (2) (3)74 (4)ddd,数据类型 变量赋初值,例: int a=3; float f=3.56; char c=a; int a,b,c=5;,Page 18,数据类型不同类型

8、数据混合运算时的类型转换,数据参加运算前必须进行下列转换:char,shortint,floatdouble 混合运算时,数据类型由低级高级:int unsigned long double低 高 例: int i; float f; double d; long e; 运算次序:10+a + i*f - d/e 10+97 转换为double 转换为double 再相乘 再相除 107double 结果为double,Page 19,注1:除运算符左右两侧都为整数时,结果的类型也会转换为整数, 如:4/5的结果是0,而不是0.8。 注2:当赋值运算符左右两侧数据类型不一致时,会把右侧的数据类

9、型转换为左侧的数据类型之后再进行赋值 如:int x = 1.2; 则x实际得到的值是1,例,有定义:int a;double b;float c; char k; 则表达式a/b+c-k值的类型是 A,int B,double C,float D,char 若有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是(A) A,2.500000 B,2.750000 C,3.500000 D,0.000000,例,输出结果是:c main() double d=3.2;int x,y; x = 1.2; y = (x+3.8)/5.0

10、; printf(“%dn”,d*y); A,3 B,3.2 C,0 D,3.07,算术运算符与算术表达式,基本算术运算符 + - * / %(取余) (若整数相除,结果取整) 优先级与结合性 先乘除,后加减,同级自左至右 强制类型转换 例:(double)a, (int)(x+y), (float)(5%3) 变量本身未变化 +, - (P24),Page 23,例,main() float x; int i; x=3.6; i=(int)x; printf(x=%f,i=%dn,x,i); 结果:x=3.600000,i=3,赋值运算符和赋值表达式 简单的赋值运算符“=”,“=”两侧类型不

11、一致时,要进行类型转换: 整实:截掉小数部分 实(单、双精度)整:数值不变,存为浮点 整char:char转ASC码,Page 25,int i; float j=3.56; i=j; prtinf(“%d”,i); 结果:3,int i=23; float j; j=i; printf(%f,j); 结果23.000000,赋值运算符和赋值表达式 复合的赋值运算符,C语言中有10种复合运算符:+=, -=, *=, /=, %=, 例:a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8),Page 27,赋值运算符和赋值表达式 赋值表达式,例: a=5表达式值为5 a=b=

12、c=5表达式值为5,a,b,c均为5 a=5+(c=6)表达式值为11,a为11,c为6 a=(b=4)+(c=6)表达式值为10,a为10,b为4,c为6 a=(b=10)/(c=2)表达式值为5,a为5,b为10,c为2 a+=a-=a*a 请同学计算:其中a=5 a*=a+=a-=a*a 请同学计算:其中a=5,Page 28,例,a+=a-=a*a; 第一步:先求a-=a*a 相当于a=a-a*a ,a值为5-25 第二步:a+= -20 相当于a=a+(-20) a值为-20-20=-40,逗号运算和逗号表达式,格式: 表达式1,表达式2 求解顺序及结果: 先求解1,再求解2,最终结

13、果为表达式2的值 例 a=3*5,a*4 最终结果为60,Page 30,例,已知有定义x=5则表达式(赋值表达式高于逗号表达式) a = 3 * 5 ,a * 4 的值是60 ( a = 3 * 5 ,a * 4 ),a + 5 的值是 20 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 52,例,若有以下程序段,其输出结果是 。 int a=0,b=0 c=0; c=(c-=a-5),(a=b,b+3); printf(“%d,%d,%dn”,a,b,c) A 3,0,-10 B 0,0,5 C

14、 -10,3,-10 D 3,0,3 B,逻辑运算与逻辑表达式,关系运算与关系表达式 关系运算是比较简单的一种逻辑运算,其优先次序为:(大于) = (大于或等于) = (等于) !=(不等于) 优先级相同(高) 优先级相同(低) 关系表达式 其值只能为真或假,在 C 语言中用 整数1 和 0 表示。 逻辑运算府与逻辑表达式 逻辑运算符: !(非) a=B; b=O; c=Y; putchar(a); putchar(b); putchar(c); putchar(n); ,例 15,运行结果 输入: d 输出: d,#include main() char c; c=getchar(); pu

15、tchar(c); putchar(n); ,数据输入、输出 常用格式I/O函数,printf格式输出 printf(格式控制,输出表) 格式控制字符 看书 P36-41,上机实践 scanf格式输入 scanf(格式控制,地址表),Page 39,例16,运行结果: 输入: 12 34 56 输出: 12 34 56,main() int a,b,c; scanf(%d%d%d, ,例,有定义语句:int b;char c10;则正确的是 A,scanf(“%d%s“, if(xy) if(y0) z=0; else z+=1; printf(“%dn”,z); 若w=1,x=2,y=3,z=4,则条件表达式 wx?w:yz?y:z的值是:,有如下语句: int x=3,y=2,z=1;表达式: z* = (xy ? +x:y+)的值是: 若有(exp) ? a+:b- ,则以下表达式能完全等价于表达式(exp)的是: A)(exp=0) B)(exp=1) C)(exp!=1) D)(exp!=0),main() int x,y; scanf(“%d”, ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号