初學程式設計(4)

2021-08-20 17:20:39 字數 2528 閱讀 8105

學習的語言:c

編譯環境:visual studio 2013

學習內容:  

字串常量和c預處理器

再談printf()和scanf()    其中涉及函式的引數傳遞和返回值

先上一段核心**

#include "stdio.h"

#include "string.h"//使用strlen()函式必須引入的庫

#define density 1.1//預處理命令:設定乙個常量density,表示人體密度

int main(void)//完成使用者姓名的輸入,計算人的體積

一、字串

1、字串使用雙引號括起來的,告訴編譯器它是字串。

2、c語言中沒有專門用來儲存字串的變數型別。字串被儲存在char型別的陣列中

3、什麼是陣列?陣列就是有連續的儲存單元(乙個位元組)組成。字串中的字元被儲存在相鄰的儲存單元中,每乙個儲存單元乙個字元。陣列可以看成是同型別資料元素的有許序列

陣列的表示方法:char name [40]name後面的方括號表示這是乙個陣列。40表示元素數量

4、在字串的末尾是『\0』(空字元),他的作用是標記字串的結束。所以40個儲存單元,只能存放39個字元,還有乙個儲存單元要留給空字元。

#include #define nickname "skydragon"

int main(void)

注意:scanf()遇到空格、製表符或者換行符就不再輸入了。當我們輸入名字「sky dragon」時,scanf()只是輸入了sky這三個字元給name變數。

5、strlen()函式:計算字串中空字元前面的字元個數。

二、常量和c預處理器

常量分為兩種,一種是直白的數字,另一種是符號常量

。符號常量有兩個有點,第一就是他表示的常量是可以直白的看出常量含義的,第二就是好更改。

而符號常量的定義有分兩種,一種是宣告變數的方法。還有一種就是#define這種預處理器定義常量值。

何為預處理?預處理器的工作是什麼?其實就是在編譯器編譯之前,把常量做乙個替換

const限制符:用法const int num1 = 233;  限定變數為唯讀。

三、再談printf函式和scanf函式

1、printf函式:  他的引數包括,printf(「格式化字串」,待列印項 );     待列印項可以是常量,變數,表示式。

1.1、printf的修飾符:有好一些,可以實現不同的輸出格式,這個有需要自己去查。

1.2、轉換說明的意義把以二進位制格式儲存在計算機中的值轉換成一些列的字元或者字串。也就是待列印項在計算機是以二進位制儲存的,然後要想把它按照相應的格式列印出來,必須有乙個轉換說明,計算機才可以正常執行翻譯操作。

1.3、引數傳遞:程式把傳入的值放入被稱為棧(stack)的記憶體區域。其中值的被放入多大的記憶體空間由變數的型別決定,例如int型別的變數就分配4個儲存單位。然後這些被儲存在棧的資料等待printf函式的呼叫,例如此時轉換說明為%d,則printf函式從棧中讀取四個位元組的內容作為這個變數的值。

1.4、返回值:printf函式的返回值,是列印字元的個數。這個值可以賦值給其他變數,來確定輸出是否錯誤(錯誤的話會返回乙個負值)。下面看一下函式返回值的賦值**。

int main(void)//測試printf函式的返回值

2、scanf函式

功能實現與printf函式相反,它把輸入的字元轉換成二進位制數值,儲存在特定的記憶體區域。

也有格式字串和引數列表。格式字串表面字元輸入流的目標資料型別。引數,指向變數的指標。

工作原理:假設scanf根據乙個%d轉換說明讀取乙個整數。scanf每次讀取乙個字元,直到遇到第乙個非空白字元開始儲存字元。然後不斷地讀取儲存下乙個字元,直至遇到非數字字元停止讀取和輸入。如果最後的字元是非數字字元,那麼scanf會把非數字字元放回輸入,這意味著程式在下一次讀取輸入時,首先讀到的是是上一次讀取丟棄的非數字字元。

特別要注意的是,輸入字元陣列不用使用「&」。下面是**演示:

int main(void)//scanf函式練習

scanf的返回值:呼叫成功時,返回成功讀取的項數;呼叫失敗,則返回0。下面是**演示:

int main(void)//測試scanf函式

極限程式設計初學

玩了下xp game,大致的理念就是,你首先從story中得到需求,通過迭代來獲取point 決定你能做多少事,當然第一次的迭代會比較不準確 然後通過客戶根據value來決定story的先後書序,然後開發人員開始develop,如果plan不夠,再去做沒在計畫內的plan,這樣的value會減半 或...

初學網路程式設計

昨天到今天幾乎都在做這個問題,利用socket設計乙個簡單的聊天工具。現在可以說是成功了80 了。並通過學習這方面知識還補充了一些mfc和網路方面的知識,一舉好幾得。但是眼睛有點疲勞,因為對著顯示器的時間長了嘛!乙個最大的體會就是原來乙個聊天程式並沒有我以前想象的那麼難啊,計算機這東西怪不得有人說它...

初學Ubuntu shell程式設計

1 shell介紹 shell是使用者與核心之間的橋梁,也可以當作linux中的程式語言。shell與使用者互動的模式 在互動環境下,每次執行一條命令 通過編寫shell指令碼的方式 2 shell的編寫 shell直譯器 直譯器 eg bin bash shell的變數型別 環境變數 shell環...