1. 程式人生 > >C語言學習階段性學習報告

C語言學習階段性學習報告

一、對於近期學習知識點的摘要:

1. 從第一個.cpp檔案談起,

		#include<iostream>           //標頭檔案
		using namespace std;      //使用名稱空間,namespace名稱空間。
		int main()                        //主函式,可執行程式的入口。
		{
			cout<<"hello world"; //輸出hello word;
			return 0;	                 //空返回值
		}

認識了第一函式,明白了c程式的簡單的順序結構。

2. 資料型別簡單的列舉,

		 char :1個位元組
         char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。同理64位編譯器)
         short int : 2個位元組
         int:  4個位元組
         unsigned int : 4個位元組
         float:  4個位元組
         double:   8個位元組
         long:   4個位元組
         long long:  8個位元組
     	 unsigned long:  4個位元組   
    	 64位編譯器:
      	 char :1個位元組
         char*(即指標變數): 8個位元組
         short int : 2個位元組
         int:  4個位元組
         unsigned int : 4個位元組
         float:  4個位元組
         double:   8個位元組
         long:   8個位元組
         long long:  8個位元組
         unsigned long:  8個位元組

3. 常用庫函式,

(1)數學函式

	平方根——sqrt
絕對值——fabs
乘冪——第一個引數作為底,第二個是指數double pow(double, double)

實數的餘數——兩個引數分別是被除數和除數double fmod(double, double)

(2)其他常用函式

ceil(x)求出不小於x的最小整數(返回與這個整數對應的double值) floor(x)求出不大於x的最大整數(返回與這個整數對應的double值) modf(x, doubleip)把x分解為小數部分和整數部分,小數部分作為函式返回值,整數部分通過指標ip返回。 Ps:輸出小數cout<<fixed<<setprecision(2)<<?

4 . ASCII碼,

getchar()讀入一個ASCII碼	
putchar()輸出一個ASCII碼
或

	#include<iostream>      
	using namespace std;  
	 int main()
	 {
	 char c;
	 int a;
	 cin>>c;
	 a=(int)c;
	 c=(int)a;
	 return 0;
	}

5. #define 巨集常量

定義:#define  識別符號  字串

1.巨集定義是用巨集名來表示一個字串,在巨集展開時又以該字串取代巨集名,這只是一種簡單的代換,字串中可以含任何字元,可以是常數,也可以是表示式,預處理程式對它不作任何檢查。如有錯誤,只能在編譯已被巨集展開後的源程式時發現。 2.巨集定義不是說明或語句,在行末不必加分號,如加上分號則連分號也一起置換。 3.巨集定義其作用域為巨集定義命令起到源程式結束。如要終止其作用域可使用#undef命令。 簡而言之,#define可以理解為起名函式,#define number 999 number就被簡單的定義為999。 目前聽說但未遇到的用法: 1.有參巨集定義 2.巨集定義中的特殊操作符 3.巨集定義中的多行定義 4.防止重複包含標頭檔案

6. 條件分支結構

1.if分支語句
	   程式結構	                                        **//第一種**
	   if(表示式) 分支語句;
	   else 分支語句;    //可以省略
	   分支後語句
	   程式結構                                   	   **//第二種**
	   if(表示式)
	   {
	   分支語句;
	   } 
	   分支後語句
		程式結構											**//第三種**
		if(表示式)
	   {
	   分支語句;
	   }
	   else 
	   {
	   分支語句;
	   } 
	   分支後語句
		程式結構											**//第四種**
		if(表示式)
	   {
	   分支語句;
	   } 
	   else if(表示式)
	   {
	   分支語句;
	   } 
	   ......
	   else 
	   {
	   分支語句;
	   } 
	   分支後語句
2.switch語句
switch ( 條件表示式)
{
 case 表示式:
break;
case 表示式:
break;
 ......
default:
break;
}

二、通過近期學習C語言(c++)我們能夠解決什麼問題?

1.從整體上說,可以應對簡單的順學結構、條件分支結構。

2.對於小的方面,

(1)有關ASCII碼的計算 (2)浮點數的輸入輸出 (3)驅魔,取餘,取整 (4)簡單的數學運算題 (5)倒序輸出 (6)中小學的應用題 …

3.生活方面,

(1)解決生活中簡單的實際問題,將生活中的問題通過程式,制定出對於一類事情解決方案,可以起到“智慧偷懶”的效果。對於郵費計算,吃飯付款等等各類事情都可以通過寫程式得到最優解。

三、感悟與心得

C語言是一門通用計算機程式語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。 儘管C語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的C語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱MCU)以及超級電腦等作業平臺。 二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言制定了一套完整的美國國家標準語法,稱為ANSI C,作為C語言最初的標準。 目前2011年12月8日,國際標準化組織(ISO)和國際電工委員會(IEC)釋出的C11標準是C語言的第三個官方標準,也是C語言的最新標準,該標準更好的支援了漢字函式名和漢字識別符號,一定程度上實現了漢字程式設計。 C語言是一門面向過程的計算機程式語言,與C++,Java等面向物件的程式語言有所不同。 其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

     像蘋果系統相比於安卓系統更好用,我認為是因為蘋果的系統基於C語言,安卓系統基於Java,JAVA面向物件程式設計,C是面向過程程式設計(雖然還不是太明白這句話)在開發速度上比之C更快,但是在執行速度上卻是C更快,因為C屬於底層語言,它比JAVA更加親近機器。     學習C(C++)程式這門課兩個多月了,這是我們學的第一門專業課,在大學裡C(C++)語言不但是計算機專業的必修課程,而且也是非計算機專業學習計算機基礎的一門必修課程,像測繪專業,電子專業,大資料專業,數學專業。所以對於計算機專業的我們來說它非常重要。     都說學習一門語言,就通了所有的語言, C(C++)語言是計算機的基礎,大多數軟體都需要用C語言來編寫, 通過兩個半月的學習,我從簡單的hello world,到現在能寫一些稍微簡單的分支結構迴圈結構的題型,我覺得C語言應該是練習跟反思相結合的課程,在不斷地編寫中去反思去思考,去簡化,去尋找最優解。 在學習C語言的過去兩個月中,老師講的很慢,題出得很快,所以要想完成作業,必須要自己看書,後來發現學習程式設計只聽別人講是沒用的只有自己看書自己學習才能更加深刻的瞭解這部分知識,因為學習只依靠老師最後直接能拿到畢業證,是沒辦法鍛鍊自學能力的,通過跟學長的交流發現,所謂的大牛都是不斷看書不斷地敲程式碼,更新自己的知識,一步一步走向成功。     學習語言更是寂寞的過程,對著機器一遍一遍的敲程式碼,看著一遍一遍的WA面臨著崩潰,會煩,會想放棄把書扔到一邊,慢慢的還是要繼續,在錯誤中成長,從剛開始的編譯錯誤,到現在的幾乎不會出現編譯錯誤,學習是一個漫長的過程,更是一個成長的過程,對於c語言的學習,我是越挫越勇,也慢慢的找到自己的方法學會了怎麼去看書,怎麼去提高自己,虛心向學長學姐請教,我堅信我用我的努力,能夠達到自己的目標。