亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!