C語言程序設計交通程序設計基礎39課件_第1頁
C語言程序設計交通程序設計基礎39課件_第2頁
C語言程序設計交通程序設計基礎39課件_第3頁
C語言程序設計交通程序設計基礎39課件_第4頁
C語言程序設計交通程序設計基礎39課件_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

朱紅梅梁伯棟C語言程序設計交通程序設計基礎1234目錄CONTENTS計算機程序設計基礎C程序設計流程數據類型、運算符與表達式選擇結構5循環結構6數組7函數“紙上談兵”學不出程序設計本領只有大量上機、編程、調試,才能掌握程序設計算法結構模塊二程序設計進階模塊三順序程序設計選擇程序設計循環程序設計數組函數模塊化程序設計基礎知識模塊一軟件基本概念程序設計流程標識符常量變量基本數據結構C程序設計主要教學內容知識目標1.掌握C語言基本數據類型2.掌握C語言變量定義及使用方法;3.掌握C語言運算符與表達式;4.掌握C語言輸入輸出語句。010203能力目標1.能夠正確定義變量和數據;2.能夠正確使用運算符與表達式;3.能夠使用輸入輸出語句編寫簡單的程序。素養目標1.具有良好的職業道德修養;2.尊重勞動,誠實守信;3.具有精益求精的工匠精神、創新意識以及較強的就業創業能力;4.具有較強的團隊合作精神;5.具有職業生涯規劃意識。學習目標WHAT:學什么?溫故而知新常用:printf函數和scanf函數。用預編譯命令“#include”將有關的“頭文件”包含到源文件中。#include<stdio.h>

或#include“stdio.h”#include<stdio.h>#definePRICE30main(){intnum,total;

num=15;total=num*PRICE;printf("total=%d",total);}還記得C程序的開發過程嗎?printf函數C源程序目標文件可執行程序C語言函數庫編譯連接源程序:是用戶創建的文件,以“.c”為文件擴展名保存

目標文件:是編譯器的輸出結果。這類文件的常見擴展名為“.o”或“.obj”

頭文件:含有函數的聲明和預處理語句,用于幫助訪問外部定義的函數。頭文件的擴展名為“.h”。

可執行文件:是連接器的輸出結果。可執行文件的擴展名為“.exe”。

作用:將一些信息按照指定的格式送到標準輸出(顯示器)printf(格式控制,輸出表)“普通字符或格式控制符號”,其中普通字符原樣輸出需要輸出的變量等printf函數scanf()函數“格式控制”部分是用雙引號括起來的字符串,它主要是由“%”和格式符組成的。如%c,%d等,作用是將輸入數據轉化為指定格式后存入到有地址表所指的相應變量中。

scanf(格式控制,地址表)getchar函數與putchar函數

格式:putchar(c)參數:c為字符常量、變量或表達式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯,為EOF(-1)格式:getchar()功能:從鍵盤讀一字符返值:正常,返回讀取的代碼值;出錯,返回EOF(-1)字符輸出函數字符輸入函數任務3-4表達式logo數據類型、運算符與表達式常用的C語言的運算符有以下幾類:(1)基本算術運算符:+-*/%(2)關系運算符:<>>=<===!=(3)邏輯運算符:!&&||(4)強制類型轉換運算符:()(5)自增、自減運算符:++――(6)賦值運算符:=(7)條件運算符:?:(8)逗號運算符:,(9)指針運算符:*&(10)求字節數運算符:sizeof(11)位運算符:<<>>~|^&(12)分量運算符:.->(13)下標運算符:[]運算符Sum=num1+num2操作數運算符運算符#include<stdio.h>#definePRICE30main(){intnum,total;

num=15;total=num*PRICE;printf("total=%d",total);}操作數運算符基本運算符算術運算符基本算術運算符:+-*/%強制類型轉換運算符:()自增、自減運算符:++--關系運算符邏輯運算符賦值運算符運算符 C語言提供如下幾種基本算術運算符。

?+:加法運算符。如2+3,a+b。

?-:減法運算符。如2-3,a-b。

?*:乘法運算符。如2*3,a*b。

?/:除法運算符。如2/3,a/b。

