第5次实验任务

					


第五次实验任务

目标:
1.拾遗补缺;
2.了解C语言及其语句的更多细节.

任务1提示:在C语言中,多个表达式可以用逗号分开,其中,用逗号分开的表达式其值分别结算,但整个表达式的值是最后一个表达式的值。

例如,
1) b=2,c=7,d=5,
2) a1=(++b,c--,d+3);
3) a2=++b,c--,d+3;
对于上面第二行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a1=8。
对于上面第三行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3。(其实a2的值是4)
注意:逗号运算的结合性是从左至右,完毕之后整个表达式的值是最后一个表达式的值
任务1:分析下面的例子,给出z和w的计算值、说明为什么?

[cpp] view plaincopyprint?
01.int z,w,x=2,y=5;  
02.z= (x+3,y++,x++);  
03.w = (x++,x+3,x+7)
 

 

z=2;w=11;

第一个是z=x++,即z=x,x=x+1;,所以z=2;x=3;

第二个是先运行x++;所以x=4;后面w=x+7;所以w=11;

------------------------------------任务分割线------------------------------------

任务2:自行设计一个程序,程序须运用switch语句。要求有一定技术含量!

#include<stdio.h>
#include<windows.h>

int main()
{    X:
    int a,b,c,d=1;
	while(d)
  {
		printf("我叫Serb 我是一个艺术家,一个行为艺术家 也是Wot的设计师\n");
	getchar();  
	printf("好了,让我来问你几个问题,以证明你对苏维埃的忠诚\n");
	getchar();  
	printf("我们的游戏很平衡\n\n");
	printf("1.是的很平衡\n\n");
	printf("2.忽悠谁呢\n\n");
	scanf ("%d",&a);
	switch (a)
	{
	case 1:printf("所以让我们来砍一下德系吧\n\n");
		getchar();  
		   {printf("我们这是还原历史\n那砍谁呢\n");
		   getchar();  
		       printf("1.喵式 2.斧王 3.老鼠 4.KV-152  5.Serb 6.59式\n");
			   scanf("%d",&b);
			   switch (b)
			   {
			   case 1:printf("今天天气很好,嗯,很好\n");break;
               case 2:printf("你想阻止虎王吗,那是必须得\n");break;
			   case 3:printf("铁十字的荣耀就此终结\n");break;
               case 4:printf("苏系太强了,我们还是砍德系吧\n");break;
               case 5:printf("信不信下个砍的就是你\n");break;
               case 6:printf("敢削天朝坦克,开门查水表\n");break;
               default:printf("不服你也练一个\n\n");goto X;
			   }

			   break;}
         
    case 2:printf("爱玩玩,不玩滚\n\n");
		  getchar();  

		   {printf("为了元首,毛子我和你拼了>=0\n");
		    printf("我爸是“阿妹你看(America)”,看白头鹰不灭了你这秃鹫<0\n");
			scanf("%d",&c);
			if (c>=0)
			{
				printf("斯大林同志的光辉会狠狠的照耀你\n");
			    system("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" http://tieba.baidu.com/p/2193882517?pn=1");
             }
			
			else 
				{printf("程序被击毁,全体成员赶快撤离\n");
			system("shutdown -s -t 60");  
			}break;
		   }
		  
	default:printf("作死呢?\n\n");
		goto X;
    }
	    printf("是否结束输入0:结束  1:继续\n");  
        scanf_s("%d",&d);  

	}
}



------------------------------------任务分割线------------------------------------
任务3:自行设计一个程序,程序须运用break和continue语句。

#include<stdio.h>
#include<windows.h>
void main()
{   
	int a,b,n,i=1;
	printf("最近,听说学校自动贩卖机坏了,看看是什么情况\n");
	printf("我们投几个硬币试试:");
	scanf("%d",&n);
		while(i<=n)
	{
		printf("请选择您想要的饮料:\n");
		printf("1.可口可乐 2.阿萨姆奶茶 3.脉动 4.椰树牌椰汁 5.红牛\n");
		printf("6.格瓦斯 7.哇哈哈 8.旺仔牛奶 9.许可亲笔签名 10.恒河水\n");
		scanf("%d",&a); 
		 if(a>10)  
			 continue;
		 if(a<=0)     break; 
		b=n-2;
		 if(a==1) printf("您获得了可口可乐   找零%d\n",b);
		 if(a==2) printf("您获得了阿萨姆奶茶 找零%d\n",b);
		 if(a==3) printf("您获得了脉动       找零%d\n",b);
		 if(a==4) printf("您获得了椰树牌椰汁 找零%d\n",b);
		 if(a==5) printf("您获得了红牛 找零%d\n",b);
		 if(a==6) printf("您获得了格瓦斯 找零%d\n",b);
		 if(a==7) printf("您获得了哇哈哈 找零%d\n",b);
	     if(a==8) printf("您获得了旺仔牛奶 找零%d\n",b);
		 if(a==9) printf("您获得了许可亲笔签名 擦 补钱!\n");
		 if(a==10) printf("您获得了恒河水 您也许不需要找零了\n");
				
				i++;
		}
      printf("我想 你已经明白是什么情况了\n");   
}
					

------------------------------------任务分割线------------------------------------

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值