C语言指针章节选择题(3)

2019-08-31 15:16

f(p,a);

printf(\,*p); }

f(int *s,int p[ ][3]) {*s=p[1][1];}

A) 1 B) 4 C) 7 D) 5

65. 以下程序的输出结果是: main()

{char *s=\;

int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) {switch(s[k]) {case '1':i=0; case '2':i=1; case '3':i=2; case '4':i=3; }

v[i]++; }

for(k=0;k<4;k++) printf(\ \,v[k]); }

A) 4 2 1 1 B) 0 0 0 8 C) 4 6 7 8 D) 8 8 8 8

66. 以下程序的输出结果是 #include main()

{ char *p1,*p2,str[50]=\; p1=\;p2=\;

strcpy(str+1,p2+1);strcpy(str+3,p1+3); printf(\,str); }

A) AfghdEFG B) Abfhd C) Afghd D) Afgd

67. 若已定义:int a[9],*p=a;并在以后的语句中未改变P的值,不能表示a[1]地址的表达式是: A) p+1 B) a+1 C) a++ D) ++P

68. 以下程序的输出结果是 main()

{ char a[10]={'1','2','3','4','5','6','7','8','9',0},*P; int i;i=8;p=a+i; printf(\,p-3);

}

A) 6 B) 6789 C) '6' D) 789

69. 下列程序执行后的输出的结果是 main()

{int a[3][3],*p;p=&a[0][0]; for(i=0; i<9;i++) p[i]=i+1; printf(\}

A) 3 B) 6

C) 9 D) 随机数

70. 下列程序执行后的输出的结果是

void func(int *a,int b[ ]){b[0]=*a+6;} main()

{int a,b[5];a=0;b[0]=3; func(&a,b);

printf(\}

A) 6 B) 7 C) 8 D) 9

71. 下列程序运行后的输出结果是 void fun(int *x,int *y)

{printf(\,*x,*y);*x=3;*y=4;} main()

{int x=1,y=2; fun(&x,&y);

printf(\}

A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2

72. 下列程序的输出结果是 main()

{int a[ ]={1,2,3,4,5,6,7,8,9,0},*P; p=a;printf( \,*p+9); }

A) 0 B) 1 C) 10 D) 9

73. 以下程序运行后,输出的结果是 main()

{char *s=\;s+=2;printf(\,s);}

A) cde B) 字符C的ASCII码值

C) 字符C的地址 D) 出错

74. 现已定义:char b[5],*p=b;下列正确的赋值语句是 A) b=\; B) *b=\; C) p=\; D) *p=\;

75. 现已定义:char s[10],*p=s;下列不正确的赋值语句是 A) p=s+5; B) s=[p+5]; C) s[2]=p[4]; D) *p=s[0];

76. 现有定义语句:char **s;下列正确的赋值语句是 A) s=\; B) *s=\; C) **s=\; D) *s='A';

77. 现有定义语句:char *p,* q;下列正确的赋值语句是 A) p*=3; B) p/=q; C) p+=3; D) p+=q;

78. 说明语句\ (*p)();\的含义是 A) P是一个指向一维数组的指针变量

B) P是指针变量,它指向一个整型数据的指针

C) P是一个指向函数的指针,该函数的返回值为整型 D) 以上答案都不对

79. 下列程序段执行后,变量i的正确结果是 int i;

char *s=\; for(i=0;*s++;i++);

A) 7 B) 8 C) 9 D) 10

80. 已知定义\ a[ ]={1,2,3,4},y,*p=&a[1];\执行y=(*- -p)++后,y的值是 A) 0 B) 1 C) 2 D) 3

81. 已知定义\ b[ ]={1,2,3,4},y,*p=b;\执行y=*p++后,y的值是

A) 1 B) 2 C) 3 D) 4

82. 已知定义\ *a,b[5];\,并执行了a=malloc(80);之后, 以下语句中正确的是

A) scanf(\,*a); B) b=a;

C) b=\; D) a=\;

83. C语言的说明语句\ *p[5];\的 含义是

A) P是一个指针数组,其数组的每一个元素是指向字符的指针 B) P是一个指针,指向一个数组,数组的元素为字符型 C) A和B均不对,但它是C语言正确的语句 D) C语言不允许这样的说明语句

84. 若有以下说明和语句,且0<=i<10,则对数组元素的错误引用是 int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,i; p=a;

A) *(a+i) B) a[p-a] C) p+i D) *(&a[i])

85. 若有以下说明和语句,且0

A) *(a+i) B) a[p-a] C) p+i D) *(&a[i]) C

86. 在以下说明中,标识符prt是 int (*prt)[3]; A) 说明不合法

B) 是一指针数组名,每个元素是一个指向整型变量的指针 C) 是一个指针,它指向一个具有三个整型元素的一维数组 D) 是一个指向整型变量的指针

87. 下列程序的输出结果是 #include main( )

{int a[ ]={1,2,3,4,5,6},*p; p=a;

*(p+3)+=2;

printf(\}

A) 0,5 B) 1,5 C) 0,6 D) 1,6

88. 与以下说明语句等价的说明语句是 int *p[4];

A) int p[4]; B) int *p; C) int *(p[4]); D) int(*p)[4]; C

89. 若有说明语句\ a[4][10];\且0<=i<4,0<=j<10, 则对数组元素a[i][j]的错误引用是

A) *(&a[0][0]+10*i+j) B) *(a+i)[j] C) (*(*a+i)+j) D) *(a[i]+j)

90. 若有说明语句\ a[4][3],b[3][4],(*prt) [3];\, 且0<=i<3,则下列正确的赋值语句是

A) prt=a; B) prt=b; C) prt=b[i]; D) prt=a[i];

91. 下面程序输出的结果是 # include main ( )

{int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i; for(i=0;i<4;i++) p[i]=&a[i*3];

printf (\}

A) 输出项不合法,输出结果确定 B) 6 C) 8 D) 12

92. 若在C程序中有以下说明和语句,则下面表示的都是对数组元素 的正确引用的是(其中0<=i<4, 0<=j<3) main( )

{int a[4][3]={0},*ptr[3],i,j; ptr=a; . . . }

A) a[i][j], a[i]+j, *(*(a+i)+j) B) *(ptr+i)[j], ptr[i]+j, *(*(ptr+i)+j) C) *(ptr+i)[j], *(a+i)[j], *(ptr+i) D) ptr[i][j], *(ptr[i]+j),*(a[i]+j)

93. 下列程序的输出结果是 #include main()

{int a[20],*p[4],i,j,k=0; for(i=0;i<20;i++) a[i]=i;

for(i=0;i<4;i++) p[i]=&a[i*(i+1)]; for(i=0;i<4;i++) k=k+*(p[i]+i); printf(\}

A) 10 B) 26

C) 6 D) 数组元素引用不合法,输出结果不定

94. 若有以下说明和语句,则对a数组元素的错误引用是


C语言指针章节选择题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2014年药学专业知识(二)药物化学部分(模拟试卷六)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: