C语言练习题2014-1(8)

2019-08-31 12:35

A) 非法 B) a[4]的地址 C) 3 D) 5

42.若有下列说明和语句:int a[4][5], (*p)[5]; p = a; 则对a数组元素的正确引用是 。

A) p+1 B) *(p+3) C) *(p+1)+3 D) *(*p+2)

44.若有以下定义和语句,则输出结果为 。

char *sp=”\\t\\b\\\\\\0English\\n”; printf(“%d”,strlen(sp));

A)12 B)3 C)17 D)13

47.设int x;,则经过 后,语句*px=0;可将x值置为0。

A) int * px; B)int * px=&x; C) float * px; D)float * px=&x;

48.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是 。

A) i=*p; B) *p=*&j; C) i=&j; D) i=**p;

51. 若有以下定义:

int a[10],*p=a; 则*(p+3)表示的是 。

A)元素a[3]的地址 B)元素a[3]的值 C)元素a[4]的地址 D)元素a[4]的值 52. 若有如下语句: int *p1,*p2;则其中int所指的是 。

A)p1的类型 B)*p1和*p2的类型

C)p2的类型 D)p1和p2所能指向变量的类型 53. 有如下语句:

int a=5,b=8,*p1,*p2; p1=&a; p2=&b;

若有如下表达式: p1=p2; 则能正确表示该语句执行后变量在内存中的存储结构的图示为 。

A) B) p1 5 a p1 5 a p2 8 b p2 8 b

C) D) p1 5 a p1 5 a

p2 8 b p2 8 b

54. 有如下语句 int a=10,b=20,*p1,*p2; p1=&a; p2=&b; 如图1所示;若实现如图2所示的存储结构,可选用的赋值语句是: 。

p1 p2 p1 p2

a b a b 10 20 10 20 图1 图2

A)*p1=*p2 B)p1=p2 C)p1=*p2 D)*p1=p2

55. 若有说明:int i, j , *p=&i ;则下面语句中与i =j;等价的语句是: 。

A)*p=*&j ; B)i = *p C)i=&j ; D)i=**p 56. 以下程序的输出结果是 。 main()

{char *s=\int k=0,a=0,b=0; do {k++;

if (k%2==0) {a=a+s[k]-'0';continue;} b=b+s[k]-'0?; a=a+s[k]-'0'; }while(s[k+1]);

printf(\}

A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=3 57. 设有以下定义:

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

则下列能正确表示数组元素a[1][2]的表达式是 。 A)*((*ptr+1)[2]) B)*(*(p+5))

C)(*ptr+1)+2 D)*(*(a+1)+2) 58. 执行以下程序后,y的值是 。 main()

{ int a[]={2,4,6,8,10}; int y=1,x,*p; p=&a[1];

for(x=0;x<3;x++)

y+=*(p+x); printf(\ }

A) 17 B) 18 C) 19 D) 20 59. 阅读程序

#include main()

{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p; p=a;

printf(\ printf(\ }

该程序有两个printf语句,假设第一个printf语句输出的是194,则第二个printf语句输出结果是 。

A)203 B) 204 C) 1a4 D) 1a6

61.以下程序的输出结果是 。 #include

fut(int * *s,int p[2][3]) {* *s=p[1][1];} main()

{int a[2][3]={1,3,5,7,9,11},*p; p=(int *)malloc(sizeof(int)); fut(&p,a);

printf(\ }

A) 1 B) 7 C) 9 D) 11

62. int a[10],*p;下列表达式正确的是 。

A) p=a; B) p=a[0]; C) *p=&a[0]; D) p=&a;

63. 执行以下程序段后y的值为 。 static int a[]={1,3,5,7,9}; int y,x,*ptr; y=1;

ptr=&a[1];

for(x=0;x<3;x++) y*=*(ptr+x);

A) 105 B) 15 C) 945 D) 无确定值 64.执行以下程序段后,m的值是 。 static int a[]={7,4,6,3,10}; int m,k,*ptr; m=10; ptr=&a[0];

for(k=0;k<5;k++)

