C 语言程序设计实践 8.2 W.C之十个问题

解码编程谜题:黄星的计算机系厕所挑战
面对计算机系厕所的难题,黄星必须回答一系列编程相关问题来获得进入的权利。本文详细解答了每个问题,帮助黄星通过考验。

★实验任务

好不容易到了 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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值