C 課堂筆記(第一講)

2021-10-22 23:19:30 字數 2721 閱讀 8062

1、c++的應用領域、意義、就業方向等等

2、面向結構(過程)程式設計(c) vs 物件導向程式設計(c++)

面向過程,是把問題分成n個過程,然後按一定順序執行

物件導向,是把這個過程看作是物件之間的相互作用關係

物件導向的三大特點:

封裝:提高**的維護性

繼承:提高**的復用性

多型:提高**的擴充套件性

維護性:當出現問題能準確定位**

復用性:功能**復用,不對**進行修改,直接復用的能力

擴充套件性:新增新的功能不修改原來的**

命名空間:為了解決合作開發時的命名衝突問題,c++ 引入了命名空間(namespace)的概念。

c語言中解決命名衝突的方法:static關鍵字

1、修飾函式的區域性變數:延長區域性變數的生命週期(延長到程式執行之後再釋放)

注意:static修飾的變數只執行一次c++中解決命名衝突的方法:命名空間(本質的實現:給每個函式和變數新增static)

1、命名空間的定義:

// 定義乙個命名空間,名字叫wang

namespace wang

中可以包含變數、函式、類、typedef、#define 等

2、命名空間的使用:

(1)使用變數、函式時要指明它們所在的命名空間。

例如:wang::a

「::」稱為域解析操作符,在c++中用來指明要使用的命名空間。

(2)除了直接使用域解析操作符,還可以採用using宣告。

例如:using wang::a;

在**的開頭用using 宣告了wang::a,它的意思是,using宣告以後的程式中如果出現了未指明命名空間的a,就可以使用wang::a。但是若要使用其他命名空間中定義的a,需要另外宣告。

(3)using宣告不僅可以針對命名空間中的乙個變數,也可以用於宣告整個命名空間。

例如:using namespace wang;

3、命名空間的注意事項:

(1)原始檔不能訪問其他原始檔的命名空間( 命名空間中存在定義)

即使放在標頭檔案裡,然後包含之後都無法訪問

(2)如果命名空間重名,相同成員名報錯,不同成員名合併

(3)如果之前輸入using namespace std;(標準庫命名空間,防止與c語言的命名產生衝突), 在輸入輸出時可以省略std::,如果之前沒有輸入過using namespace std;則在輸入輸出時,需要加上std::

推薦第二種方法

using

namespace std;

cout << a::a << endl;

std::cout << a::a << std::endl;
(4)命名空間可以巢狀定義。

輸入輸出

cin>>:標準輸入流

cout<<:標準輸出流(有緩衝區,型別是行緩衝)

cerr:輸出錯誤資訊(無緩衝區)

clog:輸出日誌資訊(無緩衝區)

endl:重新整理快取區,相當於\n的函式,再重新整理

vs編譯器認為scanf不安全:scanf不檢查使用者輸入的長度,容易產生越界

解決方法:

1 使用scanf_s()

2 加入巨集pragma warning(disable:4996)

問題一:無法輸入ch:輸入num後輸入的\n被ch讀取,導致ch的值為\n

scanf

("%d"

,&num)

;scanf

("%c"

,&ch)

;scanf

("%lf"

,&dnum)

;scanf

("%s"

,src)

;

解決方法:

scanf

("%d"

,&num)

;getchar()

;//捕獲乙個字元

scanf

("%c"

,&ch)

;scanf

("%lf"

,&dnum)

;scanf

("%s"

,src)

;

問題二:輸入字串遇到空格停止

char src[

100]

解決方法:

一.c中:gets()函式:

可以無限讀取,以回車結束讀取。

gets()函式從標準輸入(鍵盤)讀入一行資料,所謂讀取一行,就是遇到換行符就返回。gets()函式並不讀取換行符 \n ,它會吧換行符替換成空字元 \0 ,作為c語言字串結束的標誌。

二.c++中(getline函式):

string類中的getline函式簡單基本用法。

#include

#include

using

namespace std;

intmain()

C 筆記 第一講

c 學習筆記 第一講之所以稱之為 c 第乙個 為一些功能函式 結構的加強 第二個加就是 增加了物件導向的功能。例如 定義變數c 可以用時,在迴圈體裡定義,在定義 c語言不可以 一般都是全域性變數在開頭定義。register變數的區別 在c語言中不可以取位址 否則有警告錯誤,在c 可以取位址,會強制把...

Tensorflow 筆記 第一講

概 述 一 基本概念 1 什麼是人工智慧 人工智慧的概念 機器模擬人的意識和思維 重要人物 艾倫 麥席森 圖靈 alan mathison turing 人物簡介 1912 年 6 月 23 日 1954 年 6 月 7 日,英國數學家 邏輯學家,被稱為電腦科學之父,人工智慧之父。相關事件 1 19...

Tensorflow 筆記 第一講

一 基本概念 1 什麼是人工智慧 人工智慧的概念 機器模擬人的意識和思維 重要人物 艾倫 麥席森 圖靈 alan mathison turing 人物簡介 1912 年 6 月 23 日 1954 年 6 月 7 日,英國數學家 邏輯學家,被稱 為電腦科學之父,人工智慧之父。判定機器是否具有智慧型的...