• 第四章 选择结构程序设计


    C语言有两种选择语句:(1)if语句,实现两个分支的选择结构

    (2)Switch语句,实现多分支的选择结构。

    1.求ax^2+bx+c=0方程的解。

    1. #include
    2. #include
    3. int main(){
    4. double a,b,c,disc,x1,x2,realpart,imagpart;
    5. scanf("%lf,%lf,%lf",&a,&b,&c);
    6. printf("The equation");
    7. if(fabs(a)<=1e-6)
    8. printf("is not a quadractic\n");
    9. else{
    10. disc=b*b-4*a*c;
    11. if(fabs(disc)<=1e-6)
    12. printf("has two equal roots:%8.4f\n",-b/));
    13. else
    14. if(disc>1e-6){
    15. x1=(-b+sqrt(disc))/(2*a);
    16. x2=(-b-sqrt(disc))/(2*a);
    17. printf("has distinct real roots:%8.4fand %8.4f\n",x1,x2);
    18. }
    19. else{
    20. realpart=-b/(2*a);
    21. imagpart=sqrt(-disc)/(2*a);
    22. printf("has complex roots:\n");
    23. printf("%8.4f+%8.4fi\n",realpart,imagpart);
    24. printf("%8.4f-%8.4fi\n",realpart,imagpart);
    25. }
    26. }
    27. return 0;
    28. }

    2.求一个一元二次方程组的解:

    1. #include
    2. #include
    3. int main(void){
    4. double a,b,c,d;
    5. printf("请输入一元二次方程的三个系数:");
    6. scanf("%lf%lf%lf",&a,&b,&c);
    7. if(fabs(a-0)<=1e-6){
    8. printf("输入有误,程序结束运行\n");
    9. return 0;
    10. }
    11. d=b*b-4*a*c;
    12. if(d<0)
    13. printf("此方程无实数根\n");
    14. else if(fabs(d)<=1e-6)
    15. printf("此方程的根为%lf\n",-b/(2*a));
    16. else
    17. printf("此方程的两个根为%lf,%lf\n",(-b+sqrt(d))/(2*a),(-b+sqrt(d))/(2*a));
    18. return 0;
    19. }

    3.switch语句:电梯程序:

    break:结束一个Switch语句的运行。

    1. #include
    2. int main(void){
    3. printf("请输入所要到达的楼层:");
    4. int a;
    5. scanf("%d",&a);
    6. switch(a){
    7. default:
    8. printf("没有这个楼层\n");
    9. break;
    10. case1:
    11. printf("上一楼\n");
    12. break;
    13. case2:
    14. printf("上二楼\n");
    15. break;
    16. case3:
    17. printf("上三楼\n");
    18. break;
    19. }
    20. return 0;
    21. }

    4.Switch语句:电梯程序:

    break:结束一个电梯程序的运行。

    1. #include
    2. int main(void){
    3. printf("请选择要到达的楼层:");
    4. int a;
    5. scanf("%d",&a);
    6. switch(a){
    7. default:
    8. printf("没有这个楼层\n");
    9. break;
    10. case1:
    11. printf("上一楼\n");
    12. break;
    13. case2:
    14. printf("上二楼\n");
    15. break;
    16. case3:
    17. printf("上三楼\n");
    18. break;
    19. }
    20. return 0;
    21. }

    5.大写字母加上32=对应小写字母

    1. #include
    2. #define DAXIE 1
    3. void f1(void);
    4. void f2(void);
    5. void f3(void);
    6. int main(void)
    7. {
    8. f3();
    9. return 0;
    10. }
    11. void f1(void){
    12. char ch;
    13. while((ch=getchar())!='\n')
    14. {
    15. #if 1
    16. if(ch>='A'&&ch<='Z')
    17. ch+=32;
    18. #else
    19. if(ch>='a'&&ch<='z')
    20. ch-=32;
    21. #endif
    22. putchar(ch);
    23. }
    24. }
    25. void f2(void){
    26. char ch;
    27. while((ch=getchar())!='\n')
    28. {
    29. #if 1
    30. if(ch>='A'&&ch<='Z')
    31. ch+=32;
    32. #else
    33. if(ch>='a'&&ch<='z')
    34. ch-=32;
    35. #endif
    36. putchar(ch);
    37. }
    38. }
    39. void f3(void){
    40. char ch;
    41. while((ch=getchar())!='\n')
    42. {
    43. #if 1
    44. if(ch>='A'&&ch<='Z')
    45. ch+=32;
    46. #else
    47. if(ch>='a'&&ch<='z')
    48. ch-=32;
    49. #endif
    50. putchar(ch);
    51. }
    52. }

    重难点提要:

    1.三种循环结构:

    for(); while(); do-while()三种

    for循环当中必须是两个分号

    do-while循环至少执行一次循环

    2.break和continue的差别

    break:看到break跳出整个一层循环

    continue:结束本次循环,循环体内剩下的语句不再执行,跳到循环开始,判断循环条件,进行新一轮的循环。

    3.嵌套循环

    循环里面有循环

    4.取余的注意(负数取余)

    1. #include
    2. int main(){
    3. int a=-10,b=-6;
    4. printf("%d",a%b);
    5. return 0;
    6. } //结果是-4

    5.case可以嵌套写,表示多个条件一个操作

    case1:case2:case3:printf("11111");

  • 相关阅读:
    面试官:Redis基本命令有哪些,Redis怎么实现分布式锁?
    Python 树表查找_千树万树梨花开,忽如一夜春风来(二叉排序树、平衡二叉树)
    Linux 网络编程 tcp server 笔记
    【线性代数 & C++】求逆矩阵
    1.报表平台规划
    算法刷题笔记--二叉树篇
    开源模型应用落地-LangChain高阶-LCEL-表达式语言(六)
    iOS 学习之旅 - OC 篇
    无监督特征解耦的变声
    安超云:“一云多芯”支持国家信创政务云落地
  • 原文地址:https://blog.csdn.net/qq_43714918/article/details/133959267