亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C語言學習中的四大難點

2019-11-17 05:20:14
字體:
來源:轉載
供稿:網友
  C語言是一種結構化語言,適于按模塊化方式組織程序,層次十分清楚,易于調試和維護。C語言的表現能力和處理能力極強,不僅具有豐富的運算符和數據類型,便于實現各類復雜的數據結構,而且還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由于C語言的功能強大、應用廣泛,它成為了目前軟件開發的最常用的語言之一,同時也是二級考試中很受歡迎的語言之一,能為今后參加三級、四級學習和考試打下良好的基礎。

  下面我們重點來講一講C語言學習過程中所特有的一些知識難點。

  算術表達式

  C語言中的算術運算有單目運算和雙目運算兩種。單目運算指的是該運算符只能連接一個運算量,除了正負號外,主要有++(加1)和--(減1),它有前綴和后綴之分,主要區別在于前綴++n表示先令n=n+1,然后取n的值,后綴n++表示先取n的值,然后令n=n+1。雙目運算是指該運算符的左右兩側都必須有運算量。常見的雙目運算符有:+、-、、/、%等。諸如x+y、x/y、xy等運算均為雙目運算。碰到雙目運算時,要非凡注重數據的類型問題。具體要求有以下幾點:

  1.雙目運算的結果的類型必須與運算量的類型一致;

  2.假如參與雙目運算的兩個運算量類型不一致,系統將自動把其中的一個進行類型轉換,使兩個運算量的類型一致后再進行運算。自動轉換的規則是:按“向高看齊”的原則進行轉換。在幾個基本的數據類型中,由高到低的排列順序為:double、int、char。

  2000年春季考試中有一道選擇題:

  下列程序的輸出結果是( )

A) 3 B) 3.2 C) 0 D) 3.07

main
 double d=3.2 int xy
x=1.2 y=x+3.8/5.0
PRintf″%d /n″ dy

  解析:本題中,程序先執行語句x=1.2,根據賦值運算的類型轉換規則,這里要將double型的常量1.2轉換為int型,即取整為1,然后將1賦值給變量x。接下來執行語句y=x+3.8/5.0;根據運算符的優先級,先計算小括號內,再計算除法,最后執行賦值運算。小括號內的運算過程為:先將整型變量x的值1轉換為double型1.0,然后與3.8進行加法運算,得到中間結果4.8。接著進行除法運算4.8/5.0,其結果小于1.0,這里沒有必要計算出精確值,因為接著進行賦值運算,賦值號左邊的變量y的類型為整型,于是對這個小于1.0的中間結果進行取整,結果為0,于是變量y的值為0。因此該程序的輸出結果應該是0,即正確答案為C。
逗號表達式

  C語言中的逗號表達式的形式如下:

表達式1,表達式2,表達式3,……,表達式n

  學習逗號表達式時一定要把握它的要領:1.逗號表達式的運算過程為:從左往右逐個計算;2.逗號表達式是作為一個整體的,它的最終結果就是最后一個表達式(也即表達式n)的值;3.逗號運算符的優先級別是所有運算符中最低的。只有這樣,才能真正把握這種運算,得出正確的解答。

  2001年秋季考試中有一道選擇題(此題曾在1998年春季考試中出現過):

  若已定義x和y為double類型,則表達式:x=1y=x+3/2的值是:

A) 1 B) 2 C) 2.0 D) 2.5

  解析:該表達式就是一個逗號表達式,所以要按照運算順序先運算x=1,所以變量x的值為1.0,然后運算y=x+3/2,此表達式中需先計算二個整數相除3/2,結果為整數1,然后再與x相加,結果為2.0。由于逗號表達式x=1y=x+3/2的值就是其最后一個表達式即y=x+3/2的值,此值即為2.0,所以正確的答案應該是C。

  復合語句

  復合語句就是用一對“{}”把若干語句括起來構成一個語句組,復合語句是C語言中最重要的一種語句,語句的形式如下:語句l;語句2;…;語句n

  一個復合語句在語法上視為一條語句,在復合語句中,花括號內的語句數量不限,可以有執行語句,也可以有定義部分,定義部分應該出現在可執行語句的前面,復合語句可以嵌套使用,例如:{語句1;{語句2;…;語句n;}}。

  復合語句還可以嵌套C語言中任何結構的控制語句,如if、switch、while、for等。使用好復合語句的要害是理解和把握變量的作用域。

  2002年春季考試中有一道填空題:
  下面程序的輸出結果是__________# include <stdio.h>
main
int a=3b=2c=1
c-=++b
b=a+c
int b=5c=12
c/=b2
a-=c
printf“%d%d%d”abc
a+=--c

