文档详情

上海交大C课件.pptx

发布:2025-01-29约2.64千字共35页下载文档
文本预览下载声明

上海交大C课件

C语言概述

C语言基础

函数与模块化设计

数组与字符串

指针与内存管理

文件操作与数据处理

contents

01

C语言概述

C语言最初是由丹尼斯·里奇(DennisRitchie)在1972年为开发UNIX操作系统而设计的一种高级编程语言。

起源

随着计算机科学的进步,C语言逐渐成为一种广泛使用的通用编程语言,被应用于系统软件、应用软件以及嵌入式系统等多个领域。

发展

1983年,美国国家标准协会(ANSI)制定了C语言的标准,称为ANSIC。1990年,国际标准化组织(ISO)采纳了ANSIC标准,形成了ISOC标准。

标准化

C语言具有简洁的语法和高效的执行效率,能够直接访问内存和硬件,适合编写底层代码。

简洁高效

可移植性强

强大的数据处理能力

广泛的应用领域

C语言具有良好的可移植性,可以在不同的操作系统和硬件平台上运行。

C语言提供了丰富的数据类型和运算符,能够处理各种复杂的数据结构和算法。

C语言被广泛应用于系统软件、应用软件、嵌入式系统、游戏开发等多个领域。

C语言被广泛应用于操作系统、编译器、网络协议等系统软件的开发。

系统软件

C语言也可以用于开发各种应用软件,如办公软件、图像处理软件等。

应用软件

C语言在嵌入式系统领域有着广泛的应用,如智能家居、汽车电子等。

嵌入式系统

C语言在游戏开发领域也有着重要的地位,许多经典的游戏都是用C语言开发的。

游戏开发

02

C语言基础

01

整型(int)、浮点型(float、double)、字符型(char)

基本数据类型

02

使用关键字int、float、char等定义变量,并赋予初始值

变量定义与初始化

03

局部变量、全局变量、静态变量等的作用域和存储类别

变量作用域与存储类别

关系运算符

、、==、!=等关系比较

算术运算符

+、-、*、/、%等基本算术运算

逻辑运算符

、||、!等逻辑运算

表达式求值与优先级

各类运算符的优先级和结合性,以及表达式的求值顺序

位运算符

、|、^、~、、等位操作

顺序结构

选择结构

循环结构

跳转语句

按照代码顺序逐行执行

for循环、while循环、do-while循环等重复执行某段代码

if语句、switch语句等条件判断与控制

break、continue、goto等用于改变程序执行流程

03

函数与模块化设计

函数定义的基本格式

返回类型函数名(参数列表){函数体}

函数的调用方式

函数名(实参列表)

函数的返回值

通过return语句返回函数执行结果

03

02

01

将实参的值传递给形参,形参的改变不影响实参

值传递

地址传递

引用传递

将实参的地址传递给形参,形参的改变会影响实参

通过引用传递实参,形参和实参共享同一块内存地址

03

02

01

04

数组与字符串

定义方式

typearrayName[size];

初始化方式

在定义时直接赋值,如`intarr[5]={1,2,3,4,5};`

访问数组元素

arrayName[index]

修改数组元素

arrayName[index]=newValue;

typearrayName[size1][size2]...[sizeN];

定义方式

在定义时逐层赋值,如`intmatrix[2][3]={{1,2,3},{4,5,6}};`

初始化方式

访问数组元素

arrayName[index1][index2]...[indexN]

修改数组元素

arrayName[index1][index2]...[indexN]=newValue;

charstr[size];

在定义时直接赋值字符串,如`charstr[]=Hello,world!;`

初始化方式

定义方式

计算字符串长度

strlen()

复制字符串

strcpy()

strcat()

连接字符串

strcmp()

比较字符串

访问字符元素

str[index]

要点一

要点二

修改字符元素

str[index]=newChar;

03

选择排序

01

排序算法实现

02

冒泡排序

插入排序

线性查找

查找算法实现

02

03

04

01

二分查找(需先对数组排序)

矩阵运算实现

矩阵加法

矩阵乘法

05

指针与内存管理

1

2

3

指针是一种特殊类型的变量,用于存储内存地址;通过指针可以间接访问和操作内存中的数据。

指针的定义与性质

在C语言中,使用特定的语法声明指针变量,并为其分配内存空间;初始化指针时,需要将其指向一个有效的内存地址。

指针的声明与初始化

可以对指针进行加法、减法、比较等操作;通过指针访问数组元素、结构体成员等。

指针的运算与操作

动态内存分配

01

使用malloc、c

显示全部
相似文档