我要成为嵌入式高手之1月23日第八天!!

发布时间:2024年01月24日

学习笔记

1. 有目标

2. 有标准

? ? ? ? 1)思路

? ? ? ? 2)能转换成代码流程

? ? ? ? 3)代码能不能写出来

? ? ? ? 4)写出来之后,正确性

3. 有行动

4. 想法——现实:多练

--------------------------------------------------------

排序

哪个排序好?

评判标准:算法稳定性 和 效率

? ? ? ?时间:时间复杂度---CPU执行代码(指令)的数量 = 消耗的时间(不是一种具体时间,而是一种趋势)O(n) // 大O计法

3. 插入排序

思想:(在有序的序列中)找一个合适的位置,插入

查找

二分查找(折半查找)

前提:数据必须有序

一维字符型数组:

字符数据:

unsigned char s[10] ;

unsigned char s[10] = {'h','e','l','l','o'}; // 数组角度看

" hello "? // 字符串常量,本质是存储的时候,是按照字符数组的形式存储

------->? unsigned char s[10] = {'h','e','l','l','o','\0'}; // 数组角度看

'\0' 对字符串来说叫做结束标志,字符串要求必须以\0作为结束标志

最主要的作用:想处理字符串数据

注意:

? ? ? ? 1、字符串——更关注的是字符串整体,而不是单个字符

? ? ? ? 2、字符串的结束标志比较重要,表示字符串结束

? ? ? ? 3、处理字符串时,常常使用结束标志进行判断(while(s[i] != o)putchar(s[i]))

puts() :输出字符串

gets() :输入字符串

s2 = s1; // c语言中不能整体赋值

字符串拷贝:

? ? ? ? strcpy ( 目标字符串,原字符串) 把原字符串拷贝到目标字符串

作业

1. 字符串拼接

流程图:

#include <stdio.h>

int main()
{
    char s1[20] = "hello";
    char s2[20] = "world";
    int i;
    int j = 0;

    while (s2[j] != '\0')
    ++j;
 //   printf("j = %d",j);

    for (i = 5; i < 6+j; ++i)
    {
        s1[i] = s2[i-5];
    }
    puts(s1);

    return 0;
}

2、从终端输入一个n 将数组 int a[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9} 完成如下变化,并打印,

操作方

n:1 9 1 2 3 4 5 6 7 8

n:2 8 9 1 2 3 4 5 6 7

n:3 7 8 9 1 2 3 4 5 6

流程图:

#include <stdio.h>

int main()
{
    int a[9] = {1,2,3,4,5,6,7,8,9};
    int n,t,j,i;

    scanf("%d",&n);
    printf("n:%d  ",n);

    for (j = 0; j < n; ++j)
    {
        i = 8;
        int t = a[i];
        for (i = 8; i > 0; --i)
        {
            a[i] = a[i-1];
        }
        a[0] = t;
    }

    for (i = 0; i < 9; ++i)
    {
        printf("%d ",a[i]);
    }
    putchar('\n');

    return 0;
}

?

文章来源:https://blog.csdn.net/weixin_71850179/article/details/135763497
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。