printf“%d%d%d”abc  解析:本題程序中函數main的首部定義了3個整形變量a、b、c,按它們的初值,可計算執行復合語句之前c的值為-2,b的值為3。進入復合語句后,變量b、c被重新定義,并賦以初值,用戶可計算出復合語句中a、b、c的值分別是2、5、1,第一個printf語句輸出“251”(沒有引號,下同),最后執行復合語句中的最后一條語句,可以得到a的值為2。變量b、c在main首部及復合語句中均被說明,在復合語句中,說明b、c的作用域只限制在本復合語句中,所以執行復合語句之后的printf語句中的b、c的輸出值與復合語句中b、c的值無關,其值應該取復合語句之前的兩個賦值語句的計算結果,即b值為3,c值為-2,也就是說,第二個printf語句的輸出結果為“23-2”,所以正確答案為“25123-2”。

  指針與一維數組

  指針與一維數組是二級C語言的必考內容,甚至有時一次考試中會出現2到3個相關的題目,因此,把握這一類題型的解答技巧是十分重要的。一般情況下,題目總是先定義一個一維數組和一個指針變量,如“int a=12345p”,然后將數組a的首地址賦值給指針變量p,使指針p指向數組a的首地址,即“p=a”,這樣就完成了數組與指針之間指向關系的建立。這是該類題目在提出問題前必須做的一件事,也是考生解答此類問題需要了解的前提條件。注重:數組a的首地址有兩種表示方法,一是直接用數組名a表示,二是用數組的第一個元素a0的地址&a0表示,這兩種表示法是完全等價的。因此,上述表達式“p=a”也可寫成“p=&a0”。通過語句“p=a”在數組與指針之間建立了指向關系之后,接下來必須弄明白以下兩組等價關系:

  第一組等價關系:以下4種表示法是等價的,它們均表示下標為i的數組元素ai(本例中,i的取值范圍為0到4):

ai pia+ip+i

  第二組等價關系:以下4種表示法也是等價的,它們均表示下標為i的數組元素ai的地址值

&ai &pi a+i p+i

  數組名a和指針p在使用時是可以相互替代的,所以凡使用a的地方均可以p替代,反之亦然。這其中要注重以下事實:a是一個常量,它的值是不可改變的,而p是一個變量,它的值是可以改變的,這是它們之間的惟一區別。

  明白了以上等價關系之后,就可以解答大部分此類題目了。

  2002年春季考試中有一道選擇題:

  若有以下定義

int a10=12345678910p=a

  則值為3的表達式是

  A)p+=2p++ B)p+=2++p

  C)p+=3p++ D)p+=2++p  解析:該題考查的主要內容就是指針與一維數組,當然它還涉及到了指針的移動以及運算符++和之間的優先級問題。首先確定,值為3的數組元素是a2,因此也可用p2、a+2或p+2表示,但題目的4個選擇答案中都沒有出現,所以要再考慮其它途徑。注重到4個表達式均為逗號表達式,它們的值應該分別等于各自最后一個表達式的值。再看表達式p+=2的作用,在進行這一運算之前,指針p指向數組元素a0,表達式p+=2使指針p向后移動了2個存儲單元,也即運算后指針p指向了數組元素a2,同樣,經過p+=3的運算后,指針p將指向數組元素a3?,F在看答案A,先經p+=2運算,使p指向a2,然后通過指針運算符引用表達式p++所指向的元素,我們知道,表達式p++的值就是p的值,所以p++的值就等于p的值,即a2的值3,它正符合題目要求,因此,A是正確答案。B表達式的值應該為4(先使p指向a3,然后通過p取值),C表達式的值應該為4(先使p指向a3,再通過p取值),D表達式的值也為4(先使p指向a2,再通過p取值,最后自增1)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
