2. 字元輸入輸出
3. 陣列
4. 結構體
4.2 例題填空(結構體的使用)
c語言程式的基本單位是函式
① c語言總是從main函式開始執行,並從全域性main函式結束。
② 呼叫的函式不一定要在main函式中定義。
直接遞迴呼叫a函式裡面直接呼叫a函式;
間接遞迴呼叫a函式裡呼叫b函式,b函式裡再呼叫a函式。
① getchar( ) 代表只能輸入乙個字元
② putchar( )代表只能輸出乙個字元
③ gets( )是用來專門接收輸入的字串陣列,可以說是scanf具體分類
gets接收字元陣列名、字元指標或者字元陣列元素的位址
④ puts就是從某一址開始,依次輸出儲存單元中的字元。
getchar( )它一次能接收的是只佔乙個字元的元素(可以是0-9,因為0-9佔乙個字元,但是不推薦使用getchar去輸入數字)
在2023年12月,ansi 採納了 iso/iec 9899:2011 標準,標準中刪除了 gets( )函式,使用乙個新的更安全的函式*gets_s()*替代,所以在visual studio 2019 c++ 空檔案中,不存在gets識別符號,只有gets_s( )才可使用。
陣列從下標為0開始,依此儲存資料空間,直到達到陣列限額
定義:
int
*p, s[
20],i;
*p=s;
陣列s[i]表示:
a *(s+i) √
b *(p+i) √
c *(s = s + i) ❌
d *(p = p + i) √
解析如下:
p+1 的本質是移到陣列下乙個元素的位址(int型四個位元組,char型乙個位元組)
p+i 表示的是第 i+1 個元素的位址,那麼 (p+i) 就表示第 i+1 個元素的內容。即 p+i 就是指向元素 a[i] 的指標,(p+i) 就等價於 a[i]。
若有:
char c=
"encourage"
;char
*p = c;
printf
("%s"
, p+5)
;
輸出結果為:rage
①、char c[ ]= "encourage"中「」(引號)不佔儲存空間
②、*p = c;意味著將陣列c的首位址賦予p
③、 p+5 代表c[5],即第六個字元『r』
④、輸出格式為%s,即將後續字元rage全部輸出
4 .閏年定義:
普通閏年: 能被4整除但不能被100整除的年份
世紀閏年: 能被400整除的年份
year%4==0 && year % 100 != 0 || year % 400==0
5 .在c語言中%(取餘)必須確保分子分母均為整數(可以為負數,但是每乙個編譯器的負數取餘決定於編譯器本身,依照編譯器規則即可)
3 .strlen為c語言庫函式,包含於string.h中,作用為計算乙個字串(字元陣列)中元素的個數,即從陣列頭部計數,直到遇到字串結束符\0為止,計數結果不包括\0.
[例子]
strlen(「abcd\0ed\0g」)
的返回值為 4
結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員
struct 結構體名;
struct stu
;
填寫下方劃線處**:
#include
struct date
;int
main()
;printf
("%04d-%02d-%02d\n"
, _____)
; date *pd=_____;
printf
("%04d-%02d-%02d\n"
, pd->year,pd->month,pd->day)
;return0;
}
第一空:d.year,d.month,d.day
(注意輸出格式)
第二空:&d
c 期末考試知識點 C 期末複習資料
一 net 簡介與基本語法 net framework 的組成解答 第一種 籠統的的答案 net framework 由兩部分組成 一 公共語言執行時 clr 二 net framework 類庫 另外一種比較完整的解答 1.程式語言及其公共語言規範 cls2.應用程式平台 asp.net 及win...
c 期末考試知識點 C 知識點提煉期末複習專用
根據內部訊息稱 有三類題型 簡答題 2題 主要是對概念的考查 程式設計題 暫定2 3題 複習要點 net framework 通用語言開發環境 net基礎類庫 net開發語言 visual studio.net整合開發環境 c 的特點 1.語法簡介 2.徹底的物件導向 3.與web應用緊密結合 4....
Java期末考試複習知識點總結
1 string s aaa s.concat bbb 字串的連線,返回乙個連線完的新的字串 2 bufferedreader is new bufferedreader new inputstreamreader system.in is.readline 用來讀取鍵盤輸入的字元,暫時快取,用來提...