C語言入門學習 一月四日總結
阿新 • • 發佈:2019-01-06
程式 = 演算法 + 資料結構
程式設計 = 程式設計正規化(設計模式)
- C語言 : 面向過程
- C ++ (語言聯邦) : 面向物件,面向過程,函數語言程式設計(難),泛型程式設計
函式是壓縮的陣列 ,陣列是展開的函式
總而言之 對於學習一門語言來說,最重要的是要學會組織這種語言的方式,也就是程式設計正規化,就像是寫作文一樣,學會語法只能保證寫的文章是沒有錯誤的,但是想寫出優美的文章就需要更多的積累,修辭,句式變換,引用等等。程式設計也是一樣的,需要學會這門語言所支援的正規化。
先從瞭解函式入門
輸出函式說明
printf 函式
標頭檔案: stdio.h
原型 :int printf ( const char * format , … );
format : 格式控制字串
… : 可變引數列表
返回值:輸出字元的數量
int n = 65535;
int i = printf("%d",n);
// i = 5
來看一個有趣的例子,只用printf 一族 來判斷一個數字n的位數
註釋 : freopen 函式 一個用來 重定向輸入輸出流 的函式
/*************************************************************************
> File Name: 1.try.c
> Author:Gin.TaMa
> Mail: [email protected]
> Created Time: 2019年01月06日 星期日 14時37分13秒
************************************************************************/
#include<stdio.h>
int main(){
int n = 0;
freopen("/dev/null","w",stderr);// 將 標準錯誤輸出輸出到 null(垃圾桶)裡
while(~scanf("%d",&n)){
printf("%d\n" ,fprintf(stderr,"%d",n));
}
return 0;
}
神奇的小遊戲
輸出函式說明
scanf 函式:
標頭檔案 : stdio.h
原型 : int scanf ( const char * format , … );
format : 格式控制字串
… : 可變引數列表
返回值 : 成功讀入的引數的個數 有 EOF 以及 0 到 … …
while(scanf(...) != EOF);
普通的用法,如果讀入一個想讀入一個包含’ '的字串呢
/*************************************************************************
> File Name: 2.c
> Author:Gin.TaMa
> Mail:[email protected]
> Created Time: 2019年01月04日 星期五 20時47分02秒
************************************************************************/
#include<stdio.h>
int main(){
char a;
char str[100] = {0};
int i = 0;
while(scanf("%[^\n]s",str)!=EOF){
getchar();
printf("%s\n",str);
}
return 0;
}
注意需要一個getchar()來讀入一個換行符,因為 %[ ^ \n ] s 會在\n 前面停下來,這樣 就永遠都不會讀入EOF這個字元了。所以需要getchar來吃掉\n 保證迴圈沒有問題