C语言实用课件-第1章.ppt

上传人:壹****1 文档编号:569970458 上传时间:2024-08-01 格式:PPT 页数:55 大小:1.20MB
返回 下载 相关 举报
C语言实用课件-第1章.ppt_第1页
第1页 / 共55页
C语言实用课件-第1章.ppt_第2页
第2页 / 共55页
C语言实用课件-第1章.ppt_第3页
第3页 / 共55页
C语言实用课件-第1章.ppt_第4页
第4页 / 共55页
C语言实用课件-第1章.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《C语言实用课件-第1章.ppt》由会员分享,可在线阅读,更多相关《C语言实用课件-第1章.ppt(55页珍藏版)》请在金锄头文库上搜索。

1、第第1章章 C语言基础知识语言基础知识 1.1 C语言概述语言概述 1.2 简单简单C程序与上机步骤程序与上机步骤 1.3 数据类型数据类型 1.4 常量与变量常量与变量 1.5 运算符和表达式运算符和表达式 例题链接例题链接例题链接例题链接 例例1.1例例1.2例例1.3例例1.4例例1.5例例1.6例例1.7例例1.8例例1.9例例1.10例例1.11例例1.12例例1.13例例1.14例例1.15例例1.16例例1.171.1.1 什么是什么是C语言语言1.1.2 C语语言的言的发发展展 1.1.3 C语语言的特点言的特点1.1.4 C程序形式和程序执行过程程序形式和程序执行过程1.1

2、C语言概述语言概述P2返回返回nC语言是由附录语言是由附录A中列出的中列出的32个个关关键字键字再加上再加上语法规则语法规则构成的。构成的。 e1.c编辑编辑编译编译e1.obj连接连接e1.exe运行运行输出结果输出结果1.1.1 什么是什么是C语言语言P2n程序设计语言的发展程序设计语言的发展:机器语言机器语言 (1GL)汇编语言汇编语言 (符号语言,符号语言, 2GL)面向过程的高级语言面向过程的高级语言 (算法语言,算法语言,3GL)非过程化的高级语言非过程化的高级语言 (4GL)(5GL)1.1.2 C语言的发展语言的发展简洁、高效、灵活和强功能简洁、高效、灵活和强功能数据类型丰富,

3、适应系统软件和应用软数据类型丰富,适应系统软件和应用软件开发的需要件开发的需要C语言有丰富的运算符语言有丰富的运算符(34种种, 见附录见附录C)C语言是一种结构化语言,适合于大型语言是一种结构化语言,适合于大型程序的模块化设计程序的模块化设计C语言生成的代码质量高语言生成的代码质量高可移植性好可移植性好C语言已逐步发展为通用程序设计语言语言已逐步发展为通用程序设计语言1.1.3 C语言的特点语言的特点nC语言的缺陷主要反映在:语言的缺陷主要反映在:运算符优先级太多,不便记忆运算符优先级太多,不便记忆还没有一个一致公认的标准还没有一个一致公认的标准C不是一个强类型的语言,类型检查太不是一个强类

4、型的语言,类型检查太弱,转换比较随便,不太安全弱,转换比较随便,不太安全1.1.3 C语言的特点语言的特点1.1.4 C程序形式和程序执行过程程序形式和程序执行过程【例例1.1】C语言程序示例语言程序示例程序如下:程序如下: #include #include int mysum( int m, int n );P3main( ) int a,b,x; double c,y,z; c=4.0; y=sqrt(c); a=10; b=20; x=mysum(a,b); z=x+y; printf(z=%lfn,z); int mysum( int m, int n ) int k; k=m+n;

5、 return k; 程序的运行结果是:程序的运行结果是: z=32.000000 c=4.0;c=4.0;y=sqrt(c);y=sqrt(c);a=10;a=10; b=20;b=20;x=mysum(a,b);x=mysum(a,b);z=x+y;z=x+y; main函数函数 sqrtsqrt函数函数函数函数 其它函数其它函数其它函数其它函数文件文件math.h mysum函数函数n掌握解决简单问题的步骤掌握解决简单问题的步骤 n用用C语言能够实现如下程度的功能语言能够实现如下程度的功能演示演示: shili_13本课程的目标本课程的目标1.2 简单简单C程序与上机步骤程序与上机步骤1

