C語言初學

WindSpirit發表於2017-10-14

輸出控制符

輸出控制符 含義
%d int 整型數
%ld long int
%c char 一個字元
%f float 浮點數,整數/整數=整數,整數/小數=小數
%lf double
%x %X %#X int 或 long int 或 short int 十六進位制整型數
%o int 或 long int 或 short int 八進位制整型數
%s 字串

(資料型別)(表示式):把表示式的值強制轉換成某種資料型別

a = a + (float) (1/b)   (×)
a = a + 1/(float) (b)   (√)
也可以寫成 a = a + 1.0/b
#include <stdio.h>

int main (void)
{
printf ("請輸入兩個值,用逗號分隔")    /*為了方便使用者使用最好先使用printf來提示
                                     使用者以什麼樣的方式來輸入*/
    int i        //定義變數,也可以直接賦值,但在此處賦值後函式值不可更改
    scanf ("%d,%d", &i);  //&i表示i的地址 &是一個取地址符
                          //%d,%d中間的逗號屬於非輸入控制符
                          //非輸入控制符必須原樣輸入,否則溢位
                          //但最好不要在scanf中使用非輸入控制符,尤其是\n
    printf ("i = %d\n",i)   //scanf和printf裡格式區別
    return 0;  //注意分號
}

運算子

算術運算子

+ - * / %(取餘數)

關係運算子

> >= < <= !=(不等於) ==(等於)

邏輯運算子

!(非) &&(並且) ||(或)

賦值運算子

= +=(a+=3等同於a = a + 3) *= /= -=

優先順序

算數 > 關係 > 邏輯 > 賦值

#include <stdio.h>

int main (void)
{
int i;
int sum = 0;

for ( i = 1; i <= 4; i = i + 1)      //++i = i + 1 ; i = 1只執行一次
sum = sum + i;

printf ( “sum = %d\n”, sum );

return 0;
}
for (1;2;3;)
4;
5;

1→2成立→4→3→2
不成立→5

for ( i = 起始值 ; i<=終止值 ; i = i + 步長值 )

迴圈過程:

i = 1 , 1<=4 , sum = 1 , i = 2

i = 2 , 2<=4 , sum = 1 + 2 = 3 , i = 3

i = 3 , 3<=4 , sum = 1 + 2 + 3 + 4 , i = 4

i = 4 , 4<=4 , sum = 1 + 2 + 3 + 4 + 5 , i = 5

i = 5 , 5>4 , 迴圈結束,輸出sum = 1 + 2 + 3 + 4 + 5

三目運算子

A ? B : C

等價於

if (A)
  B;
else
  C;
#include <stdio.h>

int main (void)
{
    int a;
    
    printf ("請輸入樓層:");
    scanf ("%d",&a);
    
    switch (a)
    {
    case 1:
        printf ("1層!\n");
        break;
    case 2:
        printf ("2層!\n");
        break;
    case 3:
        printf ("3層!\n");
        break;
    default:
        printf ("沒有這層!\n");
        break;
    }
    return 0;
}

default預設執行以下所有語句,case在檢測到相應輸入後執行最近的break之前的語句。

相關文章