文档库 最新最全的文档下载
当前位置:文档库 › C语言“switch语句”的使用技巧

C语言“switch语句”的使用技巧

C语言“switch语句”的使用技巧
C语言“switch语句”的使用技巧

C语言“switch语句”的使用技巧

Steve

C语言作为国际上流行的计算机语言已经和正在被广大的计算机用户使用。凡是使用过的人都会有同样的感觉——C语言的使用灵活这个特点既是优点又是缺点,因为对精通C语言的用户来讲,灵活就意味着编程可以无拘无束,甚至随心所欲;但对初学者或者是尚未摸着规律的用户来说,有时候就会觉得C程序设计有点象雾里看花,摸不着头脑。因为灵活就意味着没有一个标准。而实际上,C语言和其它计算机语言一样,只要你真正掌握了该语言的每一个语句的特点,理解、运用就不难掌握了。下面就C语言中switch语句的使用特点谈谈自己的体会。

switch语句的格式如下:

switch(表达式)

{case 常量表达式1:语句1

case 常量表达式2:语句2

case 常量表达式3:语句3

.

.

case 常量表达式n:语句n

default :语句n+1

}

从表面上看来,switch语句与PASCAL语言中的case语句以及FOXBASE中的do case语句非常类似,只是关键字有所不同:一个是switch;而另一个是case或do case。但如果仔细阅读过教材或有关参考书的话,就绝不会有此想法。从语句的功能上来看,PASCAL

和case语句或FOXBASE的do case语句中的常量表达式是用来与case 后面的表达式比较以确定执行哪一个语句,一旦执行了某一语句,则会自动地结束这一case后的语句;而C的switch语句则不然。首先,switch语句中的常量表达式只是起到一个入口作用,一旦执行了相应的语句后,只要没有强迫中断语句(break),它就会一直按顺序继续执行下去,也就是会执行其它case后面的语句,直到遇到“”符号才停止。乍看觉得有点不可事议,但若仔细回味且切身编程体会,那么就会感司到C的switch语句的独到之处。接下来就几个具体例子来剖析:switch语句的特点以及区别于其它语言中的相应语句的妙处。

----第一个例子:根据输入的百分制成绩,然后给出‘A’~‘E’相应的等级符(90-100为‘A’、80-89为‘B’、70-79为‘B’、60-69为‘C’、0-59为‘E’)。主要的处理程序段如下:(temp、score、grade 皆为整型变量)

tempscore/10

switch(temp)

{case9:grade‘A’;

case8:grade‘B’;

case7:grade‘C’;

case6:grade‘D’;

case5:grade‘E’;

}

printf(“thegradeisc”grade);

仔细阅读这段程序(根据C语言的特点),就会发现有很多错误。首先,对100分和低于50分的情况没有考虑;其次,C语言的switch 特点是顺序执行,那么这段程序不输入的分数如何,最后的输出都将

是‘E’。因此,修改这段程序,可以得到一个正确答案是:

tempscore/10;

switch(temp)

{ case10:

case9:grade‘A’;break;

case8:grade‘B’;break;

case7:grade‘C’;break;

case6:grade‘D’;break;

case5:

case4:

case3:

case2:

case1:

case0:grade‘E’;

}

printf(“thegradeiscgrade”);

但这么一个结果还不算是一个好的C程序,因为它只是能得到正确

的解,没有真正用到C的特点。如果将C的特点运用到第 1 页这段程序中,则程序将优化成如下:

grade‘A’;

tempscore/10;

switch(temp)

{case0:

case1:

case2:

case3:

case4:

case5:grade++;

case6:grade++;

case7:grade++;

case8:grade++;

case9:

case10:

}

printf(“thegradeiscgrade”);

大一上期C语言实验报告5 循环控制语句

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用三 种循环语句实现循环结构; (2)掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧; (3)进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。2.实验内容 (1)输出两个整数m和n,求它们的最大公约数和最小公倍数。 要求: ①画出算法流程图,从键盘输入m和n; ②对负数和零可不做考虑; ③运行程序,对m>n、m

