中國大學MOOC 浙大C語言高階學習筆記05

2021-10-09 12:37:35 字數 3430 閱讀 3611

第六周 互動圖形設計(略)

1、圖形程式的終端輸入

函式指標和互動圖形介面程式所體現出來的設計模式

mvc設計模式

圖形的終端輸入輸出

acllib庫

第七周

1、檔案

格式化的輸入輸出

·printf

·%[flags][width][.prec][hll]type

·scanf

·%[flag]type

flag    含義

-         左對齊

+         在前面放+或者-

(space)  正數留空

0          0填充

width 或prec        含義

number             最小字元數

*                    下乙個引數是字元數

.number              小數點後的位數

.*                     下乙個引數是小數點後的位數

hll型別修飾            含義

hh                 單個位元組

h                  short

l                 long

ll                 long long

l                 long double

type         用於             type         用於

i or d         int             g             float

u             unsigned int     g             float

o             八進位制             a or a         十六進製制浮點數

x             十六進製制         c             char

x             字母大寫的十六進製制 s             字串

f or f         float,6         p             指標

e or e         指數             n             讀入/寫出的個數

#include

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

scanf:%[flag]type

flag         含義         flag         含義

*             跳過         l             long,double

數字         最大字元數   ll             long long

hh             char         l             long double

h             short

type         用於         type         用於

d             int         s             字串(單詞)

i             整數,可能    [...]         所允許的字元

為十六進製制or p             指標

八進位制u             unsigned int  

o             八進位制

x             十六進製制

a,e,f,g         float

c             char

gps 1083協議

eg:printf("%9.2f\n",123.0); result:   123.00 (前面3個空格+123,小數點加兩個0,一共是9位)

檔案輸入輸出

7、1 檔案

·用》和《讀入檔案

檔案重定向 《檔案輸入in >檔案輸出out

--一般的方式:

file

·file*fopen(const char* restrict path,const char *restrict mode);

·int fclose(file *stream);

·fscanf(file*,...);

·fprintf(file*,...);

開啟檔案的標準**

file* fp=fopen("file","r");

if(fp)else

//--fopen---\\\

r         開啟唯讀

r+         開啟讀寫,從檔案頭開始

w         開啟只寫,如果不存在則新建,如果存在則清空

w+         開啟讀寫,如果1不存在則新建,如果存在則清空

a         開啟追加,如果不存在則新建,如果存在則從檔案尾開始

..x     只新建,如果檔案已存在則不能開啟

二進位制檔案

-二進位制讀寫

·size_t fread(void *restrict ptr,size_t size,size_t nitems,file *restrict stream);

·size_t fwrite(const void *resstrict ptr,size_t size,size_t nitems,file *restrict stream);

·注意 file指標是最後乙個引數

·返回的是成功讀寫的位元組數

7.2位運算

移位運算

1、左移

i<>n|m<<8-n

(2)m迴圈左移n位

首先m左移n位,如nnn***xx左移3位得到***xx000,然後m右移8-n位,如nnn***xx右移8-3位得到00000nnn,將兩個結果按位或即得到***xxnnn,表示式為:

m<>8-n

#include

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

右移》·i>>j

·i中所有的位向右移j位

·所有小於int的型別,移位以int的方式來做,結果是int

·對於unsigned的型別,左邊填入0

·對於signed的型別,左邊填入原來的最高位(保持符號不變)

·x>>=1等價於x/=2;

·x>>=n等價於x/=2的n次方

輸出乙個數的二進位制

#include

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

printf("\n");

return 0;

}///---位段

把乙個int的若干位組合成乙個結構

struct;

中國大學MOOC 浙大C語言高階學習筆記01

第三週 結構型別 1 列舉 定義可以羅列起來的名字 enum color 列舉是一種使用者定義的資料型別,用關鍵字enum以如下語法來宣告 enum列舉型別名字 列舉型別名字通常並不真的使用,要用的是在大括號裡的名字,因為他們就是常量符號,型別是int,值依次從0到n 當需要一些可以排列起來的常量值...

中國大學MOOC 浙大C語言高階學習筆記03

一 全域性變數 定義在函式外面的變數是全域性變數 全域性變數具有全域性的生存期和作用域 它們與任何函式都無關 在任何函式內部都可以使用它們 include int f void int gall 12 int main int argc,char const ar int f void 1 全域性變...

中國大學MOOC 浙大C語言學習筆記05

7.1 陣列運算 陣列的整合初始化 陣列初始化02 int num0 10 陣列的大小 sizeof給出的整個陣列所佔據的內容的大小,單位是位元組 sizeof a sizeof a 0 sizeof a 0 給出的陣列中單個元素的大小,相除得到了陣列的單元個數 一旦修改 中的初始資料,不需要修改遍...