c語言的避雷針之指標習題精選

2021-06-16 16:35:01 字數 2964 閱讀 3897

若有定義:int x,*pb; 則以下正確的賦值表示式是( )

a *pb=&x;

b pb=x;

c pb=&x;

d *pb=*x;

參***

c執行以下程式後,a的值為

main()

a -1b 1

c 0d 4

參***

c下面程式中呼叫scanf 函式給變數a輸入數值的方法是錯誤的,其錯誤原因是()

main()

a *p表示的是指標變數p的位址;

b *p表示的是變數a的值,而不是變數a的位址

c *p表示的是指標變數p的值

d *p只能用來說明p是乙個指標變數

參***

b若有int k=2,*ptr1,*ptr2;且ptr1和ptr2均已指向變數k,下面不能正確執行的語句是()

a k=*ptr1+*ptr2;

b ptr2=k;

c ptr1=ptr2;

d k=*ptr1*(*ptr2);

參***

b若有c

語言語句int *point a=4;和point &a;下面均代表位址的一組選項是( )

a a,point,*&a

b &*a,&a,*point

c *&point,*point,&a

d &a,&*point,point

參***

d若有說明:int *p,m=5,n;下面正確的程式段是

a p=&n; scanf(「%d」,&p);

b p=&n;scanf(「%d」,*p);

c scanf(「%d」,&n); *p=n;

d p=&n;*p=m;

參***

d設char *s=」\ta\017bc」;則指標變數s指向字串所佔的位元組數是a 9

b 5c 6

d 7參***

c下面程式段中,for迴圈的執行次數是( )

char *s=」\ta\018bc」;

for( ; s!=』\0』;s++) printf(「*」);a 9

b 5c 6

d 7參***

c下面能正確進行字串賦值操作的是

a char s[5]=;

b char s[5]=;

c char *s s="abcde";

d char *s; scanf(「%s」,s);

參***

c在c程式中,指標變能夠賦__1__值或__2__值。

參***

1:位址

2:null

有以下程式

void f( int y,int *x)

main( )

執行後輸出的結果是__1__.

參***

1:8 4

設有定義:int n,*k=&n;以下語句將利用指標變數k讀寫變數n中的內容,請將語句補充完整。

scanf(「%d, 」__1__ );

printf(「%d\n」, __2__。);

參***

1:k2:*k

設有以下程式:

main()

執行該程式後,a的值為__1__ ,b的值為__2__.

參***

1:02:7

若有以下定義,則不移動指標p,且通過指標p引用值為98的陣列元素的表示式是 __1__ 。

int w[10]=, *p=w;

參***

1: p[5] 

或 *(p+5)

若有如下圖所示五個連續的int型別的儲存單元並賦值如下圖,a[0]的位址小於a[4]的位址。p和s是基型別為int的指標變數。請對以下問題進行填空。

a[0] a[1] a[2] a[3] a[4]

┌──┬──┬──┬──┬──┐

│ 22 │ 33 │ 44 │ 55 │ 66 │

└──┴──┴──┴──┴──┘

1,若p已指向儲存單元a[1]。通過指標p,給s賦值,使s指向最後乙個儲存單元a[4]的語句是

__1__2,若指標s指向儲存單元a[2],p指向儲存單元a[0],表示式s-p的值是__2__.

參***

1: s=p+3

2:2下面程式的執行結果是

char str=」abc\0def\0ghi」,*p=str;

printf(「%s」,p+5);

參***

ef下面程式段的執行結果根據c

語言特點

正確的是_________________________。

char a=」123456789」,*p;

int i=0;

p=a;

while( *p)

puts(a);

參***

*2*4*6*8*

下面程式的的輸出結果是

#include 「stdio.h」

s(char *s)

main()

參***

6#include

main( )

printf(「%d,%d,%d,%d\n」,a,b,c,d);

}參***

1,3,4,1

#include

main()

參***

*(parray+0)=1

*(parray+1)=2

*(parray+2)=3

*(parray+3)=4

*(parray+4)=5

*(parray+5)=6

在主函式中輸入8個整數,呼叫函式對其進行排序(從小到大),排序方法不限,最後在主函式中輸出結果。

main()

sort(p,n)

int *p,n;

} }}通過指標將乙個字串反向。

#include

void main()

cp2--;

n = n/2;

for(i = 0;i

puts(ch);

C語言基礎 C語言指標 3 指標的指標

上節課,我們講解了一些注意的事項以及指標的寫法,這節課我們來講解一下什麼叫做指標的指標.指標的指標,顧名思義就是指向指標的指標,當有乙個定義了乙個整型變數,定義乙個指標變數指向該整型變數,那麼指標變數存的位址就是整型變數的位址,而指標的指標指向該指標,那麼存的就是該指標的位址,下面我們看看示意圖 在...

C語言指標(2) 指標的應用

include include void swap int x,int y intmain 執行結果 交換前a 1,b 2 交換後a 2,b 1 請按任意鍵繼續.可以用乙個指標變數指向乙個陣列元素。例如 int a 10 int p a 0 當然定義時也可寫成 int p a include inc...

《C語言解惑》 2 11 指標的困惑

例2.17 分析下面程式的執行結果。include void main 這個程式執行後給出乙個奇怪的輸出 50,1250 a p 的表示式是對的,即 225 50 但 bx p 應是 50 25 25 50 為何變成1250了呢?原來程式多了乙個 號,使計算c的表示式變為 c b x 也就是原來 被...