为了账号安全,请及时绑定邮箱和手机立即绑定
  • https://img1.sycdn.imooc.com/655823980001f60304620508.jpg三目运算符

    类似于if吧

    查看全部
    0 采集 收起 来源:三目运算符

    2023-11-18

  • Hallo World
    查看全部
    0 采集 收起 来源:初始C语言

    2023-11-17

  • 第23行:if括号内(!=1)的判断是为了避免正对角线与反对角线相交的元素重复计算

    查看全部
    • 第3行:void say(char string[])  //整个数组做为函数参数

    • 第5行:printf("%s\n",string);     //打印字符串

    • say(string);   //调用say函数输出字符串

    注意区别

    查看全部
    0 采集 收起 来源:字符串与数组

    2023-11-07

    1. 第12行使用break的原因:需要用break语句中断后跳出for循环,否则,仍然会继续比较下去,后面程序语句会对index赋值-1;这个代码必须有break。在没有break的情况下,循环的时候假如说在第三个arr[i]=value,然后index=i,这个时候i=3,index也就是3,接着下一个循环i=4的时候,arr[4]不等于value,进入else,index又变成了-1,直到i=5,循环结束,返回-1.所以说break这个作用是当arr[i]等于value时,让index=i,接着跳出循环,返回index,得到正确结果。

    2. 考虑情况更加完整的代码;

    //教程里的解决方案不够完整,当数组中与value的值相等的元素存在多个时,程序总是会输出其中的第一个元素的下标,其后仍有与value相同的值则直接跳过,不会输出。
    #include <stdio.h>
    int getIndex(int arr[5],int value)
    {
        int i;
        int temp=0;      //用来承载第二个for循环中arr[i] != value的判断次数。
        for(i=0;i<5;i++)
        {
            if(arr[i]==value)
            {
                printf("存在,下标为");
                break;      //当arr[i] == value的结果时,证明value的值能在arr数组中找到,立即退出循环。
            }
        }
        for(i=0;i<5;i++)
        {
            if(arr[i]==value)
            {
                printf(" ··· %d",i);      //输出当arr[i] == value时i的数字。即arr数组中的某个元素等于value时,该元素的下标。(这个循环与上面的for循环分开的原因:为了可以输出多个符合要求的下标)
            }
            else
            {
                temp++;      //累加arr[i] != value的判断次数。当temp==arr数组的总长度时,代表arr数组中没有一个元素==value,即value在arr数组中不存在。
            }
        }
        if(temp==5)
        {
            printf("不存在。\n");
        }
        else
        {
            printf("。");
        }
    }
    int main()
    {
        int arr[5]={3,12,9,8,6};      //可更改此数组的元素,观察运行结果有没有错误,即使相同的元素也能正确输出结果。
        int value=8;                  //可更改此数组的元素,观察运行结果有没有错误。
        printf("%d在数组中",value);//没有”\n“与”getIndex“函数中的输出语句可以打印在同一行,形成一句话的效果。(”getIndex“函数中的输出语句中无“\n”原因同理。
        getIndex(arr,value);      //传递arr[]以及value的参数。
        return 0;    
    }
    查看全部
    • 细节注意:1.相邻前后两数两两比较:若元素个数为n,则最大的下标为n-1;因为是两个比较(两个数为一组),所以比较涉及的循环(14到26行)中的外层循环(14行)的索引(下标j)从n-2开始;2.要设置两层循环,原因:例如数组中最大的数是第一个数,第二大的数是第二个数,仅一次内循环只能将第一个数(最大的数)放在最后面,无法使第二个数(第二大的数)放在倒数第二个数的位置。所以要有两层循环。

    • 学习(7到13行)输出如题改格式的方法。

    查看全部
    1. 设置index(即第十二行代码)的作用是记录arr1中(最)大元素的索引

    2. 记住9到14行比较(出)并记录数组中最大元素的方法;

    3. 第23行和第2行传入整个数组(arr1)无“[ ]”;

    查看全部
    1. C语言的数组长度一经声明,长度就是固定,无法改变;

    2. 最好避免出现数组越界访问,循环变量不要超出数组的长度;

    3. 由于C语言是没有检查数组长度改变或者数组越界的这个机制,可能会在编辑器中编译并通过,但是结果就不能肯定了,因此还是不要越界或者改变数组的长度。

    查看全部
    0 采集 收起 来源:数组的遍历

    2023-11-07

    1. 初始化数组时,数组内元素的个数小于等于(不能大于)声明的数组长度(否则越界);

    2. 在声明数组后没有进行初始化的时候,静态(static)和外部(extern)类型的数组元素初始化元素为0自动(auto)类型的数组的元素初始化值不确定

    查看全部
    0 采集 收起 来源:数组初体验

    2023-11-07

  • 为什么要删去第二行:将hello.c中的#include "test.c",这一行删去,在函数printLine之前加上extern(事实上可省略)使其成为外部函数,使其能被test.c调用从而在test.c中完成函数say函数say默认为外部函数能被(删去#include "test.c"的)hello.c调用,从而完成。(hello.c是我们现在正在完成(作业)的函数)

    查看全部
    1. 用auto定义的变量为自动变量(动态存储类别:是指在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储区中存放的变量是根据程序运行的需要而建立和释放的);

    2. static修饰的为静态变量(静态存储类别),注:静态局部变量只赋初值一次,如果在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量);

    3. registe:将局部变量得值放在CPU中的寄存器中,叫做“寄存器变量”。局部静态变量不能定义为寄存器变量;

    4. extern声明的的变量是外部变量,外部变量的意义是某函数可以调用在该函数之后定义的变量

    查看全部
    0 采集 收起 来源:变量存储类别

    2023-11-06

  • int x=77;  标为x(1),它是整个程序的变量,(整个程序的)全局变量

    int x=10;  标为x(2),这是函数main() 中的全局变量,也是整个程序的局部变量

    int x=100; 标为x(3),这是if语句中的全局变量,这也是整个程序的局部变量,但级别比x(2) 还低,被引用的范围更小。若写成 x=100;这就是给x(2)进行赋值,也就是说x(2)的值被改成100了,main()函数中使用x的位置,其值都是100


    在main()函数中,运行到

    fn1();

    时,程序暂时跳出main()函数,去执行自定义函数fn1(),此时已经跳出了main()函数的范围,故x为x(1)的内容。


    整个完整的程序中,虽然定义的变量都名为x,但对于计算机而言,是三个不同的变量,并且使用的范围也是不一样的。

    int   是告诉计算机定义新变量的标识,同时确定数据类型,类似的还有char,short,long,float,double等。

    查看全部
    0 采集 收起 来源:局部与全局

    2023-11-06

  • 这里都改变了a的值

    https://img1.sycdn.imooc.com/6546fe650001dc9203540073.jpg

    查看全部
  • 强制类型转换是通过定义类型转换运算来实现的。其一般形式为:

     (数据类型) (表达式) 

    其作用是把表达式的运算结果强制转换成类型说明符所表示的类型,例如:


    https://img1.sycdn.imooc.com/6545b65a0001a8a003560171.jpghttps://img1.sycdn.imooc.com/6545b62a0001552803560075.jpg

    查看全部
    0 采集 收起 来源:强制类型转换

    2023-11-04

  • 输出语句的

    https://img1.sycdn.imooc.com/6545b45b000160cd04860105.jpg

    查看全部

举报

0/150
提交
取消
课程须知
本教程仅仅是C程序设计的入门教程
老师告诉你能学到什么?
什么是程序; 什么是程序结构; 什么是函数; 什么是数组.

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!