?%:取余運算符。如10%2,a%b。 其中,加、減、乘、除運算符,與數學中的運算相同。算術運算符是雙目運算符,即運算符兩邊都需要有操作數,如加法A+B"+"的兩邊是操作數A和B基本算術運算符加法運算:+X+ya+12基本算術運算符減法運算:-X-ya-12乘法運算:*X*ya*12除法運算:

/X*ya*12取余運算:

%X%ya%12main(){inta,b,c,d;printf(“請輸入被除數a,除數b:\n”);scanf(“%d%d”,&a,&b);c=a/b;d=a%b;printf(“計算結果:%d÷%d=%d\n”,a,b,c);printf(“計算結果:%d%%%d=%d\n”,a,b,d);}運行:第一次輸入52第二次輸入95課堂練習main(){floata,b,c;intd;printf(“請輸入被除數a,除數b:\n”);scanf(“%f%f”,&a,&b);c=a/b;d=a%b;printf(“計算結果:%f÷%f=%f\n”,a,b,c);printf(“計算結果:%f%%%f=%d\n”,a,b,d);}運行:第一次輸入52第二次輸入95課堂練習main(){int

a=10,b=2,c=3,d;d=a+c%b-b*c;printf(“計算結果:d=%d\n”,d);}課堂練習(1)除法運算/,兩個整數相除,商為整數,小數部分被舍棄。例如:5/2=2。(2)求余數運算%

要求兩側的操作數均為整型數據,否則出錯。例如:5%3=2,3%5=3,-5%3=-2,-5%(-3)=-2。但是,5.2%3是語法錯。基本算術運算符先做括號*,/,%+,-高低假定個人所得稅的征收依據如下:按工資收入的15%征收個人所得稅。編寫一個程序,當從鍵盤輸入職工工資時,計算出實發工資并輸出。該如何編寫這個程序呢?

課堂練習main(){floatsalary,re_salary;//re_salary代表實發工資

printf(“請輸入你的工資:”);scanf(“%f”,&salary);

re_salary=salary*0.85;printf(“你的實發工資為%f:”,re_salary);}假定個人所得稅的征收依據如下:按工資收入的15%征收個人所得稅。編寫一個程序,當從鍵盤輸入職工工資時,計算出實發工資并輸出。該如何編寫這個程序呢?

課堂練習基本運算符算術運算符基本算術運算符:+-*/%強制類型轉換運算符:()自增、自減運算符:++--關系運算符邏輯運算符賦值運算符運算符自增、自減運算符是單目運算符,即對一個運算對象施加運算,運算結果仍賦予該對象。參加運算的對象必須是變量。自增、自減運算符前置++a后置a++前置--a后置a--先執行a=a+1;再使用a先執行a=a-1;再使用a先使用a;再執行a=a+1先使用a;再執行a=a-1自增、自減運算符基本運算符算術運算符基本算術運算符:+-*/%強制類型轉換運算符:()自增、自減運算符:++--關系運算符邏輯運算符賦值運算符運算符

在C語言中,常常要把一些表達式的類型轉換成所需的類型。強制類型轉換的一般格式為: (強制轉換的類型名)(表達式)功能:把表達式強制轉換為指定的類型。例如:(int)(a)或(int)a /*將a強制轉換成整型*/(double)(x+y) /*將x+y強制轉換成double型*/(float)(45%8) /*將45%8的值強制轉換成float型*/強制類型轉換(顯示轉換)C語言規定了運算符的優先級和結合方向,在表達式求值時,先按運算符的優先級別高低次序執行,再按運算符的結合方向結合(相同優先級時)。(1)基本算術運算符(+,-,*,/,%)中,%、*、/的優先級高于+、-,結合方向為"自左至右"(左結合性)。例如:a+b*c–d%2等價于:(a+(b*c))-(d%2)。(2)自增、自減和強制類型轉換運算符(++、--、())的優先級別相同,均高于基本算術運算符(+,-,*,/,%),是單目運算符,結合方向是"自右至左"(右結合性)。

例如:(--a+b++)*c---d等價于(((--a)+(b++))*(c--))-d算術運算符的優先級和結合方向基本運算符算術運算符關系運算符<;<=;>;>===;!=邏輯運算符賦值運算符運算符關系運算符用于測試兩個操作數或兩個表達式之間的關系,其中操作數可以是變量、常量或表達式。小于:<大于:>大于或等于:>=小于或等于:<=相等:==不相等:!=例如:a=10;b=a<3注意:在C語言中,“等于”關系運算符是雙等號“==”,而不是單等號“=”(賦值運算符)

