c语言switch语句
执行case 2是因为在switch (x) 中x=1,所以执行case 1,然而case 1 这条语句没有break,所以switch (x)在执行了case 1之后将继续往下依次执行case语句,直到碰到break就跳出switch 循环。
对于“a的自加是先执行后在自加,当此程序a自加的时候没有执行其他语句啊?????? ” 则是你没看到程序中的语句a++,b++它自加完了以后把值任然是赋值给a,b本身的,而不是赋值给其他变量例如c=a++;z=b++。如果是这样赋值给别的变量的话那么就很明确了c,z的值将和课本上说得一样都是自加以前的值 。也就是说这个程序当中最后printf输出的是a,b的值,但是a,b在自加过程中值都变化了,就是说相当于语句a=a++,b=b++.
我将你的程序进行了更改,你将两个程序都运行下然后再对照着看一下就明白为什么a,b的值最后是2和1了,程序如下
#include stdio.h
main()
{
int x=1,y=0,a=0,b=0,c=0,z=0;
switch (x)
{case 1:
switch(y)
{
case 0:c=a++;break;
case 1:b++;break;
}
case 2: c=a++,z=b++;break;
case 3:a++,b++;
}
printf(“c=%d,z=%d\n”,c,z) ;
}
对于 ++i 和i++ 有什么区别?
简单而言: ++i在i 存储的值上增加一并向使用它的表达式“返回” 新的, 增加后的值; 而i++ 对i增加一, 但返回原来的是未增加的值。
C语言中的Switch-case语句
Switch语句可以理解为if-else语句的另一种表现形式 。 break的作用是跳出Switch,如果不跳出则继续向下执行,直到遇到break或执行到结束为止。
Switch case 语句表达式为:
switch{case 常量1: 语句体1;case 常量2: 语句体2;case 常量3: 语句体3;case 常量4: 语句体4;….default : 语句体;}
扩展资料:
Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。
C语言程序语句
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。
直线翻译:switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case,break和default是关键字):
switch ( 变量表达式 )
{
case 常量1 :语句;break;
case 常量2 :语句;break;
case 常量3 :语句;break;
…
case 常量n:语句;break;
default :语句;break;
}
参考资料:
百度百科-switch (计算机语言关键字)
c语言 switch的用法
执行过程:
先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。
当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。
如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。
求教c语言中switch 语句的详细用法
一、用法分析如下:
1、C语言程序语句switch:switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。switch语句的语法如下(switch,case和default是关键字):
switch ( controllingExpression )
{
case constantExpression1 :
case constantExpression2 :
case constantExpression3 :
statements; //当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements
break;
case constantExpression :
statements ;
break;
…
default :
statements ;
break;
}
2、只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。case标签必须是常量表达式(constantExpression),如42或者”42″。如果需要在运行时计算case标签的值,必须使用if语句。case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
二、C语言
1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
3、二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
4、C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
c语言 switch语句用法
int i=?;
switch(i)
{
case 1:
System.out.println(“one”);
case 10:
System.out.println(“ten”);
case 5:
System.out.println(“five”);
case 3:
System.out.println(“three”);
default:
System.out.println(“other”);
}
若?=1输出one,若?=10,输出ten。。。。。。
switch (表达式)
{
case 值1 : 语句1
break;
case 值2 : 语句2
break;
…
default : 语句n
break;
}
从表达式值等于某个case语句后的值开始,它下方的所有语句都会一直运行,直到遇到一个break为止。随后,switch语句将结束,程序从switch结束大括号之后的第一个语句继续执行,并忽略其他case。
假如任何一个case语句的值都不等于表达式的值,就运行可选标签default之下的语句。
假如表达式的值和任何一个case标签都不匹配,同时没有发现一个default标签,程序会跳过整个switch语句,从它的结束大括号之后的第一个语句继续执行。
在C语言中ATM自动取款机的功能程序怎么写啊?
#includestdio.h
void main()
{
char SelectKey,CreditMoney,DebitMoney;
while(1)
{
do{
clrscr();
puts(“Please select key:”);
puts(“1.Quary”);
puts(“2.Credit”);
puts(“3.Debit”);
puts(“4.Return”);
SelectKey=getch();
}while(SelectKey!=’1’SelectKey!=’2’SelectKey!=’3’SelectKey!=’4′);
switch(SelectKey)
{
case’1′:
clrscr();
puts(“Your balance is $1000”);
getch();
break;
case’2′:
do{
clrscr();
puts(“Please select Credit money:”);
puts(“1.$50”);
puts(“2.$100”);
puts(“3.Return”);
CreditMoney=getch();
}while(CreditMoney!=’1’CreditMoney!=’2’CreditMoney!=’3′);
switch(CreditMoney)
{
case’1′:
clrscr();
puts(“Your Credit money is $50,Thank you!”);
getch();
break;
case’2′:
clrscr();
puts(“Your Credit money is $100,Thank you!”);
getch();
break;
case’3′:
break;
}
break;
case’3′:
do{
clrscr();
puts(“Please select Debit money:”);
puts(“1.$50”);
puts(“2.$100”);
puts(“3.$500”);
puts(“4.$1000”);
puts(“5.Return”);
DebitMoney=getch();
}while(DebitMoney!=’1’DebitMoney!=’2’DebitMoney!=’3’DebitMoney!=’4’DebitMoney!=’5′);
switch(DebitMoney)
{
case’1′:
clrscr();
puts(“Your Debit money is $50,Thank you!”);
getch();
break;
case’2′:
clrscr();
puts(“Your Debit money is $100,Thank you!”);
getch();
break;
case’3′:
clrscr();
puts(“Your Debit money is $500,Thank you!”);
getch();
break;
case’4′:
clrscr();
puts(“Your Debit money is $1000,Thank you!”);
getch();
break;
case’5′:
break;
}
break;
case’4′:
return;
}
}
}
几个小错误而已…比如忘了写双撇号,switch写错了…还有!= 忘了写! 等等.. 以上程序可以运行了