C 語言基礎.ppt

上传人:sccc 文档编号:4593854 上传时间:2023-04-29 格式:PPT 页数:41 大小:152KB
返回 下载 相关 举报
C 語言基礎.ppt_第1页
第1页 / 共41页
C 語言基礎.ppt_第2页
第2页 / 共41页
C 語言基礎.ppt_第3页
第3页 / 共41页
C 語言基礎.ppt_第4页
第4页 / 共41页
C 語言基礎.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《C 語言基礎.ppt》由会员分享,可在线阅读,更多相关《C 語言基礎.ppt(41页珍藏版)》请在三一办公上搜索。

1、第二章 C+语言基础,本章主要内容简单的C+程序数据类型和表达式 程序的基本控制结构 函数,1.C程序基本结构2.变量:变量的定义、变量的数据类型(基本类型、构造类型)、变量的存储类别、const 变量、数据类型转换3.运算符与表达式:条件运算符、算术运算符、关系运算符、逻辑运算符、位运算符4.语句:赋值语句、条件语句(if语句)、开关语句(switch语句)、循环语句(for语句、while语句、do-While语句)、break语句、continue语句、return语句)5.函数:函数定义、参数传递、缺省参数、inline函数、左值6.指针:指针的定义及应用7.引用,复习C内容,C+程序

2、同C程序相同之点,C+程序由一个或多个源代码文件构成。C+的源代码文件分为两类:头文件和源程序文件。C+源程序包括编译预处理、程序主体和注释几部分。一般将变量(对象)、类型及类的定义、函数的声明等放在头文件(扩展名为.h);而将使用这些变量或函数的程序放在另一个文件中,成为C+源程序(扩展名.cpp)。,C+程序的编译过程分为预处理和正式编译两步。在编译C+程序时,编译系统中的预处理模块首先根据预处理命令对源程序进行适当的加工,然后再正式编译。程序主体就是main函数。每一个C+源程序都必须有且只能有一个main函数,作为程序的入口。注释是程序员为程序语句所做的说明,是提高程序可读性的一种手段

3、。注释一般分为两种:序言性注释和注解性注释。,C+程序同C程序相同之点,同C+基本一样,由注释、编译预处理和程序主体构成。必须有且只能有一个主调函数。头文件iostream.h是C+必须的。例#include“iostream.h”main()cout“students”;,C+过程化部分增加的知识,一.C+程序基本结构,#include iostream.h#include stdio.hvoid main()int i;cini;cout是抽取运算符,C+过程化部分增加的知识,比较C语言的printf(.);语句,C+过程化部分增加的知识,二、数据类型和表达式,C+过程化部分增加的知识,三

4、、常量,在程序运行过程中,值不能被改变的量称为常量。常量定义格式为:,const=;例:const PI=3.1415926,注意:1、常量在定义时必须初始化,常量名不能放在赋值号的左边。2、c+也兼容C语言的宏常量。,变量的含义来自于语言,但在语言中还指对象定义格式为:在C+中,任何一个变量在被使用之前必须被定义。与C语言不同,C+中的变量不必集中在程序最前面定义,可以在程序中随时定义。,C+过程化部分增加的知识,四、变量,;,C+过程化部分增加的知识,五、保留字,asm do if return typedef auto double inline short typeid bool dy

5、namic_cast int signed typename break else long sizeof union case enum mutable static unsigned catch explicit namespace static_cast using char export new struct virtual class extern operator switch void const false private template volatile const_cast float protected this wchar_t continue for public

6、throw while default friend register true delete goto reinterpret_cast try,在语言的基础上增加了个,共63个,C+过程化部分增加的知识,指针和引用P16,指针也是一种变量,指针变量专门用来存放其它数据在内存的地址。是一种间接访问变量或对象的方法。指向常量的指针指针常量指向常量的指针常量,C+过程化部分增加的知识,指向常量的指针,例:const int i=10;/声明 i存储单元的值为10,且不可变const int*p=/ok,C+过程化部分增加的知识,指针常量,例:char*constpc=“abcde”;/pc是指针

7、常量char*pc1=“efghe”;/pc=pc1;/error*pc=*pc1;/ok,C+过程化部分增加的知识,指向常量的指针常量,例const int c=10;/声明 i存储单元的值为10,且不可变const int*const x=/error,C+过程化部分增加的知识,指针和引用 P17,引用是某个变量或对象的别名,是另一种访问变量或对象的方法。对引用的存取就是对变量的存取。引用没有存储空间。对引用声明同时需对其初始化,C+过程化部分增加的知识,引用使用例一,int x=10;int/?,C语言交换两个变量值(程序一),void swap(int,int);void main()