關系運算符雙目運算符例如:x=5;y=7;z=x<y例如:x=5;y=7;z=x<=y例如:a=10;b=a<=3例如:a=10;b=a==3例如:a=10;b=a!=3關系表達式的計算結果=邏輯值(真或假)在C語言中,邏輯值"0"表示"假","非0"表示"真",常用"1"表示如a=5,b=6,則a>b結果為?a<b結果為?a>=b結果為?a<=b結果為?a==b結果為?a!=b結果為?關系運算符(1)結合方向:自左向右(2)優先級別(比算術運算符優先級低):c>a+b//c>(a+b)a>b!=c//(a>b)!=ca==b<c//a==(b<c)a=b>c//a=(b>c)b+c<a//(b+c)<a關系運算符算術運算符<<=>>===!=高低例若a=0;b=0.5;x=0.3;則a<=x<=b的值為?例5>2>7>8在C中是允許的,值為?例inti=1,j=7,a;a=i+(j%4!=0);則a=?例‘a’>0結果為?‘A’>100結果為?關系運算符x=3,y=4,z=5,t=2則:(1)x==y的值=

(2)(x>y)!=z的值=

(3)x<y<z的值=

(4)x<y<t的值=

(5)(x<y)+z的值=請計算出結果,然后用程序驗證關系運算符課堂練習#include<stdio.h>voidmain(){intnum1,num2,sum;printf("\n請輸入兩個數:");scanf("%d%d",&num1,&num2);sum=num1+num2;if(sum>100)printf("\n兩數的和大于100\n");}關系運算符運行程序;實現了什么功能?基本運算符算術運算符關系運算符邏輯運算符邏輯與:&&邏輯或:||邏輯非:!賦值運算符邏輯運算符單目運算符雙目運算符什么是邏輯運算?下列哪些說法不合適:你這句話的邏輯等于多少?你這句話的邏輯是對的你這句話的邏輯是錯的邏輯運算符邏輯運算符或非與&&||!表達式

1表達式2結果000010100111所有學科及格考勤率達到75%留級NoNo升級YesYes留級NoYes留級NoYes邏輯運算符邏輯與&&升級條件小結:兩個條件必須同時滿足,結果才為真;否則為假無法支付可支付可支付可支付YesNoNoNoNoYesYesYes邏輯運算符邏輯或||表達式1表達式

2結果000011101111付款方法現金刷卡小結:兩個條件滿足其一,結果即為真;否則為假不去郊游去郊游NoYes天氣

下雨?邏輯運算符表達式結果1001小結:條件滿足時,結果為假;條件不滿足時,結果為真。邏輯非!邏輯值邏輯值邏輯非邏輯非邏輯與邏輯或ab!a!ba&&ba||b11

10

01

00

邏輯運算符真值表&&只有當兩個條件都為真時才執行操作只要任何一個條件為真時就執行操作對原條件取反,即:如果原條件為假時就執行操作||!例如if(a>b&&a<=100){}if(a>b||a<=100){}if(!a){}邏輯運算符

intx,y,z,w;x=y=z=-1;w=(++x||++y)&&++z;printf("%d,%d,%d,%d\n",x,y,z,w);

輸出為何?&&

前的操作數值若是假,則后面的表達式無需運算

||

前的操作數值若是真,則后面的表達式無需運算邏輯運算符例:main(){

inta,b,c=241; a=c/100%9; b=(-1)&&(-2); printf("%d,%d\n",a,b);}

輸出為何?邏輯運算符#include<stdio.h>voidmain(){ chara; printf("\n請輸入一個字符:"); scanf("%c",&a);

if(a>='a'&&a<='z')

printf("您輸入的字符是小寫字母\n",a); else printf("您輸入的字符不是小寫字母\n",a);}邏輯運算符課堂練習練習:輸入一個年份,判斷是否是閏年#include<stdio.h>voidmain(){ inta; printf("\n請輸入一個年份:"); scanf("%d",&a);

if(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論