c语言08,标准C语言08_01.doc
標(biāo)準(zhǔn)C語言08_01
選擇題
以下程序: B
#include
void main( ){
int aa[3][3]={{2},{4},{6}}, i,*p=&aa[0][0];
//if是數(shù)組指針int (*p)
//*p存的是一位數(shù)組,就是二維數(shù)組的第一行
for(i=0;i<2;i++){
if(i ==0) aa[i][i+1]=*p+1; //*p=2; aa[0][1]=3;
else ++p; //列地址加一為aa[0][1]
printf("%d",* p);
}
printf("\n");
}
其輸出結(jié)果是
A)23 B)26 C)33 D)36
若有定義語句:int(*p)[M]; ,其中的標(biāo)識(shí)符p是 A
A)M個(gè)指向整型變量的指針
B)指向M個(gè)整型變量的函數(shù)指針
C)一個(gè)行指針,它指向具有M個(gè)整型元素的一維數(shù)組
D)具有M個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向整型量
若有定義:int a[3][4];不能表示數(shù)組元素a[1][1]的是__D_____。
A)*(a[1]+1) B)*(&a[1][1])
C)(*(a+1)[1]) D)*(a+5)//行地址超了
若有以下定義和語句:
int s[4][5],(*ps)[5];
ps=s;
則對(duì)s數(shù)組元素的正確引用形式是 C 。
A)ps+1 B) *(ps+3) C) ps[0][2] D)* (ps+1)+3
若有定義:int a[2][3];則對(duì)a數(shù)組的第i行第j列元素值得正確引用為( A )
A、*(*(a+i)+j) B、(a+i)[j] C、*(a+i+j) D、*(a+i)+j
若有以下定義和語句,則對(duì)a數(shù)組元素地址的正確引用為( D )
int a[2][3],(*p)[3]; p=a;
A、*(p+2) B、p[2] C、p[1]+1 D、(p+1)+2
若有定義和語句:
int c[4][5], (*cp)[5]; cp=c;
則對(duì)c數(shù)組元素的引用正確的是( D )
A、 cp+1 B、*(cp+3) C、*(cp+1)+3 D、*(*cp+2)
以下與int *q[5];等價(jià)的定義語句是( C )
A、int q[5]; B、int *q; C、int *(q[5]) D、int (*q)[5]
若有定義int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[4],k;則下面程序段出是 指針數(shù)組*q[4]//存的是地址
數(shù)組指針(*q)[4]//存的是二維數(shù)組中首行地址;
for(k=0;k<4;k++) q[k]=&a[k*3];//q[k]存的是a[k*3]的地址
q[4]={&a[0], &a[3], &a[6], &a[9]}
printf(“%d\n”,q[3][0]);
*q[3]====== q[3][0]
A、8 B、16 C、20 D、輸出項(xiàng)不合法,結(jié)果不確定
下面程序的輸出結(jié)果是( D )。
int a[2][3]={1,2,3,4,5,6},*p[2],i;//指針數(shù)組保存地址
for (i=0;i<2;++i) *(p+i)=a[i];//首行地址
for (i=0;i<3;i++) printf("%d",*(*(p+1)+i));
A)編譯出錯(cuò),無法運(yùn)行 B)3 4 5
C)2 3 4 D)4 5 6
若已定義:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p=a[0];
(*prt)[3]//數(shù)組指針,保存二維的首行
*p=a[0]; //指針數(shù)組,保存一維地址則能夠正確表示數(shù)組元素a[1][2]的表達(dá)式是( B )A、 *((*prt+1)[2]) B、*(*(p+5)) C、(*prt+1)+2 D、*(*(a+1)+2)
如下程序的輸出結(jié)果
總結(jié)
以上是生活随笔為你收集整理的c语言08,标准C语言08_01.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 获取ip地址_老杜带你学Jav
- 下一篇: 三年级优秀书籍推荐_三年级课外推荐阅读书