1. 程式人生 > 資料庫 >1-3 雲商城環境準備和資料庫表結構

1-3 雲商城環境準備和資料庫表結構

技術標籤:程式語言程式語言c語言

走進C語言的世界

初識C

什麼是C?C能幹什麼?我要怎麼使用呢?也許這是很多計算機初學者共有的心聲吧!當然,我初學時更是迷迷惑惑,甚至學了一些時日,也不知道自己是學到了些什麼東西?
學完之後,想著總結一些東西,可是看過了很多官方的教科書,是的,必要的術語是不可忽略的,儘管它們讓初學的我們一時難以接受。聽過一些大佬的視訊講解後,我覺得還是用通俗易懂的語言來總結一下我眼中的C較為妥當。
下面是來自一個菜鳥學者的個人見解。

人生若只如初見,何事秋風悲畫扇

C是一門語言,準確來說它是一門計算機的語言。從小時候的漢語到後來的英語,等等更多的語言學習,無疑是為了和不同的人進行交流,學習C也當然是為了和計算機進行很好的交流啊!由此看來C不過是萬千語言中的一種,在恰當的時候等待著和你相識!

衣帶漸寬終不悔,為伊消得人憔悴

走進C,會有不一樣的感受,每一次的深入學習都讓你驚喜至極。
C有函式、陣列、指標、結構體四大板塊,當然還有一些其它也很重要的知識點呢,在這就先簡單介紹一下前三個啦!當然,在你有了一定的基礎之後,再看結構體,就很簡單啦!

1.熟悉的名詞之函式

(官方定義)函式是完成特定任務的獨立程式程式碼單元。(《C Primer Plus》(第六版)中文版)

在C的標準庫中有很多的函式,第一個Hello World!程式中printf()就是一個輸出函式。通俗來講,函式就是儲存一些程式碼的集合,在需要的時候直接呼叫,進行某些運算的工具,從而減少程式碼量和重複性,讓程式設計更方便快捷。
定義函式:1.格式:返回型別+函式名+(引數表){函式體}
呼叫函式: 函式名(引數)

注意:呼叫函式時傳過去的是值,每個函式都有自己的變數空間,引數也位於這個獨立的空間中,即使你的函式體中的變數名與外部相同,其代表的意義也是不同的。

2.儲存容器之陣列

(官方定義)陣列由資料型別相同的一系列元素組成。(《C Primer Plus》(第六版)中文版)

陣列就是存放東西的容器。其特點是:所有元素資料型別相同,一旦建立就不能改變大小,陣列中的元素在記憶體中是連續依次排列的。

定義陣列:<型別> + 變數名稱 + [元素數量] (元素數量必須是整數)例:int grades [100]; double weight [20];
a[]的有效的下標範圍:[0, sizeof(a)/sizeof(a[0])(陣列元素的個數)-1]

注意:陣列的下標不能越界。

例子:寫一個程式,輸入數量不確定的[0, 9]範圍內的整數,統計每一種數字出現的次數,輸入-1表示結束。

#include<stdio.h>
int main(void)
{
	int x;
	int count[10];           //定義陣列
	int i;
	for (i = 0; i < 10; i ++){
		count[i] = 0;               
	}                             //初始化陣列,遍歷陣列賦值。
	scanf("%d",&x);
	while(x != -1){
		if (x >= 0 && x < 10){
			count[x] ++;           //陣列參與運算
		}
		scanf("%d", &x);
	}
	for (i = 0; i < 10; i ++){
		printf("%d:%d\n",i, count[i]);
	}                              //遍歷陣列輸出
	return 0;
}

二維陣列:int a [3][5];
遍歷時需要雙迴圈。二維陣列的建立就像二維空間的模型一樣的,但是,它在記憶體中的儲存也是這樣的嗎?哈哈哈,自己思考一下在記憶體中二維陣列時怎樣儲存的吧!

3.地址載體之指標

(官方定義)指標提供一種以符號形式使用地址的方法,取址符號:&。指標能有效的處理陣列。陣列名也是陣列首元素的地址。(flizny == &flizny[0])(《C Primer Plus》(第六版)中文版)

指標就是儲存地址的變數,變數的值就是記憶體的地址。前面我們在函式中說過,在函式體中和外部引數的意義是不同的,利用函式並不能改變函式體外的變數的值,利用指標直接訪問變數的地址就可以實現修改外部變數值的操作。
函式中的指標:作為引數的指標就不是值傳入函式裡了,而是傳入了地址。
函式中的陣列:陣列傳入函式中變成了什麼呢?由於陣列和指標的特殊關係,在函式中的陣列就變成了指標,只不過看上去它還想一個數組而已。並且陣列變數是const指標,不能給它賦值。
指標的運算:指標代表的是記憶體的地址,當然地址有大有小,可以進行加減的,所以指標可以進行加減數,也可以相互之間加減。有了加減,就有了大小,指標也就可以比較大小了。

還記得陣列的遍歷嗎?我們用的迴圈和雙重迴圈來對陣列進行的遍歷,現在我們也可以利用指標對陣列進行遍歷了呢!是不是很有趣呢哈哈哈哈!

驀然回首,那人卻在燈火闌珊處

C中有很多的資料型別,在我看來,這些資料型別不容小覷,無論是函式、陣列還是指標,型別的選擇和匹配都是程式執行成功的關鍵之一。也許你看了迴圈的for、while語句,覺得沒什麼技術含量,但是當你用迴圈對陣列進行遍歷的時候,你就會發現:原來小小的結構有不一樣的風景嘛。或許函式把你弄的暈頭轉向的,可後來你會覺得它很神奇,很厲害,讓你不再重複的敲打程式碼,它讓你的程式看起來如此的簡潔明瞭,哦,好喜歡它呢!在C中,你會發現越來越多的驚喜,驀然回首,忘了當初,留下欣喜,足矣!