本文目錄一覽:
C語言指針題
.1 選擇題
1. 若有說明:int a=2, *p=a, *q=p;,則以下非法的賦值語句是(D)。
A. p=q; B. *p=*q; C. a=*q; D. q=a;
a是整型數,
int *p,*q定義了指針,
p,q是指向整型的指針。
p取得a的地址,而q取得p的地址
p,q是指針(也就是一個地址),而*p和*q是這個指針指向的整型數值(存放在這個地址的值)。
A) 把q的地址賦給p,則p和q完全一樣了,都指向一個數2
B) 把q中數據個p
C) 把q中數據給a
D) a中數據是2,不能夠給一個地址。除非*q=a
2. 若定義:int a=511, *b=a;,則printf(“%d\n”, *b);的輸出結果為:D
A. 無確定值 B. a的地址 C. 512 D. 511
int a=511,*b=a;
a 是整形變量
b 是整形指針變量,指向 a
printf(“%d\n”,*b);就是輸出指針變量 b,
所指變量的值輸出結果511
3. 已有定義 int a=2, *p1=a, *p2=a; 下面不能正確執行的賦值語句是(B)。
A. a=*p1+*p2; B. p1=a; C. p1=p2; D. a=*p1*(*p2);
47、已知在程序中定義了如下的語句:
int *P1,*P2;
int k;
p1=k;p2=k;
則下列語句中不能正確執行是( B )
A、k=*P1+*P2; B、p2=k; C、P1=P2; D、K=*P1 * (*P2);
P1 P2是指針,K是整型變量,變量怎麼可以賦值給指針呢?
A其實是執行了K=K+K(P1和P2都指向K,所以*P1 *P2其實都是指K)
C是賦值語句
D其實執行了K=K*K
4. 變量的指針,其含義是指該變量的(B)。
A. 值 B. 地址 C. 名 D. 一個標誌
5. 若有說明語句:int a, b, c, *d=c;,則能正確從鍵盤讀入三個整數分別賦給變量a、b、c的語句是(A)。
A. scanf(“%d%d%d”, a, b,
求一道C語言指針選擇題
p1=a : 表示指針p1指向數組的頭部,假設地址為0x0001。
p2=a[5] : 表示指針指向數組的第6個元素的地址(C語言的數組元素下標從0開始),假設地址為0x0006。
p1-p2,即兩個地址相減,0x0006 – 0x0001 = 0x0005, 即十進制的5。
謝謝誰可以幫忙完成張C語言的試卷 關於指針的!加急!
給你寫幾個吧,指針是C的精髓,想在軟件方面發展好好努力吧,不要工作後才後悔。
1.指針
2.60
3.20,20
4.7,1
5.因該是b=9吧,9,6
6.1,-1,-2
7.6
(1)
void
max_min(int
*a,int
*b,int
*c){
int
d;
if(*a*b){
d=*a;
*a=*b;
*b=d;
}
if(*a*c){
d=*a;
*a=*c;
*c=d;
}
if(*c*b){
d=*b;
*b=*c;
*c=d;
}
}
main()
{
int
a,b,c;
scanf(“%d,%d,%d”,a,b,c);
max_min(a,b,c);
printf(“%d,%d”,a,b);
}
原創文章,作者:XXYC,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/140325.html