8、int a=10,b=20;couta“-”bendl;swap(a,b);couta“-”bendl;void swap(int x,int y)int temp;temp=x;x=y;temp=x;,C语言交换两个变量值(程序二),void swap(int*,int*);void main()int a=10,b=20;couta“-”bendl;swap(,C+语言交换两个变量值(程序三),void swap(int,不能对常数(literal)直接引用,但能对常量(constant)引用,const int x=1;int/ok 表示将1赋给值已固定的变量q,有存储空间,不能用常量引

9、用名对被引用变量进行修改,int x=1;const int/?2 or 3,函数参数可以是实参(变量)的引用,void add(int,void add(int,为了保证函数作用域不对被引用的变量修改,可将参数定义为:,void add(const int-接口-多人合作等情况,C+过程化部分增加的知识,数组P19,数组是一个由多个同类型变量组成的集合。数组元素被引用的格式:,;,C+过程化部分增加的知识,结构体P20,C+允许用户把逻辑上相关联的数据组织起来,作为整体使用,这就是结构体数据类型。,struct;,运算符P21,C+运算符包括算术运算符(、*、/、)、关系运算符(、=、等)、

10、条件运算符(?:)、逗号运算符(,)、作用域区分符(:)等。,表达式,表达式是由运算符和操作数组成的式子。分为:算术表达式 关系表达式逻辑表达式 条件表达式赋值表达式 逗号表达式操作数包含了常量、变量、函数和其他一些命名的标识符。,动态存储分配 P22,堆(heap)允许程序在运行时(而不是在编译时)申请某个大小的内存空间。如果要在堆中分配内存空间,必须使用特定的函数或操作符。另外,若不再需要使用的动态内存空间则必须释放。new运算符从堆中分配一块与相适应的存储空间,若分配成功,将这块内存空间的首地址存入,否则置的值为NULL(空指针值,即0)。delete操作符用来释放指向的动态存储空间。,

11、1.C语言:int*p;p=(int*)malloc(sizeof(int);free(p);2.C+语言:变量 int*p;p=new int;delete p;数组 int*p;p=new int5;delete p;,动态存储分配,程序的基本控制结构 P25,按照结构化程序设计方法的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合来实现,它们是顺序结构、分支结构、循环结构,函数,一个C+程序是由若干个源程序文件构成,而一个源程序文件是由若干个函数构成,每个函数具有相对独立的功能。一个源程序可以由若干函数构成,但有且仅有一个main函数,函数与函数之间通过输入参数和返回值

12、来联系。源程序从main函数开始执行直到main函数结束,其他函数都是由main函数直接或间接地调用执行。,函数定义P29,定义函数的一般格式:,(),函数原型 P30,函数原型即函数声明,用来描述函数的返回值和参数类型。C+规定:名字必须先说明后使用。因此,当一个函数调用出现在函数定义之前,必须先对函数进行原型说明。函数原型的功能:确定函数返回值的类型;确定函数参数的类型和个数;函数名代表该函数的函数体以及函数完成的功能。,();,函数调用 P30,C+程序由若干函数构成,各个函数的执行通过函数的调用来完成的。在调用函数时,大多数情况下,主调函数和被调函数之间有数据传递关系。函数之间的数据传

13、递是靠函数参数进行,而对无参数函数的调用,没有数据传递。在定义函数时,函数名后面括号内的变量名为“形式参数”(形参)。在调用函数时,函数名后面括号内的表达式为“实际参数”(实参)。,内联函数P33,函数调用有一定的时间和空间开销,影响程序的执行效率。特别是对于一些函数体代码不是很大,但又频繁地被调用的函数,则引入内联函数。在程序编译时,编译系统将程序中出现内联函数调用的地方用函数体进行替换。引入内联函数可以提高程序的运行效率,节省调用函数的时间开销,是一种以空间换时间的方案。内联函数的一般定义格式:,inline(),带缺省参数的函数,C+允许在定义函数时给其中的某个或某些形参指定缺省值(定义

14、函数参数时赋初值),这样,当发生函数调用时,若指定实参值则用该值;如果省略了对应位置上的实参的值时,则在执行被调函数时,以该形参的缺省值进行运算。引入缺省参数的目是为了让编程简单,让编译系统做更多的检查错误工作,同时增强了函数的可重用性。,函数重载,函数重载是指一个函数可以和同一作用域中的其他函数具有相同的名字,但这些同名函数的参数类型、参数个数、返回值、函数功能可以完全不同。编译系统将根据函数参数的类型和个数来判断使用哪一个函数。相同意义的函数使用同一名字便于理解。例如,C 语言中对分别 计算整型、长整型、双精度型分别声明三个名字各不相同的名字:int iabs(int);long labs(long);double dabs(double);,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号