第四章选择结构程序设计
选择结构和条件判断
if语句,实现两个分支的选择结构;
switch语句,实现多分支的选择结构
题目要求是求 ax2 + bx + c = 0方程的根。
#include <>
#include <>
int main ( )
{
double a,b,c,disc,x1,x2,p,q;
scanf("%lf%lf%lf",&a,&b,&c);
disc=b*b-4*a*c;
if (disc<0)
printf(“has not real roots\n”);
else
{ p=-b/*a);
q=sqrt(disc)/*a);
x1=p+q;
x2=p-q;
printf(“real roots:\nx1=%\nx2=%\n”,x1,x2);
}
return 0;
}
输入两个实数,按代数值由小到大的顺序输出这两个数。
#include <>
int main()
{ float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b)
{ t=a;
a=b;
b=t;
}
printf("%,%\n",a,b);
return 0;
}
例 输入3个数a,b,c,要求按由小到大的顺序输出。
#include <>
int main()
{ float a,b,c,t;
scanf("%f,%f,%f",&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("%,%,%\n",a,b,c);
return 0;
}
C语言提供6种关系运算符
①<(小于) ②<=(小于或等于) ③>大于) ④>=大于或等于)【优先级相同(高)】
⑤ == (等于) ⑥ != (不等于)【优先级相同(低)】
关系、算术、赋值运算符的优先级:算数运算符 > 关系运算符 > 赋值运算符
逻辑运算符的优先次序:! → && → || (!为三者中最高)
与其他运算符的优先次序:赋值运算符 < &&和|| < 关系运算符 < 算数运算符 < !
条件运算符和条件表达式
有一种if语句,当被判别的表达式的值为“真”或“假” 时,都执行一个赋值语句且向同一个变量赋值
如:if (a>b)
max=a;
else
max=b;
条件运算符的执行顺序:①求解表达式1;②若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值;③若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值
条件运算符优先于赋值运算符;条件运算符的结合方向为“自右至左”。
例 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
#include <>
int main()
{
char ch;
scanf("%c",&ch);
ch=(ch>='A' && ch<='Z‘)?(ch+32):ch;
printf("%c\n",ch);
return 0;
}