日报表 第 6 天

项目名称

【苏嵌实训-嵌入式 linux C 第 6 天】

今日进度以及任务

继续对c语言的复习学习,之前已经学习了一部分c语言基本知识,今天复习的是函数、内存管理、关键字以及复合数据类型。还有对一些简单程序的编程。

 

本日任务完成情况

(详细说明本日任务是否按计划完成,开发的代码量)

一.函数

 

1.函数通常分为库函数(标准函数)和自定义函数(用户函数)两大类。

库函数是指由C语言本身提供的,可供直接调用以实现特定功能的函数,例如:求正弦函数(sin())、求平方根函数(sqrt())、输出函数(printf())等等。

自定义函数是指由编程者自己开发、编写的、以实现一定功能的函数。

 

2.函数的定义

函数类型 函数名(函数的参数及其各自的类型)

函数体(即函数的具体程序,由若干条语句组成)

 

函数类型:即函数值的类型;

函数名:可随意取,最好顾名知义,必须符合C有关标识符(identifier)的三条规则;函数的参数:

又叫形式参数,可以是一个,也可以是多个,也可以是没有,如果没有参数,规范的定义应用void类型表示。

 

3.函数内的变量及其作用范围

凡是函数内定义的变量,均为局部变量,只在该函数内起作用。

函数内定义的变量通常为动态变量,与函数同存亡。即:该函数被调用时,这些变量就被启用,该函数结束,这些变量自动消亡。

 

4.return语句

 

return只能用在函数内,作用有两个:函数到此结束;函数的值通过该语句往外传递。

 

二.内存管理

1.内存分配方式

内存分配方式有三种:

(1)从静态存储区域分配。

(2)在栈上创建

(3) 从堆上分配

2.关于内存使用规则

规则1.用malloc或new申请内存之后,应该立即检查指针值是否为NULL。防止使用指针值为NULL的内存。

规则2.不要忘记为数组和动态内存赋初值。防止将未被初始化的内存作为右值使用。

规则3.避免数组或指针的下标越界,特别要当心发生“多1”或者“少1”操作。

规则4.动态内存的申请与释放必须配对,防止内存泄漏。

规则5.用free或delete释放了内存之后,立即将指针设置为NULL,防止产生“野指针”。

三.关键字

C 语言标准定义的32 个关键字:

auto 声明自动变量,缺省时编译器一般默认为auto

int 声明整型变量

double 声明双精度变量

long 声明长整型变量

char 声明字符型变量

float 声明浮点型变量

short 声明短整型变量

signed 声明有符号类型变量

unsigned 声明无符号类型变量

struct 声明结构体变量

union 声明联合数据类型

enum 声明枚举类型

static 声明静态变量

switch 用于开关语句

case 开关语句分支

default 开关语句中的“其他”分支

break 跳出当前循环

register 声明寄存器变量

const 声明只读变量

volatile 说明变量在程序执行中可被隐含地改变

typedef 用以给数据类型取别名(当然还有其他作用)

extern 声明变量是在其他文件正声明(也可以看做是引用变量)

return 子程序返回语句(可以带参数,也可不带参数)

void 声明函数无返回值或无参数,声明空类型指针

continue 结束当前循环,开始下一轮循环

do 循环语句的循环体

while 循环语句的循环条件

if 条件语句

else 条件语句否定分支(与if 连用)

for 一种循环语句(可意会不可言传)

goto 无条件跳转语句

sizeof 计算对象所占内存空间大小

本日开发中出现的问题汇总

1.用空白符结尾时,scanf会跳过空白符去读下一个字符,所以必须再输入一个数。这里的空白符包括空格,制表符,换行符,回车符和换页符。所以如果用scanf("%d  ",&a)也会出现同样的问题。

2.在使用一些关键字时,容易混淆,导致出错,需要牢记常见关键字的用法。

本日未解决问题

对关键字的用法不熟悉容易出错

本日开发收获

在之前的c语言基础上,加深了对函数部分的学习与理解,同时也深入了对于c语言中关键字的学习

其他

经过了几天老师带领我一起学习复习c语言的基本知识,已经对c语言有了更加深入的了解,不过还需要巩固复习。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值