---
# System prepended metadata

title: Ch01 輸入與輸出
tags: [程式教學]

---

# Ch01 輸入與輸出

> 上一章: [Ch00 C的編譯環境架設](https://hackmd.io/@sunfrancis12/rJxDo6jza)
> 下一章: [Ch02 變數與運算](https://hackmd.io/@sunfrancis12/r1AweRsfT)
> 回目錄: [NTCU程式戰鬥營C講義](https://hackmd.io/@sunfrancis12/ByfdXdjG6)

## 在那之前...
在學習怎麼控制程式之前，我們必須知道程式的一些必備知識
* 程式必須要加上`#include<stdio.h>`的header(在函式庫那章會在說明)
* 程式必須寫在`main()`的大括弧`{ }`裡面(在函式那章會在說明)
* 程式的結束必須要加上分號`;`
## 簡單的輸出文字
在C裡面要輸出文字，就是使用`printf()指令`
```c=
printf("你好啊 安安");
```

一個簡單的範例程式:
```c=
#include<stdio.h>

int main(){
    printf("你好");
}
```
輸出結果:
```c= 
你好
```
## 文字的換行
如果文字要換行，我們就必須在文字尾端加上**換行符號**`\n`
```c=
printf("你好啊 安安\n");
```
以下程式可以比較有無換行的差異:

```c=
#include<stdio.h>

int main(){
    //沒換行的結果
    printf("A:你好阿 安安");
    printf("B:你好 今天過的如何");
    printf("A:不錯 就是程設拿了個0分");
    printf("B:笑死 我也是");

    //換行(分隔用)
    printf("\n\n");

    //有換行的結果
    printf("A:你好阿 安安\n");
    printf("B:你好 今天過的如何\n");
    printf("A:不錯 就是程設拿了個0分\n");
    printf("B:笑死 我也是\n");
}
```

輸出結果:
```c=
A:你好阿 安安B:你好 今天過的如何A:不錯 就是程設拿了個0分B:笑死 我也是

A:你好阿 安安
B:你好 今天過的如何
A:不錯 就是程設拿了個0分
B:笑死 我也是
```
## 輸入一個整數
:::info
關於輸入和輸出各種類變數(int,float)的方式，我們會在下章節說明
:::
我們是透過`scanf()`的方式來輸入資料的
```c=
scanf("變數類型的格式化字串",&變數的名稱);
```
以輸入一個整數為例:
```c=
scanf("%d",&a);
```
輸入一個整數後，將其印出:
```c=
#include<stdio.h>

int main(){
    int a;
    scanf("%d",&a);
    printf("a的數值為%d",a);
}
```
輸入內容:
```c=
10
```
輸出結果:
```c=
a的數值為10
```

---
> 上一章: [Ch00 C的編譯環境架設](https://hackmd.io/@sunfrancis12/rJxDo6jza)
> 下一章: [Ch02 變數與運算](https://hackmd.io/@sunfrancis12/r1AweRsfT)
> 回目錄: [NTCU程式戰鬥營C講義](https://hackmd.io/@sunfrancis12/ByfdXdjG6)