第1章C语言数据描述和C程序设计初步_第1页
第1章C语言数据描述和C程序设计初步_第2页
第1章C语言数据描述和C程序设计初步_第3页
第1章C语言数据描述和C程序设计初步_第4页
第1章C语言数据描述和C程序设计初步_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

1、 #include void main() float ave,x,y,z; scanf(%f,%f,%f,&x,&y,&z); ave=(x+y+z)/3; printf(%f,ave); 对象声明部分函数执行部分函数头部描述函数的函数头部描述函数的3 3个要素,个要素,它们是:它们是: 1 1)函数名字)函数名字 2 2)函数的返回值数据类型)函数的返回值数据类型 3 3)函数参数(如果需要)函数参数(如果需要)函数体描述函数的具体功能函数体描述函数的具体功能实现方法。实现方法。函数头函数头函数体函数体#include #define SIZE 80 void main() void my

2、putc(char ch); char strSIZE; int j; gets(str); for(j=0;strj!=0;j+)myputc(strj); void myputc(char ch) char cc; cc=(ch=a&ch=z)?ch+A-a:ch; putchar(cc);预处理语句预处理语句主函数主函数被调函数被调函数(子函数子函数)函数声函数声明语句明语句函数调函数调用语句用语句。目标文件目标文件。执行文件执行文件。其它目标其它目标文件文件/ /库库。连接连接程序程序编译编译程序程序图图1.1 C1.1 C程序的处理过程程序的处理过程程序基本功能解释:程序基本功能解释

3、: 在主函数在主函数mainmain中从键盘输入一个字符串,依次把字中从键盘输入一个字符串,依次把字符串中的每一个字符取出作为参数调用函数符串中的每一个字符取出作为参数调用函数myputcmyputc,在函数在函数myputcmyputc中判断该字符是否小写字母,若是则中判断该字符是否小写字母,若是则将其转换为大写字母,否则不变,然后将其输出到屏将其转换为大写字母,否则不变,然后将其输出到屏幕上;直到字符串中的所有字符处理完为止。幕上;直到字符串中的所有字符处理完为止。C C程序及说明如下:程序及说明如下: 该程序由名字为该程序由名字为mainmain的主函数和的主函数和myputcmyput

4、c子函数组成。子函数组成。C C程序的执行是从主函数开始的,主函数中的所有语程序的执行是从主函数开始的,主函数中的所有语句执行完毕,则程序执行结束。句执行完毕,则程序执行结束。 例例1-11-1 C C源程序的处理过程演示源程序的处理过程演示n每个标识符由字母、数字或下划线组成每个标识符由字母、数字或下划线组成n其中第一个字符必须是字母或下划线其中第一个字符必须是字母或下划线n标识符要区分字母的大小写标识符要区分字母的大小写n标识符长度与所使用的环境相关标识符长度与所使用的环境相关 下面是不合法的用户标识符:下面是不合法的用户标识符: C C程序使用的函数有三种:程序使用的函数有三种:枚举类型

