學習《明解C語言》第3版
第一章
初始C語言
1-2 變數
1-3 輸入與顯示
1.計算整數的和並顯示結果
#include<stdio.h> //注意不要和studio混淆,stdio是standard I/O(標準輸入輸出)的縮寫
int main(void)
{
printf("%d",15+37); /*用十進位制數顯示整數15和37的和*/
return 0;
}
基本程式和固定程式碼
#include<stdio.h>
int main(void)
{
/*...*/
return 0;
}
1.註釋為/…/,可以把想要表達的意思以註釋的形式記錄下來。
2.printf函數:格式化輸出函數
如果想要使用某個函數的功能,就必須通過函數呼叫(function call)來實現。
ex:呼叫printf函數顯示15和37的和
函數呼叫:printf /函數名/ ( 「%d」 /實參/ , 15+37 /實參/);
顯示結果為 52.
/*呼叫此函數既發出了「顯示這些內容」的請求,然後通過括號內的實參(argument)來傳遞想要顯示的內容。當實參超過兩個時,需要用逗號隔開 */
/* 注意!! 原則上語句必須以分號結尾! */
2.換行的必要性
1-3
#include<stdio.h>
int main (void)
{
printf("15與37的和是%d。/n",15+37);
return 0;
}
1.%d指定了實參要以十進位制數的形式顯示,這就是轉換說明(conversion specification)。
2.\n 是代表換行的符號,\ 和 n 組成的一個特殊的換行符。
/* 畫面中不會顯示\n,而是輸入一個(看不見的)換行符。
!大多數執行環境下,程式執行後,程式的輸入結果後面都會緊跟著提示符。若在程式後輸入換行符,則不會緊跟著提示符。
練習1-1
/* 編寫一段程式,計算出15減去37的結果,並以「15減去37
的結果時-22。」的格式進行顯示。*/
#include <stdio.h>
int main (void)
{
printf("15減去37的結果是%d\n",15-37);
return 0;
}
練習1-2
/* 換行顯示天地人 */
#include <stdio.h>
int main(void)
{
printf("天\n地\n人\n");
return 0;
}
練習1-3
/* 換行表示喂!您好!再見! */
#include <stdio.h>
int main(void)
{
printf("喂!\n\n您好!\n再見。");
return 0;
}
1.為兩個變數賦整數值並顯示
#include<stdio.h>
int main(void)
{
int vx,vy;
vx= 57;
vy = vx + 10;
printf("vx的值是%d。\n",vx);
printf("vy的值是%d。\n",vy);
return 0;
}
int vx ; /*變數 */
int vy ; /*變數 */
宣告兩個變數。
vx = 54;
vy = vx +10;
為兩變數賦值。
2.初始化和賦值
初始化:在生成變數的時候放入數值。
賦值:在意生成的變數中放入數值。
細的 = 表示初始化,粗體的 = 表示賦值。
練習1-4
/* 在int型變數的宣告中為變數賦一個實數值的初始值
(如3.14或5.7等)會怎樣? */
#include <stdio.h>
int main(void)
{
int x = 3.14;
printf("%d",x);
return 0;
}
1.格式化輸入函數scanf
#include<stido.h>
int main(void)
{
int no;
pritnf("請輸入一個整數:");
scanf("%d",&no); //和printf不同,此處需要使用&!!!
printf("您輸入的是%d。\n",no);
return 0;
}
與printf函數不同的是,在使用scanf函數進行讀取時,變數名前必須加上一個特殊符號&!
// printf("%d",no) //scanf("%d",&no)
練習1-5
/* 讀取一個整數並顯示該整數加上12之後的結果。 */
#include <stdio.h>
int main(void)
{
int no;
printf("請輸入一個整數:");scanf("%d",&no);
printf("該整數加上12的結果是%d。", no + 12);
return 0;
}
練習1-6
/* 讀取一個整數並顯示該整數減去6之後的結果 */
#include <stdio.h>
int main(void)
{
int no;
printf("請輸入一個整數:");scanf("%d",&no);
printf("該整數減去6的結果是%d",no - 6);
return 0;
}
2.輸出函數puts
#include<stdio.h>
int main(void)
{
int n1,n2;
puts("請輸入兩個整數。");
printf("整數1:");scanf("%d",&n1);
printf("整數2:");scanf("%d",&n2);
printf("它們的和是%d。\n", n1+n2);
return 0;
}
puts("…")與printf("…\n")的功能基本相同。
puts函數可以按順序輸出作為實參的字串,並在結尾換行。
// puts函數的實參只能有一個。且符號%的顯示方法和printf函數有所不同。
練習1-7
/* 用puts函數輸出天地人 */
#include <stdio.h>
int main(void)
{
puts("天");
puts("地");
puts("人");
return 0;
}
練習1-8
/* 顯示讀取到的兩個整數27與35的乘積。 */
#include <stdio.h>
int main(void)
{
int a,b;
puts("請輸入兩個整數。");
printf("整數1:");
scanf("%d",&a);
printf("整數2:");
scanf("%d",&b);
printf("它們的乘積是%d",a * b);
return 0;
}
練習1-9
/* 顯示讀取到的三個整數的和 */
#include<stdio.h>
int main(void)
{
int a,b,c;
puts("請輸入三個整數");
printf("整數1:");scanf("%d",&a);
printf("整數2:");scanf("%d",&b);
printf("整數3:");scanf("%d",&c);
printf("它們的和是%d",a+b+c);
return 0;
}