C语言实用课件——第1章.ppt_第1页
C语言实用课件——第1章.ppt_第2页
C语言实用课件——第1章.ppt_第3页
C语言实用课件——第1章.ppt_第4页
C语言实用课件——第1章.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

第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.17,1.1.1 什么是C语言 1.1.2 C语言的发展 1.1.3 C语言的特点 1.1.4 C程序形式和程序执行过程,1.1 C语言概述,P2,C语言是由附录A中列出的32个关键字再加上语法规则构成的。,e1.c,编辑,编译,e1.obj,连接,e1.exe,运行,输出结果,1.1.1 什么是C语言,P2,程序设计语言的发展: 机器语言 (1GL) 汇编语言 (符号语言, 2GL) 面向过程的高级语言 (算法语言,3GL) 非过程化的高级语言 (4GL) (5GL),1.1.2 C语言的发展,简洁、高效、灵活和强功能 数据类型丰富,适应系统软件和应用软件开发的需要 C语言有丰富的运算符(34种, 见附录C) C语言是一种结构化语言,适合于大型程序的模块化设计 C语言生成的代码质量高 可移植性好 C语言已逐步发展为通用程序设计语言,1.1.3 C语言的特点,C语言的缺陷主要反映在: 运算符优先级太多,不便记忆 还没有一个一致公认的标准 C不是一个强类型的语言,类型检查太弱,转换比较随便,不太安全,1.1.3 C语言的特点,1.1.4 C程序形式和程序执行过程,【例1.1】C语言程序示例 程序如下: #include #include int mysum( int m, int n );,P3,main( ) 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; return k; 程序的运行结果是: z=32.000000, c=4.0; y=sqrt(c); a=10; b=20; x=mysum(a,b); z=x+y; ,main函数,掌握解决简单问题的步骤 用C语言能够实现如下程度的功能,演示: shili_13,本课程的目标,1.2 简单C程序与上机步骤,1.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.,不能丢!,命令行,注意:区分大小写,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.,注意书写格式,1.2.2 上机步骤,请按教材上机实践 例1.2 例1.3,P5,1.3 数据类型,数 据 类 型,基本类型,整型,整型 ( int ) 长整型 (long),实型(浮点型),单精度型 ( float ) 双精度型 (double),数值类型,字符类型 ( char ) 枚举类型 ( enum ),构造类型 (组合类型),数组类型 结构体类型 (struct) 共同体类型 (union) 文件类型 ( file ),指针类型,空类型 (void),不返回任何类型的数据,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,说 明,常用数据类型:整型、实型、字符型、数组、结构体类型、指针类型等 一定要选择合适的数据类型 使用正确的输出格式说明,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); s= FIRST -100; printf(“s=%dn“ , s); ,变量,s=1100,s=900,将用FIRST 代替1000,P8,变量的命名规则,由az、AZ、09、_ 组成 变量名的第一个字符不能是数字 关键字不能作为变量名,注意:区分大小写,【例1.6】下面变量名中哪些是合法的,哪些是不合法的? Int float _123 9k qbasic printf a.b year business,(),(),(),(),(),(),(),(),(),(),变量名要简单明了、见名知意,不提倡用函数名,变 量 必 须 先 定 义 后 使 用,main( ) int a, b; a=5; b=6; int sum; sum=a+b; printf(“%dn” , sum); ,下面程序是错误的。,定义变量,int a;,制造容器,变量的定义、多次赋值以及输出的全过程,不定值,a=5;,5,a=6;,6,printf(“a=%d”,a);,输出 a=6,注意:a代表存储单元 6是存储单元中的内容,1.4.2 整型常量与变量,1整型常量 整型常量不能带小数点 %d 十进制形式输出 %o 八进制形式输出 %x 十六进制形式输出,问printf(”%d,%x”,21,21);的运行结果?,21,15,问printf(”%d,%o”,21,21);的运行结果?,21,25,P10,整型常量的常用类型,2整型变量,整型变量中只能存放整型数据 整型变量的常用类型: 基本型 int (一般占2个字节) 长整型 long (一般占4个字节) 定义变量时必须根据需要给出其类型,【例1.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,注意:数据溢出,-32768,3变量初始化,在定义变量的同时给变量赋值,不能,b 没有定义,1.4.3 实型常量与变量,1实型常量 【例1.9】写出下面程序的运行结果。 #include main( ) printf(“%fn“, 123451234512345.1 ); printf(“%en“,12345.6788885); ,123451234512345.094000,按小数形式输出,P12,1实型常量 【例1.9】写出下面程序的运行结果。 #include main( ) printf(“%fn“, 123451234512345.1 ); printf(“%en“,12345.6788885); ,123451234512345.094000,1.23457e+04,按指数形式输出,P12,1.4.3 实型常量与变量,2实型变量,实型变量中只能存放实型数据 单精度型 float 占4个字节 有效位至少6 双精度型 double 占8个字节 有效位至少15 实型变量无法精确地存放数据,会有误差,【例1.10】观察下面程序的运行结果。,#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.300000,12345.669922,12345.670000,按双精度形式输出,1.4.4 字符型常量与变量,1字符型常量 常规字符 用单引号括起来的单个字符 转义字符 用开头的字符序列 字符常量按其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-97,A-65,98,B,【例1.12】将特殊字符显示在屏幕上。 #include main( ) printf(“%c %cn“,1,x1); printf(“%c %cn“,25,x15); printf(“I am “OK“n“ ); ,I am “OK“,2字符型变量,字符型变量 char 占一个字节 存放ASCII字符集中的任何一个字符,【例1.13】观察下面程序的运行结果。,#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,A,65,65,65,(=416+1=65),1.5 运算符和表达式,1.5.1 算术运算符和表达式 1.5.2 赋值运算符和表达式 1.5.3 逗号运算符和表达式 1.5.4 自加、自减运算符,P16,1.5.1 算术运算符和表达式,+(加) -(减) *(乘) /(除) %(求余) -(求负),表达式2+3.5的值?,5.5,表达式1/2的值?,0,0.5,表达式1/2.0的值?,表达式5%2的值?,1,表达式2%5的值?,2,P16,说明:,“%”:两侧运算量必须是整型 其它: 若运算量都是整型,则按整型计算 结果为整型 若至少有一个为实型,则先转化为双精度型后计算 结果为双精度型 数据类型的转换规则如下:,float,int,long,double,char,转,换,方,向,char,float,2算术表达式,假设a的值为5 ,写出表达式 a*(6+sqrt(9.0)/2)的求解过程,注意:,数学中的“ ”、“ ”用多层“( )” 代替 printf(“%d”, 32767+1); 的运行结果是 -32768,而不是32768,超过数据范围,【例1.14】将代数式 改写成C语言算术表达式。,3.14159 * ( r * r ) / ( a + b ),1.5.2 赋值运算符和表达式,1赋值运算符 = += -= *= /= %=,P18,2赋值表达式,i = 3*2是赋值表达式,32=6,赋值表达式的一般形式是: 变量 = 表达式,赋值表达式的值:,b = 5,b = b + 2,5,得到7,7,赋值表达式的值:,当a的值为1,b的值为2时 赋值表达式a=b 的值是 多少?,2,当a的值为1,b的值为2时 赋值表达式b=a 的值是 多少?,1,赋值表达式x=(y=8)+1的值是多少?,9,赋值表达式x=y=5的值是多少?,5,注意:,赋值运算符的两边数据类型不一致时:,例如,int a; a=(int)4.5;,4赋给a,例如,int a; a=4.5;,系统可自动转换:,可人为

温馨提示

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

评论

0/150

提交评论