6、.2.1 简单简单C程序程序1.2.2 上机步骤上机步骤P4返回返回1.2.1 简单简单C程序程序【例例1.2】编编写写在在屏屏幕幕上上显显示示一一个个句句子子“Lets study the C language.”的程序。的程序。#include main( ) printf(Lets study the C language. ) ;main是主函数名是主函数名有且仅有有且仅有一个主函数一个主函数函函数数体体本函数体有一条输出语句本函数体有一条输出语句运行结果如下:运行结果如下:Lets study the C language. 不能丢不能丢!命令行命令行注意:区分大小写注意:区分大小写

7、P4【例例1.3】编编写写输输出出两两个个句句子子“Lets study the C language.”和和 “Its interesting.”的程序。的程序。#include main( ) printf(Lets study the C language. n); /* 输出字符串后换行输出字符串后换行 */ printf(Its interesting.n);换行符换行符 注释部分注释部分 /* 输出字符串后换行输出字符串后换行 */运行结果:运行结果:Lets study the C language. Its interesting.函数体可有多条语句函数体可有多条语句 注意书写

8、格式1.2.2 上机步骤上机步骤n n请按教材上机实践请按教材上机实践 例例1.2 例例1.3P51.3 数据类型数据类型返回返回数数据据类类型型基本类型基本类型整型整型整型整型 ( int )长整型长整型 (long)实型实型(浮点型浮点型)单精度型单精度型 ( float )双精度型双精度型 (double)数值类型数值类型字符类型字符类型 ( char )枚举类型枚举类型 ( enum ) 构造类型构造类型(组合类型组合类型)数组类型数组类型结构体类型结构体类型 (struct)共同体类型共同体类型 (union)文件类型文件类型 ( file )指针类型指针类型空类型空类型 (void

9、)不返回任何类型的数据不返回任何类型的数据1.3 数据类型数据类型【例例1.4】运行程序运行程序,观察观察sum和和ave的值的值 #include main( ) int a, b, sum; float ave; a=5; b=6; sum=a+b; ave=sum/2; printf(“%d, %fn” , sum, ave); sum=11?ave= ? 5.5?5运行结果:运行结果:11,5.000000 保留六保留六位位 输出整型输出整型输出实型输出实型P7返回返回说说 明明n常用数据类型:整型、实型、字符型、常用数据类型:整型、实型、字符型、数组、结构体类型、指针类型等数组、结构

10、体类型、指针类型等n一定要选择合适的数据类型一定要选择合适的数据类型n使用正确的输出格式说明使用正确的输出格式说明1.4 常量与变量常量与变量1.4.1 常量与变量的概念常量与变量的概念1.4.2 整型常量与变量整型常量与变量1.4.3 实型常量与变量实型常量与变量1.4.4 字符型常量与变量字符型常量与变量 P8返回返回1.4.1 常量与变量的概念常量与变量的概念【例例1.5】编写输出编写输出1000和和100的和的和 与差的程序。与差的程序。#include #define FIRST 1000 main( ) int s; s= FIRST +100; printf(s=%dn , s)

11、; s= FIRST -100; printf(s=%dn , s); 都是常量都是常量 变量变量s=1100s=900将用将用FIRST代替代替1000P8变量的命名规则变量的命名规则 n由由az、AZ、09、_ 组成组成 n变量名的第一个字符变量名的第一个字符不能是数字不能是数字n关键字关键字不能作为变量名不能作为变量名注意:区分大小写注意:区分大小写【例例1.6】下下面面变变量量名名中中哪哪些些是是合合法法的的,哪些是不合法的?哪些是不合法的? Int float _123 9k qbasic printf a.b year business( )( )( )( )( )( )()()(

12、)( )变量名要简单明了、见名知意变量名要简单明了、见名知意 不提倡用函数名不提倡用函数名 变量必须先定义后使用main( ) int a, b; a=5; b=6; int sum; sum=a+b; printf(“%dn” , sum); 下面程序是错误的。下面程序是错误的。定义变量定义变量 int a; 制造容器制造容器 a 变量的定义、多次赋值以及输出的全过程变量的定义、多次赋值以及输出的全过程 不定值不定值a=5; 5a=6; 6printf(“a=%d”,a); 输出输出 a=6注意:注意:a代表存储单元代表存储单元6是存储单元中的内容是存储单元中的内容1.4.2 整型常量与变量

