C學習筆記及課後作業

來源:互聯網
上載者:User

標籤:

1、Mac系統簡介—準系統

1.1commad+空格  切換IME

1.2系統內建截屏功能(command+shift+3、command+shift+4)

1.3所有設定都可以通過“喜好設定”來調整(快速鍵是command+,)

1.4ctrl+左右鍵切換案頭,ctrl+上鍵添加案頭

1.5 command+shift+刪除鍵 清空廢紙簍

1.6應用程式切換command+tab

1.7退出當前應用 command+Q

1.8關閉當前視窗command+w

2、Xcode

1、C語言基礎

1.1進位轉換方法:按權求和、連除倒取餘(10進位轉化為其他進位的方法)

1.2二進位用B表示,八進位用0表示,十進位用H表示,十六進位用0X表示    

1.3注釋(單行和多行注釋)

1.4、基礎資料型別 (Elementary Data Type):char 、int、short、long、float、double

1.5、sizeof的使用方法,sizeof輸出值使用%lu;        

1.6、常量:程式運行期間不可改變的量。

1.7、float類型最大可以表示6位小數精度,而double類型最大可以表示15位小數精度。double在32位系統中佔用4個位元組,在64位系統中佔用8個位元組。但是double類型在預設情況下,輸出小數點後6位,我們通常要減少其小數點後的長度。則可以使用 “%m.nlf"的形式,其中m和n都為正整數。m表示輸出的浮點型的資料佔m位,如果實際長度不等於m,則按實際長度輸出,n表示輸出的小數點位元。所以說,m實際上可以不用管,直接用0代替或者不寫都可以!

1.8、記住下面的格式化字串:

 記住下面的格式化字串:

Code 格式:

%% 一個‘%‘符號 

%c 字元 

%d 帶正負號的整數 

%i 帶正負號的整數 

%e 科學計數法, 使用小寫"e" 

%E 科學計數法, 使用大寫"E" 

%f 浮點數 

%g 使用%e或%f中較短的一個 

%G 使用%E或%f中較短的一個 

%o 八進位 

%s 一串字元 

%u 不帶正負號的整數 

%x 無符號十六進位數, 用小寫字母 

%X 無符號十六進位數, 用大寫字母 

%p 一個指標 

%n 參數應該是一個指向一個整數的指標

指向的是字元數放置的位置

1.9、command+反斜線 添加斷點

2.0、C中共有32個關鍵字

2.1、運算式:常量、變數和運算子的有效合理組合,運算式都有值;

 

1.1、Bool類型:非0即為真。只有真和假兩種狀態。(在標準的C語言中是沒有bool類型的,從C99版本開始添加bool類型)在OC中使用YES表示真,使用NO表示假;其他語言,一般使用true表示真,使用false表示假;

1.2、關係運算子

1.3、邏輯運算子

1.4、運算子優先順序:算數運算子>關係運算子>邏輯運算子>賦值運算子

1.5、邏輯運算子

1.6、C中的三種結構:順序結構、分支結構、迴圈結構

1.7、switch語句中的變數和case值都必須是整形,而不能是其他類型;

1.8、資料類型分為基礎資料型別 (Elementary Data Type)和特殊類型,特殊類型包括bool型和構造類型,構造類型又包括枚舉、數組等;

1.9、注意枚舉類型的學習;

2.0、typedef的使用方法。

 

 

1、while迴圈,do-while迴圈,for迴圈;

2、隨機數 arc4random()的使用方法, arc4random();輸出隨機數的類型是unsigned int類型,資料範圍為0--2^31-1;

3、求最大值的時候,max定義的初始值不能比任何一個隨機數大,而求最小值的時候,min定義的初始值不能比任何一個隨機數小;

4、迴圈結構藥店:迴圈初始值—決定迴圈從哪開始;

                             迴圈條件—決定迴圈是否繼續進行(什麼時候結束)

                             迴圈體—決定我要幹什麼(內容)

                             迴圈增量—計數的功能(防止死迴圈)