5、型)联合体类型(共用体类构造体类型数组类型构造类型空类型指针类型字符型双精度型单精度型实型(浮点型)整型基本类型1000号1007号1001号1000号1007号1001号用变量用变量 a a 来代表来代表用变量用变量 b b 来代表来代表 a+10 aa+10 a b-1 b b-1 bn符号常量:符号常量:1 1、整型常量、整型常量n字长为字长为1616位的计算机系统位的计算机系统 整型数据表示的范围为整型数据表示的范围为-32768-327683276732767(-2-215 15 2 21515-1-1)n字长为字长为3232位的计算机系统中位的计算机系统中 整型数据表示的范围为整型

6、数据表示的范围为-2-23131 2 23131-1-1 的一般格式的一般格式 数据类型名数据类型名 变量名表;变量名表; 数据类型名:数据类型名:用以指明变量名表中变量的类型。用以指明变量名表中变量的类型。 int(int(基本整型基本整型) )、long(long(长整型长整型) )、short(short(短整型短整型) )。 变量名表:变量名表:由一个或若干个逗号分隔的变量由一个或若干个逗号分隔的变量。 short w,zshort w,z; ; 例例1-21-2 整型变量的定义和输出示例整型变量的定义和输出示例 例例1-31-3 实型变量的定义和输出实型变量的定义和输出 字符串常量:

7、字符串常量:用双引号括起来字符序列用双引号括起来字符序列( (含转义字符含转义字符) )。字符常量与字符串常量在表示形式和存储性质上的区别:字符常量与字符串常量在表示形式和存储性质上的区别: C C语言的运算符非常丰富,把除了控制语句和输入输出操语言的运算符非常丰富,把除了控制语句和输入输出操作以外的几乎所有基本操作都作为运算符处理。作以外的几乎所有基本操作都作为运算符处理。C C语言的运算语言的运算符大致分为以下几类:符大致分为以下几类: 算术运算符算术运算符 关系运算符关系运算符 逻辑运算符逻辑运算符 赋值运算符赋值运算符 条件运算符条件运算符 位运算符位运算符 逗号运算符逗号运算符 指针

8、运算符指针运算符 其他运算符其他运算符 如:分量运算符、下标运算符、如:分量运算符、下标运算符、sizeofsizeof运运算符、函数调用运算符、强制数据类型转换运算符等。算符、函数调用运算符、强制数据类型转换运算符等。 按按单目运算符:单目运算符: 双目运算符:双目运算符: 三目运算符:三目运算符:条件运算符条件运算符1515个由低到高的优先级别个由低到高的优先级别 。参见表。参见表1.51.5左结合性左结合性先左后右先左后右右结合性右结合性先右后左先右后左 例例1-131-13 右结合性运算符的使用右结合性运算符的使用值得注意的是值得注意的是 注意:注意:2.3%62.3%6 例例1-51

9、-5 算术运算符使用示例算术运算符使用示例“=”=”变量变量= =表达式表达式注意:注意:例例1-61-6 赋值表达式和赋值语句的使用赋值表达式和赋值语句的使用自反运算符是在赋值运算符自反运算符是在赋值运算符“=”=”的前面加上其他运算符的前面加上其他运算符构成的一种复合运算符,所以它是一种构成的一种复合运算符,所以它是一种“复合的赋值运算复合的赋值运算符符”,简称为,简称为“复合赋值符复合赋值符”。C C语言规定,凡是双目运算语言规定,凡是双目运算符都可以与赋值运算符一起组成复合赋值符,其结合性为符都可以与赋值运算符一起组成复合赋值符,其结合性为。复合赋值符共有以下。复合赋值符共有以下101

10、0个:个: +=+=、-=-=、* *= =、/=/=、%=%=、=、&=&=、=、|=|= 其一般形式为:其一般形式为: 例例1-71-7 自反运算符使用示例自反运算符使用示例( (自行分析自行分析) ) 例例1-81-8 自反运算符的结合性示例自反运算符的结合性示例u 例例1-91-9 自增、自减运算符的使用自增、自减运算符的使用逗号在许多地方作为分隔符用以分隔若干个对象。逗号在许多地方作为分隔符用以分隔若干个对象。C C语言提供的逗号也是一种特殊的运算符,语言提供的逗号也是一种特殊的运算符,逗号运算符逗号运算符用于将两个以上的表达式连接起来,具有用于将两个以上的表达式连接起来,具有左结合

11、性左结合性。 逗号表达式的形式为:逗号表达式的形式为: 表达式表达式1 1,表达式,表达式2 2,表达式,表达式n n 从左到右从左到右依次计算每个表达式的值,整个逗号表达依次计算每个表达式的值,整个逗号表达式的值和类型为最右边的表达式式的值和类型为最右边的表达式n n的值和类型。的值和类型。 使用逗号表达式的使用逗号表达式的目的目的不是为得到整个逗号表达式不是为得到整个逗号表达式的值,而是想分别得到各个表达式的值,以简化语句的值,而是想分别得到各个表达式的值,以简化语句 例例1-101-10 逗号运算符的使用逗号运算符的使用 sizeofsizeof运算符运算符sizeofsizeof运算符

12、不会对该数运算符不会对该数据对象进行任何运算。据对象进行任何运算。 例例1-111-11 sizeof sizeof运算符使用示例运算符使用示例 例例1-121-12 sizeof sizeof运算符使用示例运算符使用示例 在在C C语言中,整型数据、单精度实型数语言中,整型数据、单精度实型数据、双精度实型数据、字符型数据之间据、双精度实型数据、字符型数据之间可以进行混合运算。可以进行混合运算。 C C语言的数据类型从某种意义上说也有语言的数据类型从某种意义上说也有高低不同的级别,其级别的高低与数据高低不同的级别,其级别的高低与数据所占内存单元的字节数相关。所占内存单元的字节数相关。 隐式转换

13、隐式转换 显式转换显式转换自动转换规则:自动转换规则:( (参见参见P24P24 例例1-141-14 混合运算中自动数据类型转换混合运算中自动数据类型转换显式转换形式:显式转换形式:功能:功能:注意:注意: 例例1-151-15 混合运算中强制数据类型转换混合运算中强制数据类型转换一个程序应包括对一个程序应包括对数据的描述数据的描述和对和对数据处数据处理的描述理的描述。对数据的描述,即数据结构。在。对数据的描述,即数据结构。在C C语言中,系统提供的数据结构,是以数据类语言中,系统提供的数据结构,是以数据类型的形式出现的。型的形式出现的。 对数据处理的描述,即计算机算法。算法对数据处理的描述

14、,即计算机算法。算法是为解决一个问题而采取的方法和步骤,是是为解决一个问题而采取的方法和步骤,是程序设计的灵魂。为此,著名计算机科学家程序设计的灵魂。为此,著名计算机科学家沃思(沃思(NikiklausNikiklaus Wirth Wirth)提出一个公式:)提出一个公式: 数据结构数据结构 + + 算法算法 = = 程序程序n有穷性:有穷性:n确定性:算法每一步操作必须惟一确定确定性:算法每一步操作必须惟一确定 n可执行性:可执行性:n输入数据:必须有输入数据:必须有0 0个或多个输入数据个或多个输入数据n输出数据:必须有输出数据:必须有1 1个或多个输出数据个或多个输出数据n顺序结构顺序

15、结构(a)a) 顺序结构的特点:各个操作按其出现的先后次序依次顺顺序结构的特点:各个操作按其出现的先后次序依次顺序执行一遍。序执行一遍。 n选择(分支)结构选择(分支)结构(b) (c)(b) (c) 选择结构的特点:根据给定条件的成立与否来选择执行选择结构的特点:根据给定条件的成立与否来选择执行不同的操作。不同的操作。 n循环结构循环结构(d)(d) 循环结构的特点:根据所给定条件来判断是否需要重复循环结构的特点:根据所给定条件来判断是否需要重复地执行一组操作,当所给条件为真时执行,否则退出。地执行一组操作,当所给条件为真时执行,否则退出。开始开始输入输入H、F输出输出X、Y计算鸡的个数:计

16、算鸡的个数:X(4H-F)/2计算兔的个数:计算兔的个数:Y(F-2H)/2结束结束图图1.8 鸡兔同笼算法流程图鸡兔同笼算法流程图1001ii1001iiS=0, I=1S=0, I=1I100I100S=S+I, I=I+1输出输出S S算法流程图:求算法流程图:求1+2+1001+2+100之和之和 语句按其功能可以分为语句按其功能可以分为两大类:两大类: 操作运算语句:操作运算语句: 程序流程控制语句:程序流程控制语句: 在在C C程序中,由表达式组成的语句称为表达式语句,程序中,由表达式组成的语句称为表达式语句,表达式语句由表达式后接一个分号组成。表达式语句由表达式后接一个分号组成。

17、表达式语句分为三种基本形式:表达式语句分为三种基本形式:n赋值语句赋值语句由赋值表达式后接一个分号组成。由赋值表达式后接一个分号组成。 例如:例如:y=x+1;y=x+1;n函数调用语句函数调用语句由函数调用表达式后接一个分号组成。由函数调用表达式后接一个分号组成。 例如:例如:printf(”Hello,World!n”);printf(”Hello,World!n”);n空语句空语句只由一个分号只由一个分号“;”;”组成,它不进行任何操作组成,它不进行任何操作(或称为空操作)(或称为空操作), ,其作用是根据某种需要占据一条语其作用是根据某种需要占据一条语句位置。句位置。9 9种流程控制语

18、句种流程控制语句 C C语言中没有提供输入输出语句,其所有的语言中没有提供输入输出语句,其所有的输入输出均由函数实现,这些输入输出函数组输入输出均由函数实现,这些输入输出函数组成了标准的成了标准的I/OI/O函数库。函数库。 标准的标准的I/OI/O函数均在头文件函数均在头文件stdio.hstdio.h中进行中进行了说明,故在使用标准了说明,故在使用标准I/OI/O函数时,应在程序的函数时,应在程序的开头写上预处理命令:开头写上预处理命令: #include stdio.h#include 或或 #include “stdio.h#include “stdio.h”。 本节首先介绍两个基本输出函数:本节首先介绍两个基本输出函数:printfprintf、putcharputchar。由由% %+ +可选项可选项+ +格式控制字符组成;格式控制字符组成;原样输出原样输出( (指在给定位置输出给定字符指在给定位置输出给定字符) )。按其转义后的功能起作用按其转义后的功能起作用( (用于分隔用于分隔) )。 (-)(-):输出数据指定域宽输出数据指定域宽 输出实际宽输出实际宽度,可填充度,可填充0 0或空格

温馨提示

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

评论

0/150

提交评论