13、整型常量与变量1整型常量整型常量 n n整型常量不能带小数点整型常量不能带小数点n n %d 十十进制形式输出进制形式输出 %o 八八进制形式输出进制形式输出 %x 十六十六进制形式输出进制形式输出问问printf(”%d,%x”,21,21);的运行结果?的运行结果?21,15问问printf(”%d,%o”,21,21);的运行结果?的运行结果?21,25P10基本型基本型长整型长整型- -32768 32767-2147483648 2147483647整型常量的常用类型整型常量的常用类型 2整型变量整型变量 n整型变量中整型变量中只能存放只能存放整型数据整型数据n整型变量的常用类型:整

14、型变量的常用类型: 基本型基本型 int (一般占(一般占2个字节)个字节) 长整型长整型 long (一般占(一般占4个字节)个字节)n定义变量时必须根据需要给出其类型定义变量时必须根据需要给出其类型【例例1 1. .8 8】写出下面程序的运行结果。写出下面程序的运行结果。 #include main( ) int a=0,b=0; long int c=0; a=32767; b=32768; c=32768; printf(%d,%d,%ldn,a,b,c); 32767, -32768,32768 基本型基本型长整型长整型注意:数据溢出注意:数据溢出 -327683变量初始化变量初始化

15、 n n在定义变量的同时给变量赋值在定义变量的同时给变量赋值int a=5;int a;a=5;int a=5, b=6;int a,b;a=5; b=6;不能,不能,b 没有定义没有定义能否改成能否改成“; ;”1.4.3 实型常量与变量实型常量与变量1实型常量实型常量 【例例1.9】写出下面程序的运行结果。写出下面程序的运行结果。#include main( ) printf(%fn, 123451234512345.1 ); printf(%en,12345.6788885); 123451234512345.094000 按小数形式输出按小数形式输出 P121实型常量实型常量 【例例1

16、.9】写出下面程序的运行结果。写出下面程序的运行结果。#include main( ) printf(%fn, 123451234512345.1 ); printf(%en,12345.6788885); 123451234512345.094000 1.23457e+04按指数形式输出按指数形式输出 P121.4.3 实型常量与变量实型常量与变量2实型变量实型变量 n n实型变量中只能存放实型数据实型变量中只能存放实型数据 单精度型单精度型 float 占占4个字节个字节 有效位至少有效位至少6 双精度型双精度型 double 占占8个字节个字节 有效位至少有效位至少15n n实型变量无法

17、精确地存放数据,会有误差实型变量无法精确地存放数据,会有误差 【例例1 1. .1010】观察下面程序的运行结果。观察下面程序的运行结果。#include main( ) float a=12.3,b=0; double c=12345.67; b=12345.67; printf(%fn,a); printf(%fn,b); printf(%lfn,c);12.30000012345.66992212345.670000按双精度按双精度形式输出形式输出1.4.4 字符型常量与变量字符型常量与变量1字符型常量字符型常量 常规字符常规字符 用单引号括起来的单个字符用单引号括起来的单个字符 转义字

18、符转义字符 用用开头的字符序列开头的字符序列n字符常量按其字符常量按其ASCII码值参加整数运算码值参加整数运算 P13【例例1.11】将常规字符按不同格式输出。将常规字符按不同格式输出。 #include main( ) printf(%c-%d,%c-%dn,a,a ,A, A); printf(%d,%cn,a+1,A+1); printf(%dn,a-A);a-9732A-6598B【例例1.12】将特殊字符显示在屏幕上。将特殊字符显示在屏幕上。 #include main( ) printf(%c %cn,1,x1); printf(%c %cn,25,x15); printf(I

19、am OKn ); I am OK2字符型变量字符型变量 n字符型变量字符型变量 char 占一个字节占一个字节 n存放存放ASCII字符集中的任何字符集中的任何一个一个字符字符 【例例1 1. .1313】观察下面程序的运行结果。观察下面程序的运行结果。 #include main( ) char c1=65,c2=A,c3=101, c4=x41; int sum=0; sum=c2+30; printf(%c,%c,%cn,c1,c3,c4); printf(%d,%d,%dn,c1,c3,c4); printf(sum=%dn,sum);sum=95(=182+1=65)A,A,A65

20、,65,65(=416+1=65)1.5 运算符和表达式运算符和表达式1.5.1 算术运算符和表达式算术运算符和表达式1.5.2 赋值运算符和表达式赋值运算符和表达式1.5.3 逗号运算符和表达式逗号运算符和表达式1.5.4 自加、自减运算符自加、自减运算符P16返回返回1.5.1 算术运算符和表达式算术运算符和表达式n n +(加)(加) -(减)(减) *(乘)(乘) /(除)(除) %(求余)(求余) -(求负)(求负) 表达式表达式2+3.5的值?的值?5.5 表达式表达式1/2的值?的值?0 0.5 表达式表达式1/2.0的值?的值?表达式表达式5%2的值?的值?1 表达式表达式2%

21、5的值?的值?2 2.0%5( )注意:注意:P16说明:说明:n“%”:两侧运算量必须是整型:两侧运算量必须是整型 n n其它:其它: 若运算量都是整型,则按整型计算若运算量都是整型,则按整型计算 结果为整型结果为整型 若至少有一个为实型,则先转化为双精度若至少有一个为实型,则先转化为双精度型后计算型后计算 结果为双精度型结果为双精度型 n n数据类型的转换规则如下:数据类型的转换规则如下:floatintlongdoublechar转转换换方方向向charfloat2算术表达式算术表达式 假设假设a的值为的值为5 ,写出表达式,写出表达式 a*(6+sqrt(9.0)/2)的求解过程的求解

22、过程求平方根函数求平方根函数第一步:第一步:5*(6+3.0)/2)第二步:第二步:5*(9.0/2)第三步:第三步:5*4.5第四步:第四步:22.5表达式的值表达式的值注意:注意:n数学中的数学中的“ ”、“ ”用多层用多层“( )” 代替代替n printf(“%d”, 32767+1); 的运行结果是的运行结果是 -32768,而不是,而不是32768 超过数据范围超过数据范围 【例例1.14】将代数式将代数式 改写成改写成C语言算术表达式。语言算术表达式。 3.14159 * ( r * r ) / ( a + b ) 无乘方无乘方运算符运算符不能用不能用不能不能丢丢不能不能丢丢可省

23、可省略略可省可省略略1.5.2 赋值运算符和表达式赋值运算符和表达式1赋值运算符赋值运算符 = += -= *= /= %= 简单赋值运算符简单赋值运算符 复合赋值运算符复合赋值运算符 P182赋值表达式赋值表达式 ni = 3*2是赋值表达式是赋值表达式32=6n赋值表达式的一般形式是:赋值表达式的一般形式是: 变量变量 = 表达式表达式 i变量变量必须是必须是变量名变量名 任何合法任何合法表达式表达式 表达式表达式赋值表达式的值:赋值表达式的值: b = 5 b = b + 2 57得到得到75b7表达式表达式b=b+2的值为的值为7赋值表达式的值:赋值表达式的值: 当当a的值为的值为1,

24、b的值为的值为2时时赋值表达式赋值表达式a=b 的值是的值是 多少?多少? 2当当a的值为的值为1,b的值为的值为2时时赋值表达式赋值表达式b=a 的值是的值是 多少?多少? 1赋值表达式赋值表达式x=(y=8)+1的值是多少?的值是多少? 9赋值表达式赋值表达式x=y=5的值是多少?的值是多少? 5结合方向为自右至左结合方向为自右至左注意:注意:n赋值运算符的两边数据类型不一致赋值运算符的两边数据类型不一致时:时: 例如,例如,int a; a=(int)4.5;4赋给赋给a例如,例如,int a; a=4.5;系统可自动转换:系统可自动转换:可人为地转换可人为地转换:自动转换成自动转换成4

25、4赋给赋给a表达式的值为表达式的值为4强制类型转换强制类型转换1.5.3 逗号运算符和表达式逗号运算符和表达式1逗号运算符逗号运算符n在所有运算符中优先级最低在所有运算符中优先级最低 ,P20在此无意在此无意义义【例例1.16】逗号表达式的示例。逗号表达式的示例。#include main( ) int a=0,b=0,x=0,y=0; a=(x=8,x%5); b=x=8,x%5; printf(%d,%d,%d,a,b,(y=2,y*3); 2逗号表达式逗号表达式运行结果运行结果 3,8,6a的值变为的值变为3b的值变为的值变为8需输出需输出的字符的字符格式格式要求要求分隔符分隔符 逗号运算符逗号运算符1.5.4 自加、自减运算符自加、自减运算符n n自加自加 (+)i+; +i;都使都使i的值增的值增1n n自减自减 (-)i-; -i;都使都使i的值减的值减1P20运算的先后顺序 自加(减)自加(减)算术运算符算术运算符赋值运算符赋值运算符逗号运算符逗号运算符 先先后后

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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