苏嵌实训-嵌入式 linux C 第 5 天
项目名称 |
【苏嵌实训-嵌入式 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语言的相关知识 |
其他 |
今后也要认真学习 |
- 苏嵌工程实训-嵌入式Linux开发(基础命令)
- 【苏嵌实训-嵌入式 linux C 第 6天】
- 【苏嵌实训-嵌入式 linux C 第 5 天】
- C语言基础知识-苏嵌实训 嵌入式 linux C 第 3 天
- 【苏嵌实训-嵌入式 linux C 第 5 天】
- 【苏嵌实训-嵌入式 linux C 第 4 天】
- 苏嵌嵌入式linux实训 第2天
- 【苏嵌实训-嵌入式 linux C 第 4 天】
- 苏嵌实训-嵌入式 Linux C 第 1 天
- 苏嵌嵌入式linux实训 第一天
- 苏嵌实训-嵌入式 linux C 第6 天
- 苏嵌实训-嵌入式 linux C 第 3 天
- 苏嵌实训-嵌入式 linux C 第 8 天
- 苏嵌实训-嵌入式 linux C 第5 天
- 【苏嵌实训-嵌入式 linux C 第 2 天】
- 苏嵌实训-嵌入式 linux C 第 7 天
- 苏嵌实训-嵌入式 linux C 第4 天
- 【苏嵌实训-嵌入式 linux C 第 1 天】
- 苏嵌实训-嵌入式 linux C 第 6 天
- 苏嵌实训-嵌入式 linux C 第 6 天