#include <stdio.h>
int main() {
int a;
printf("請輸入一個整數:");
scanf("%d", &a);
if (a == 0) {
printf("您輸入的數字是0\n");
} else {
printf("您輸入的數字不是0\n");
}
}
執行結果:
請輸入一個整數:12
您輸入的數字不是0
請輸入一個整數:0
您輸入的數字是0
說明:
printf("請輸入一個整數:"); 請你在鍵盤上輸入一個整數,輸入完就按 Enter。
scanf("%d", &a); 把你輸入的數字以整數的形態 %d 放到 a 。
2017年5月26日 星期五
流程控制,使用 if ,else if, else 來判斷 a,b 的大小
#include <stdio.h>
int main() {
int a, b;
// 提示使用者輸入資料
printf("請輸入二個整數:");
scanf("%d%d", &a, &b);
if (a > b) {
printf("%d > %d\n", a, b);
} else if (a < b) {
printf("%d < %d\n", a, b);
} else {
printf("%d == %d\n", a, b);
}
}
執行結果:
請輸入二個整數:12 16
12 < 16
int main() {
int a, b;
// 提示使用者輸入資料
printf("請輸入二個整數:");
scanf("%d%d", &a, &b);
if (a > b) {
printf("%d > %d\n", a, b);
} else if (a < b) {
printf("%d < %d\n", a, b);
} else {
printf("%d == %d\n", a, b);
}
}
執行結果:
請輸入二個整數:12 16
12 < 16
2017年5月23日 星期二
使用 fgets 和 sscanf 從鍵盤輸入三個數字,再求出 a+b>c 的值
#include <stdio.h>
int main()
{
float a, b, c ;
char buffer[80];
printf("請輸入三個浮點數: ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%f %f %f", &a, &b, &c);
printf("%f + %f >%f = %d\n", a,b,c,a+b>c);
return 0;
}
執行結果:
請輸入三個浮點數: 12.000 13.000 15.000
12.000000 + 13.000000 >15.000000 = 1
說明:
如果a+b>c正確,得到的結果是1,錯誤則是0。
int main()
{
float a, b, c ;
char buffer[80];
printf("請輸入三個浮點數: ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%f %f %f", &a, &b, &c);
printf("%f + %f >%f = %d\n", a,b,c,a+b>c);
return 0;
}
執行結果:
請輸入三個浮點數: 12.000 13.000 15.000
12.000000 + 13.000000 >15.000000 = 1
說明:
如果a+b>c正確,得到的結果是1,錯誤則是0。
使用 stdlib.h 函式庫的 rand() 取得二個亂數,比較它們的大小
使用 a= rand(),b= rand() 隨機取得整數之後,比較之。若 a<b,正確則傳回值為1, 錯誤則傳回0。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b;
a= rand();
b= rand();
printf("a=%d b=%d a<b=%d\n",a,b,a<b);
return 0;
}
執行結果:
a=41 b=18467 a<b=1
說明:
這樣也可以 printf("%d < %d = %d\n",a,b,a<b);
使用上面的程式有問題,每次執行的結果都是一樣的 a=41 b=18467,可見這個程式不可以取得亂數,應該使用下面的程式才可。
#include <stdio.h>
#include <stdlib.h> /* 亂數相關函數 */
#include <time.h> /* 時間相關函數 */
int main(){
/* 設定亂數種子 */
srand( time(NULL) );
/* 產生亂數 */
int a = rand();
int b = rand();
printf("a= %d b= %d a<b= %d\n", a,b,a<b);
return 0;
}
執行結果:
a= 3117 b= 26387 a<b= 1
a= 3172 b= 12502 a<b= 1
a= 3234 b= 20114 a<b= 1
但也奇怪?每次都是 a<b 似乎也有點不對!
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b;
a= rand();
b= rand();
printf("a=%d b=%d a<b=%d\n",a,b,a<b);
return 0;
}
執行結果:
a=41 b=18467 a<b=1
說明:
這樣也可以 printf("%d < %d = %d\n",a,b,a<b);
使用上面的程式有問題,每次執行的結果都是一樣的 a=41 b=18467,可見這個程式不可以取得亂數,應該使用下面的程式才可。
#include <stdio.h>
#include <stdlib.h> /* 亂數相關函數 */
#include <time.h> /* 時間相關函數 */
int main(){
/* 設定亂數種子 */
srand( time(NULL) );
/* 產生亂數 */
int a = rand();
int b = rand();
printf("a= %d b= %d a<b= %d\n", a,b,a<b);
return 0;
}
執行結果:
a= 3117 b= 26387 a<b= 1
a= 3172 b= 12502 a<b= 1
a= 3234 b= 20114 a<b= 1
但也奇怪?每次都是 a<b 似乎也有點不對!
使用 stdlib.h 函式庫的 rand() 函式,將兩個隨機整數(亂數)相加
使用 stdlib.h 函式庫的 rand() 函式,取得兩個隨機整數a,b,然後讓它們相加。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b;
a= rand();
b= rand();
printf("a=%d b=%d a+b=%d\n",a,b,a+b);
return 0;
}
執行結果:
a=41 b=18467 a+b=18508
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b;
a= rand();
b= rand();
printf("a=%d b=%d a+b=%d\n",a,b,a+b);
return 0;
}
執行結果:
a=41 b=18467 a+b=18508
2017年5月20日 星期六
使用 fgets 和 sscanf 來計算長方形面積
#include <stdio.h>
int main()
{
int a, b, area;
char buffer[80];
printf("請輸入寬和高: ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%4d %4d", &a, &b);
area = a * b;
printf("寬=%d 高=%d 面積=%d\n", a,b,area);
return 0;
}
執行結果:
請輸入寬和高: 20 30
寬=20 高=30 面積=600
int main()
{
int a, b, area;
char buffer[80];
printf("請輸入寬和高: ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%4d %4d", &a, &b);
area = a * b;
printf("寬=%d 高=%d 面積=%d\n", a,b,area);
return 0;
}
執行結果:
請輸入寬和高: 20 30
寬=20 高=30 面積=600
2017年5月19日 星期五
從鍵盤輸入字串,使用 fgets 和 sscanf 把三個數相加
我用 fgets 輸入了三個字串至 buffer,又用 sscanf 把 buffer 的值輸入到 a,b,c 三個變數中,再將它們加起來。
#include <stdio.h>
int main()
{
int a, b, c, sum;
char buffer[80];
printf("請輸入三個字串: ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%4d %4d %4d", &a, &b, &c);
sum = a + b + c;
printf("a=%d b=%d c=%d sum=%d\n", a,b,c,sum);
return 0;
}
執行結果:
請輸入三個字串: 12 345 6789
a=12 b=345 c=6789 sum=7146
#include <stdio.h>
int main()
{
int a, b, c, sum;
char buffer[80];
printf("請輸入三個字串: ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%4d %4d %4d", &a, &b, &c);
sum = a + b + c;
printf("a=%d b=%d c=%d sum=%d\n", a,b,c,sum);
return 0;
}
執行結果:
請輸入三個字串: 12 345 6789
a=12 b=345 c=6789 sum=7146
2017年5月18日 星期四
使用 scanf 把由鍵盤輸入的三個整數存到 a,b,c 然後列印出來(printf)
#include <stdio.h>
int main()
{
int a,b,c;
printf("請輸入三個整數: ");
scanf("%d %d %d", &a, &b, &c);
printf("您剛輸入的值: a=%d b=%d c=%d\n", a,b,c);
return 0;
}
執行結果:
請輸入三個整數: 12 345 6789 (按下Enter)
您剛輸入的值: a=12 b=345 c=6789
說明:
int a,b,c; 這三個變數都設定為整數 Integer。
scanf("%d %d %d", &a, &b, &c); 我以整數的格式%d將剛才輸入的值存入a,b,c中。
printf("您剛輸入的值: a=%d b=%d c=%d\n", a,b,c); 我以整數的格式%d將 a,b,c 的值輸出到螢幕。
int main()
{
int a,b,c;
printf("請輸入三個整數: ");
scanf("%d %d %d", &a, &b, &c);
printf("您剛輸入的值: a=%d b=%d c=%d\n", a,b,c);
return 0;
}
執行結果:
請輸入三個整數: 12 345 6789 (按下Enter)
您剛輸入的值: a=12 b=345 c=6789
說明:
int a,b,c; 這三個變數都設定為整數 Integer。
scanf("%d %d %d", &a, &b, &c); 我以整數的格式%d將剛才輸入的值存入a,b,c中。
printf("您剛輸入的值: a=%d b=%d c=%d\n", a,b,c); 我以整數的格式%d將 a,b,c 的值輸出到螢幕。
我用 gets 輸入字串,再由 puts 輸出至螢幕
#include <stdio.h>
int main(void)
{
char a[100];
printf("請輸入一字串: ");
gets(a);
printf("您剛輸入的字串= ");
puts(a);
return 0;
}
執行結果:
請輸入一字串: 12 345 6789
您剛輸入的字串= 12 345 6789
說明:
使用 puts 的話,我就不必寫:
printf("您剛輸入的值= %s \n", a);
只要簡單的寫:
printf("您剛輸入的字串= ");
再用 puts 就可以輸出到螢幕了!
int main(void)
{
char a[100];
printf("請輸入一字串: ");
gets(a);
printf("您剛輸入的字串= ");
puts(a);
return 0;
}
執行結果:
請輸入一字串: 12 345 6789
您剛輸入的字串= 12 345 6789
說明:
使用 puts 的話,我就不必寫:
printf("您剛輸入的值= %s \n", a);
只要簡單的寫:
printf("您剛輸入的字串= ");
再用 puts 就可以輸出到螢幕了!
2017年5月17日 星期三
使用 gets 輸入字串
#include <stdio.h>
int main()
{
char a[80];
printf("請輸入一個字串: ");
gets(a);
printf("您剛輸入的值= %s \n", a);
return 0;
}
執行結果:
請輸入一個字串: Hello,Good morning!(輸入完按 Enter)
您剛輸入的值= Hello,Good morning!
說明:
scanf 只能接收一個字,gets 卻能夠接收多個字,包含空白字元都能接收。
%s 為字串格式(s就是 string 字串)
int main()
{
char a[80];
printf("請輸入一個字串: ");
gets(a);
printf("您剛輸入的值= %s \n", a);
return 0;
}
執行結果:
請輸入一個字串: Hello,Good morning!(輸入完按 Enter)
您剛輸入的值= Hello,Good morning!
說明:
scanf 只能接收一個字,gets 卻能夠接收多個字,包含空白字元都能接收。
%s 為字串格式(s就是 string 字串)
在 Android 手機、平板玩 C 語言
請到 Google Play 下載 CppDroid - C/C++ IDE 即可編譯執行C語言。
1.長按此區然後複製2.將此程式貼在Cppdroid程式區
3.按儲存,編譯,執行即可
試試看下列的 C 語言程式碼:
/*列印出 Hello, World! 的C語言*/
#include <stdio.h>
int main()
{
printf("Hello, World! \n");
return 0;
}
Android系統C語言的免費代碼編譯器介紹
http://seelab.zjsu.edu.cn:4000/node/4649
在 Window10 玩 C 語言
安裝Dev C++ (在Windows系統)
https://drive.google.com/file/d/0ByWPWh7Hc421WHFjU1pOR2g5NGs/view
Dev C++ 基本操作法
開啟dev c++
檔案→開新檔案→原始碼
將程式貼入
存檔成 xxx.c
放入自己喜歡的資料夾
編譯,執行.
輸入二個字串,並輸出於螢幕
#include <stdio.h>
int main()
{
char name[80],phone[80];
printf("請輸入姓名和電話: ");
scanf("%s %s", &name,&phone);
printf("name= %s phone= %s \n", name,phone);
return 0;
}
執行結果:
請輸入姓名和電話: 川普 0939255668
name= 川普 phone= 0939255668
int main()
{
char name[80],phone[80];
printf("請輸入姓名和電話: ");
scanf("%s %s", &name,&phone);
printf("name= %s phone= %s \n", name,phone);
return 0;
}
執行結果:
請輸入姓名和電話: 川普 0939255668
name= 川普 phone= 0939255668
輸入一個字串,並輸出於螢幕
#include <stdio.h>
int main()
{
char s[80];
printf("請輸入一個字串: ");
scanf("%s", &s);
printf("您剛輸入的值= %s \n", s);
return 0;
}
執行結果:
請輸入一個字串: trump
您剛輸入的值= trump
執行結果:
請輸入一個字串: 川普
您剛輸入的值= 川普
執行結果:如果多打一個字串,它只列印出前面的字串。
請輸入一個字串: hello trump
您剛輸入的值= hello
int main()
{
char s[80];
printf("請輸入一個字串: ");
scanf("%s", &s);
printf("您剛輸入的值= %s \n", s);
return 0;
}
執行結果:
請輸入一個字串: trump
您剛輸入的值= trump
執行結果:
請輸入一個字串: 川普
您剛輸入的值= 川普
執行結果:如果多打一個字串,它只列印出前面的字串。
請輸入一個字串: hello trump
您剛輸入的值= hello
2017年5月16日 星期二
我用 C 語言列印出整數
#include <stdio.h>
int main()
{
int i=123;
printf("%d\n", i);
return 0;
}
執行結果:
123
說明:
我使用 int i=123; 設了一個變數 i ,把123值給 i 。
於是 printf("%d\n", i); 把這個 i 值,以十進位整數 %d 的格式顯示於螢幕,\n是換行的意思。
註:
若要執行 C 語言,在 Win10則下載 Dev C++,在 Android則到 Google Play 下載 CppDroid - C/C++ IDE 即可。
int main()
{
int i=123;
printf("%d\n", i);
return 0;
}
執行結果:
123
說明:
我使用 int i=123; 設了一個變數 i ,把123值給 i 。
於是 printf("%d\n", i); 把這個 i 值,以十進位整數 %d 的格式顯示於螢幕,\n是換行的意思。
註:
若要執行 C 語言,在 Win10則下載 Dev C++,在 Android則到 Google Play 下載 CppDroid - C/C++ IDE 即可。
列印出字串
我列印出了ABC
#include <stdio.h>
int main()
{
printf("ABC");
return 0;
}
也可以印出Hello C!
#include <stdio.h>
int main()
{
printf("Hello C!");
return 0;
}
中文字串也可以印出
#include <stdio.h>
int main()
{
printf("大家好!");
return 0;
}
執行結果:
大家好!
--------------------------------
Process exited after 0.02171 seconds with return value 0
請按任意鍵繼續 . . .
說明:
這個 printf 是C語言的輸出函式,它把你鍵入" "的字串輸出到螢幕。
如果您想玩,就到這裡下載 Dev C++ 就可以啦!
https://sourceforge.net/projects/orwelldevcpp/
Android 手機則到 Google Play 下載 CppDroid - C/C++ IDE 很好用!
#include <stdio.h>
int main()
{
printf("ABC");
return 0;
}
也可以印出Hello C!
#include <stdio.h>
int main()
{
printf("Hello C!");
return 0;
}
中文字串也可以印出
#include <stdio.h>
int main()
{
printf("大家好!");
return 0;
}
執行結果:
大家好!
--------------------------------
Process exited after 0.02171 seconds with return value 0
請按任意鍵繼續 . . .
說明:
這個 printf 是C語言的輸出函式,它把你鍵入" "的字串輸出到螢幕。
如果您想玩,就到這裡下載 Dev C++ 就可以啦!
https://sourceforge.net/projects/orwelldevcpp/
Android 手機則到 Google Play 下載 CppDroid - C/C++ IDE 很好用!
使用 scanf 將二數相加
輸入兩個整數 a , b , 然後將它們相加,得到 sum
#include <stdio.h>
int main()
{
int a, b, sum;
printf("請輸入二個整數,二數以空隔分開 : ");
scanf("%d%d", &a, &b);
sum = a + b;
printf("a+b=%d\n", sum);
return 0;
}
結果:
請輸入二個整數,二數以空隔分開 : 12 15
a+b=27
--------------------------------
Process exited after 3.396 seconds with return value 0
請按任意鍵繼續 . . .
說明:
int 代表整數
printf 為顯示於螢幕
scanf("%d%d", &a, &b); 把輸入的二個整數分別以整數 %d 的形態存入 a 和 b 中
sum = a + b; 把a+b的值放入sum
printf("a+b=%d\n", sum); 把sum的值以整數的形態%d顯示出來
#include <stdio.h>
int main()
{
int a, b, sum;
printf("請輸入二個整數,二數以空隔分開 : ");
scanf("%d%d", &a, &b);
sum = a + b;
printf("a+b=%d\n", sum);
return 0;
}
結果:
請輸入二個整數,二數以空隔分開 : 12 15
a+b=27
--------------------------------
Process exited after 3.396 seconds with return value 0
請按任意鍵繼續 . . .
說明:
int 代表整數
printf 為顯示於螢幕
scanf("%d%d", &a, &b); 把輸入的二個整數分別以整數 %d 的形態存入 a 和 b 中
sum = a + b; 把a+b的值放入sum
printf("a+b=%d\n", sum); 把sum的值以整數的形態%d顯示出來
訂閱:
文章 (Atom)