③按照数字、大写字母、小写字母及其他字符数的顺序输出结果 3.流程图 4.源程序

5. 运行结果 (1 ) 求最大公约数和最小公倍数 (2)求1000内最大的10个素数之和(3)计算π值

c语言if语句练习题

c语言if语句练习题 1、输入一个学生成绩,判断并输出该学生是否及格。 #include main { int a; printf ; scanf ; if printf ; else switch { case 0: case 1: case: case: case: case: printf ; break; 为B\n”); } }

2、输入三角形的三条边长,求三角形的周长和面积,若不能构成三角形,输出提示。拓展练习:根据用户输入的三角形的三条边长判定是何种三角形。 提示:正三角形——三边相等; 等腰三角形——三边中有两边相等; 直角三角形——两边的平房和等于第三边平方。 case: printf; break; case: printf; break; case: printf; #include #include main { float a,b,c,d; \n”); printf ; d=/2; if { if {printf ; printf ; } else { if { printf ; printf **),a+b+c); } else { if

{ printf ; printf **),a+b+c); } else { printf ; printf **),a+b+c); } } } } else printf ; } 3、输入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是正方体还是长方体。 ? 马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭 共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?

c语言循环语句和循环控制例题解析

一、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句

c语言if的用法

c语言if的用法 条件condition可以是任何返回布尔值的表达式。 else子句是可选的。 if语句的执行过程如下:如果条件为真,就执行if的对象(statement1);否则,执行else的对象(statement2)。 任何时候两条语句都不可能同时执行。 考虑下面的例子:int a,b;if(a 任何情况下都不可能使a和b 都被赋值为0。 记住,直接跟在if 或else语句后的语句只能有一句。 如果你想包含更多的语句,你需要建一个程序块,如下面的例子:int bytesAvailable;if (bytesAvailable > 0) {ProcessData();bytesAvailable -= n;} elsewaitForMoreData();这里,如果变量bytesAvailable 大于0,则if 块内的所有语句都会执行。 嵌套if 语句嵌套(nested)if语句是指该if语句为另一个if或者else语句的对象。 在编程时经常要用到嵌套if语句。 当你使用嵌套if语句时,需记住的要点就是:一个else语句总是对应着和它同一个块中的最近的if语句,而且该if语句没有与其他else 语句相关联。 下面是一个例子:if(i == 10) {if(j 100) c = d; // this if iselse a = c; // associated with this else}else a = d; // this else refers to if(i ==

10)如注释所示,最后一个else语句没有与if(j 最后一个else语句对应着if(i==10)。 内部的else语句对应着if(k>100),因为它是同一个块中最近的if 语句。 if-else-if 阶梯基于嵌套if语句的通用编程结构被称为if-else-if 阶梯。 它的语法如下:if(condition)statement;else if(condition)statement;else if(condition)statement;elsestatement;条件表达式从上到下被求值。 一旦找到为真的条件,就执行与它关联的语句,该阶梯的其他部分就被忽略了。 如果所有的条件都不为真,则执行最后的else语句。 最后的else语句经常被作为默认的条件,即如果所有其他条件测试失败,就执行最后的else语句。 如果没有最后的else语句,而且所有其他的条件都失败,那程序就不做任何动作。 . 下面的程序通过使用if-else-if阶梯来确定某个月是什么季节。 // Demonstrate if-else-if statements.main() {int month = 4; // Aprilif (month == 12 || month == 1 || month == 2)printf ( "Winter");else if (month == 3 || month == 4 || month == 5)printf ("Spring");else if (month == 6 || month == 7 || month == 8)printf ( "Summer");else if (month == 9

switch用法

C语言switch语句的用法详解 C语言还提供了另一种用于多分支选择的switch语句,其一般形式为: switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; … case 常量表达式n: 语句n; default: 语句n+1; } 其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case 后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){ case 1:printf("Monday\n"); case 2:printf("Tuesday\n"); case 3:printf("Wednesday\n"); case 4:printf("Thursday\n"); case 5:printf("Friday\n"); case 6:printf("Saturday\n"); case 7:printf("Sunday\n"); default:printf("error\n"); } } 本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。这是与前面介绍的if语句完全不同的,应特别注意。 为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。 main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){

C语言 个关键字九种控制语句 种运算符

总结归纳了C语言的32个关键字 第一个关键字:auto 用来声明自动变量。可以显式的声明变量为自动变量。只要不是声明在所有函数之前的变量,即使没加auto关键字,也默认为自动变量。并且只在声明它的函数内有效。而且当使用完毕后,它的值会自动还原为最初所赋的值。自动变量使用时要先赋值,因为其中包含的是未知的值。 例:auto int name=1; 第二个关键字:static 用来声明静态变量。可以显式的声明变量为静态变量。也为局部变量。只在声明它的函数内有效。它的生命周期从程序开始起一直到程序结束。而且即使使用完毕后,它的值仍旧不还原。即使没有给静态变量赋值,它也会自动初始化为0. 例:static int name=1. 第三个关键字:extern 用来声明全局变量。同时声明在main函数之前的变量也叫全局变量。它可以在程序的任何地方使用。程序运行期间它是一直存在的。全局变量也会初始化为0. 例:extern int name; 第四个关键字:register 用来声明为寄存器变量。也为局部变量,只在声明它的函数内有效。它是保存在寄存器之中的。速度要快很多。对于需要频繁使用的变量使用它来声明会提高程序运行速度。 例:register int name=1; 第五个关键字:int 用来声明变量的类型。int为整型。注意在16位和32位系统中它的范围是不同的。16位中占用2个字节。32位中占用4个字节。还可以显式的声明为无符号或有符号: unsigned int或signed int .有符号和无符号的区别就是把符号位也当作数字位来存储。也可用short和long来声明为短整型,或长整行。 例:int num; 第六个关键字:float 用来声明变量的类型。float为浮点型,也叫实型。它的范围固定为4个字节。其中6位为小数位。其他为整数位。 例:float name;

c语言if语句的练习题答案

c语言i f语句的练习题答 案 Prepared on 24 November 2020

1、编写程序输入a和b,求a和b的余数和商。 #include<> voidmain() { inta,b; scanf("%d%d",&a,&b); printf("商为%d余数为%d",a/b,a%b); } 2、输入一个整型数据,分别求出各位数字。如:469,则个位数是9,十位数 是6,百位数是4。 #include<> voidmain() {inta,m=0; intt,t1,t2,t3,t4; scanf("%d",&a); if(a<0||a>99999) printf("输入数据超出范围\n"); elseif(a>=0&&a<10) {m=1; printf("该数是%d位数,其个位数为%d\n",m,a); } elseif(a>=10&&a<100) { m=2; t=a%10; a=a/10; printf("该数是%d位数,其个位数为%d十位数为%d\n",m,t,a); } elseif(a>=100&&a<1000) { m=3; t=a%10; t1=(a/10)%10; t2=a/100; printf("该数是%d位数,其个位数为%d十位数为%d百位数为%d\n",m,t,t1,t2);

elseif(a>=1000&&a<10000) { m=4; t=a%10; t1=a/10%10; t2=a/100%10; t3=a/1000; printf("该数是%d位数,其个位数为%d十位数为%d百位数为%d千位数字 为%d\n",m,t,t1,t2,t3); } elseif(a>=10000&&a<100000) { m=5; t=a%10; t1=a/10%10; t2=a/100%10; t3=a/1000%10; t4=a/10000; printf("该数是%d位数,其个位数为%d十位数为%d百位数为%d千位数字为%d 万位数字为%d\n",m,t,t1,t2,t3,t4); } } 以上写法太繁琐了,如果学习了循环,则简单很多。 #include<> voidmain() { inta,b; intn=0; scanf("%d",&a); while(a)//while(a!=0) {n++;//n用来统计数字a是几位数,n的初值必须为0 b=a%10; a=a/10;//a/=10; printf("%d",b);//输出a的各位数字 } printf("a的位数为%d",n);//此语句必须写在循环体的外面