少妇激情综合网| 欧美疯狂xxxx大交乱88av| 久久亚洲精品视频| 性欧美长视频免费观看不卡| 国产精品igao视频| 久久久久久久爱| 久久九九有精品国产23| 国产精品草莓在线免费观看| 日韩电影在线观看中文字幕| 国产成人在线亚洲欧美| 亚洲日韩第一页| 久久久精品日本| 中文字幕日韩精品在线| 日韩电影中文字幕一区| 久久久久久久网站| 日韩av在线直播| 日韩av最新在线观看| 久热精品视频在线观看一区| 中国日韩欧美久久久久久久久| 夜夜狂射影院欧美极品| 91av在线播放| 欧美激情亚洲激情| 国产精品视频26uuu| 日韩av在线资源| 国产精品第3页| 国产美女精品视频| 日韩av影院在线观看| 欧美日韩性视频| 色婷婷成人综合| 日产精品久久久一区二区福利| 欧美亚洲另类激情另类| 亚洲成人久久网| 欧美一级电影免费在线观看| 色综合天天综合网国产成人网| 55夜色66夜色国产精品视频| 国产欧美精品一区二区三区介绍| 91精品国产自产在线老师啪| 国精产品一区一区三区有限在线| 日韩成人中文字幕在线观看| 日韩精品免费在线播放| 精品自在线视频| 久久久成人精品视频| www欧美xxxx| 亚洲人成伊人成综合网久久久| 亚洲午夜精品久久久久久久久久久久| 亚洲精品美女视频| 欧美激情免费看| 日韩中文字幕不卡视频| 色无极影院亚洲| 欧美最猛黑人xxxx黑人猛叫黄| 岛国精品视频在线播放| 亚洲中国色老太| 欧美性20hd另类| 欧美国产亚洲视频| 亚洲精品国精品久久99热| 97超碰蝌蚪网人人做人人爽| 欧美精品18videosex性欧美| 亚洲精品456在线播放狼人| 久久久伊人日本| 国产美女久久精品| 欧美专区日韩视频| 91亚洲国产成人久久精品网站| 疯狂做受xxxx欧美肥白少妇| 精品五月天久久| 欧美成人一区在线| 亚洲国产天堂久久国产91| 欧美超级乱淫片喷水| 国产亚洲精品久久久久久牛牛| 亚洲欧美国产精品va在线观看| 国产91在线播放九色快色| 性欧美长视频免费观看不卡| 久久国产精彩视频| 日韩在线观看免费| 亚洲国产天堂久久综合网| 国产+成+人+亚洲欧洲| 国产精品av在线| 日韩有码在线观看| 国产精品人成电影| 一区二区亚洲精品国产| 欧美激情精品久久久| 亚洲精品美女久久久久| 国产成人在线一区| 久久成年人免费电影| 亚洲日本成人女熟在线观看| 亚洲最大成人免费视频| 高潮白浆女日韩av免费看| 久久免费视频这里只有精品| 清纯唯美亚洲激情| 日韩av在线高清| 亚洲第一网站男人都懂| 欧洲永久精品大片ww免费漫画| 日本精品va在线观看| 97视频国产在线| 亚洲午夜久久久久久久| 久久精视频免费在线久久完整在线看| 国模视频一区二区三区| 国产精品一区二区久久| 高清日韩电视剧大全免费播放在线观看| 亚洲一区二区三区在线视频| 国产精品精品国产| 国产激情999| 国外成人在线播放| 日本一本a高清免费不卡| 欧美猛交免费看| 中文字幕日韩免费视频| 日本久久久久久久久| 欧美成人sm免费视频| 亚洲成人黄色在线| 欧美另类精品xxxx孕妇| 久久久精品久久| 欧美肥臀大乳一区二区免费视频| 欧美激情一区二区三区久久久| www.亚洲一区| 高清欧美性猛交xxxx| 亚洲石原莉奈一区二区在线观看| 日韩有码在线视频| 亚洲欧美日韩国产中文| 性欧美xxxx视频在线观看| 成人激情免费在线| 精品视频—区二区三区免费| 日韩在线视频线视频免费网站| 欧美日本精品在线| 成人欧美一区二区三区在线湿哒哒| 日韩在线免费观看视频| 欧美精品在线视频观看| 在线观看成人黄色| 欧美另类在线观看| 高清欧美性猛交xxxx| 亚洲美女视频网| 正在播放欧美一区| 中文字幕国产精品久久| 欧美精品久久久久久久久久| 欧美一级片一区| 55夜色66夜色国产精品视频| 欧美一乱一性一交一视频| 成人免费在线视频网址| 久久久伊人日本| 亚洲va欧美va在线观看| 国产欧美日韩丝袜精品一区| 中文字幕视频在线免费欧美日韩综合在线看| 91精品视频在线播放| 国产精品成人av性教育| 91免费福利视频| 亚洲成年人在线播放| 亚洲人成电影网| 成人日韩av在线| 亚洲a在线播放| 91在线看www| 国产+成+人+亚洲欧洲| 成人激情在线播放| 在线视频欧美日韩精品| 欧美巨乳美女视频| 亚洲精品免费一区二区三区| 亚洲精品久久久久| 欧美日韩亚洲一区二区三区| 永久免费毛片在线播放不卡| 亚洲国产古装精品网站| 亚洲综合中文字幕在线观看| 国产在线观看91精品一区| 亚洲国产精品视频在线观看| 久久久久久高潮国产精品视| 亚洲成人激情视频| 久久国产精品视频| 亚洲少妇激情视频|