资源描述:
《2019C语言程序设计 第九章 指针》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言程序设计第九章指针 一、选择题 1、指针是一种____ A、标识符 B、变量 C、内存地址 D、运算符2、显示指针变量P中的值,可以使用命令_____ A、Printf(“%d”,p);B、Printf(“%d”,*p);C、Printf(“%d”,*p);D、Printf(“%d”,p); 3、为指针变量P输入整型变量i的地址,可以使用命令____A、Scanf(“%p”,&p);B、*p=i;C、P=&I;D、*p=&I;4、若有定义void*p;int*q;float*
2、r,下面操作不对的是____A、p=q; B、q=r; C、p=r;D、r=p; 5、若有说明#definem20intn=10;下面定义不正确的是______A、Floats[m];B、Floats[m*10];C、Floats[m+n];D、Floats[m+10];6、若有定义inta={1,2,0};请问a[a[a[0]]]=______A、0 B、1 C、2 D、3 7、若有chars[10],*p=s;则下面表达式正确的是_____ A、s=p+s;B、p=s+10;C
3、、s[2]=p[4];D、p=s[0];8、定义整型指针变量p和q,下面操作不正确的是_______ A、Int*p,q=null;B、Int*p,q=null,null;C、Int*p,*q=null,null;D、Int*p,*q=null; 9、若有定义inta={1,2,3},b[3]={1,2,3};,请问a==b_______A、不能比较B、结果为真C、结果为假D、结果不确定 10、以下程序有错,错误的原因是()。 main {int*p,i;char*q,ch; p=&i
4、;q=&ch;*p=40; *p=*q; . . .} A)p和q的类型不一致,不能执行*p=*q;语句 B)*p中存放的是地址值,因此不能执行*p=40;语句 C)q没有指向具体的存储单元,所以*q没有实际意义D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句11、已有定义intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是()。 A)k=*ptr1+*ptr2;B)ptr2=k;C)p1=
5、*p2;D)*p1=p2;12、变量的指针,其含义是指该变量的()。 A)值 B)地址 C)名 D)一个标志 13、若已定义inta=5;下面对,两个语句的正确解释是()。 (1)int*p=&a; (2)*p=a; A)语句(1)和中的*p含义相同,都表示给指针变量p赋值 B)(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p C)(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给指针变量p D)(1)在对p进行说明的同时进行初始化,使p指
6、向a(2)将变量a的值赋于*p14、若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是。 A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point15、以下程序输出的结果是 voidmain{inta=5,*p1,**p2;p1=&a,p2=&p1;(*p1)++; printf(“%d”,**p2);} A)5 B)4 C)6 D)不确定16、若有说明:int*p,m=5
7、,n;以下正确的程序段是()。 A)p=&n; B)p=&n; scanf(“%d”,&p); scanf(“%d”,*p);C)scanf(“%d”,&n); D)p=&n; *p=n; *p=m 17、若有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。 A)p1=&m;p2=&p1;B)p1=&m;p2=&n;*p1=*p2;C)p1=&m;p2=p1D)p1=&m;*p2=*p1;18、已有变量定义和函数调用语句:inta=25;print_
8、value(&a);下面函数的正确输出结 果是()。 voidprint_value(int*t) {print(“%d”,++*x);} A)23 B)24 C)25 D)2619、下面判断正确的是()。 A)char*a=”china”;等价于char*a;*a=”china”; B)charstr[10]={“china”};等价于charstr[10];str={“china”};C)char*s=”china”;等价于char*s;s=”china