版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、謝謝 浩哲浩哲2022年6月13日#include int main(int argc, char* argv)int num;num = 1;printf(Im a simple C program.n);return 0;2012年03月以下敘述錯(cuò)誤的是 A.一個(gè)C程序可以包含多個(gè)不同名的函數(shù) B.一個(gè)C程序只能有一個(gè)主函數(shù) C.C程序在書寫時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過 D.C程序的主函數(shù)必須用main作為函數(shù)名C語言中數(shù)據(jù)被分為常量和變量: 常量和變量的概念 常數(shù)又稱定數(shù),是指一個(gè)數(shù)值不變的常量,與之相反的是變量. 聲明常量 #define PI 3.1415926 const
2、 float PI = 3.1415926; 聲明變量 float PI = 3.1415926;C語言中有如下常見的基本數(shù)據(jù)類型: 整形數(shù)據(jù) byte, short, int, long . signed, unsigned . 浮點(diǎn)型數(shù)據(jù) float, double . 其他類型數(shù)據(jù) char, _Bool, _Complex, _Imaginary .int類型 聲明int類型變量 int x; 聲明并初始化int類型變量 int x = 0; 對(duì)已聲明的變量賦值 int x; x = 0; x = 2.5; What will happen ?整數(shù)溢出 #include int mai
3、n(int argc, char* argv) int x = 2147483647;unsigned int y = 4294967295;printf(%d %d %dn, x, x + 1, x + 2);printf(%u %u %un, y, y + 1, y + 2);return 0; 使用字符: char類型 聲明char變量 char grade = A; char grade = 65; / OK, but do not recommend 打印輸出字符 printf(“Your grade is %c.n”, grade); Whats the output? Your
4、grade is A.Your grade is A.非打印字符 在ASCII表中存在一部分無法打印的字符, 例如:換行、退格或者讓揚(yáng)聲器蜂鳴. 那么如何表示這些字符呢? 方法一:使用ASCII碼 char beep = 7; printf(“%c”, beep); 方法二:使用轉(zhuǎn)義序列 printf(“a”);常見的轉(zhuǎn)義序列序列序列意義意義a蜂鳴(ANSI C)b退格n換行t水平制表符反斜杠()單引號(hào)()”雙引號(hào)(“)0ooo八進(jìn)制值(ooo表示八進(jìn)制數(shù))xhh十六進(jìn)制值(hh表示十六進(jìn)制數(shù))浮點(diǎn)數(shù)據(jù)類型 聲明浮點(diǎn)類型變量 float x; double y; long double z;
5、浮點(diǎn)常量的值 有效的浮點(diǎn)常量值的形式 -1.56E12 .2 2.87e-3 .8E-5 3.14159264e16 100.2012年03月以下選項(xiàng)中非法的字符常量是 A.102 B.65 C.xffD.019Whats the output ? char ch = A; printf(“The code for %c is %d”, ch, ch);printf() 函數(shù) int x = 10; printf(“The value of x is %d.n”, x); float y =2.5; printf(“The value of y is %f.n”, y); Whats the
6、output ? The value of x is 10. The value of y is 2.5.printf() 函數(shù) 常見的占位符占位符占位符用途用途占位符占位符用途用途%c一個(gè)字符%s字符串%d有符號(hào)十進(jìn)制整數(shù)%u無符號(hào)十進(jìn)制整數(shù)%e浮點(diǎn)數(shù), e-記數(shù)法%x使用0f符號(hào)無符號(hào)十六進(jìn)制整數(shù)%E浮點(diǎn)數(shù), E-記數(shù)法%X使用0F符號(hào)無符號(hào)十六進(jìn)制整數(shù)%f浮點(diǎn)數(shù), 十進(jìn)制記數(shù)法%百分號(hào)%p指針printf() 函數(shù)的高級(jí)特性 輸出浮點(diǎn)類型數(shù)據(jù) float fl = 3.456; printf(“%8.2f”, fl); Whats the output ?3 3. .4 45 5關(guān)于pr
7、intf()函數(shù)的參數(shù) #include int main(int argc, char* argv) int x = 3, y = 4;printf(%d %d, x);/ too few argumentsprintf(%d, x, y); / too many argumentsprintf(%f, x);/ type mismatchreturn 0; scanf()函數(shù) #include intint main(int argc, char* argv) constconst intint year = 2012;intint age;printf(How old are you?
8、);scanf(%d, &age);printf(You are born in %d.n, year - age);returnreturn 0; scanf()函數(shù) 格式字符串中的常規(guī)字符 int x = 0, y = 0; scanf(“%d, %d”, &x, &y); 那么, 您必須按如下格式輸入兩個(gè)整數(shù): 88, 121 (即數(shù)字之間用“, ”分隔) 或者 88, 121因?yàn)閟canf()函數(shù)會(huì)跳過下一項(xiàng)輸入之前的全部空格和回車符.2012年03月設(shè)有以下語句 char ch1,ch2, scanf(“%c%c”, &ch1, &ch2);若
9、要為變量ch1和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是 A. A和B之間用逗號(hào)間隔 B. A和B之間不能有任何間隔符 C. A和B之間可以用回車間隔 D. A和B之間用空格間隔#include int main(int argc, char* argv)int x = 0, y = 0;scanf(%d%d, &x, &y);printf(x + y is %d.n, x + y);printf(x / y is %.2f.n, (float)x / y);return 0;“復(fù)合”運(yùn)算符 +=,-=,*=,/=,%= For example: int x = 4, y
10、 = 6; x = x + 2; printf(“Now, x = %d, y = %d.n”, x, y); 其中 x = x + 2可以寫成 x += 2取余操作符 % 若 x = 17, y = 5 則 x % y = 2; (185 = 3 2)增量和減量運(yùn)算符:+和- 下列語句等價(jià): x = x + 1;y = y 1; x += 1;y -= 1; x +;y -; + x;- y;sizeof()運(yùn)算符和size_t類型#include intint main(int argc, char* argv)size_tsize_t intSize;intSize = sizeofsi
11、zeof(intint);printf(An int has %u byte., intSize);returnreturn 0;+ x和x+的區(qū)別 int x = 3, y = 4; Condition I printf(“%d”, + x * y +); Condition II printf(“%d”, + x * + y); Condition III printf(“%d”, x + * y +);2012年03月有以下程序:#include intint main(int argc, char* argv)intint A=0, B=0, C=0;C=(A-=A-5);(A=B,B
12、+=4);printf(%d, %d, %dn, A, B, C);returnreturn 0;程序運(yùn)行后輸出的結(jié)果是 A.0,4,5 B.4,4,5 C.4,4,4 D.0,0,0While循環(huán)的基本形式 whilewhile (Condition = truetrue) / Do something dodo/ Do something whilewhile (Condition = truetrue); Whats the difference ?#include int main(int argc, char* argv)int x = 0;while (x = 5)printf(%
13、d, + x);return 0;#include int main(int argc, char* argv)int i = 0;for (i = 0; i = 5; i +)printf(%d, i);return 0;利用循環(huán)求和 計(jì)算 1+2+.+n的值#include intint main(int argc, char* argv)intint sum = 0, n = 0, i = 0;scanf(“%d”, &n);forfor (; i = n; + i) sum += i;sum += i;returnreturn 0;break和continue#include
14、intint main() intint i = 0; forfor (i = 0; i 10; + i) if if (i = 5) continuecontinue; elseelse printf(%d, i);returnreturn 0;#include intint main() intint i = 0; forfor (i = 0; i 10; + i) if if (i = 5) breakbreak; elseelse printf(%d, i);returnreturn 0;Whats the output of following code?#include intin
15、t main(int argc, char* argv) intint i = 0; forfor (i = 0; i 10; + i) if if (i = 5) break break; elseelse continuecontinue; printf(%d, i); return return 0;在布爾代數(shù)中規(guī)定兩個(gè)值0和1用于表示邏輯真和邏輯假.1 + 1 = 2true1 + 1 = 3false邏輯運(yùn)算符:與(And)、或(Or)、非(Not)(1 + 1 = 2) & (1 + 2 = 3)true(1 + 1 = 3) & (1 + 2 = 3)false(
16、1 + 1 = 2) | (1 + 3 = 2)true#include int main() int x = 0; if (x = 0) printf(Hello!); else printf(%d, x); return 0;#include int main() int x = 0; if (x = 0) printf(Hello!); else printf(%d, x); return 0;If-else if-else語句if (x 0)/ Do Somethingelse if (x = 0)/ Do Somethingelse/ Do Something把else和if配對(duì)if
17、 if (number 6)if if (number b)max = a;elseelsemax = b; 條件運(yùn)算符表達(dá)法max = (a b) ? a : b;switch和break語句switchswitch (rank)casecase P:printf(“You pass the exam.n”);breakbreak;casecase F:printf(“You failed the exam.n”);breakbreak;defaultdefault:printf(“Bad Input!”);switch和break語句switchswitch (rank)c case as
18、e p: casecase P:printf(“You pass the exam.n”);breakbreak;case case f: casecase F:printf(“You failed the exam.n”);breakbreak;defaultdefault:printf(“Bad Input!”);Whats the output of following code ?#include intint main(int argc, char* argv)intint s = 0, n;forfor (n = 0;n 3;n +)switchswitch(s)casecase
19、0:casecase 1: s+=1;casecase 2: s+=2; breakbreak;casecase 3: s+3;casecase 4: s+=4;printf(%dn,s);#include void function(void) printf(“Hello, world!”);return;int main(int argc, char* argv) function();return 0;#include int getBigger(int x, int y) return (x y) ? x : y;int main(int argc, char* argv) int a
20、 = 3, b = 4; printf(“The bigger one is %d”, getBigger(a, b); return 0;Whats the output of following Code ?#include voidvoid function(charchar c) if if (c x) function(c - 1); printf (%c, c);intint main(int argc, char* argv) function(z); returnreturn 0;什么是數(shù)組 ? 假設(shè)我們需要存儲(chǔ)一系列具有相同類型數(shù)據(jù)(Integer), 計(jì)算這一系列數(shù)值的平均
21、值, 并且記錄有多少數(shù)值大于平均值. 如果沒有數(shù)組,我們是這樣做的.intint n1, n2, n3, ., n100;scanf(“%d%d.%d”, &n1, &n2, ., &n100);floatfloat average = (n1 + n2 + . + n100) / 100;intint counter = 0;if if (n1 average) counter +;.if if (n100 average) counter +;printf(“Average: %f Count: %d”, average, counter);什么是一維數(shù)組?什么是一
22、維數(shù)組? 一維數(shù)組是存儲(chǔ)于計(jì)算機(jī)的連續(xù)存儲(chǔ)空間中的多個(gè)具有統(tǒng)一類型的數(shù)據(jù)元素。 同一數(shù)組的不同元素通過不同的下標(biāo)標(biāo)識(shí)。 (a1, a2, a3, ., an)如何聲明如何聲明一維一維數(shù)組數(shù)組? ? intint a10; intint b5 = 1, 2, 3, 4, 5; intint c5 = 0;#include #define MONTHS 12int main(int argc, char* argv) int daysMONTHS = 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31; int i = 0; for (i = 0; i M
23、ONTHS; + i) printf(Month %d has %2d days.n, i + 1, daysi); return 0;使用一維數(shù)組使用一維數(shù)組 計(jì)算斐波那契數(shù)列的前計(jì)算斐波那契數(shù)列的前n n項(xiàng)項(xiàng)(n (n 30)30) 1, 1, 2, 3, 5, 8. 對(duì)于第n項(xiàng)(n 3)有:an = an 1 + an 2 規(guī)定:a0 = 0, a1 = 1什么是多維數(shù)組? 普通數(shù)組采用一個(gè)整數(shù)來作下標(biāo)。我們?cè)诙嗑S數(shù)組之中采用一系列有序的整數(shù)來標(biāo)注,如在3, 1, 5 。這種整數(shù)列表之中整數(shù)的個(gè)數(shù)始終相同,且被稱為數(shù)組的“維度”。關(guān)于每個(gè)數(shù)組維度的邊界稱為“維”。維度為k的數(shù)組通常被稱為
24、k維。訪問多維數(shù)組元素 for for (i = 0; i m; + i) for for (j = 0; j n; + j) printf(“%d ”, aij); printf(“n”); 什么是指針? 在信息工程中, 指針是一個(gè)用來指示一個(gè)內(nèi)存地址的計(jì)算機(jī)語言的變量或中央處理器(CPU)中的寄存器(Register). 指針一般出現(xiàn)在比較近機(jī)器語言的語言, 如匯編語言或C語言. 面向?qū)ο笳Z言如Java一般避免用指針, 而是引用. 指針一般指向一個(gè)函數(shù)或一個(gè)變量. 在使用一個(gè)指針時(shí), 一個(gè)程序既可以直接使用這個(gè)指針?biāo)鶅?chǔ)存的內(nèi)存地址, 又可以使用這個(gè)地址里儲(chǔ)存的變量或函數(shù)的值. #inclu
25、de int main(int argc, char* argv) int var = 256; int *p = &var; printf(var = %d.n, var); *p = 512; printf(Now, var = %d.n, var); return 0;#include void swap(int x, int y) int tmp = x; x = y; y = tmp;int main(int argc, char* argv) int a = 3, b = 4; swap(a, b); printf(Now a = %d, b = %d, a, b); re
26、turn 0;#include void swap(int *x, int *y) int tmp = *x; *x = *y; *y = tmp;int main(int argc, char* argv) int a = 3, b = 4; swap(&a, &b); printf(Now a = %d, b = %d, a, b); return 0;指針與數(shù)組#include intint main(int argc, char* argv) intint Array5 = 0, 1, 2, 3, 4; intint *p = Array; forfor (p = Ar
27、ray; p Array + 5; + p) printf(%d , *p); returnreturn 0;動(dòng)態(tài)數(shù)組#include intint main(int argc, char* argv) intint n = 0, i = 0; scanf(%d, &n); intint *p = (int *)malloc(n * sizeof(int); forfor (i = 0; i n; + i) pi = i; forfor (i = 0; i n; + i) printf(%d , pi); free(p); returnreturn 0;#include voidvoi
28、d fun(intint *s) staticstatic intint j=0; dodo sj = sj + sj+1; whilewhile(+j 2);intint main(int argc, char* argv) intint k, a10= 1, 2, 3, 4, 5; forfor(k = 1; k 3; k+) fun(a); forfor(k = 0; k 5; k+) printf(%d,ak); printf(n); returnreturn 0;Whats the output of following code?什么是字符串? 字符串(character stri
29、ng)就是一個(gè)或多個(gè)字符的序列. 下面是一個(gè)字符串的例子: “Hello, world!” 需要說明的是, 雙引號(hào)并不是字符串的一部分.H He el ll lo o, ,w wo or rl ld d! !00#include int main(int argc, char* argv) char name80; printf(Whats your name? ); scanf(%s, name); / & is not needed here printf(Hello, %s, name); return 0;#include int main(int argc, char* ar
30、gv) char name80; printf(Whats your name? ); gets(name); / Another way to input printf(Hello, ); puts(name); / Another way to output return 0;字符串與指針#include int main(int argc, char* argv) printf(“%s %p %cn”, “We”, “l(fā)ove”, *C!); return 0;字符串與指針#include #include intint main(intint argc, charchar* argv)
31、 charchar str = This is a character string.; charchar *pStr = This is a string constant.; intint i = 0; forfor (i = 0; stri; + i) putchar(stri); printf(n); forfor (i = 0; i strlen(pStr); + i) putchar(pStri); printf(n); returnreturn 0;常用的字符串函數(shù) strlen() strcpy(), strncpy(); strcat(), strncat(); strcmp(),Whats the output of following code ?#include #include int main(int argc, char* argv) printf(%dn, strlen(ATSn0121); printf(%dn, strlen(ATSn0121); return 0;什么是結(jié)構(gòu)體? 在C語言中, 結(jié)構(gòu)體(struct)指的是一種數(shù)據(jù)結(jié)構(gòu), 是C語言中聚合數(shù)據(jù)類型(a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 元數(shù)據(jù)互操作性-洞察分析
- 2025年冀教版七年級(jí)地理上冊(cè)月考試卷
- 箱包品牌塑造策略研究-洞察分析
- 2025年外研銜接版九年級(jí)生物上冊(cè)階段測(cè)試試卷
- 2025年滬教版七年級(jí)生物下冊(cè)月考試卷
- 2025年上教版九年級(jí)生物上冊(cè)階段測(cè)試試卷
- 二零二五年度廠房租賃合同解除及賠償協(xié)議模板3篇
- 2025年度環(huán)保涂料產(chǎn)品銷售合作合同協(xié)議書4篇
- 2025年人教B版七年級(jí)科學(xué)上冊(cè)月考試卷
- 2025年滬科版四年級(jí)數(shù)學(xué)下冊(cè)月考試卷含答案
- COCA20000詞匯音標(biāo)版表格
- 滬教版七年級(jí)數(shù)學(xué)上冊(cè)專題06圖形的運(yùn)動(dòng)(原卷版+解析)
- JTG-T-F20-2015公路路面基層施工技術(shù)細(xì)則
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數(shù)據(jù)標(biāo)準(zhǔn)
- 建筑垃圾減排及資源化處置措施
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫附答案
- 中西方校服文化差異研究
- 2024年一級(jí)建造師考試思維導(dǎo)圖-市政
- 高壓架空輸電線路反事故措施培訓(xùn)課件
- 隱私計(jì)算技術(shù)與數(shù)據(jù)安全保護(hù)
- 人教版小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)口算題卡
評(píng)論
0/150
提交評(píng)論