c语言程序设迅速计-02
* 从一个数的左边第一个非0数字起,到末位数字止,所有的数字都是这个数的有效数字 * * * * * * * /*使用if-else语句的嵌套来实现求解*/ if (s>0) { x1=(-b+sqrt(s))/(2*a) ; x2=(-b-sqrt(s))/(2*a) ; printf("x1=%lf, x2=%lf\n", x1,x2) ; } else if (s==0) { x1=x2=(-b)/(2.0*a) ; printf("x=%lf\n", x1) ; } else printf(“No solution\n”); if (表达式) 语句1 else 语句2 if 语句 if 语句 if-else语句的嵌套的结构 if(表达式1) if(表达式2) 语句1 else 语句2 else if(表达式3) 语句3 else 语句4 表达式1 表达式3 语句4 真 假 表达式2 语句3 语句1 语句2 真 真 假 假 复习 表达式是操作数和运算符的集合 关系运算符运用测试两个操作数之间的关系 逻辑运算符用于组合多个条件(&& 和 ||)或者为某一条件取反(!) 在复杂表达式中,通过运算符的优先级确定各种运算符的执行顺序 条件结构解决了程序种需要根据不同情况进行判断的情况(if else(if)) 嵌套 if 结构 if (x > 0) if (y > 1) z = 1; else /*这个 else 部分属于哪个 if?*/ z = 2; C语言规定,每个 else 部分总属于前面最近的那个缺少对应的 else 部分的 if 语句。 提倡使用大括号括起来以避免看起来有二义性。 else 和 if 的匹配 if(表达式1) if(表达式2) 语句1 else 语句2 else if(表达式3) 语句3 else 语句4 if(表达式1) if(表达式2) 语句1 else if(表达式3) 语句3 else 语句4 else 与最靠近它的、没有与别的 else 匹配过的 if 匹配 if(表达式1) if(表达式2) 语句1 else if(表达式3) 语句3 else 语句4 改变else 和 if 的配对 例 改写下列 if 语句,使 else 和第1个 if 配对。 if (x < 2) if (x < 1) y = x + 1; else y = x + 2; if (x < 2){ if (x < 1) y = x + 1; } else y = x + 2; if (x < 2) if (x < 1) y = x + 1; else; else y = x + 2; 每条语句的执行条件? 目标 使用 switch 结构 上机练习解答 课后习题 四则运算 1、问题描述 求解简单的四则运算表达式。 2、问题分析 输入一个形式如“操作数 运算符 操作数”的四则运算表达式,根据输入的运算符,做相应运算,输出运算结果。 3、算法分析 键盘输入形式如“操作数 运算符 操作数”的四则运算表达式。 根据运算符的不同,做不同的计算。 输出运算结果。 # include int main(void) { double value1, value2; char op; /*定义字符型的变量*/ scanf("%lf%c%lf", &value1, &op, &value2); if(op == '+') printf("=%.2f\n", value1 + value2); else if(op == '-') printf("=%.2f\n", value1 - value2); else if(op == '*') printf("=%.2f\n", value1 * value2); else if(op == '/') printf("=%.2f\n", value1 / value2); else printf("Unknown operator\n"); return 0; } 4、程序实现 字符常量 'a' 'z' 'A' 'Z' '0' '9' ' ' '\n' ASCII字符