1. 程式人生 > >c/c++語言程式碼練習的判斷小總結

c/c++語言程式碼練習的判斷小總結

前言——這篇文是寫給自己備忘的,如果有人從中受益那就更好了。

c語言一般有個主函式 可以是空的,形式為

int main(){

}

這裡的問題是主函式的型別 有的編譯器(比如vc6)可以用void main的型別,然而dev c++不吃這一套,空型別沒有返回值(也有一種說法是返回空值,然而我不理解,空值在二進位制程式碼中怎麼表達?要知道程式碼也是有質量的,電子脈衝不能用天枰衡量難道就真的不存在?空值如果存在,那是什麼形式?所以初步否定它)

先來一個最基本的<stdio.h>,內含最基本的輸入輸出,如c的printf,scanf,如c++的cout,endl。稍稍拓展,還有一個gets函式,無限制讀取字串,直至接受到換行符或eof時停止。一種常用的用法就是與布林函式中的NULL值搭配使用,而NULL在<stdlib.h>這個庫裡面。SO。。。。

再來一個預處理巨集定義的標頭檔案 #include <stdlib.h>,lib是圖書館(庫)的縮寫,內含各種有用的工具,待補充。

講得太分散不好,舉個例子,比如我想實現希爾排序的程式碼,那麼首先就是要定義陣列,定義的過程中,可以是手動輸入陣列的個數,這個過程可以用gets()函式判斷。然而一般情況下是在輸入前提示,因為什麼都不知道,什麼都沒有就按回車的概率很大。

之後就是輸入陣列個數,這裡可以用strlen()來判斷,該函式在<string.h>庫中,之後的套路同樣也是判斷,然後輸出。

簡單例子如下。

#include <stdio.h> #include <string.h>

int main(){     char d[100];     while (gets(d)!=NULL){          if(strlen(d)>0)     printf("輸入不為空\n",&d);     else     printf("輸入為空,請再次輸入\n");

} return 0;          }

說說return 0:一般用在主函式結束時,按照程式開發的一般慣例,表示成功完成本函式(換個說法,跳出迴圈)。return -1::表示返回一個代數值,一般用在子函式結尾。按照程式開發的一般慣例,表示該函式失敗。

如果函式有返回值,return關鍵字還有將返回值傳到引數中的意思,專業術語叫做遞迴,遞迴和迭代不一樣,我之前就搞不清了

迭代就是公式歸納,根據1+1=10推出0+1=01的意思,不常見於程式碼實現,也可能是我孤陋寡聞。

說了這麼多,再補多一個判斷的標頭檔案<assert.h>,用法如下

    #include <assert.h>

    int size = 0;  //初始化     scanf("%d", &size);   //首先輸入陣列個數     assert(size > 0);     //判斷陣列個數是否非法

最後補充c的sacnf和printf,之前因為用慣所以覺得簡單,但是理解不夠深會容易忘記,容易出錯。

  scanf("%d", &size); 中的%與&是匹配的,%先不管,&是佔位符,(粗略理解,意思是一個%被一個&佔有,不能多也不能少)

在逗號前要用雙引號包起來,在dev c++中預設會用藍體字填充。

printf就是寫要輸出的東西,注意變數的型別與格式符的問題(以後補充)