物联网工程实践实训日报表2020.7.7

项目开发日报表
项目名称  苏嵌实训-嵌入式LinuxC第 5天
今日进度以及任务

C语言的复习强化,并且编写代码

本日任务完成情况

1.C语言之父?

丹尼斯·里奇

 

2.C语言的特点(优势)?

C语言既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序;也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。

C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。

简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。

C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

运算符丰富

C的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富,表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

数据结构丰富

C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能用来实现各种复杂的数据类型的运算,并引入了指针概念,使程序效率更高。

另外C语言具有强大的图形功能,支持多种显示器和驱动器,且计算功能、逻辑判断功能强大。

C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

C语法限制不太严格,程序设计自由度大

虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。

C语言允许直接访问物理地址,可以直接对硬件进行操作

因此C既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。

C语言程序生成代码质量高,程序执行效率高

一般只比汇编程序生成的目标代码效率低10へ20%。

C语言适用范围大,可移植性好

C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。

 

二.C数据类型

1.所有的数据类型的定义.初始化;

printf(“a = %p\n”,a);//a+1增加一个数组元素长度

printf("&a = %p\n",&a);//&a+1增加一个数组长度

右左法则:

1)确定a是一个变量,就要确定该变量保存什么类型的数据,保存什么类型的数据,它就是什么类型的变量;

2)确定a是一个指针变量,就要确定该指针变量保存什么类型的地址,保存什么类型的地址,它就是什么类型的指针变量;

3)确定a是一个数组,就要确定数组里的元素是什么类型的,元素是什么类型,它就是什么数组;

4)确定a是一个函数,就要确定函数的形参和返回值;

int a; //一个整型数

int *a; //整型指针变量

int **a; //整型指针的指针变量

int a[10]; //整型数组

int *a[10]; //整型指针数组

int (*a)[10]; //数组指针变量,指向的是整型数组

int (*a)(int); //函数指针变量,指向的是形参为int,返回值为int

int (*a[10])(int); //函数指针数组,

2.各种数据类型的字节长度(所占内存空间的大小)及取值范围;

基本类型字节长度:

int   4

char   1

short  2

long   4

float   4

double  8

指针变量的字节长度是固定的!!

<因为指针保存的是地址,地址在操作系统中是固定长度,长度是由操作系统位数决定的,32位系统,指针是4个字节;64位系统,指针是8个字节>

Sizeof VS strlen:

1)sizeof是运算符,不是函数;作用:计算数据类型或者变量的所占内存空间的大小。

2)strlen是字符串库函数;作用:统计当前字符串的字符个数,不包含\0。

3)sizeof在计算字符串的大小时包含\0

3.signed\unsigned

三.输入输出

printf:

<格式化控制符>//行缓冲,满一行才输出

scanf:

用scanf输入字符的时候需要先用getchar()将缓冲区里面的回车取走

getchar

putchar

gets

四.运算符.基本控制语句

1.i++; ++i;

逻辑运算符 &&  || !

2.位运算

3.while  for //已知循环次数用for,不知循环次数用while

4.if  switch  case

5.break  continue

6.goto:异常处理

//函数传参从右边开始传参

本日开发中出现的问题汇总 C语言代码不熟练。
本日未解决问题
本日开发收获 加强了C语言的编写能力和对问题的理解和解决能力。
其他 继续练习命令的使用方法。

 

你可能感兴趣的:(物联网工程实践实训日报表2020.7.7)