switch case用法示例

C语言——switch case语句 switch语句的语法如下(switch,case和default是关键字): switch ( 表达式) { case 常量表达式1 :语句1;break; case 常量表达式2 :语句2;break; …… case 常量表达式n :语句n;break; default:语句n+1;break; } 说明: break退出{ } case后面只能跟一个值(加冒号:),而不能是一个表达式 switch(表达式) 后面没有;(分号) { }前后没有;(分号) switch语句规则 case标签必须是常量表达式(constant Expression) 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。 case 标签后不能是浮点型数据(如1.0 ) case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。 不要问为什么,C就这规定!我们只需要了解规则,学会应用即可! 猜想原因:浮点型数据不是准确的数据,在机器中只能表示出一个近似值,如:0.1 在机器中存的是0.09999612.... 也可能是0.09999723.... 根据精度不同,数据来源不同,其值是个不确定的数据,因此,不能用CASE来定位 简单例题1:

#include void main(void) { int i=5; switch(i) { case 1: printf("%d",i); break; case 2+3: printf("%d",3); break; default : printf("%d",i); } } //程序运行效果是输出:3 经典例题2: #include void main(void) { switch('A') { case 'A': printf("A\n"); break; case 'B': printf("%d",3); break; default : printf("%d",7); } } //程序运行效果是输出:A 经典例题3: #include void main(void) { int i=5; switch(5) {

C语言循环结构测习题带答案

精心整理 第5章循环结构程序设计 5.1基本知识点 ?while语句的使用格式和注意事项 ?do-while语句的使用格式和注意事项 ?for语句的使用格式和注意事项 ?break和continue语句在循环语句中的应用 ? ? ? ? 1. C. A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 (5)以下程序段C。 intx=-1; do { x=x*x; } while(!x);

A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误 (6)下列语句段中不是死循环的是__C__。 A.i=100; while(1) { i=i%100+1; if(i==20)break; } B.for(i=1;;i++) sum=sum+1; C. C. COUT< main() { intnum=0; while(num<=2) {

num++; cout< else ++i; }while(s<15); Cout< main() { inti,j; for(i=4;i>=1;i--) {

C语言选择题

一、多项选择共31题(共计310分) 第1题(10.0分)题号:4 以下选项中,合法的字符常量是()。 A:'\t' B:'\17' C:"n" D:'\xaa' 答案:ABD 第2题(10.0分)题号:3 以下用户标识符,其中合法的是()。 A:return B:f2_G3 C:A3-3 D:abc 答案:BD 第3题(10.0分)题号:14 以下可以定义为用户标识符的有()。 A:scanf B:short C:_3com_ D:int 答案:AC 第4题(10.0分)题号:8 以下选项中合法的表达式是()。 A:0<=x<100 B:i=j==0 C:(char)(65+3) D:x+1=x+1 答案:ABC 第5题(10.0分)题号:10 以下不符合C语言语法的实型常量是()。 A:1.2E0.5 B:3.14.159E C:.5E-3 D:E15 答案:ABD 第6题(10.0分)题号:5 以下叙述中正确的是()。 A:一个C源程序可由一个或多个函数组成 B:一个C源程序必须包含一个main()函数 C:C源程序的基本组成单位是函数 D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC

第7题(10.0分)题号:20 以下正确的if语句形式是()。 A:if (x>y && x!=y); B:if (x==y) x+=y; C:if (x!=y) scanf("%d",&x) else scanf("%d",&y); D:if (x0); D:if(b==0) m=1;n=2; 答案:ABC 第12题(10.0分)题号:6 设有以下定义 int a=0; double b=1.25; char c='A'; #define d 2 则下面语句中正确的是()。 A:a++;

C语言的32个关键字和9种控制语句

C语言的32个关键字和9种控制语句 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

C语言中# ifdef和# elseif的使用技巧和注意事项

下面这几个宏是为了进行条件编译。一般情况下源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endif 它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。 其中#else部分也可以没有,即: #ifdef 程序段1 #denif 这里的“程序段”可以是语句组,也可以是命令行。这种条件编译可以提高C源程序的通用性。如果一个C源程序在不同计算机系统上运行,而不同的计算机又有一定的差异。例如,我们有一个数据类型,在Windows平台中,应该使用long类型表示,而在其他平台应该使用float表示,这样往往需要对源程序作必要的修改,这就降低了程序的通用性。可以用以下的条件编译: #ifdef WINDOWS #define MYTYPE long #else #define MYTYPE float #endif 如果在Windows上编译程序,则可以在程序的开始加上 #define WINDOWS 这样则编译下面的命令行: #define MYTYPE long 如果在这组条件编译命令之前曾出现以下命令行: #define WINDOWS 0 则预编译后程序中的MYTYPE都用float代替。这样,源程序可以不必作任何修改就可以用于不同类型的计算机系统。当然以上介绍的只是一种简单的情况,可以根据此思路设计出其它的条件编译。 例如,在调试程序时,常常希望输出一些所需的信息,而在调试完成后不再输出这些信息。可以在源程序中插入以下的条件编译段:

c语言循环控制语句

循环控制结构(又称重复结构)是程序中的另一个基本结构.在实际问题中,常常需要 进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算. C语言提供了while语句、do...while语句和for语句实现循环结构. 3.4.1while语句 while语句是当型循环控制语句,一般形式为: while<表达式>语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句. while语句的流程图见图3-8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行. [例3-11]求n! 分析:n!=n*(n-1)*(n-2)*..2*1,0!=1.即S0=1,Sn=Sn-1*n.可以从S0开始,依次求出S1、S2、...Sn. 统一令S等于阶乘值,S的初值为0!=1;变量i为计数器,i从1变到n,每一步令S=S*i,则最终S中的值就是n!. 流程图见图3-9,程序如下:

考察图3-9中循环部分的流程图可以看出,在循环前各变量应有合适的值(s=1),另外,控制循环结束的变量(此处为i)必须在循环体中被改变,否则,循环将无限进行下去,成为死循环.

本题中,将多项式的每一项用t表示,s代表符号,在每一次循环中,只要改变s、n的值,

就可求出每一项t. 一般情况下,while型循环最适合于这种情况:知道控制循环的条件为某个逻辑表达式的值,而且该表达式的值会在循环中被改变,如同例3-12的情况一样. 3.4.2do...while语句 在C语句中,直到型循环的语句是do...while,它的一般形式为: do语句while<表达式> 其中语句通常为复合语句,称为循环体. do...while语句的流程图见图3-10,其基本特点是:先执行后判断,因此,循环体至少被执行一次. 但需要注意的是,do...while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do...while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注意do...while语句的这一特点. 例[3-13]计算sin(x)=x-x3/3!+x5/5!-x7/7!+... 直到最后一项的绝对值小于1e-7时为止. 分析:这道题使用递推方法来做. 让多项式的每一项与一个变量n对应,n的值依次为1,3,5,7,...,从多项式的前一项算后一项,只需将前一项乘一个因子: (-x2)/((n-1)*n) 用s表示多项式的值,用t表示每一项的值,程序如下: #include # include m a i n ( ) { double s,t,x ; int n ; printf("please input x :"); scanf("%lf",&x); t=x; n=1; s=x; do { n=n+2; t=t*(-x*x)/((float)(n)-1)/(float)(n); s=s+t;

C语言中if和goto的用法

C语言中,if是一个条件语句,用法 if(条件表达式) 语句 如果满足括号里面表达式,表示逻辑为真于是执行后面的语句,否则不执行(表达式为真则此表达式的值不为0,为假则为0,也就是说,如果括号里面不是一个判断表达式,你填了一个不是0的数字或其他,表示条件永远为真,一定执行后面的语句,反之,你填了一个0,则永远不会执行后面的语句)。 if后面的语句如果多于一句,可以放在{}里面作为复合语句, 例: int a=2,b=1; if(a>b) cout<<"a>b"<1 ,表达式a>b为真,于是执行后面的语句,输出a>b 这几个字符。 goto 是转向语句,按其英文含义就可理解 用法标号:语句; ...................... goto 标号; 或者 goto 标号; ..................... 标号:语句; 标号和goto必须包括处于同一个函数内标号的写法跟变量名一样不能和关键词相同,后面必须带冒号 当程序执行到goto这个语句时,程序就转跳到标号后面的语句去了 例 int x=1; biaohao: x=x+1; if(x<100) goto biaohao; cout<<"x=100"<

C中goto语句的用法 个人觉得goto用在内层循环中比较合适,用break只能跳出内层循环,而goto可以直接跳出最外层循环,在合理的地方使用就可以了。debian:/home/server# vi goto.c #include #include int main() { int i, j; for (j = 0; j < 3; j++) { for (i = 0; i < 10; i++) { printf("j: %d, i: %d\n", j, i); if (i == 3) goto last; } } last: printf("This is the last line\n"); return 0; } debian:/home/server# gcc -o goto goto.c

C语言if语句总结

C语言选择语句 C语言支持两种选择语句:if语句和switch语句。这些语句允许你只有在程序运行时才能。知道其状态的情况下,控制程序的执行过程。首先看一下if语句的用法: if语句: if语句是c语言中的条件分支语句。它能将程序的执行路径分为两条。if语句的完整格式如下: if (condition) statement1;; else statement2; 其中,if和else的对象都是单个语句(statement),也可以是程序块。条件condition可以是任何返回布尔值的表达式。else子句是可选的。 if语句的执行过程如下:如果条件为真,就执行if的对象(statement1);否则,执行else的对象(statement2)。任何时候两条语句都不可能同时执行。考虑下面的例子: int a,b; if(a < b) a = 0; else b = 0; 本例中,如果a小于b,那么a被赋值为0;否则,b被赋值为0。任何情况下都不可能使a 和b都被赋值为0。 记住,直接跟在if 或else语句后的语句只能有一句。如果你想包

含更多的语句,你需 要建一个程序块,如下面的例子: int bytesAvailable; if (bytesAvailable > 0) { ProcessData(); bytesAvailable -= n; } else waitForMoreData(); 这里,如果变量bytesAvailable 大于0,则if块内的所有语句都会执行。 嵌套if 语句 嵌套(nested)if语句是指该if语句为另一个if或者else语句的对象。在编程时经常要用到嵌套if语句。当你使用嵌套if语句时,需记住的要点就是:一个else语句总是对应着和它同一个块中的最近的if语句,而且该if语句没有与其他else语句相关联。下面是一个例子:if(i == 10) { if(j < 20) a = b; if(k > 100) c = d; // this if is else a = c; // associated with this else } else a = d; // this else refers to if(i == 10) 如注释所示,最后一个else语句没有与if(j <20)相对应,因为它

switch的用法总结大全

switch的用法总结大全 想了解switch的用法么?今天给大家带来了switch的用法,希望能够帮助到大家,下面就和大家分享,来欣赏一下吧。 switch的用法总结大全 switch的意思 n. 开关,转换,转换器,软鞭子,[信]接线台 vt. vi. 转变,改变,转换,关闭电流,鞭打 vt. 转换,挥动(棍棒、鞭子等),迅速转动,鞭打 vi. 交换,调换 变形:过去式: switched; 现在分词:switching; 过去分词:switched; switch用法 switch可以用作动词 switch用作名词时意思是“开关”“转换”,用作动词时意思是“拧开关”“转变”“转换”,指通过某种措施或办法使某事物改变或改换其原有的位置、名称或运行方式等,引申可表示“挥动某物打某人”“打开”。

switch可用作及物动词,也可用作不及物动词。用作及物动词时,接名词或代词作宾语,也可接以动词不定式充当补足语的复合宾语。 switch用作动词的用法例句 No, hold it a second, switch that to roast chicken.不,等一等,把那个换成烤子鸡。 Our glasses have been switched--this is mine.咱们的玻璃杯对调了--这个是我的。 Nobody wants to switch back to the old system.谁也不希望回复到旧制度。 switch用法例句 1、The spokesman implicitly condemned the United States policy switch. 发言人含蓄地谴责了美国政策上的转变。 2、Every time I switch on the TV, theres football. Its overkill. 我每次打开电视都是足球节目,真是受不了。 3、Prince Edward threw the switch to light the illuminations. 爱德华王子按动开关亮起彩灯。

switch语句的用法

Switch语句的一般形式为: Switch(表达式) { case 常量表达式1: 语句1;break; case 常量表达式2: 语句2; break; … case 常量表达式n: 语句n; break; default: 语句;break; } 意思是先输入表达式的值,再输出和case 后的常量表达式比较,若不在case的语句中,则执行default后的语句;若与某一个常量表达式相等,则从这个表达式后的语句开始执行,并执行该case后的语句。 与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句; 而switch语句后有break语句,其含义为结束当前循环,不再执行该循环体。 例题:从键盘中输入0~6,并输出星期几。 #include #include using namespace std; int main() { int day;

cin>>day; switch(day) { case 0: cout<<"Sunday"<

C语言三种循环语句

三种基本的循环语句: for语句、while语句和do-while语句。 一、循环语句 (一)、for循环它的一般形式为: for(<初始化>;<条件表过式>;<增量>) 语句; 初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用;分开。 例如: for(i=1;i<=10;i++) 语句; 上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。再重新判断,直到条件为假,即i>10时,结束循环。 注意: (1).for循环中语句可以为语句体,但要用{和}将参加循环的语句括起来。 (2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。省略了初始化,表示不对循环

控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。 (3).for循环可以有多层嵌套。 例如: for(;;) 语句; for(i=1;;i+=2) 语句; for(j=5;;) 语句; 这些for循环语句都是正确的。 main() { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) printf(%d %d\n,i,j); } 输出结果为: i j 0 0 0 1 0 2

1 0 1 1 1 2 用for循环求1+2+……+100的和: main() { int sn=0,i; for(i=1;i<=100;i++) sn+=i; /*1+2+……+100*/ printf(%d\n,sn); } 从程序可以看出,使用循环语句可以大大简化代码。(二)、while循环它的一般形式为: while(条件) 语句; while循环表示当条件为真时,便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。 例如: #include stdio.h main() {

c语言中if语句知识点总结

If语句知识点总结 一. if语句的三种基本形式 (1)if (表达式)语句; 例:if(x>y) printf(“%d”,x); (2)if(表达式) 语句1; else语句2; 例:if (x>y) printf(“%d”,x); else printf(“%d”,y); (3)if(表达式1)语句1; else if(表达式2)语句2; else if(表达式3)语句3; ……

else if(表达式m)语句m; else 语句n; 例:if (number>10)cost=0.15; else if(number>30)cost=0.10; else if(number>100)cost=0.075; else if(number>500)cost=0.05; else cost=0.01; c语言中的六大陷阱 1.if(表达式)一般为逻辑表达式或关系表达式输出1/0,但原则上可以是任何变量、常量和表达式; 2.if(常量)--C语言中任何非零的数都被认作为真; 例一:int i=5; if(2)printf("%d\n",++i); else printf("%d\n",--i); 输出值:6 例二:int i=5,a=3,b; if(b=a)printf("%d\n",++i); /*上面括号里“b=a”即将a的值赋给b,所以该条件为真*/

else printf("%d\n",--i); 输出值:6 例三:int i=5,a=3,b=9; if(b==a)printf("%d\n",++i); /*括号中“==”含义为“等于”,所以是假*/ else printf("%d\n",--i); 输出值:4 3.注意:if(表达式)语句;表达式里面是"=="还是"=" 4.如果if后面的表达式是多个关系表达式,要注意关系运算符 是两两进行比较的!!!!!!! int a=6,b=5,c=4,i=5; if(a>b>c)printf("%d\n",++i); /*括号中“a>b>c”,先判断“a>b”,为真,值为1;然后判断“1>c”,为假,所以“a>b>c”为假*/ else printf("%d\n",--i); 输出值:4 5.复合语句:>=2条的语句用{}括起来,共同完成一定功能 注意复合语句的用法! 6.在上机改错题中,如果在if语句后面的表达式中出现“=”,90%要将“=”改为“==”。 可乐雪碧原理/*输入两个实数,由小到大输出*/ 超级考点:交换 e.g. #include void main( ) {

相关文档
相关文档 最新文档