版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
章C語言基礎知識
2021/6/281第一節(jié)C語言的基本格式一、一個簡單的C語言程序例1:計算兩個整數(shù)之和第1行:#include“stdio.h”第2行:main()/*主函數(shù)*/第3行:{第4行:inta,b,sum;/*變量說明*/第5行:a=10;/*把整數(shù)10賦值給變量a*/第6行:b=20;/*把整數(shù)20賦值給變量b*/第7行:sum=a+b;/*把兩數(shù)之和賦值給變量sum*/第8行:printf(“a=%d,b=%d,sum=%d\n”,a,b,sum);/*把計算結果輸出到用戶屏幕上*/第9行}函數(shù)功能:求兩數(shù)之和2021/6/282程序說明:第1行是表示包含一個頭文件。第2行:main是函數(shù)名,表示是主函數(shù),每個C程序都必須有一個主函數(shù),也只能有一個主函數(shù)。主函數(shù)具體寫法為:
main(){/*此處寫函數(shù)的具體執(zhí)行語句*/}第3行和第9行:一對大括號{}之間的內容是函數(shù)的具體內容。第4行:int是英語“整數(shù)(integer)”的簡寫。
a,b,sum是變量2021/6/283第5行的意思是讓變量a的值為10.第6行的意思是讓變量b的值為20第7行表示把變量a加上變量b的和賦值給變量sum.第8行是將計算的結果輸出到屏幕上。2021/6/284其它說明:1、程序中的注釋:
C語言程序用/*開頭,用*/結尾表示程序的注釋例2:
main(){inta=0,b=0;a=10;/*給a賦值
b=20;給b賦值*/printf(“a+b=%d\n”,a+b);}輸出結果:a+b=302021/6/2852、C語言函數(shù)可以分為兩大部分:定義部分和執(zhí)行部分,定義部分應在執(zhí)行部分的前面,當然兩個部分都不是必須的。例3:main(){inta=0,b=0;a=10;/*給a賦值
b=20;給b賦值*/printf(“a+b=%d\n”,a+b);}定義部分執(zhí)行部分2021/6/286例4:
main(){ printf(“Hello,spels!”);}
此例中只有執(zhí)行部分,沒有定義部分執(zhí)行部分2021/6/2873、C程序中變量必須先定義,后使用。4、C程序中語句后必須有一個分號。5、C程序書寫格式自由。一般一條語句寫一行,采用縮進格式main(){ inta=0,b=0;a=10;b=20; printf(“a+b=%d\n”,a+b);}6、C程序的書寫是區(qū)分大小寫的。如main和Main是不一樣的。2021/6/288一、標識符1、命名規(guī)則(1)標識符只能由字母、數(shù)字、下劃線組成。(2)標識符的第一個字符必須是字母或下劃線。(3)標識符是區(qū)分大小寫的。 如:Abc和abc是不同的例5:判斷下列標識符是否合法
axsum3ss3spelsyes?yes-no_to123_123@r第二節(jié)標識符、常量與變量2021/6/2892、標識符的分類(1)關鍵字:見書附錄二。 如:int,float,char,double
(2)預定義標識符 主要有各種函數(shù)名稱和編譯預處理命令如:printfsinscanfdefineinclude
(3)用戶自定義標識符:由用戶根據(jù)需要定義的標識符,主要用于變量和自定義函數(shù)的命名。 要求:不能和關鍵字相同,也盡量不要和預定義標識符相同。
2021/6/2810例6:以下不能定義為用戶標識符的是()
A)scanfB)VoidC)_3com_D)int分析:int是關鍵字,scanf是系統(tǒng)關鍵字例7:以下不合法的用戶標符是()A)j2_KEYB)DoubleC)4dD)_8_分析:標識符不能以數(shù)字開頭A,DC2021/6/2811二、常量常量:是指在程序執(zhí)行過程中其值保持不變的量1、普通常量整型常量 如:323100實型常量 如:12.32.71828字符常量 如:‘a’‘?’(特征:單引號)字符串常量 如:“abcd”(特征:雙引號)
2021/6/28122、符號常量例8:計算圓面積的C語言程序#include<stidio.h>#definePI3.14159main(){floatr,area;r=12.5;area=PI*r*r;/*等價于:area=3.14159*r*r;*/printf(“area=%f\n”,area);}注:習慣上符號常量一般用大寫字母書寫,以區(qū)別于變量名(變量名一般用小寫字母書寫)。2021/6/2813三、變量變量:就是在程序運行過程中其值可以改變的量。例9:變量的應用#include“stdio.h”main(){inta=10,b=20,c;a=30;b=40;c=a+b;printf(“c=%d\n”,c);}2021/6/2814例10:下列定義變量的語句中錯誤的是____A)int_int;B)doubleint_;C)charFOR;D)floatUS$;分析:選項D中變量名不符標識符的定義要求D2021/6/2815第三節(jié)整型數(shù)據(jù)一、數(shù)制轉換數(shù)制說明十進制:數(shù)碼有0,1,2,……9,運算規(guī)則為加法逢十進一,減法借一當十二進制:數(shù)碼有0,1,運算規(guī)則為加法逢二進一,減法借一當二八進制:數(shù)碼有0,1,2……7,運算規(guī)則為加法逢八進一,減法借一當八十六進制:數(shù)碼有0,1,2……9,A,B,C,D,E,F,運算規(guī)則為加法逢十六進一,減法借一當十六2021/6/2816例:二、八、十、十六進制數(shù)大小對照表十進制01234567二進制011011100101110111八進制01234567十六進制01234567十進制89101112131415二進制10001001101010111100110111101111八進制1011121314151617十六進制89ABCDEF2021/6/2817二、整型常量1、十進制常量,如:0,129,-232、八進制常量以數(shù)字0開頭,如:0127,0343、十六進制常量以0x或0X開頭,如:0x23,0xAF注:C語言中不能直接表示二進制數(shù)常量例10:以下選項中可作為C語言合法整數(shù)的是____A)10110BB)0386C)0XffaD)x2a2例11:不合法的十六進制整數(shù)是_____A)0x16B)0XabcC)0x15D)oXF123CD2021/6/2818例12:以下程序運行后的輸出結果是()main(){intx=0210;printf(“%X\n”,x);}說明:%X表示按十六進制數(shù)的形式輸出結果輸出結果:882021/6/2819三、整型變量整型變量分為2021/6/2820數(shù)據(jù)類型關鍵字占用的字節(jié)數(shù)數(shù)值范圍基本整型[signed]int4-214783648~214783647短整型[signed]short[int]2-32768~32767長整型[signed]long[int]4-214783648~214783647無符號整型unsigned[int]40~4292967295無符號短整型unsignedshort[int]20~65535無符號長整型unsignedlong[int]40~4292967295不同類型的整型數(shù)在內存中所占用的字節(jié)數(shù)和數(shù)值范圍2021/6/2821四、整數(shù)在內存中的存儲形式1.有符號正整數(shù)有符號正整數(shù)的存儲形式稱為”原碼”例:正整數(shù)10,在內存中的二進制為:(短整數(shù))15141312111098765432100000000000001010符號位:0表示正,1表示負最小正整數(shù)(十進制數(shù)是1)00000000000000000000000000000001最大正整數(shù)是:(十進制是231-1=214783647)011111111111111111111111111111112021/6/28222.負整數(shù)C語言中,負整數(shù)以”補碼”形式存放.例:求-6的在內存中的存儲形式(1)求正整數(shù)6在內存中存放的原碼為”0000000000000110”(2)求原碼的反碼:即將原碼中的”0”變”1”,”1”變”0”,由此可得反碼:1111111111111001(3)將反碼加1,就可得-6的補碼為:1111111111111010練習:求-10的補碼
-10的補碼是11111111111101102021/6/28233.無符號整數(shù)3130……210……數(shù)值位最大的無符號整數(shù)是11111111111111111111111111111111(十進制數(shù)是232-1=4292967295)和-1的補碼在內存中的存放形式一致2021/6/2824例:有以下程序main(){unsignedinta;intb=-1;a=b;printf(“%u”,a);/*%u表示按無符號數(shù)格式輸出*/}程序運行結果是____A)-1B)4292967295C)32767D)-32768B2021/6/2825第四節(jié)實型數(shù)據(jù)一、實型常量在C語言中,實型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。(1)小數(shù)形式如:3.141590.15812.0.0.36-18.0(2)指數(shù)形式
1e5(表示數(shù)值1×105)
1.25E+4(表示數(shù)值1.25×104)
2.0E-3(表示數(shù)值2.0×10-3)注意:指數(shù)形式實型常量要求E的前面要有數(shù),E的后面是整數(shù)如:e51.25E2.0E1.3都是不正確的。2021/6/2826例:以下選項中合法的實型常數(shù)是_____A)5E2.0B)E-3C).2E0D)1.3E例:以下選項中,不能作為合法常量的是____A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0CB2021/6/2827二、實型變量C語言中,實型變量分為單精度(float)和雙精度(double)兩種。定義形式如下:
floatx,y,z;doublea,b,c;數(shù)據(jù)類型關鍵字占用的字節(jié)數(shù)取值范圍有效數(shù)字單精度float4-1038~10387雙精度double8-10308~1030815~162021/6/2828第五節(jié)算術運算符及表達式一、算術運算符和算術表達式1、算術運算符與優(yōu)先級次序
高低()+-(正負號)*/%+-(加、減號)同級同級同級單目運算雙目運算符2021/6/2829說明:(1)算術運算符兩邊的運算對象類型必須一致才能運算,運算結果的類型與運算對象類型一致。如:5/2,1/2,2*4
(2)如果算術運算符兩邊的運算對象類型不一致,則低類型向高類型轉換。 類型從高到低(double,float,long,int,short,char)
如:5.0/2,2.5*2(3)%兩邊的運算對象必須是整數(shù)如:5%2,100%3,3%6,而5.4%2是錯誤的。如果運算對象為負時,運算結果的符號與被除數(shù)相同如:-5%2,5%-22021/6/28302、算術表達式就是用算術運算符和圓括號連接起來的式子例:表達式3.6-5/2+1.2+5%2的值是_____A)4.3B)4.8C)3.3D)3.8二、強制類型轉換格式:(類型名)表達式如:(int)2.36結果為2(float)5/2結果為2.5D2021/6/2831練習:請計算下列表達式的值已知:inta=5,b=25,x=5;(1).a+b%4*(int)(2.5/0.7)(2).(float)(a+2)/2+a%b(3).(b-a)%6+a/b88.522021/6/2832第六節(jié)賦值表達式一、賦值運算符和賦值表達式賦值運算符:=使用格式:變量名=表達式常見情況說明:x+1=3
x=yx=y=25i=i+1intx;x=1.2;6.floaty;y=3;×注:=的左邊只能是變量2021/6/2833例:有以下定義語句:doublea,b;intw;longc;若各變量已正確賦值,則下列選項中正確的表達式是_____A)a=a+b=b++B)w%((int)a+b)C)(c+w)%(int)aD)w=a%bC2021/6/2834二、復合賦值運算復合賦值運算符:+=,-=,*=,/=,%=含義:變量+=表達式等價于:變量=變量+(表達式)n+=1等價于表達式:n=n+(1)n-=2+y等價于表達式:n=n-(2+y)n*=m+1等價于表達式:n=n*(m+1)n/=10-m*2等價于表達式:n=n/(10-m*2)2021/6/2835例:已知變量n的初始值為8, 計算表達式n+=n*=n-2注:計算方向從右向左(右結合性)練習:已知inta=3,b=4;請計算:a+=a-=ba*=b+1a*=a/=b-22021/6/2836三、自加與自減運算符運算符:++,--如:i++,++i,x--,--yi++,++i相當于i=i+1i--,--i相當于i=i-1說明:1.增量運算的運算對象只能為變量,不能是常量或是表達式2.自加、自減運算符的結合方向是“從右到左”,如-i++.3.前綴算運符(如++i,--x),先進行自增或自減,再參與其它運算,后綴算運符(i++,x--)先參與其它運算再自增或自減2021/6/2837如:設i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度數(shù)據(jù)中心安全生產與環(huán)境保護服務合同3篇
- 二手車買賣協(xié)議范本:2024年專業(yè)版版B版
- 二手房經紀服務規(guī)范化合同稿
- 二零二五版礦山工程地質勘探與評估承包合同3篇
- 二零二五年度高空搬運作業(yè)安全免責協(xié)議書3篇
- 二零二五年藝術畫廊開業(yè)慶典藝術品展覽合同3篇
- 2024法律咨詢服務委托合同
- 2024版商業(yè)園區(qū)物業(yè)管理合同協(xié)議書范文
- 西安汽車職業(yè)大學《港澳基本法》2023-2024學年第一學期期末試卷
- 2024牙科醫(yī)療廢物處理服務合同
- 軟件項目應急措施及方案
- 2025河北邯鄲經開國控資產運營管理限公司招聘專業(yè)技術人才5名高頻重點提升(共500題)附帶答案詳解
- 2024年民法典知識競賽考試題庫及答案(共50題)
- 中考英語688高頻詞大綱詞頻表
- 九年級初三中考物理綜合復習測試卷3套(含答案)
- 上交所期權投資者綜合試卷考試及答案
- 超市日常工作檢查表
- 電纜熱穩(wěn)定校驗計算書
- 傳熱學-第一章
- 管理制度評價表(填寫模板)
- 工地設計代表服務記錄
評論
0/150
提交評論