5、c/oc中m的n次方可以使用函數pow(m,n);

6、變數起名規則:變數名字只能有數字、字母、底線組成,且不能由數字開頭;不能和系統的關鍵字重名;同一範圍變數名不能重名;變數名見名知意;

7、數組 int a[10];它的資料類型是int [10],而變數名是a;

8、字元數組定義方式:char string[10]={‘a’,’b’,’c’,’d’,’e’};

                                    char string[10]=“abcde”;有一個隱形的\0字元;

                                    char *string=“abcde”;有一個隱形的\0字元;

9、有’\0’結束標識的字元數組也稱為字串。

系統提供的字串處理函數包括:

strlen();計算字串(有效)長度, 不包括’\0’的長度;例如:char   string[]=“ios”;字串長度是3個字元,而記憶體配置的空間是4個字元。            

strcpy();字串拷貝,例:strcpy(b, a);

strcat();字串拼接

strm  p();字串比較

 

字串所佔的空間 ?至少要?比 字串?長度?大1,因為 字串以 ‘\0’ 表?示結束。系統提供的字串處理函 數都是根據 ‘\0’ 來判斷字串是否結束    。

10、char類型可以使用%d列印其ASCII碼,也可以使用%c列印其值,其中char預設為 signed char,其取值範圍為-128到127,也可以定義為unsigned char,其取值範圍為0到256;     

例子:int main(int argc, char *argv[])

{

    unsigned char str[10], i;

    

    for(i = 0; i < 255; i++)    //有256改為255

        printf("%d\n", i);

    

        printf("%d", i);

    

//        printf("%d\n", i);

 

        printf("addbhakdhkj");

        

        

    str[i] = i;

    printf("%d\n",i);

    printf("%c\n",i);

    return 0;

}

 

 

 

 

 

/*13、(***)類比n個人蔘加選舉的過程,並輸出選舉結果:假設候選人有四人,分別用A、B、C、D表示,當選某候選人時,直接輸入其編號(編號由電腦隨機產生),

 若輸入的不是A、B、C、D則視為無效票,選舉結束後按得票數從高到低輸出候選人編號和所得票數。

*/(第四堂課作業),注意加法的實現和排序(*******把人名和票數捆綁*********)重要、、重要

 

 

//使用隨機數+數組實現

 

int main()

{

    int people_num;

    printf("輸入群眾人數:");

    scanf("%d",&people_num); //群眾人數輸入

    int candidate = 0;                          //候選人序號

    int tickets[4]={0,0,0,0};                          //候選人票數a[0],代表A的票數

    char people[4]={‘A‘,‘B‘,‘C‘,‘D‘};

    

    printf("產生的隨機票為:");

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

    {

        candidate=arc4random()%(4-0+1);//產生隨機票,0代表A,1代表B,2代表C,3代表D,4

        printf("%d\t",candidate);

        if (candidate > 3){

            continue;

        }else{

            tickets[candidate]++;

        }

    }

    for ( int i = 0; i <4-1; i++) {

        for (int j = 0; j< 4 - i -1; j++) {

            if (tickets[j] < tickets[j+1]) {

                int temp = 0;

                temp = tickets[j];

                tickets[j] = tickets[j+1];

                tickets[j+1] = temp;

                char temp2 = ‘0‘;

                temp2 = people[j];

                people[j] = people[j+1];

                people[j+1] = temp2;

            }

        }

    }

    printf("\n");

    for (int i = 0; i< 4; i++) {

        printf("%c得票%d\n",people[i], tickets[i]);

    }

    return 0;

}

 

 

作業:注意作業中通過數組實現某些過程會特別方便,例如列印*組成的菱形可以通過定義兩個數組,一個存放空格,另外一個存放*,這樣可以很方便的實現列印的過程。

 

C學習筆記及課後作業

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.