m=(*(ptr+k)

A) 10 B) 7 C) 4 D)3 65.执行以下程序段后,m的值为 。 static int a[2][3]={1,2,3,4,5,6}; int m,*ptr; ptr=&a[0][0];

m=(*ptr)*(*(ptr+2))*(*(ptr+4));

A) 15 B)48 C) 24 D) 无定值

67.以下程序的输出结果是 。 Static int a[2][3]={1,2,3,4,5,6},(*p)[2],I; p=a;

for (I=0;I<3;I++)

printf(\

A) 输出不确定 B) 3 4 5 C) 2 3 4 D) 4 5 6

68.若有以下定义

int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是 。

A) p+=2,*(p++) B) p+=2,*++p

C) p+=3,*p++ D)p+=2,++*p

69.若有以下定义和语句

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

则不能表示a数组元素的表达式是 。

A) *p B) a[10] C) *a D) a[p-a] 四、读程序写结果题

1.以下程序的执行结果是 。 # include main ( )

{ int i, j; int ﹡p,﹡q; i=2; j=10; p=&i; q=&j; ﹡p=10; ﹡q=2; printf(〞i=%d, j=%d\\n 〞, i, j); } 2.以下程序的执行结果是 。 # include main ( )

{ int ﹡﹡p,﹡q,i; i=10; q=&i; p=&q; printf(〞%d\\n 〞, ﹡﹡p); } 4.以下程序的执行结果是 。 # include main ( )

{ int ﹡p, i; i=5; p=&i; i=﹡p+10; printf(〞i=%d\\n〞, i); } 5.以下程序的执行结果是 。 # include main ( )

{ char s[ ]=”abcdefg”; char ﹡p; p=s; printf(〞ch=%c\\n〞,

﹡(p+5)); }

6.以下程序的执行结果是 。 # include

main ( )

{ int a[ ]={2,3,4}; int s, i,﹡p; s=1; p=a;

for (i=0; i<3; i++) s﹡=﹡(p+i); printf(〞s=%d\\n〞, s); } 7.以下程序的执行结果是 。 # include

main ( )

{ int a[ ]={1,2,3,4,5,6},﹡p; for (p=&a[5];p>=a;p﹣﹣)

printf(〞%d〞, ﹡p); printf(〞\\n〞); } 8.以下程序的执行结果是 。 # include main ( )

{ char ch[2][5]={”6934”,”8254”},﹡p[2]; int i, j, s=0;

for (i=0; i<2; i++) p[i]=ch[i]; for (i=0; i<2; i++)

for (j=0; p[i][j]>?\\0?&& p[i][j]<=?9?; j+=2)

s=10﹡s+p[i][j]-?0?; printf(〞%d\\n〞, s); }

9.以下程序的执行结果是 。

# include

main ( )

{ char ﹡p1,﹡p2, str[20]=”xyz”; p1=”abcd”; p2=”ABCD”; strcpy (str+1, strcat (p1+1,p2+1)); printf(〞%s〞, str); }

10.以下程序的执行结果是 。

#include

void main(void)

{char *s, *s1 = “here is”, *s2 = “key”;

s = s1;

while (*s1!=?\\0?) s1++; while (*s1++=*s2++); s2 = s;

while (*s2!=?\\0?) s2++; printf(“%d\\n”, s2-s);

}

11.以下程序的执行结果是 。

#include void main(void)

{static int a[] = {1, 3, 5, 7}; int *p[3] = {a+2, a+1, a}; int **q = p;

printf(“%d\\n”, *(p[0]+1) + **(q+2));

}

12.以下程序的执行结果是 。 #include

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

void main(void)

{ int a[2][3] = {1,3,5,7,9,11}, *p; p = (int *) malloc(sizeof(int)); fut(&p,a);

printf(\}

13.以下程序的执行结果是 。

#include void main(void)

{ static char a[]=\char *p1,*p2; int k;

p1=a; p2=b;

for(k=0;k<=7;k++)

if (*(p1+k)==*(p2+k)) printf(\ printf(\

}


C语言练习题2014-1(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《计算机组成原理》第06章在线测试

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

马上注册会员

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