1. 程式人生 > >C語言入門學習 一月四日總結

C語言入門學習 一月四日總結

程式 = 演算法 + 資料結構

程式設計 = 程式設計正規化(設計模式)

  • 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 保證迴圈沒有問題