C语言补习(西安华清远见)第四天

今天老师讲数组,我一定要好好听!

数组:存放的元素数据类型相同,存储的是一片连续的空间

数组的定义:

存储类型

数据类型

数组名[元素个数]

int arr[5]

整型数组的初始化:

#include<stdio.h>

//int arr[5];  // 0 0 0 0 0

int main()

{

        //int arr[5];         //        5个随机数

        //int arr[5]={1,2,3,4,5};

        int i=0;

        for(i=0;i<5;i++)   // for(i=0;i<3;i++)

        {vim

                 printf("%d ",arr[i]);

        }

        return 0;

}

int arr[5]={1,2,3,4,5};   // 1 2 3 4 5

int arr[5]={0};        // 0 0 0 0 0

int arr[5]={1,2,3}               // 1 2 3 1007 -2033

int arr[]={1,2,3,4,5};               // 1 2 3 4 5

int arr[]={0};                //         0 0 0......

int arr[]={1,2,3};       //  1 2 1007 -2033

整型数组的输入与输出:

#include<stdio.h>

int main()

{

        int arr[5]={0};        

        int i=

0;

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

        {

                scanf("%d",&arr[i]);
                //         printf("%d\n",arr[i]);        //        输入一个,输出一个
        }vim

       //         printf("%d",arr[i]);         //        输出第六个元素

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

        {

                printf("%d",arr[i]);

        }

        return 0;

}

数组名和首地址

#include<stdio.h>

int main()

{

        int arr[5]={0};

     return 0;   printf("%p",arr);

        printf("%p",&arr[0]);

        return 0;

}

#include<stdio.h>

int main()

{送餐费()

int arr[5]={0};

int i=0;

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

{

        scanf("%d",arr+i);

        //        scanf("%d",arr++)        //        不能输入arr是地址常量

}

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

{vim

        printf("%d",arr[i]);

}

}::

#include<stdio.h>

int main()

{

        int arr[5]={0};

        printf("%ld",sizeof(arr));

        printf("%lint",sizeof(arr[0]));

}

字符数组:

char chr[5]={'a','b','c','d','e'};

char chr[5]={'a'};

char chr[5]={"abcde"};

char chr[]={'a','b','c','d','e'};

#include<stdio.h>

int main()

{

        int i=0;

        char chr[5]={'a'};

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

        {

                printf("%c\n',chr[i]);

        }

        return 0;

}

输出结果:

a

后面四个元素数'\0',是字符0,也是字符串的结束符,在终端上不会显示

char chr[5]={"abcde"};        //        "abcde'\0'"

#include<stdio.h>

int main()

{

int i=0;

char chr[5]={'\0'};

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

{

         scanf("%c%*c",&chr[i]);                  //        给字符串初始化用到%*c    

}

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

{

        printf("%c\n",chr[i]);

}

}

字符数组的数组名和首元素:

#include<stdio.h>

int main()

{

        int i=0;

        char chr[5]={'\0'};

printf("%p\n",chr);

printf("%p\n",&chr[0]);

printf("%p\n",&chr[1]);

return 0;

}

输出结果:

0x7ffd12afbff3

0x7ffd12afbff3

0x7ffd12afbff4

chr[0]与chr[1]的地址相差一个字节

输入一个整型数组,输出最大值和最小值,并输出下标

 

 字符串数组:

char str[10]={"hello"};                 //        开辟了10个空间

char str[]={"hello"};

char str[10];str="hello";

char str[10];str[10]="hello";

#include<stdio.h>

int main()

{

        char str[10];                //        常量不能赋值

        str="hello";

        //str[10]="hello";   //        str[10]超出字符串数组的范围

        puts(str);

        return 0;

}

字符串处理函数

strlen

计算字符串的实际大小,并返回字符串的长度

sizeof是运算符,strlen是函数

当数组给定大小的时候,sizeof计算出来的是空间的大小,当没给定大小时,计算出来是能看见的长度加1,strlen计算的是字符串的实际长度,与给定的大小没有关系

字符串处理函数

strcpy

将目标字符串的内容拷贝到原字符串

strcmp

比较字符串的大小,比较的时候一直往后比较,直到遇到不同的字符

老师开始讲数组复习题!一定要认真听!

                                                                                                                                            2022年9月22日

                                                                                                                                                    徐子宸

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值