关于语句的说明: 1、表达式一般为关系表达式或逻辑表达式。但在C语言中它 也可以是任意的数值表达式。 f(n=3-3) if(3) if(a) :Ise n printf(%od",a); 2、表达式后面不能有任何标点符号!每个语句都要以“;” 结束,分号是语句的一部分。 3、else只能与对使用。仅else本身不能单独作为一个语 句使用。 if(x>5); if (x>5) -X, else >yx;将出现语法错误 y2*x-1; ese y=2*x1;
关于if语句的说明: 1、表达式一般为关系表达式或逻辑表达式。但在C语言中它 也可以是任意的数值表达式。 if (3) n=1; if ('a') printf("%d", 'a'); if (n=3-3) x=1; else x=-1; 2、表达式后面不能有任何标点符号!每个语句都要以“;” 结束,分号是语句的一部分。 3、else只能与if配对使用。仅else本身不能单独作为一个语 句使用。 if (x>5); y=x; else y=2*x-1; if (x>5) ; y=x; else y=2*x-1; 将出现语法错误
4、每个语句序列可以是一个语句也可以是若干个语句,但要 用花括号括起来构成复合语句。 if (a>b) if (a+b>c & b+e>a & cta>b) {t=a; {s=1.0/2*(a+b+c); a=b area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(area=%.2fn",area) } ese printf( It is not a trilateraln); 复合语句的花括号后不能再写分号。复合语句在语法上 是一个整体,相当于一个语句
4、每个语句序列可以是一个语句也可以是若干个语句,但要 用花括号括起来构成复合语句。 if (a>b) { t=a; a=b; b=t; } if (a+b>c && b+c>a && c+a>b) { s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%.2f\n", area); } else printf("It is not a trilateral!\n"); 复合语句的花括号后不能再写分号。复合语句在语法上 是一个整体,相当于一个语句
例:输入3个数a,b,c,按由小到大的顺序输出。 输入a,b,c #include <stdio.h> void main( 是 a>b? 否」{inta,,ct; a<→b scanf( %d%od %d", &a, &b, &c); if(a>b) 是 a>c 否 i t=a; a=b; b=t;) a→c if (a>c) i ta; a=c; c=t;i 是b>e?否 if (b>c) b<→c f t=b; b=c; c=t;) 输出a, b, c printf("%d,%dm”,a,b,c); 心U
例: 输入3个数a,b,c,按由小到大的顺序输出。 输入a , b, c a>b? a→b a>c? b>c? a→c b→c 输出a, b, c 是 是 是 否 否 否 #include <stdio.h> void main( ) { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if (a>b) { t=a; a=b; b=t; } if (a>c) { t=a; a=c; c=t; } if (b>c) { t=b; b=c; c=t; } printf("%d,%d,%d\n", a, b, c); }
二、谞语句的嵌套 在讦语句的原“语句”中又包含一个或多个语句 1.if(表达式1) 2.if(表达式1)语句1 if(表达式2)语句 else if(表达式2)语句2 3.i(表达式件1)语句14.(表达式1) elei(表达式2)语句2(表达式2)语句1 else 语句3 else语句2 二义性? C语言规定:else总是与它前面最近的且未曾配对的对。 if(表达式1) if(表达式1) if(表达式2)语句1 tif(表达式2)语句1} else语句2 else 语句2
二、if语句的嵌套 在if语句的原“语句”中又包含一个或多个if语句 1. if (表达式1) if (表达式2) 语句 2. if (表达式1) 语句1 else if (表达式2) 语句2 3. if (表达式件1) 语句1 else if (表达式2) 语句2 else 语句3 4. if (表达式1) if (表达式2) 语句1 else 语句2 二义性? C语言规定:else总是与它前面最近的且未曾配对的if配对。 if (表达式1) { if (表达式2) 语句1 else 语句2 } if (表达式1) { if (表达式2) 语句1 } else 语句2
1(X<0) 例:编程求解函数:y=0(x=0) 1(x>0) 程序1: 真 X<0 假 if(x<0)y=-1 else 真 假 if(x=0)y=0; y=0y=1 else y=l; 程序2: >=0 if (x>=0 真 假 if(x>0)y=1 x>0 ese 真 假 else y=-1;
例:编程求解函数: -1 0 1 (x<0) (x=0) (x>0) y= 程序1: if (x<0) y=-1; else if (x==0) y=0; else y=1; y=-1 y=0 y=1 x<0 x==0 真 假 真 假 程序2: if (x>=0) if (x>0) y=1; else y=0; else y=-1; y=-1 y=1 y=0 x>=0 x>0 真 假 真 假