您的位置:首页 > 运维架构 > Linux

苏嵌实训-嵌入式 linux C 第 5 天

2020-07-14 06:33 176 查看

项目名称

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

今日进度以及任务

 

复习C语言的相关内容

练习:统计一串字符串中连续数字的个数,输出最长数字的位数

本日任务完成情况

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

               

复习C语言的相关内容:

1.C语言之父?

丹尼斯·里奇, 1978 k&Rc --unix是由C开发的

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

直接访问硬件(原因:指针类型),运行效率高(运行时,解释性),移植性。

C语言为什么能够直接访问硬件?

因为C语言有指针类型

嵌入式开发为什么选择C语言?

所有操作系统的内核都采用了C语言;

Python最终替代所有的编程语言?

不会,Python是解释性语言,不可能替代C语言

3.C语言标准?K&RC .C89.C99.C11

4.如何学习C语言?多练习

二.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:异常处理

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

 

 

练习:

 

统计一串字符串中连续数字的个数,输出最长数字的位数

 

#include <stdio.h>

 

int main()

{

char str[81], * p = str;

int max = 0, num=0;

 

printf("请输入含数字的字符串:\n");

gets(str);

while (*p)

{

if (*p >= '0' && *p <= '9')

{

for (num = 0; *p >= '0' && *p <= '9'; p++)  

num++;

            if(num>max)

max=num;;

}

else if (*p != '\0' && *p < '0' || *p>'9')  

p++;                                    

}

printf("maxlength %d\n",max);

return 0;

}

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

本日未解决问题

本日开发收获

温习了C语言的相关知识

其他

今后也要认真学习

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: