自考“高級語言程序設計”習題答案詳解(27) -自考串講筆記
11.若有下面的程序片段,則對數(shù)組元素的錯誤弓D用是( )
int a[12]={0},*p[3],* *pp,i;
for( i=0;i<3;i++) p=&a[i+4];
pp= P;
?、賞p[0][1] ②a[10]
?、?p[3][l] ④*(*(p+2)+2)
「解」上述代碼定義變量a是有12個整型元素的數(shù)組,它的初值全是0.p是有三個元素的指針數(shù)組,每個指針能指向整型變量。哪是指針的指針,它能指向一個指向整型變量的指針, i是一個整型變量。執(zhí)行代碼for(i=0;i<3;i++) P=&a[i+4] 使指針數(shù)組 p的元素 p[0]指向 a[4] ,p[l]指向a[5] ,p[2]指向 a[6].代碼pp=p使指針變量pp指向p[0].①代碼pp[0][l] 用指針表達可等價地寫成*(*pp+l)。其中*pp就是 p[0],p[0]的值是&a[4],*pp+1的值是&a[4]+1=&a[5],*(*pp+1)就是a[5].②代碼a[l0] 當然是引用數(shù)組a的元素。③代碼p[3][1]數(shù)組p只有三個元素,沒有p[3],所以是錯誤的。④代碼*(*(p+2)+2)中的(p+2)是 &p[2],*(p+2)是 p[2],其值是&a[6],*(p+2)+2的值是&a[8],*(*(p+2)+2)引用的是a[8].所以解答是@。
12.若有如下定義和語句,則輸出結果是( )
int * *pp, *p,a=10,b=20;
PP=&p; P=&a; P=&b; printf(“%d%d\n”,*p,* *PP);
?、?0, 20 ② 10, 10
?、?20, 10 ④ 20, 20
「解」上述代碼定義變量pp是指針的指針,它能指向一個指向整型變量的指針。定義變量p是指針,它能指向一個整型變量。a是一個整型變量,它有初值10.b也是一個整型變量,它有初值20.代碼 pp=&p 使pp指向p,p=&a使p指向a,p=&b又使p指向b,不再指向a.所以。p是引用b,其值為20.* *pp是通過pp間接引用p,再通過p間接引用b,所以也是20.所以解答是④。
13.若有以下定義和語句,則對w數(shù)組元素的非法引用是( )
int w[2][3],(* pw)[3]; pw= w;
?、?*(w[0]+2) ②*pw[2]
?、踦w[0][0] ④*(pw[l]+2)
「解」上述代碼定義2行3列的二維數(shù)組w,定義能指向有3個整型元素一維數(shù)組的指針pw,并讓pw指向數(shù)組w的第一行。①代碼*(w[0]+2)中的w[0]是&w[0][0],w[0]+2是&w[0][2],所以*(w[0]+2)就是w[0][2].②代碼*pw[2]中的pw[2]是&w[2][0],該數(shù)組w只有2行,沒有w[2][0],所以代碼*pw[2]是對數(shù)組W元素的非法引用。③代碼pw[0][0]就是w[0][0].④代碼*(pw[l]+2)中的pw[1]就是*(pw+l),即&w[l][0],pw[l]+2就是&w[l][2],所以*(pw[1]+2)就是w[1][2].所以解答是②。
5.2 填充題
1.“* ”稱為___________運算符,“&”稱為_________運算符。
「解」單目運算符“*”稱為取內(nèi)容運算符,單目運算符“&”稱為取地址運算符。
2.若兩個指針變量指向同一個數(shù)組的不同元素,可以進行減法運算和___________運算。
「解」若兩個指針變量指向同一個數(shù)組的不同元素,可以進行減法運算求它們所指元素相差多少元素。進行關系運算,判定它們所指元素的前后,或是否指向同一個元素等。
3.設 int a[10] ,*p=a;則對a[3]的引用可以是p[______________] 和*(p_________)。
「解」若指針p指向數(shù)組a的首元素,則引用a[3]用指針p可以寫成p[3]和*(p+3)。
4.若d是已定義的雙精度變量,再定義一個指向d的指針變量p的代碼是___________.
「解」若d是一個雙精度變量,定義能指向它的指針變量p可以用以下代碼double *p=&d.
5.&后跟變量名,表示該變量的_________;*后跟指針變量名,表示該指針變量_______.&后跟的是指針變量名,表示該指針變量的_____________.
「解」單目運算符&是取地址運算符,&后跟變量名,就表示該變量的地址。單目運算符*是取內(nèi)容運算符,*后跟指針變量名,表示該指針變量所指變量的內(nèi)容。若&后跟的是指針變量名,就表示該指針變量的地址。若知道指針變量的地址,欲通過指針變量的地址引用指針變量所指變量的內(nèi)容,需要連續(xù)兩次取內(nèi)容運算。
6.設有char *a=“ABCD”,則printf(“%s”,a)的輸出是_______;而printf(“%c”,*a)的輸出是______.
「解」若給字符指針變量a賦一個字符串常量“ABCD”,實際上是給a賦指向字符串常量首字符‘A’的指針。程序通過它訪問字符串中的各字符。如用代碼printf(“%s”,a) 輸出這個字符串常量“ABCD”的字符列ABCD,用代碼printf(“%c”,*a)輸出a所指的字符 A.
2.部分稿件來源于網(wǎng)絡,如有不實或侵權,請聯(lián)系我們溝通解決。最新官方信息請以湖北省教育考試院及各教育官網(wǎng)為準!
-
112023-03湖北自考《運輸保險》精選習題及答案匯總湖北自考《運輸保險》精選習題及答案匯總
-
112023-03湖北自考《運輸保險》精選習題及答案(5)湖北自考《運輸保險》精選習題及答案(5)
-
112023-03湖北自考《運輸保險》精選習題及答案(4)湖北自考《運輸保險》精選習題及答案(4)
-
112023-03湖北自考《運輸保險》精選習題及答案(3)湖北自考《運輸保險》精選習題及答案(3)
-
112023-03湖北自考《運輸保險》精選習題及答案(2)湖北自考《運輸保險》精選習題及答案(2)
-
112023-03湖北自考《運輸保險》精選習題及答案(1)湖北自考《運輸保險》精選習題及答案(1)
已幫助10w萬+意向?qū)W歷提升用戶成功上岸
-
毛澤東思想概論
培訓優(yōu)勢:課時考點精講+刷題+沖刺,熟練應對考試題型。全程督促學習,安排好學習計劃。 毛澤東思想概論...自考培訓 -
英語二
本課程既是一門語言實踐課程,也是拓寬知識、了解世界文化的重要素質(zhì)課程,它以培養(yǎng)學習者的綜合語言應用能力為目標,使他們在學習、工作和社會交往中能夠使用英語進行有效的交流。 英語二...自考培訓 -
馬克思主義基本原理概論
本書包括兩個部分:自學考試大綱和基本原理。主要內(nèi)容有,馬克思主義是關于工人階級和人類解放的科學,物質(zhì)世界及其發(fā)展規(guī)律,認識的本質(zhì)及其規(guī)律,人類社會及其發(fā)展規(guī)律,資本主義的形成及其發(fā)展,資本主義發(fā)展的歷史進程,社會主義社會及其進程,共產(chǎn)主義社會及其進程等。 馬克思主義基本原理概論...自考培訓 -
思想道德修養(yǎng)與法律基礎
《思想道德修養(yǎng)與法律基礎》課具有鮮明的政治性、思想性、理論性、針對性、科學性、知識性以及實踐性和修養(yǎng)性。它包羅政治、思想、道德、心理本質(zhì)、學習成才和法律本質(zhì)等內(nèi)容,指導和回答大學生在人生、抱負、信念等方面遍及關心和迫切需要解決的問題。 思想道德修養(yǎng)與法律基礎...自考培訓 -
中國近代史綱要
“中國近現(xiàn)代史綱要”全國高等教育自學考試指定教材,依據(jù)中央審定的普通高等學?!爸袊F(xiàn)代史綱要”編寫大綱以及馬克思主義理論研究和建設工程重點教材《中國近現(xiàn)代史綱要》,結合自學考試的特點設計了十章,集中講述1840年鴉片戰(zhàn)爭爆發(fā)一直到2007年中國共產(chǎn)黨第十七次全國代表大會召開的160多年的中國近現(xiàn)代歷史。 中國近代史綱要...自考培訓
掃一掃關注微信公眾號
隨時獲取湖北省自考政策、通知、公告以及各類學習資料、學習方法、課程。