




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第 1 章 C语言基础,2,1.1 C语言简介,C语言是结构化的语言 C语言是模块化的语言 语言简洁、紧凑,使用方便、灵活 程序可移植性好 数据结构丰富,具有现代化语言的各种数据结构 C语言运算符丰富、代码效率高,3,源程序的结构特点,一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。 源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源程序的最前面。 每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“”之后不能加分号。 标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。,4,书写程序时应遵循的规则,一个说明或一个语句占一行。 用 括起来的部分,通常表示了程序的某一层次结构。一般与该结构语句的第一个字母对齐,并单独占一行。 低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。,5,1.2 数据类型,语言的数据类型系统有 基本数据类型 指针类型 结构化数据类型的构造设施 基本数据类型三种: 整型(short, int, long), 实型(float, double, long double), 字符型(char)。 结构化数据类型的构造设施: 数组、结构、联合和枚举。 指针类型: 指针类型直接赋予数据对象在内存中的地址的概念。,6,1.2.1 基本数据类型,常量 变量 整型数据 字符型数据 实型数据,7,1.3 数据运算,语言有很丰富的运算符,总结如下: 算术运算符: + (加), (减), *(乘), /(除), %(求余) 关系运算符: (大于), =(大于等于), =(等于), !=(不等) 逻辑运算符: !(逻辑非), &(逻辑与),|(逻辑或) 位运算符: (按位取反), &(位与), |(位或), (异或), (右移) 条件运算符: ? : 指向结构体成员运算符: - 结构体成员运算符(分量运算符): .,8,1.3 数据运算,自增,自减运算符: + , - 类型转换运算符: (类型) 10指针,取地址运算符: *(指针运算符), &(取地址运算符) 11下标运算符: 12赋值运算符: =, *=,+=,-=,/=,%=,=,=,&=,=,|= 13逗号运算符: , 14长度运算符: sizeof( ) 15负号运算符: - 16括号运算符: ( ),9,算术运算,算术运算符 语言的算术运算符有以下种: + ( 双目运算两数相加,如5+6,单目运算取正值,如 +15 ) - ( 双目运算两数相减,如5-6,单目运算取负值,如 -19 ) * ( 双目运算符,两数相乘, 如 5*6 ) / ( 双目运算符,两数相除, 如 15/6 ) % ( 双目运算符,取模或求余数,两个数必须都是整数,如 15%6 值为3),10,算术运算符的优先级和结合方向,( ) 圆括号 高 +、- 单目运算符,取正、取负 *、/、% 双目运算符,乘、除、取模 +、- 双目运算符,加、减 低,11,关系、逻辑及条件运算,关系运算 (大于),=(大于或等于) = != 逻辑运算 !(逻辑非), &(逻辑与),|(逻辑或) “!” 算术运算符 关系运算符 “&” “” 赋值运算符 高 低,12,关系、逻辑及条件运算,条件运算 条件运算符构成的条件表达式的一般形式为: 判定式 ? 表达式 : 表达式 例如: float f, f1; f = (1 0? 1 : 5)/2; f1 = (1 0? 1 : 5.0)/2;,13,位运算,()按位取反运算符“” ()左移运算符“” ()按位与运算符“&” ()按位异或运算符“” ()按位或运算符“”,14,1.4 基础语句,从程序流程的角度来看,程序可以分为三种基本结构, 即 顺序结构 选择结构 循环结构,15,1.4.1 顺序结构,赋值语句 一般形式:变量=表达式; “=“右边的表达式可为赋值表达式 例如: a=b=c=d=e=5;按照赋值运算符的右接合性,因此实际上等效于: e=5; d=e; c=d; b=c; a=b;,16,格式字符串,表示输出类型的格式字符格式字符意义 d以十进制形式输出带符号整数(正数不输出符号) o以八进制形式输出无符号整数(不输出前缀O) x以十六进制形式输出无符号整数(不输出前缀OX) u以十进制形式输出无符号整数f以小数形式输出单、双精度实数 e以指数形式输出单、双精度实数 g以%f%e中较短的输出宽度输出单、双精度实数 c输出单个字符,17,1.4.2 选择结构,两路选择结构 多路选择结构 if语句的一般形式为 if ( 表达式 ) 语句1 else 语句2 例如: if (a b) printf(“MAX = %fn“, a); else printf(“MAX = %fn“, b);,18,IF 语句应用举例,【例1.1】 输入三个整数,按值从大到小的顺序输出它们。 设存储输入的三个整数的变量分别为x、y、z,若程序通过比较它们的值,并按值的各种可能分布情况,并按从大到小的顺序将它们输出,程序会因考虑各种可能出现的情况,显得非常繁杂。实际上为了实现问题要求,可以通过调整它们的值来实现。比如说,经程序对它们调整后,使它们满足关系x = y = z,然后依次输出它们的值,也能实现问题的要求。调整变量x、y、z的值,使它们满足x = y = z,可分三步来实现,先调整x和y,使x = y。再调整x和z,使x = z。至此,x有最大值。最后再调整y和z,使y = z。这样就完成全部调整的要求。写成算法如下: 输入x、y、z; if (x = y */ if (x = z */ if (y = z */ 输出x、y、z; ,19,switch语句,语言提供switch语句用于描述多路选择情况。 switch语句的一般形式为: switch(表达式) case常量表达式1: 语句序列1 case常量表达式2: 语句序列2 . case常量表达式n: 语句序列n default : 语句序列n+1 ,20,1.4.3 循环结构,while语句 do_while语句 for语句,21,while语句,while语句用来描述while型循环结构, 它的一般形式为: while (表达式) 语句 while语句的执行过程是: (1)计算while之后的表达式的值; (2)测试表达式的值,当值为非0时,转步骤(3);如值为0,则结束while语句; (3)执行while语句的循环体,并转步骤(1)(从而构成循环)。,22,do-while语句,do-while语句的一般形式为 do 语句 while (表达式); 其中的语句是do-while语句的循环体,do-while语句的执行过程是: (1)执行do-while语句的循环体; (2)求while之后的表达式的值; (3)测试表达式的值,当值为非0时,转步骤(1)(从而构成循环);如值为0,则结束while语句。,23,for语句,for语句的一般形式为 for(表达式1;表达式2;表达式3) 语句4 for语句的一般形式也可等价地用以下形式的while语句来表达: 表达式1; while (表达式2) 语句 表达式3; ,24,举例,【例1.2】 编制一个程序, 实现输入n个整数, 输出其中的最大数,并指出其是第几个数。 直接写出程序如下: #include void main() int n, i, max, x, index; printf(“输入 n!n“); scanf(“%d“, ,25,1.5函数,函数定义的一般形式为: 类型区分符 函数名(形式参数说明表) 说明和定义部分 语句序列 例 求两个数中最小值的函数min()。 double min(double x, double y) /* 返回 double 型值,有两个形参 */ /* 两个形参 x,y 都为 double 型的 */ /* 函数返回x和y中的小者的值 */ return x y ? x : y; 函数min()返回double型值,它有两个double 型形参为x和y。 return语句的执行将结束函数的执行。,26,1.6数组,一维数组的定义形式为 类型说明符 数组名 常量表达式; 多维数组 类型说明符 数组名 常量表达式常量表达式,27,1.6.3 字符数组和字符串,字符数组的定义形式与其他数组的定义形式一样: char 字符数组名元素个数; 例如: char s5 ;,28,1.7 指针,指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等。为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。 既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。为了避免混淆,我们中约定:“指针”是指地址,是常量,“指针变量”是指取值为地址的变量。 定义指针的目的是为了通过指针去访问内存单元。,29,1.8 预处理,语言提供的预处理命令主要有宏定义、文件包含、条件编译和行控制。在源程序中, 为区别预处理命令和一般的代码,所有预处理命令行都以字符“#“和预处理命令开头。语言提供的预处理命令主要有宏定义、文件包含、条件编译和行控制。在源程序中, 为区别预处理命令和一般的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住房公积金个人住房抵押贷款变更合同
- 2025年美术联考国家题库及答案
- 专业领域能力测试题及答案
- 消防安全演练培训新闻稿课件
- 血糖的监测和管理
- NEC造瘘个案护理教学查房
- 消防安全校外培训课件
- 消防安全标准化培训课件
- ICU新入职护士年终总结
- 急诊科半年度工作总结
- 模拟三力测试题及答案
- 电大教学检查自查报告
- 《公路运营领域重大事故隐患判定标准》知识培训
- 物业秩序维护内部管理作业规程
- 病历质控培训课件
- 老年骨质疏松性疼痛诊疗与管理中国专家共识2024解读课件
- 电机维护检修培训课件
- 建筑工程后续服务承诺与质量保障措施
- GB/T 44808.4-2024人类工效学无障碍设计第4部分:不同年龄人群最小可辨认字符尺寸的估计方法
- 如何培养学生的自主管理能力
- 《精子形成过程》课件
评论
0/150
提交评论