嵌入式 C语言学习Day3(预习)2024.7.13

目录

数组和字符串(字符数组):

一维数组:

格式:

初始化:

冒泡排序:

一维数组大小:

二维数组:

格式:

初始化(赋值):

二维数组大小:

字符串(字符数组):

字符数组的输入输出:

字符串函数:

1.strlen:求字符串长度函数,用于计算字符串长度

2.strcpy:字符串拷贝函数,用于将字符串2拷贝到字符串1中

3.strcat:字符串连接函数,将字符串2连接在字符串1的后面

4.strcmp:字符串比较函数,比较两个字符串


数组和字符串(字符数组):

数组是构造数据类型之一,是多个相同数据类型的变量的集合,组成数组的变量被称为数组的元素。

一维数组:

格式:

<存储类型> <数据类型> <数组名> [元素个数];                      例如:int a[5];

int a[3]={1,2,3};

a[0]=1        ---->对应第一个元素,访问时下标从0开始;

a[1]=2        ----->对应第二个元素;

a[2]=3        ----->对应第三个元素;

a[3]  X        ----->数组越界,访问时超过设置的空间.

注意:1.数组必须先定义以后才能使用

        2.数组名是数组的首地址,是地址常量

初始化:

1.全部初始化

int a[3]={1,2,3};

2.部分初始化

int a[3]={1,2};

注意:未初始化的元素初值默认为0

3.未初始化

int a[3];

未初始化的元素值为随机值

冒泡排序:

#include<stdio.h>
int main()
{
    int a[]={1,8,3,4,2},t;
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4-i;j++)
        {
            if(a[j]>a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    for (int i = 0; i < 5; i++)
    {
        printf("%d",a[i]);
    }
    return 0;
}

运行结果为:12348

一维数组大小:

1.元素个数*数据类型大小

2.利用sizeof()函数计算数组大小

二维数组:

格式:

<存储类型> <数据类型> <数组名> [行数][列数];                      例如:int a[2][3];

int a[2][3]表示有2行3列-----> \begin{vmatrix} 1 ,2,3 \\ 2,3,4 \end{vmatrix}例如第二行的4为a[1][2].

初始化(赋值):

1.全部初始化

int a[2][3]={1,2,3,4,5,6};        (直接赋值)

int a[2][3]={{1,2,3},{4,5,6}};        (按行赋值)

2.部分初始化

int a[2][3]={1,2};——>int a[2][3]={1,2,0,0,0,0}; 

int a[2][3]={{1},{4}};——>int a[2][3]={{1,0,0},{4,0,0};

注意:未初始化的元素初值默认为0

3.未初始化

int a[2][3]={ };

未初始化的元素值为随机值

二维数组大小:

1.行数*列数*数据类型大小

2.利用sizeof()函数计算数组大小

字符串(字符数组):

字符数组是元素的数据类型为字符型(char)的数组。

例如:char a[6]={"hello"};

字符数组的输入输出:

1.利用循环输入输出:

char a[10]={};

//输入

for(int i=0;i<5;i++)

{

        scanf("%c",&a[i]);

}

//输出

for(int i=0;i<5;i++)

{

        printf("%c",a[i]);

}

2.直接输入输出:

        scanf("%s",a);

        printf("%s",a);

注意:

        输入的字符串不能有空格,scanf遇到空格或‘\n’会结束;

3.利用函数输入输出:

输入字符串:char *gets(char *s)

                返回字符数组的首地址

输出字符串个数:int puts(const char *s)

                返回输出字符的个数

字符串函数:

1.strlen:求字符串长度函数,用于计算字符串长度

        char a[10]={'a','b','\0'}

        int i =strlen(a);

        printf("%s",a);

        printf("%d",i);

输出结果:        

        ab

        2

2.strcpy:字符串拷贝函数,用于将字符串2拷贝到字符串1中

        char a[10]={'B'};

        char b[2]={'A'};

        strcpy(a,b);

        puts(a);

输出结果:

        A        

3.strcat:字符串连接函数,将字符串2连接在字符串1的后面

        char a[10]={'B'};

        char b[2]={'A'};

        strcat(a,b);

        puts(a);

输出结果:

        BA        

4.strcmp:字符串比较函数,比较两个字符串

比较规则:对两串从左向右逐个字符比较 ASCII码,直到遇到不同字符或‘\0’为止                   

若字符串1> 字符串2, 返回正整数

若字符串1< 字符串2, 返回负整数

若字符串1== 字符串2, 返回零

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值