




付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计1.1程序设计和程序设计语言1. 程序:程序是对解决某个计算问题的方法(算法)步骤的一种描述;数据结构和算法是程序 最主要的两个方面。2.机器语言和汇编语言:计算机能直接识别和执行的二进制代码称为计算机的机器语言;用有助于记忆的符号来代表二进制代码,称为汇编语言。3.计算机通常有解释和编译两种方法来执行源程序:解释方式,即让计算机运行解释程序,解释程序逐句取出源程序中的语句,对它作解释执行;编译方式,即先运行编译程序,从源程序一次翻译产生计算机可直接执行的二进制程序。1.2C语言基础1. C语言的特点:接近硬件、数据类型与运算符丰富、C程序的结构简单、是一种结构化语言也是一种模块
2、化程序设计语言、C系统提供大量的库函数2. C程序的基本结构:通常一个C程序包括一个或多个函数,其中必有一个main函数,C函数的定义分两部分:函数说明部分和函数体,C程序总是从主函数开始执行。3.C语言的基本语句:数据定义语句、表达式语句、流程控制语句、复合语句、空语句、其它语句。4.注释:用/*“和”*/“括住的任意字符列,注释不参与编译,也不会出现在目标程序中。5.C语言的字符集:数字10个(09)、英文字母大、小写各26个(AZ,az)、键盘符号33个、转义字符。6.C程序的基本词汇:字面形式常量、特殊符号、保留字、标识符。一个合理的标识符由英文字母或下线符开头,后跟或不跟由字母、下线
3、符、数字符组成的字符列。2.1C语言的数据类型1.整型:带符号整型(int)、带符号短整型(short int)、带符号长整型(long int)、无符号整型(unsigned int)、无符号短整型(unsigned short int)、无符号长整型(unsigned long)。2.实型:单精度型(也称浮点型 float)、双精度型(double)3.构造类型:数组类型、结构类型和共用类型。4.指针类型:是取程序对象(如变量)在内存中占居的地址为值的一种特殊的数据类型。5.void类型2.2 常量1.整型常量:十进制整数,通常整数的写法;八进制整数,以数字符0开头并由数字符0-7组成的数
4、字符序列;十六进制整数,OX(或OX)开头的整数。2.实型常量:一般书写格式是:正负号 整数部分.小数部分 指数部分(l)整数部分和小数部分可以任选,但不可同时都没有。(2)小数点和指数部分不可以同时都没有。3.字符常量:普通字符,用单引号括起一个字符;特殊字符,用字符或字符列采标记。4.字符串常量:字符串常量用来表示一个字符序列,它的书写方法用双引号括住字符序列。5.符号常量:# define 标识符 常量2.3 变量1. 变量定义:变量是程序执行时,其值允许改变的数据对象。2.内部变量和外部变量:在函数内定义的变量称为内部变量,而在函数之外(函数之间)定义的变量称为外部变量。3.变量的存储
5、类型: auto(自动)、static(静态)、register(寄存器)和 extern(外部)4.变量的作用域和生存期:内部变量的作用域只局限于定义它的函数或复合语句;静态的外部变量只能供定义它的源程序中的全部函数专用。2.4 运算符1.算术运算符:实现通常的取整、取负、四则运算、求两整数相除后的余数的运算和增1减1运算。特别要留心的是整除运算、求余运算、增1运算和减1运算。2.关系运算符:用于关系运算的关系运算符有六个:<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、=(等于)和!=(不等)。3.逻辑运算符:用于逻辑运算的逻辑运算符有三个:&&
6、amp;(逻辑与)、|(逻辑或)、!(逻辑非)逻辑运算产生的结果也只能是1或0.,1表示“真”,用0表示运算结果为“假”。4.赋值运算符:最简单形式是:变量=表达式,先计算表达式的值再将该值赋给变量。5.逗号运算符:用于将若干表达式连接起来顺序地逐个计算,它的计算顺序是从左到右逐一计算各表达式,并以表达式n的值为连续逗号运算的结果。6.条件运算符:表达式1?表达式2:表达式3 计算规则是:计算表达式1的值,如果值非0(真),则以表达式2的值为条件运算的结果,否则以表达式3的值为条件运算的结果。7.长度运算符:sizeof(类型名)8.位运算符:位逻辑运算符有 &(按位与)、|(按位或)
7、、(按位异或)、(按位取反);位移位运算有:<<(位左移)和>>(位右移)2.5 表达式1.单目运算表达式单目运算表达式是由单目运算符和一个运算对象构成的表达式,它们的结合性都是“自右向左”结合。2.双目运算表达式:一般形式为:表达式 双目运算符 表达式 双目运算符自左向右结合。3.条件运算表达式:一般形式为:表达式?表达式:表达式,条件运算符自右向左结合。3.1 顺序结构 顺序结构用来描述一个计算或操作序列,表示从序列的第一个计算开始,顺序执行序列中的每个计算,直至序列的最后一个计算。1. 复合语句:将顺序执行的语句序列,用花括号括起来,构成C语言的复合语句。2.表达
8、式语句:在顺序结构中,表达式之后接上一个分号。3.2 常用输入输出库函数1.字符输入函数:getchar()的功能是从标准输入设备上读取一个字符。2.字符输出函数:ptuchar()的功能是将以出值为其ASCII代码的字符输出到标准输出设备。3.格式输入函数:scanf()的作用是从标准设备读人字符序列,按格式控制字符率所包含的格式解释输入字符序列,并将解释结果存储到对应的变量中。4.格式输出函数:printf()的作用是将输出项接指定的格式排版输出到标准设备上。3.3 选择结构1.单分支选择语句:if(表达式) 语句 执行过程是:计算表达式的值,若值非0,则执行它的成分语句,否则立即结束单分
9、支选择的执行。2.双分支选择语句:if(表达式) 语句1 else 语句2 执行过程是:计算表达式的值,若值非0,则执行语句1,否则执行语句2。3.多分支选择语句switeh(表达式)case常量表达式 1:语句序列 1case常量表达式 1:语句序列 2case常量表达式 n:语句序列 ndefalt:语句序列 n+13.4 循环结构1.while语句:一般形式为:while(表达式) 语句 执行过程是:计算while之后的表达式的值,若值为非 0,执行循环体(并回到开始地方),若值为 0,则结束while语句。2.do-while语句:一般形式为 do 语句 while(表达式); 执行过
10、程是:执行do-while语句的循环体,求 while之后的表达式的值,若值为非0,转开始地方,若值为0,则结束do-while语句。3.for语句:一般形式为 for(表达式1;表达式2;表达式3) 语句执行过程是:(1)计算表达式1;(2)计算表达式 2的值,并测试其值为 0或非 0.若值为非 0,转步骤 3;否则结束 for语句;(3)执行循环体;(4)计算表达式3;(5)转向步骤2.4. break语句:执行循环结构中的break语句,控制就从包含它的循环结构中退出。5.continue语句:continue语句只用于循环语句中,continue语句之后的语句就不再执行,控制立即进入下
11、一轮循环。6. 语句标号和goto语句4.1 一维数组1. 数组的基本概念:数组是一组同类对象集合的一种表示,数组元素的下标从0开始顺序编号,引用数组元素变量所需的下标个数由数组的维数决定。2.一线数组的定义:类型说明符 数组名常量表达式;3.一维数组元素的引用:一般形式为 数组名下标4.2 二维数组和多维数组1.多维数组定义:类型说明符 数组名常量表达式常量表达式;2.引用多维数组元素:数组名下标下标4.3 字符数组和字符串1.字符数组:如果数组的元素类型是字符型(char),则此数组就是字符数组。2.字符串:称最后有字符率结束符'0'的字符序列为字符串。3.常用字符串库函数
12、:求字符串长度函数strlen()、字符串拷贝函数strcpy()、字符串连接函数strcat()、字符串比较函数strcmp()、字符串输出函数puts( )、字符串输入函数gets( )5.1 指针和指针变量1.指针:指针就是内存地址,是变量的地址,或函数的入口地址。2.指针变量和它所指向的变量:地址作为一种值,能被存储、比较、赋值,存储地址值的变量为指针变量。C程序可用运算符&取变量的地址。程序除能按名引用变量外,也可利用变量的地址引用变量。3.指针变量的定义:定义指针变量的一般形式为:类型 * 指针变量名;5.2 指针变量的应用1.指向变量的指针变量:当指针变量指向某个对象(它
13、的值不是NULL)时,可以用 * 指针变量引用指针变量所指向的对象。2.指向一维数组元素的指针变量:指向数组元素的指针可与整数进行加减运算;当两个指针指向同一个数组的元素时,允许两个指针作减法运算;(3)当两个指针指向同一个数组的元素时,这两个指针可以作关系比较3.引用数组元素有以下多种形式:用数组元素的下标引用数组元素,如 a5;利用指针表达式间接引用数组元素,如*(a+i);利用指向数组元素的指针变量,如*(p+i)或pi3.指向字符串的指针变量:通常所说的字符串指针就是指向字符率某字符的字符指针4.指向二维数组中的某个一维数组的指针变量,叫做行指针。5.3 指针数组和多级指针1.指针数组
14、:当数组元素类型为某种指针类型时,该数组就是指针数组,定义形式为类型说明符 *数组名常量表达式 ;2.多级指针:一种指向指针的指针,一般形式为 数据类型 * *指针变量名;6.1 函数定义函数定义的一般形式为存储类型说明符 数据类型说明符 函数名(形式参数表)形式参数说明序列说明和定义部分执行语句序列6.2 函数调用(1)函数调用只是利用函数所完成的功能,此时,将函数调用作为一个独立的语句。其调用的一般形式为 函数名(实际参数表);(2)函数调用是利用函数的返回值。其调用的一般形式为 函数名(实际参数表)6.3 函数说明 函数在调用之前需对被调用函数有关调用的一些信息作出说明,如函数的返回值类
15、型、函数名和函数有关形式参数的个数及其类型等,这样的说明称作函数说明,函数说明的一般形式为 存储类型说明符 数据类型说明符 函数名(形式参数说明表);6.4 函数调用中的数据传递方式1.实际参数向形式参数传递非指针数据2.实际参数向形式参数传递指针3.调用环境与函数共用全局变量6.5 返回指针的函数 函数也可以返回指向某种数据对象的指针值,形式为:类型说明符 * 函数名(形式参数表)6.6 函数递归调用 一个函数为完成它的复杂工作,可以调用其它别的函数。例如,从主函数出发,主函数调用函数A() ,函数A()又调用函数B(),函数B()又调用函数C(),等等。7.1 结构型和结构变量1.结构型:
16、结构型是由若干独立意义成员组成的复杂数据。定义一个结构型的一般形式为struct 结构型名数据类型1 成员1名;数据类型2 成员2名;数据类型n 成员n名;2.结构变量:结构型的变量就是结构变量,程序要使用结构数据,需定义结构变量。定义结构变量有以下几种不同的方法:(l)先定义结构型,再定义结构变量;(2) 在定义结构型时,同时定义结构变量。(3) 在定义无名结构型时,同时定义结构变量。3.结构变量初始化:在定义结构变量时,可同时给它置初值,称为结构变量初始化,结构变量初始化时,要按其结构型定义中的成员顺序逐一给出各成员的初值。4.结构变量成员的引用:引用结构变量成员的标记形式为: 结构变量名
17、.成员名5.结构数组:当数组的元素是结构时,这种数组就称为结构数组。6.结构指针变量:把结构变量s所占据的存储段开始地址赋给能指向该结构的指针变量p,指针p是一个结构指针变量,简称结构指针。7.在函数间传递结构数据:主要有以下几种形式:共用全局的外部结构变量、函数设置结构形式参数、函数返回结构值、函数设置结构指针形式参数。7.2 共用型和共用型变量1.共用型:共用型的成员从同一地址开始存储,但任一时刻只存储其中一个成员,由最近放入的内容决定该区域究竟是哪一个成员的值。定义共用型的一般形式为union 共用型名 数据类型1 成员1名;数据类型2 成员2名;数据类型n 成员n名;2.共用型变目的定
18、义:与结构变量的定义方法一样。3.引用共用型变量的成员:引用共用型变量成员的方法与引用结构变量成员的方法相同,共用型也可出现在结构和数组中,共用型也可包含有结构和数组。7.3 用户自定义类型 用户自定义类型的方法为: typedef 类型 用户自定义类型名;其中类型可以是基本类型,也可以是用户自定义的类型;用户自定义类型名是标识符,以后就可用该用户自定义类型名定义相应类型的变量。8.1 C文件概述1.文件:计算机操作系统将存储在外部存储介质中的数据以数据流的形式来组织,每个独立的数据流称作文件。2.文件的打开和关闭:程序与文件建立联系的过程为文件打开;反之,撤消程序与文件联系的过程为文件关闭。
19、3.文件缓冲技术:文件读写采用缓冲技术的系统称为缓冲文件系统。在缓冲文件系统中,暂存输入输出数据的内存块称为文件缓冲区。4.二进制文件和文本文件:二进制文件中的数据是以数据在计算机内存的存放格式将数据存储在文件中;将数据转换成字符列,每个字符又以字符的代码存储的文件称为文本文件。5.顺序文件和随机文件:顺序文件要求文件读写从文件头开始,读或写操作顺序进行;随机文件允许随机地读取或改写文件任一位置上的数据。6.文件类型和文件类型指针变量:操作系统为每个正被程序使用的文件在内存中开辟一个存储区,用于存放有关对文件进行操作所需的控制信息(简称控制块)。控制块是一个结构变量,其类型由系统预定义,取名为FILE,称文件类型。程序要使用文件,就要定义FILE类型的指针变量。7.文件打开库函数 fopen():调用函数fopen() 的一般形式为fopen(文件名,使用方式)8.文件关闭库函数fclose():调用函数fclose()的一般形式为 fclose(文件指针);8.2 文件输入输出常用库函数1. 数据成块输入/输出函数: 读函数fread()的说明形式: int fread(char *buf,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保施工合同动态监管机制-洞察与解读
- 代理酒的广告合同范本
- 地震灾害损失评估方法-洞察与解读
- 制造企业员工安全培训记录
- 肋间肌纤维类型遗传因素-洞察与解读
- 电商网站客户消费行为分析报告
- 电动汽车充电行为分析-洞察与解读
- 幼儿园主题活动主持稿范例
- 消防系统管道修整改造施工方案详解
- 小学语文古诗两首说课稿范文
- 银行从业资格2025年法律法规模考训练冲刺试卷(含答案)
- 保险基础知识培训
- 口腔药品急救知识培训课件
- 2025年宁夏中考英语试卷附答案
- 2025年教育系统学校中层后备干部选拔考试题(含答案)
- 养老院安全培训考试题及答案解析
- 手机媒体概论(自考14237)复习题库(含真题、典型题)
- 《新概念英语》第三册课文详解及课后答案
- 第2章_铁路线路
- NX-ug理论试题
- 矩量法 Method of Moment
评论
0/150
提交评论