第九章单元测试
- 下面四段程序中,能正确输出变量a的值的是( )。
- 关于指针和指针变量,下面说法正确的是( )。
- 关于直接寻址和间接寻址,下面说法错误的是( )。
- 关于指针变量的属性以及它是否占用内存空间,下面说法正确的是( )。
- 要定义两个指针变量,下面代码正确的是( )。
- 若有定义:
int *p;
则以下说法正确的是( )。 - 关于指针变量指向哪里,下面说法正确的是( )。
- 若有定义
int x,*p;
则能使p指向x的表达式是( )。 - 若有定义:
int *p, a=1, b;
则以下正确的程序段是( )。 - 若有定义:
int a=511, *b=&a;
则printf("%d\n", *b)的输出结果为( )。
A:int a=1, *p; *p=&a; printf("%d",*p);
B:int a=1,*p; *p=a; printf("%d",*p);
C:int a=1,*p=a; printf("%d",*p);
D:int a=1, *p=&a; printf("%d",*p);
答案:int a=1, *p=&a; printf("%d",*p);
A:指针和指针变量是同一个东西
B:指针和指针变量各自有各自的范畴,互相之间没有关系
C:指针变量的范畴包含着指针的范畴
D:指针的范畴包含着指针变量的范畴
A:直接寻址比间接寻址直观
B:直接寻址不需要指针
C:间接寻址必须用指针
D:间接寻址比直接寻址高效
A:指针变量的值是一个整数
B:指针变量既有值,又有地址
C:char *型的指针变量,占1字节的内存空间
D:指针变量不占内存空间
A:int *p1, int *p2;
B:int *p1,*p2;
C:int* p1,p2;
D:int *(p1,p2);
A:变量类型是int
B:变量名是p
C:变量名是*p
D:变量的基类型是int*
A:若定义指针变量(局部自动型)但是不赋值,则它指向内存0单元处
B:若定义指针变量并且赋值为NULL,表示它指向内存0单元处的对象
C:若定义指针变量(局部自动型)但是不赋值,则它不指向任何对象
D:若定义指针变量并且赋值为NULL,表示它不指向任何实际对象
A:p=*x
B:p=&x
C:*p=x
D:p=x
A:p=&b; scanf("%d",&p);
B:p=&b; scanf("%d",p);
C:p=&b; scanf("%d",*p);
D:scanf("%d", &b); *p=b;
A:511
B:不确定值
C:b的地址
D:a的地址
温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!