<menu id="iquis"><strong id="iquis"></strong></menu>
<nav id="iquis"><nav id="iquis"></nav></nav>
  • <nav id="iquis"></nav>
  • ?
    欢迎光临专业集成电路测试网~~欢迎加入IC测试QQ群:111938408

    专业IC测试网

    当前位置: 网站主页 > 相关技术 >

    C语言入门基础四

    时间:2022-03-26 12:11来源:硬件工程师 作者:ictest8 点击:

    使用字符串函数注意以下事项:

    1. strlen()获取字符串的长度,在字符串长度中是不包括‘\0’而且汉字和字母的长度是不一样的。比如:

    图片

    1. strcmp()在比较的时候会把字符串先转换成ASCII码再进行比较,返回的结果为0表示s1和s2的ASCII码相等,返回结果为1表示s1比s2的ASCII码大,返回结果为-1表示s1比s2的ASCII码小,例如:

    图片

    1. strcpy()拷贝之后会覆盖原来字符串且不能对字符串常量进行拷贝,比如:

    图片

    1. strcat在使用时s1与s2指的内存空间不能重叠,且s1要有足够的空间来容纳要复制的字符串,如:

    图片

    多维数组

    多维数组的定义格式是:
    数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n];

    图片

    定义了一个名称为num,数据类型为int的二维数组。其中第一个[3]表示第一维下标的长度,就像购物时分类存放的购物;第二个[3]表示第二维下标的长度,就像每个购物袋中的元素。

    图片

    多维数组的初始化与一维数组的初始化类似也是分两种:

    1. 数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n] = {{值1,..,值n},{值1,..,值n},...,{值1,..,值n}};

    2. 数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n]; 数组名称[下标1][下标2]...[下标n] = 值;

    多维数组初始化要注意以下事项:

    1. 采用第一种始化时数组声明必须指定列的维数。mtianyan: 因为系统会根据数组中元素的总个数来分配空间,当知道元素总个数以及列的维数后,会直接计算出行的维数;

    2. 采用第二种初始化时数组声明必须同时指定行和列的维数。

    二维数组定义的时候,可以不指定行的数量,但是必须指定列的数量

    二维数组定义的时候,可以不指定行的数量,但是必须指定列的数量。

    多维数组的遍历

    多维数组也是存在遍历的,和一维数组遍历一样,也是需要用到循环。不一样的就是多维数组需要采用嵌套循环。

    注意:多维数组的每一维下标均不能越界。

    综合练习:

    
    
    #include <stdio.h>
    #define N 10
    //打印分数 
    void printScore(int score[])
    {
        int i;
        printf("\n");
        for(i=0;i<N;i++)
        {
            printf("%d ",score[i]);               
        }
        printf("\n");     
    }
    //计算考试总分 
    int getTotalScore(int score[])
    {
        int sum = 0;
        int i;
        for(i=0;i<N;i++)
        {
            sum+=score[i];                
        } 
        return sum;
    }
    //计算平均分 
    int getAvgScore(int score[])
    {
        return getTotalScore(score)/N;   
    }
    //计算最高分 
    int getMax(int score[])
    {
        int max = -1;
        int i;
        for(i=0;i<N;i++)
        {
            if(score[i]>max)
            {
                max = score[i];              
            }                
        } 
        return max;
    }
    //计算最低分 
    int getMin(int score[])
    {
        int min =100;
        int i;
        for(i=0;i<N;i++)
        {
            if(score[i]< min)
            {
                min = score[i];              
            }                
        } 
        return min;
    }
    //分数降序排序 
    void sort(int score[])
    {
        int i,j;
        for(i=N-2;i>=0;i--)
        {
            for(j=0;j<=i;j++)
            {
                if(score[j]<score[j+1])
                {
                    int temp;
                    temp = score[j];
                    score[j] = score[j+1]; 
                    score[j+1]=temp;                  
                }                 
            }                   
        }
        printScore(score);     
    }
    
    int main()
    {
        int score[N]={67,98,75,63,82,79,81,91,66,84};
        int sum,avg,max,min;
        sum = getTotalScore(score);
        avg = getAvgScore(score);
        max = getMax(score);
        min = getMin(score);
        printf("总分是:%d\n",sum);
        printf("平均分是:%d\n",avg);
        printf("最高分是:%d\n",max);
        printf("最低分是:%d\n",min);
        printf("----------成绩排名---------\n");
        sort(score);
        return 0;    
    }

     

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    用户名: 验证码: 点击我更换图片
    ?
    一分快3app