版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
運算符與表達(dá)式第4章
4.1算術(shù)運算符和算術(shù)表達(dá)式4.2自增、自減運算4.3位運算4.4賦值運算4.5關(guān)系表達(dá)式與邏輯表達(dá)式4.6條件表達(dá)式與逗號表達(dá)式第四章運算符與表達(dá)式4.1算術(shù)運算符和算術(shù)表達(dá)式
運算符表達(dá)式
+3+5、+3-5-2、-3*3*5
/3/2(結(jié)果為1)
3/2.0,3.0/2,3.0/2.0(結(jié)果為1.5)%(求余)
7%4(結(jié)果為3)-9%5(結(jié)果為-4)
9%(-5)(結(jié)果為4
)
2.0%3(錯誤,2.0不是整數(shù))
字符以其ASCII碼參加運算:
'a'+1為98'b'-'a'為1'8'-'0'為8a/10+a%10(如a=24,則結(jié)果為6)
(b%100)/10(如b=4321,則結(jié)果為2)例如:設(shè)a為兩位整數(shù),求其各位數(shù)字之和。又如:求一個整數(shù)b的十位上的數(shù)字。字符ASCII碼字符ASCII碼A65a97B66b98C67c99D68d100E69e101F70f102G71g103H72h104I73i105J74j106K75k107L76l108M77m109N78n110O79o111P80p112Q81q113R82r114S83s115T84t116U85u117V86v118W87w119X88x120Y89y121Z90z122字符ASCII碼048149250351452553654755856957
若已定義x和y為double類型,則表達(dá)式x=1,y=x+3/2的值是().122.02.5ABCD提交單選題1分
若已定義x和y為double類型,則表達(dá)式x=1,y=x+3/2.0的值是().122.02.5ABCD提交單選題1分算術(shù)運算中的類型轉(zhuǎn)換自動轉(zhuǎn)換強制類型轉(zhuǎn)換
自動轉(zhuǎn)換doublefloatlongunsignedintchar,short低高例如:2+’a’+1.52+97+1.599+1.599.0+1.5100.5強制類型轉(zhuǎn)換
一般形式為:
(類型名)表達(dá)式例如:
(double)x(將x轉(zhuǎn)換成double類型)(double)x/y(將x轉(zhuǎn)換成double類型,再與y相除)(int)3.14%2(即3%2)
設(shè)f是單精度實型,i是雙精度實型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為().
int
float
double
不確定ABCD提交單選題1分如何求一個整數(shù)每一位上的數(shù)字注意整數(shù)相除取整比如1+1/2+1/3+1/4+……+1/n作業(yè):將一個四位整數(shù)的個位與千位交換,百位與十位交換。1234—>43214.2自增、自減運算
如i=3;j=++i;j:4,i:4如i=3;j=i++;j:3,i:4運算符++--使用格式++ii的值先加1,后使用i++i的值先使用,后加1--ii的值先減1,后使用i--i的值先使用,后減1
執(zhí)行下列語句后變量x和y的值是().y=10;x=y++;
x=10,y=10
x=11,y=11
x=10,y=11
x=11,y=10ABCD提交單選題1分
3+a++,若a的初值為6,則表達(dá)式值為?a的值為?9,79,610,710,6ABCD提交單選題1分
++x*y-z,若x,y,z的值分別為3,4,5,則表達(dá)式和x的值最后分別為?11,411,37,47,3ABCD提交單選題1分4.3位運算
六
種位運算符&按位與運算符|按位或運算符^按位異或運算符<<二進(jìn)制左移運算符>>二進(jìn)制右移運算符~按位取反運算符按位與運算(&)
當(dāng)對應(yīng)位均為1時,結(jié)果為1;否則為0。例如,12&10的運算如下:
12:00001100&10:00001010_________________
結(jié)果:00001000作用:保留某一位,用1和相應(yīng)位進(jìn)行與運算。按位或運算(|)
對應(yīng)位均為0時,結(jié)果為0;否則結(jié)果為1。例如:
0123:01010011
|014:000011000123|014:01011111作用:指定某一位的值為1。按位異或運算(^)
當(dāng)對應(yīng)位相同時,結(jié)果為0;否則為1。例如:00110011
^1100001111110000
按位取反運算(~)
使每一位上的0變1;1變0。例如:~0115是將八進(jìn)制數(shù)115按位求反。即:
~01001101
_______________
結(jié)果:10110010左移運算(<<)
例如:
chara=6,b;b=a<<2;
用二進(jìn)制數(shù)如下:
a:00000110(a=6)b=a<<2:00011000(b=24)返回目錄
short
a=-071400,b;b=a>>2;
符號位↓
a的二進(jìn)制原碼表示:1111001100000000a的二進(jìn)制反碼表示:1000110011111111a的二進(jìn)制補碼表示:1000110100000000(機內(nèi)存儲形式)b=a>>2:1110001101000000(b的二進(jìn)制補碼表示)b的二進(jìn)制反碼表示:1110001100111111b的二進(jìn)制原碼表示:1001110011000000b的八進(jìn)制數(shù):-016300右移運算(>>)
右移時,右端(低位)移出的二進(jìn)制數(shù)舍棄;左端(高位)移入的二進(jìn)制數(shù)分兩種情況:對于無符號整數(shù)和正整數(shù),高位補0;對于負(fù)整數(shù),高位補1。若x=2,y=3則x&y的結(jié)果是().
0
2
3
5ABCD提交單選題1分
若a=1,b=2則a|b的值是().0123ABCD提交單選題1分
在位運算中,操作數(shù)每左移一位,其結(jié)果相當(dāng)于().
操作數(shù)乘以2
操作數(shù)除以2
操作數(shù)除以4
操作數(shù)乘以4ABCD提交單選題1分變量名=表達(dá)式;4.4賦值運算
變量名=表達(dá)式
右結(jié)合賦值表達(dá)式賦值語句如a=3b=2*a+10如a=3;c=b=a+3;賦值時數(shù)據(jù)類型的轉(zhuǎn)換
當(dāng)左右類型不同時,系統(tǒng)自動轉(zhuǎn)換。例如:
intn;n=3.1415;/*n的值為3*/
復(fù)合賦值運算+=-=*=/=%=<<=>>=&=^=|=a+=3a=a+3x*=y+8x=x*(y+8)x/=2*y-10x=x/(2*y-10)a&=ba=a&b
設(shè)a=12,且a定義為整型變量.執(zhí)行語句a+=a-=a*=a;后a的值為().
12
144
0
132ABCD提交單選題1分4.5關(guān)系表達(dá)式與邏輯表達(dá)式關(guān)系運算符>(大于)>=(大于等于)<(小于)<=(小于或等于)==(等于)!=(不等于)例如:a>ba+b>=b+c關(guān)系表達(dá)式成立,其值為1關(guān)系表達(dá)式不成立,其值為04.5.1關(guān)系運算
【例4.1】分析下面程序的運行結(jié)果。#include<stdio.h>intmain(){floatx,y=0.6;y=y*11;x=6+0.6;if(x==y)printf("OK,x==y");elseprintf("NO,x!=y");return0;}程序運行結(jié)果:NO,x!=y#include<math.h>fabs(x-y)<1e-5
下列運算符中是C語言關(guān)系運算符的是().
~
!
&
!=ABCD提交單選題1分運算結(jié)果:用1表示“真”,用0表示“假”。
在邏輯運算中,將非0值視為真、將0視為假。邏輯運算符!(邏輯非)&&(邏輯與)||(邏輯或)邏輯表達(dá)式
!aa&&ba||b4.5.2邏輯運算
注意:在邏輯表達(dá)式的求解中,并不是所有的邏輯運算符都被執(zhí)行,只有在必須執(zhí)行下一個邏輯運算符才能求出表達(dá)式的值時,才執(zhí)行該運算符。(1)a&&b則a、b的值分別為0、1(2)a||b則a、b的值分別為2、1inta=1,b=1;--a&&++binta=1,b=1;++a||++b
在C語言中,能代表邏輯值“真”的是().
True
大于0的數(shù)
非0整數(shù)
非0的數(shù)ABCD提交單選題1分
已知x=43,ch='A',y=0;則表達(dá)式(x>=y&&ch<'B'&&!y)的值是().
0
語法錯1
"假"ABCD提交單選題1分
intx=2,y=3,z=4;則表達(dá)式x+y>z&&y==z的值為().0123ABCD提交單選題1分4.6條件表達(dá)式與逗號表達(dá)式
【例4.3】用條件表達(dá)式求解下列問題。(1)求兩個變量a、b的最大值。解s=(a>b)?a:b;(2)求三個變量a、b、c的最大值。解s=(s=a>b?a:b)>c?s:c;(3)對字符變量ch,若為小寫字母,則改為大寫字母,其余字符不變。解
ch=(ch>=’a’&&ch<=’z’)?(ch-32):ch;(4)輸出整型變量x的絕對值。解(x>0)?printf(“%d”,x):printf(“%d”,-x);條件運算符
?:
條件表達(dá)式表達(dá)式1?
表達(dá)式2
:
表達(dá)式34.6.1條件表達(dá)式
【例4.3】任意輸入三個整數(shù),按從大到小輸出。#include<stdio.h>intmain(){inta,b,c,m,n,k;scanf("%d%d%d",&a,&b,&c);m=(m=a>b?a:b)>c?m:c;/*將a、b、c中的最大數(shù)賦給m*/n=(n=a<b?a:b)<c?n:c;/*將a、b、c中的最小數(shù)賦給n*/k=a+b+c-m-n;/*將a、b、c中的中間數(shù)賦給k*/printf("%d%d%d\n",m,k,n);/*從大到小輸出三個數(shù)*/return0;}程序運行情況:3-59↙93-5
經(jīng)過以下語句定義后,表達(dá)式z+=x>y?x:y的值為().intx=1,y=2,z=3;
2365ABCD提交單選題1分例如:(1)a=2+3,4*5;(2)inta=2,c;c=(b=a++,a+2);(3)inta=2,c;c=b=a++,a+2;逗號運算符
,
逗號表達(dá)式表達(dá)式1,表達(dá)式2,……,表達(dá)式n4.6.2逗號表達(dá)式
假設(shè)所有變量都為整型,表達(dá)式(a=2,b=5,a>b?a++:b++,a+b)的值是().7685ABCD提交單選題1分4.1算術(shù)運算符和算術(shù)表達(dá)式:+-*/%4.2自增、自減運算:++
--4.3位運算:&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡易示波器課程設(shè)計報告
- 飲食調(diào)理課程設(shè)計
- 部署云計算系統(tǒng)課程設(shè)計
- 2025至2030年中國改性鈉型硅溶膠數(shù)據(jù)監(jiān)測研究報告
- 2025年倉儲冷藏設(shè)施租賃合同
- 2025年醫(yī)美中介服務(wù)合同
- 房屋續(xù)租合同簡單范本
- 2025年圖書出版委托合同
- 安全生產(chǎn)全員教育合同模板
- 二零二五年度河南省事業(yè)單位人才引進(jìn)聘用合同
- 第二章 運營管理戰(zhàn)略
- 《三本白皮書》全文內(nèi)容及應(yīng)知應(yīng)會知識點
- 專題14 思想方法專題:線段與角計算中的思想方法壓軸題四種模型全攻略(解析版)
- 醫(yī)院外來器械及植入物管理制度(4篇)
- 圖像識別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 港口與港口工程概論
- 《念珠菌感染的治療》課件
- 門店裝修設(shè)計手冊
- 新概念英語第二冊考評試卷含答案(第49-56課)
- 商業(yè)倫理與企業(yè)社會責(zé)任(山東財經(jīng)大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年山東財經(jīng)大學(xué)
- 【奧運會獎牌榜預(yù)測建模實證探析12000字(論文)】
評論
0/150
提交評論