任务1:分析下面的例子,给出z和w的计算值、说明为什么?
int z,w,x=2,y=5;
z= (x+3,y++,x++);
w = (x++,x+3,x+7);
z=2, w=11
int z,w,x=2,y=5;
z= (x+3,y++,x++);
w = (x++,x+3,x+7);
实际上这里z=x++=2,w先经过两次x++在得x+7为X+1+1+7=11.
任务2:自行设计一个程序,程序须运用switch语句。要求有一定技术含量!
想了好久,我觉得我还是设计一个“趣味小测试”的程序吧。
#include <stdio.h>
int zf(int d)
{if(3<=d&&d<=9)
{
if (3<=d&&d<=5) return 1;
if (5<=d&&d<=7) return 2;
if (8<=d&&d<=9) return 3;
}
}
void main ()
{
int a,b,c,d=1,g;
int e,f,h,k;
while (d)
{
switch(d)
{
case 1:printf("1、你何时感觉最好?\n");
printf("1、 早晨 2、下午以及傍晚 3、夜里\n");
case 2:printf("2、 你怎样走路?\n");
printf("1、 大步的快走 2、小步的快走 3、走的很慢\n");
case 3:printf("3、坐着休息时,你是什么姿势?\n");
printf("1、两膝盖并拢 2、两腿交叉 3、两腿伸直\n");
default:printf("\n");
}
printf("请输入你选择的答案。\n");
scanf("%d %d %d",&a,&b,&c);
h=a+b+c;
g=zf(h);
switch (g)
{
case 1:printf("内向的悲观者,你是一个害羞的、神经质的、优柔寡断的人,永远要别人为你做决定\n");break;
case 2:printf("缺乏信心的挑剔者,你勤勉、刻苦、挑剔,是一个谨慎小心的人。\n");break;
case 3:printf("平衡的中道者,你是一个有活力、有魅力、讲究实效,而且永远有趣的人。\n");break;
default:printf("\n");
}
printf("继续输入请输入1,结束请输入0 ");
scanf("%d",&d);
}
}
可以经输入不同数据得到三种结果: