★实验任务
好不容易到了 W.C 门前,Yellowstar 却被管厕所的老大爷拦住了去路。
“什么人?给我站住!这可是福大计算机系专用厕所!闲人免进!”
“可我就是福大计算机……”
“就你?我福大计算机男的高富帅,女的白富美,怎么会有你这样的屌丝码农。不过,
看你憋得怪可怜的,就给你一次机会。我问你十道问题,你要是能都答对,就放你进去。”
老大爷的十个问题如下:
1.关于指针,下列说法错误的是?
A.指针根据其所指向变量的类型的不同,其所占用内存大小也不同;
B.指针中存放的实际上是内存单元的地址;
C.可以在指针定义的同时对其进行初始化;
D.相同类型的指针之间可以相互赋值;
2.对于基类型相同的两个指针变量,没有意义的运算是________。
A.< B.= C.+ D.-
3.若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量 a、b、c 的
语句是
A.scanf("%d%d%d",&a,&b,&d); B.scanf("%d%d%d",&a,&b,d);
C.scanf("%d%d%d",a,b,d); D.scanf("%d%d%d",a,b,*d);
4.若有说明 int n=2,*p=&n,*q=p;,则以下非法的赋值语句为________。
A.p=q; B.*p=*q; C.n=*q; D.p=n;
5.假定 int 型的长度为 4Byte,以下程序的输出结果是________。
int main()
{
char p[]="abcdefgh",*r;
int *q;
q=(int*)p;
q++;
r=(char*)q;printf("%s\n",r);
}
A.abcdefgh; B.efgh; C.a; D.adcd;
6.若有语句:int *p,a=4;和 p=&a;下面均代表地址的一组选项是
A.a,p,*&a; B.&*a,&a,*p; C.*&p,*p,&a; D.&a,&*p,p;
7.若有以下定义,则 p+5 表示_______.
int a[10],*p=a;
A.元素 a[5]的地址; B.元素 a[5]的值; C.元素 a[6]的地址;D.元素 a[6]的值;
8.若有以下定义,则表达式”*p++”的值为_______.
int a[]={5,7,9,11},*p=a;
A.5; B.6; C.7; D.8;
9.有以下程序:
main()
{
int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++) p[i]=i+1;
printf("%d\n",a[1][2]);
}
程序运行后的输出结果是________。
A.3; B.4; C.5; D.6;
10.你喜欢编程吗?
A.不喜欢; B.喜欢; C.非常喜欢; D.喜欢得不能再喜欢了;
平时上课都在睡觉的 Yellowstar 这回可傻眼了。你能帮帮他吗?
★数据输入输入一个正整数 i(1<=i<=10),为问题的题号。
★数据输出
输出{A,B,C,D}中的一个字母,代表该问题的答案。
输入示例
10
输出示例
D
AC代码:
#include <stdio.h> int main() { char a[10]={'A','C','B','D','B','D','A','A','D','D'},*p=a,i; scanf("%d",&i); printf("%c\n",*(p+i-1)); return 0; }
C 语言程序设计实践 8.2 W.C之十个问题

