1、p=&q=&b;r=p; p=q;q=r;printf(%d,%d,%d,%dn,*p,*q,a,b);程序运行后的输出结果是A) 8,7,8,7B) 7,8,7,8C) 8,7,7,8D) 7,8,8,7(5) 设有定义:int a,*pa=&以下scanf语句中能正确为变量a读入数据的是A) scanf(“%d”,pa) ;B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ;D) scanf(“%d”,*pa) ;(6) 设有定义:int n=0,*p=&n,*q=&p;则以下选项中,正确的赋值语句是A) p=1;B) *q=2;C) q=p;D) *p=5;(7)
2、 有以下程序以下是引用片段:voidfun(char*a,char*b) a=b;(*a)+; main() c1=A,c2=a,*p1,*p2; p1=&c1;p2=&c2;fun(p1,p2);printf(“%c%cn”,c1,c2);A) AbB) aaC) AaD) Bb(8) 若程序中已包含头文件stdio.h, 以下选项中,正确运用指针变量的程序段是A) int *i=NULL; B) float *f=NULL;scanf(&d,f); *f=10.5;C) char t=m, *c=&t;D) long *L;*c=& L=0;(9) 有以下程序#inc1udemain()
3、printf(,NULL);A) 0B) 1C) -1D) NULL没定义,出错(10) 已定义以下函数int fun (int *p) return *p: 该函数的返回值是A) 不确定的值B) 形参p中存放的值C) 形参p所指存储单元中的值D) 形参p的地址值(11) 下列函数定义中,会出现编译错误的是A) max(int x, int y,int *z)B) int max(int x,y) *z=xy ? x:y; int z ;z=xreturnC) max (int x,int y) D) int y) int z; return(xy?x:y) ;z=x return(z);(1
4、2) 有以下程序段inta=5,*b,*c;c=&b=& 程序在执行了c=&b:语句后,表达式:*c的值是A) 变量a的地址B) 变量b中的值C) 变量a中的值D) 变量b的地址(13) 有以下程序a,b,c,*d;a=;b=0xbc;c=xab;d=0127%c%c%c%cn,a,b,c,*d);编译时出现错误,以下叙述中正确的是A) 程序中只有a=;语句不正确B) b=0xbc;C) d=D) a=;和c=0xab;语句都不正确(14) 若有以下定义和语句#includeinta=4,b=3,*p,*q,*w;w=q;q=NULL;则以下选项中错误的语句是A) *q=0;B) w=p;C)
5、 *p=a;D) *p=*w;(15) 有以下程序*f(int*x,int*y) if(*xreturnelse a=7,b=8,*p,*q,*r; p=& q=& r=f(p,q); printf(“%d,%d,%d”,*p,*q,*r);执行后输出结果是A) 7,8,8B) 7,8,7C) 8,7,7D) 8,7,8(16) 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是A) p=q;B) *p=*q;C) n=*q;D) p=n;(17) 有以下程序*c,intd) *c=*c+1;d=d+1;printf(“%c,%c,”,*c,d);a=A,b=a;fun(
6、&b,a);printf(“%c,%cn”,a,b);A)B,a,B,aB) a,B,a,BC) A,b,A,bD) b,B,A,b(18) 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A) scanf(%d%d%d,&a,&b,d);B) scanf(b,&d);C) scanf(,a,b,d);D) scanf(,a,b,*d);(19) 若定义:int a=511,*b=&, 则printf(,*b);的输出结果为A) 无确定值B) a的地址C) 512D) 511(20) 若有说明:int i, j=2,*p=&i;,则能完成
7、i=j赋值功能的语句是A) i=*p;B) p*=*&j;C) i=&D) i=*p;(21) 下列程序段的输出结果是A) 2 1 4 3B) 1 2 1 2C) 1 2 3 4D) 2 1 1 2fun(int*x,printf(“%d%d”,*y);*x=3;*y=4;x=1,y=2;y,&x);printf(“%d%d”,x,y);(22) 下列程序的运行结果是A) 6 3B) 3 6C) 编译出错D) 0 0*k;k=a;b=k;a=3,b=6,*x=&a,*y=&fun(x,y);b);(23) 有如下程序段int *p,a=10,b=1 a=*p+b;执行该程序段后,a的值为A)
8、12B) 11C) 10D) 编译出错(24) 有以下函数char fun(char *p) return p;A) 无确切的值B) 形参p中存放的地址值B) 一个临时存储单元的地址D) 形参p自身的地址值(25) 请选出正确的程序段 *p; B) int *s, k; scanf(%d,p);*s=100; C) int D) int char *p, c; char *p, e; s=&k; p=& p=& *p=a s=p; *s=1; (26) 若有以下定义和语句:double r=99, *p=&r;*p=r;则以下正确的叙述是A) 以下两处的*p含义相同,都说明给指针变量p赋值B) 在double r=99, *p=&中,把r的地址赋值给了p所指的存储单元C) 语句*p
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1