资源预览内容
第1页 / 共77页
第2页 / 共77页
第3页 / 共77页
第4页 / 共77页
第5页 / 共77页
第6页 / 共77页
第7页 / 共77页
第8页 / 共77页
第9页 / 共77页
第10页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
程序设计技术,C语言数据描述和C程序设计初步 结构化程序设计基础和C语言的控制结构 数组及其应用 函数与C程序结构 指针与函数 指针与数组 字符串及其应用 结构体类型和联合体类型 C语言的文件处理及其应用 位运算与枚举类型,第一章 C语言数据描述和C程序设计初步,C程序的基本结构 C语言的基本数据类型 基本运算符和表达式 不同类型数据混合运算及数据转换 C程序设计初步,1.1 C程序的基本结构,C 语言的特点: C是一种高级计算机程序语言 C是一种面向过程的结构化程序语言 C语言简洁、紧凑,使用方便、灵活 C语言数据类型丰富 C语言运算符丰富 C语言程序可移植性好 C程序开发环境中包含了语言核心、与处理器和标准函数库三个部分 C语言本身没有提供用于程序中数据输入输出的语句,1.1.1 C源程序的组成成分,#include /*头文件声明*函数头 */ void main( ) /*定义主函数且无返回值*/ float ave ,x,y,z; /* 定义变量 */scanf(“%f,%f,%f”, /*调用printf函数输出结果*/ ,说明: 1.程序由予处理命令和至少一个函数组成,但必须而且只有一个主函数, 函数名必须是main。 2. 函数由函数头和函数体组成。函数体总是从花括号“”开始。以反花括号“”结束。,3 函数体由语句组成。每一个分号“;”就代表一条语句的结束。 4 以/*开头到*/结束的部分叫注释行。即注解。不是语句,可以在程序中的任何位置,结尾不要分号“;”,不引起计算机任何动作。 5 语句由C语言规定的符号组成,结尾一定是分号“;”不同的语句引起不同的计算机动作,是计算机执行程序的最小单位。 6 当程序由多个函数组成时,除主函数main外,其他的函数叫子函数。冠以名字后,就叫某某函数。 例1-1 C语言源程序的组成成分和基本结构,1.1.1 C源程序的组成成分,用C言符号书写的程序称为源程序 ,高级语言源程序必须被转为机器语言程序才能被执行。,1.1.1 C源程序的组成成分,1.1.2 C语言的基本元素,1C语言的字符集 小写英文字母 a b c z大写英文字母 A B C Z数字 0 1 2 3 9特殊字符 + = - _ ( ) * : “ / ? 不可印出字符 空格 、换行、制表符等 2标识符 标识符是给程序中处理的数据对象(如变量、常量、函数、数据类型等)取的名字 .,1.1.2 C语言的基本元素,标识符取名规则 组成标识符的字符为字母、数字和下划线 标识符中第一个字符必须是字母或下划线 多数C编译系统在构成标识符时都要区分字母的大小写,即abc和Abc是不相同的标识符 构成标识符的字符个数(标识符长度)与所使用的环境相关 保留字 操作系统或编译系统或其他系统已经用了的名字 例如 double else enum extern float for goto if _Imaginary* inline*int long register restrict* 用户标识符 用户自己取的名字,1.1.2 C语言的基本元素,程序员(用户)在程序中自定义标识符时,除了避免使用保留字和必须遵守标识符的命名规则外,还需要注意以下两个方面:一是要将标识符取得既有意义,又便于阅读;二是要注意避免含义上或书写时引起混淆。例如 下面是一些合法用户自定义标识符的例子: a b1 file_name _buf 下面是不合法的用户自定义标识符例子及错误原因: 123abc /*不是以英文字母开头*/ float /*与系统保留字同名*/ up.to /*标识符中出现了非法字符“.”*/ zhang san /*标识符中间出现了非法字符空格*/,1.1.2 C语言的基本元素,3函数 函数是构成程序的基本模块,每个函数具有相对独立的功能 函数有三种:主函数(即main()函数)、C语言编译系统提供的标准库函数和用户自定义的函数 主函数是C程序执行的入口,即程序总是从主函数中的第一条可执行的语句开始执行;一般情况下也是程序执行的出口 标准库函数是语言处理系统提供的常用功能的处理程序代码,在程序中如要使用标准库函数,则需要在程序中合适的地方(调用标准库函数之前)用文件包含预处理语句将与所使用库函数相应的头文件包含到程序中来 如例前面例题中的“#include ” 用户自定义函数即程序员根据所设计应用程序的功能自己编写的函数,1.1.2 C语言的基本元素,4C程序书写的基本要点 C程序习惯上使用小写英文字母。为了清晰起见,在C程序中往往使用大写英文母来表示宏定义或其它具有特殊意义的标识符。 C程序中不强调程序行的概念。一行中可以有多条语句,一个语句也可以写在多行上,但语句与语句之间要用分号(;)分隔。 C程序为了增强程序的可读性,可以使用适量的空格、空行和适当的行间缩进结构。但要注意,程序中的变量名、函数名以及C语言本身使用的单词(如保留字、语句结构等),不能在其中插入空格。,第一章 C语言数据描述和C程序设计初步,C程序的基本结构 C语言的基本数据类型 基本运算符和表达式 不同类型数据混合运算及数据转换 C程序设计初步,1.2 C语言的基本数据类型,数据和数据类型 在C语言源程序中能直接书写的、需要被处理的符号只有数和字符两种,这种符号称为C语言的数据。 计算机程序只能处理已经存入计算机系统内存的数据,任何需要用计算机程序处理的信息都需要被转换为内存中的数据才能被处理。 计算机系统的内存是按字节编址的,在内存里存放一个数据所需要的内存字节数称为一个数据所需要的内存空间,程序中不同的数据在系统内存中所要求的存储空间大小也不一样,因而在程序设计中需要区分所处理数据的数据类型。,1.2 C语言的基本数据类型,C语言提供的数据类 :数据类型,1.2 C语言的基本数据类型,常量和变量 C源程序中直接书写的数据称为常量,存放一个数据所需要的内存空间称为变量,内存空间中存放的数据内容称为变量值。 变量是由变量名(标识符)来区别的。变量值是通过引用变量名来引用的,是数据。所以,常量和变量在程序中表现的都是数据。 常量数据在源程序中给定后,在程序的整个执行过程中保持不变。而变量在程序的执行过程中是一个其值可以被程序修改的量。是一个变化的量。,1.2 .1 C语言的整型数据类型,整型量 1整型常量 C语言源程序能直接书写的整型常量可以有三种形式:十进制整数。如888、-123、0等。八进制整数。以0开头的整数是八进制整型常量,如0777、-011等。十六进制整数。以0x开头的整数是十六进制整型常量,如0x123、0xff等。在C语言中整型数据用机器的一个字长来存储,所以整型数据的表示范围与计算机系统的软硬件环境有关。在字长为16位计算机系统中,整型数据表示的范围为-3276832767(-215215-1);在字长为32位的计算机系统中,则表示的数据范围为-231231-1。,1.2 .1 C语言的整型数据类型,2整型变量存放整型数据的内存空间称为整型变量,C语言提供了基本整型、短整型、长整型和无符号整型四种大小不同的单位空间来存放整形数据。,类型名 意 义 字节数 经度范围 short 短整型 2 -3276732768 int 基本整型 4 -21474836472147483648 long 长整型 4 -2147483647L2147483648L unsigned short 无符号短整型 2 065535 unsigned int 无符号基本整型 4 04294967295U Unsigned long 无符号长整型 4 04294967295UL,1.2 .1 C语言的整型数据类型,3.变量定义 整型变量定义的一般形式为:类型名 ;该语句的功能是:指定具有类型名定义的多个内存空间,取名为变量列表中的标识符(变量名),数量与变量列表中变量名的个数一致。 例如:int x1,x2; (定义变量x1,x2为整型变量)long x,y; (定义变量x,y为长整型变量)unsigned c,d;(定义变量c,d为无符号整型变量) 例1-2 整型变量的定义和输出示例。,1.2.2 C语言的实型数据类型,实型量 1实型常量在C语言源程序中能直接书写的实型数,称为实型常量。实型数在C语言中又称为浮点数,实型常数有两种表示形式:实数形式:实数形式由数字和小数点组成。如:888.88,0.88等。指数形式:数据由数字0 9、小数点和表示阶码的标志“e”或“E”组成,其组成形式一般为: 整数部分.小数部分E指数部分 指数形式对应于自然科学中的科学计数法,其中用字母“e”或“E”来表示幂的底,在“e”或“E”之后用整数表示数的指数。如123e5表示123105,123e-5表示12310-5。,1.2.2 C语言的实型数据类型,在使用实型数的指数表示形式时应该注意下面两点: 指数部分只能是整数而不能用实数表示,如123E1.5是错误的表示方法。 字母“e”或“E”之前的尾数部分不能省略,如10-8不能只写为E-8,而应该写成为1E-8(或者1e-8). 2实型变量 C源程序文件中存放实型数据的数据对象称为实型变量。 C语言中的实型变量按其表示的数据范围不同和精度不同分为单精度型和双精度型,其类型名分别为float和double。,1.2.2 C语言的实型数据类型,3.变量定义 定义实型变量的一般形式为:类型名 ;功能意义与整形变量定义相同 例如:float x,y; (定义变量x,y为单精度实型变量)double z; (定义变量z为双精度实型变量) 例1-3 实型变量的定义和输出示例。,类型名 意 义 字节数 精度范围 float 单精度实型 4 1.175494e-0383.402823e+038 Double 双精度实型 8 2.225074e-3081.797693e+308,1.2.3 C语言的字符型数据类型,字符量在C语言源程序中直接书写的、需要被处理的字符就是字符常量。同样,用于存放这个字符的内存空间就是字符变量。1.字符常量 普通字符:普通字符是由单引号括起来的一个可打印字符,如a、?、A等。转义字符:转义字符是由反斜杠开头的字符序列,此时反斜杠字符后面的字符或字符序列不表示自己本身的含义而转变为表示另外的特定意义。,1.2.3 C语言的字符型数据类型,2字符变量字符类型变量用以存储和表示一个字符,占用一个字节。字符型变量的定义形式如下:char ;例如:char ch; (定义变量ch为字符型变量) 在C语言中字符型变量和整型变量是兼容的,系统中存储的是对应字符的ASCII码值,因此在C语言中字符数据和整数之间可以通用,即字符型数据可以与整型数据一起参与运算,但在使用时要注意其表示的合理范围 (0255范围内的整数),1.2.3 C语言的字符型数据类型,例如,若有C语句序列:char ch; ch=A; ch=ch+1;,则执行该语句序列后ch的内容是字符B。 例1-4 字符变量的定义和输出示例。3字符串常量 C语言中,字符串常量是用双引号括起来的由0个字符或若干个字符构成的字符序列,例如“This is a string constant”。其中,双引号只是作为定界符使用,并不是字符串中的字符。存储字符串常量时分配一段连续的存储单元用于依次存放字符 串中的每一个字符,然后在字符串的最后一个字符后添加转义字符0表示字符串的结尾,所以其需要的空间长度是串中字符存储所需要的长度再加一个字节,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号