第二課 C到C 的公升級

2021-09-26 09:25:18 字數 1414 閱讀 8120

學習狄泰軟體學院唐老師c++課程心得,文章內容來自於唐老師課件

一、c與c++的關係

(1)c++繼承了所有的c特性

(2)c++在c基礎上提供了更多的語法和特性

(3)c++的設計目標是執行效率與開發效率的統一

(1)c++更強調語言的實用性

(2)所有的變數都可以在需要使用時再定義

int c = 0;

for(int i=1; i<=3; i++)

}

對比:

c語言中的變數都必須在作用域開始的位置定義。

注意: for(int i=1; i<=3; i++)在c99以後允許,但是在實際工程中,編譯器不一定都支援c99,所以盡量 避免。

(3)register關鍵字請求編譯器將區域性變數儲存於暫存器中

(4)在c語言中,重複定義多個同名的全域性變數是合法的

(5)在c++中,不允許定義多個同名的全域性變數

注:c語言中對各同名的全域性變數最終會被鏈結到全域性資料區的同乙個位址空間上。

#include int g_v;

//int g_v;//g++編譯器將報錯,c語言中允許

int main(int argc, char *ar**)

}printf("c = %d\n", c);

register int a = 0;

printf("&a = %p\n", &a);

printf("end...\n");

return 0;

}

(6)struct關鍵字的加強

f(i)

g()

問題:

1.函式f的返回值和引數分別是什麼型別?

2.函式g可以接受多少個引數?

3.int f()與int f(viod)有區別嗎?

#include struct student

;f(i)

g()int main(int argc, char *ar**)

; //c++中不會報錯,c語言中會報錯,student s1未定義型別。在c語言中用typedef struct_tag_student student 則student s1不會報錯,也可以struct student s1。

student s2 = ;

f(10);

printf("g() = %d\n", g(1,2,3,4,5));

return 0;

}//f(i);

//g();

//c++中報錯,c語言不會報錯

總結:

第二課 C簡介

第二課 c簡介 c語言是一種通用的高階語言,最初是由丹尼斯 里奇在貝爾實驗室為開發 unix 作業系統而設計的。c語言最開始是於 1972 年在dec pdp 11 計算機上被首次實現。在1978 年,布萊恩 柯林漢 brian kernighan 和丹尼斯 里奇 dennis ritchie 製作...

C 語言學習第二課

1 2 3 4 5 6 7 8 9 10 11 include intmain 其除錯及執行的結果如下 下面我對其中涉及的詳細介紹下 程式細節介紹 1 2 3 4 5 6 7 8 9 10 include該行告訴編譯器包含檔案stdio.h中的全部資訊。檔案stdio.h是所有c語言編譯包的乙個標準...

C語言第二課 選擇語句

include intmain if a c if b c printf f,f,f n a,b,c return0 例1 請編一程式,判斷某一年是否是閏年。注 當年份不是 100 的倍數且是 4 的倍數時,該年是閏年 當年份是 100 的倍數且是 400的倍數時,該年也是閏年 include in...