第四章 总结

1.

文字描述: 

1.定义三个整型变量a,b,c;定义一个单精度变量area;定义一个双精度变量s;

2.输入三角形的三条边;

3.判断是个否构成三角形;

4.计算三角形面积;

5.输出三角形面积

代码:

#include<math.h>
int main()
{
    int a, b, c;
    float area;
    double s;
    printf("请输入三角形的三条边长:");
    scanf_s("%d,%d,%d", &a, &b, &c);
    s = (a + b + c) / 2.0;
    if (a + b <= c || b + c <= a || a + c <= b)
    {
        printf("不够成三角形\n");
    }
    else
    {
        area = sqrt(s * (s - a) * (s - b) * (s - c));
        printf("三角形的面积是:%f\n", area);
    }
    return 0;
}

流程图:

截图: 

2.

代码:

1.定义一个整型变量x,定义一个小数y;

2.输入x的值;

3.判断x是否等于0,x不等于 0,y等于1.0/x;否则y=0;

4.输出;

#include<stdio.h>
int main()
{
    int x; float y;
    printf("输入x的值:");
    scanf_s("%d", &x);
    if (x != 0)
        y = 1.0 / x;
    else
        y = 0;
    printf("%d,%f", x, y);
    return 0;        
}

流程图:

 截图:

3.

代码:

1.定义一个字符’m';定义三个整数变量i=10,j=20,k=30;定义两个单精度变量x=13e和y=10.85;

2.设置一个输出函数,输出相应关系运算符的出来的值;

3.结束;

#include<stdio.h>
int main()
{
    char c = 'm';
    int i = 10, j = 20, k = 30;
    float x = 13e+5, y = 10.85;
    printf("%d,%d,", 'a' + 5 < c, -i - 2 * j >= k + 1);
    printf("%d,%d\n", 1 < j < 5, x - 5.25 <= x + y);
    printf(" % d, % d\n", i + j + k == -2 * j, k == j == i + 5);
    return 0;
}

流程图:

截图: 

 4.

文字描述:

1定义四个整型变量a=3,b=3,c=2,d;

2.设置一个输出函数,输出相应关系运算符的出来的值;

3.表达式出来的值赋值给d;

4.结束;

代码:

#include<stdio.h>
int main()
{
    int a = 3, b = 3, c = 2, d;
    printf("%d,", !a && !b && c);
    printf("%d,", !a || !b || c);
    printf("%d\n", a >= b && b > c);
    d = c-- || (b = 6) && a++;
    printf("a=%d,b=%d,c=%d,d=%d\n", a, b, c, d);
    return 0;
}

流程图:

截图: 

5.

文字描述:

1.定义两个整型变量x,y;

2.设置一个输出函数,输出普通字符;

3.声明两个函数,将x,y的值存入 ;

4.设置一个输出函数,输出条件表达式得出来的值;

5.结束;

代码:

 #include<stdio.h>
int main()
{
    int x, y;
    printf("请输入两个整数:");
    scanf_s("%d,%d", &x, &y);
    printf("两个整数中最大的数为:%d\n", x > y ? x : y);
    return 0;    
}

流程图:

截图:

6 .

文字描述:

1.定义两个整型变量a,b;

2.设置一个输出函数,输出普通字符

3.声明两个输入函数,将a,b的值输入;

4.判断a和b的值的大小,a大输出a的值;否则输出b的值;

5.结束;

代码:

#include<stdio.h>
int main()
{
    int a, b;
    printf("请输入两个整数:");
    scanf_s("%d%d",&a,&b);
    if (a > b)
        printf(":两个整数中最大的数为%d\n", a);
    else
        printf("两个整数中最大的数为%d\n",b);
    return 0;
}

流程图:

截图: 

7.

文字描述:

1.定义两个双精度浮点型变量x,y;

2.设置一个输出函数,输出普通字符;

3.声明一个输入函数,将x的值输入;

4.判断x是否小于1;小于1,y=exp(x);否则,y=pow(x,2)-1;

5.声明一个函数,输出x,y的值;

6.结束;

代码:

 #include<stdio.h>
#include<math.h>
int main()
{
    double x, y;
    printf("输入x的值:");
    scanf_s("%lf", &x);
    if (x <= 1)
        y = exp(x);
    else
        y = exp(x, 2) - 1;
    printf("f(%f)=%.2f\n", x, y);
    return 0;
}

流程图:

截图: 

 8.

文字描述:

1.定义一个单精度浮点型变量x;

2.声明一个输入函数,将x的值存入;

3.判断x是否小于0;小于0,x的负数取负;

4.声明一个输出函数,将x的值输出;

5.结束;

代码:

#include<stdio.h>
int main()
{
    float x;
    scanf_s("%f", &x);
    if (x < 0)
        x = -x;
    printf("%f",x);
    return 0;
}

流程图:

截图:

9.

文字描述:

1.定义两个整数变量x,y;

2.声明一个输出函数,输出普通字符;

3.声明一个输入函数,把x的值存入;

4.判断x的值是否为0;x=0,y=1;x!=0,y=-1;

5.声明一个输出函数,把y的值输出;

6.结束;

代码:

 #include<stdio.h>
int main()
{
    int x, y;
    printf("x=");
    scanf_s("%d",&x);
    if (x)
        y = 1;
    else
        y = -1;
    printf("y=%d", y);
    return 0;
}

流程图:

 截图:

 10.

文字描述:

1.定义四个单精度浮点型变量a,b,c,d;

2.判断a,b的大小,a大运行第一个赋值运算;

3.判断a,c的大小,a大运行第二个赋值预算;

4.判断b,c的大小,b大运行第三个赋值运算;

5.声明一个输出函数,把a,b,c存入;

6.结束;

代码:

#include<stdio.h>
int main()
{
    float a, b, c, t;
    scanf_s("%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("%5.2f,%5.2f,%5.2f\n", a, b, c);
    return 0;
}

流程图:

截图: 

11.

文字描述:

1.定义四个整型变量a,b,c,max;

2.声明一个输入函数,把a,b,c,的值存入;

3.判断a,c的大小,a大,就赋值给max;否则c就赋值给max;

4.判断b,c的大小,b大,就赋值给max;否则c就赋值给max;

5.声明一个输出函数,把max的值输出;

6.结束;

代码:

 #include<stdio.h>
int main()
{
    int a, b, c,max;
    scanf_s("%d%d%d", &a, &b, &c);
    if (a > b)
        if(a>c)
        max = a;
    else
        max = c;
    else
    if (b > c)
        max = b;
    else
        max = c;
        printf("max=%d\n", max);
        return 0;
}

流程图:

截图: 

 12.

文字描述:

1.定义两个整型变量为x,y;

2.声明一个输入函数,把x的值存入;

3.判断x是否大于0;x=0,y=0;x不等于0,y-1;

4.声明一个输出函数,把y的值输出;

5.结束;

代码:

#include<stdio.h>
int main()
{
    int x, y;
    scanf_s("%d", &x);
    if (x > 0)
        y = 1;
    else
        if (x == 0)
            y = 0;
        else
            y = -1;
    printf("y=%d\n",y);
    return 0;
}

流程图:

 截图:

13.

文字描述:

1.定义两个单精度浮点型变量x,y;

2.声明一个输出函数,输出普通字符;

3.声明一个输入函数,把x输入;

4.判断x是否小于等于2,把表达式赋值给y;

5.判断x是否会小于等于10,把表达式赋值给y;

6.声明一个输出函数,输出y的值;

7.结束;

代码:

 #include<stdio.h>
#include<math.h>
int main()
{
    float x, y;
    printf("输入y的值:");
    scanf_s("%f", &x);
    if (x < 2)
        y = 2 * x;
    else
        y = 1 - cos(x);
    printf("y = % 0.6f\n", y);
    return 0;
}

流程图:

14.

文字描述:

1.定义两个字符型变量c1,c2;

2.声明一个输出函数,输出普通字符;

3.声明单个字符输入函数,判断输入的字符是否小写,小写转大写;

4.判断输入的字符是否大写,大写转小写;

5.转换为ASCII码表的下一个字符,输出字符变量c2的值;

6.结束;

代码:

#include<stdio.h>
int main()
{
    char c1, c2;
    printf("请输入一个字符:");
    c1 = getchar();
    if (c1 >= 'a' && c1 <= 'z')
        c2 = c1 - 32;
    else if (c1 >= 'A' && c1 <= 'Z')
        c2 = c1 + 32;
    else
        c2 = c1 + 1;
    putchar(c2);
    return 0;
}

流程图:

截图: 

 15.

文字描述:

1.定义一个整数变量month;

2.声明一个输出函数,输出普通字符;声明一个输入函数,输入month的值;

3.判断的数字为第几季度;

4.输出第一季度,结束循环;输出第二季度,结束循环;

  输出第三季度,结束循环;输出第四季度,结束循环;

5.其它数字违背此语句,输入输出错误;

6.结束;

代码:

#include<stdio.h>
int main()
{
    int month;
    printf("输入月份:");
    scanf_s("%d", &month);
    switch ((month - 1) / 3)
    {
    case 0:
            printf("%d月是第1季度\n", month);
            break;
    case 1:
                printf("%d月是第2季度\n", month);
                break;
    case 2:
                    printf("%d月是第3季度\n", month);
                    break;
    case 3:
                        printf("%d月是第4季度\n", month);
                        break;
    default:
        printf("输入错误;");
        break;
    }
                return 0;  
}

流程图:

截图:

 16.

文字描述:

1.定义三个整型变量year,month,days;

2.声明一个输出函数,输出普通字符;声明一个输入函数,输入year,month的值;

3.判断month的值;1,3,5,7,8,10,12月份为31天,结束循环;

                               4,6,9,11月份为30天,结束循环;

4.判断是否为闰年;是闰年,2月份为29天;不是闰年,2月份为28天;

5.声明一个输出函数,输出year,month,days的值;

6.结束;

代码:

#include<stdio.h>
int main()
{
    int year, month, days;
    printf("请输入年,月:");
    scanf_s("%d,%d",&year, &month);
    switch (month)
    {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        days = 31;
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        days = 30;
        break;
    case 2:
        if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
            days = 29;
        else
            days = 28;
        break;
    }
    printf("%d年%d月的天数是%d天\n",year,month,days);
    return 0;
}

流程图:

截图:

 17.

文字描述:

1.定义一个整型变量expreession来存放构造表达式的值;定义两个单精度浮点型变量x,y;

2.声明一个输出函数,输出普通字符;声明一个输入函数,存入x的值;

3.判断expreession的值;值为1时赋值给 y,跳出第一个语句;值为2时赋值给 y,跳出第二个语句;

                                        值为3时赋值给 y,跳出第三个语句;

4.声明一个输出函数,输出y的值;

5.结束;

代码:

#include<stdio.h>
#include<math.h>
int main()
{
    int expression; float x, y;
    printf("输入x的值:");
    scanf_s("%f", &x);
    expression = (int)(1 * (x < 2) + 2 * (x >= 2 && x <= 10) + 3 * (x > 10));
    switch (expression)
    {
    case 1:
        y = 2 * x; break;
    case 2:
        y = 7 - 3 * x;
        break;
    case 3:
        y = 1 - cos(x); break;
    }
    printf("y=%0.5f\n", y);
    return 0;
}

流程图:

截图:

4.5  分支结构程序设计实例

18.

文字描述:

1.定义两个单精度浮点型变量x,y;

2.声明一个输入函数,存入x的值;

3.判断x是否大于等于0;x大于等于0,输出y=sqrt(x);x小于等于0,输出y=pow(x,5)+2*x+1/x;

4.声明一个输出函数,输出x的值;

5.结束;

代码:

#include<stdio.h>
#include<math.h>
int main()
{
    float x, y;
    scanf_s("%f", &x);
    if (x >= 0)
        y = sqrt(x);
    else
        y = pow(x, 5) + 2 * x + 1 / x;
    printf("x=%.2f,y=%.2f\n", x, y);
        return 0;

}

流程图:

截图:

 19.标准格式实现:

文字描述:

1.定义两个整数变量year,leap;

2.输出普通字符;声明一个输入函数,存入year的值;

3.判断输入的年份是否能被4或400取余为0,不能被100取余为0;

4.能,leap=1;不能,leap=0;

5.判断leap为1或为0;

6.leap为1,输出是闰年,leap为0,输出不是闰年;

7.结束;

代码:

#include<stdio.h>
int main(void)
{
 int year, leap;
 printf("输入年份:");
 scanf_s("%d", &year);
 if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
  leap = 1;
 else
  leap = 0;
 if (leap)
  printf("%d是闰年\n", year);
 else
  printf("%d不是闰年\n", year);
 return 0;
}

流程图:

截图:

 20.嵌套格式实现:

文字描述:

1.定义两个整数变量year,leap;

2.输出普通字符;声明一个输入函数,存入year的值;

3.判断输入的数是否能被4取余为0;判断是否被100取余为0判断是否被400取余为0;

   能被400取余为0,leap=1;不能被4或100取余为0,leap=0;能被4或100取余为0,leap=1;

4.leap为1,输出是闰年,leap为0,输出不是闰年;

7.结束;

代码:

#include<stdio.h>
int main()
{
    int year, leap;
    printf("输入年份:");
    scanf_s("%d", &year);
    if (year % 4 == 0)
    {
        if (year % 400 == 0)
        {
            if (year % 400 == 0)
                leap = 1;
        }
        else
            leap = 1;
    }
    else
        leap = 0;
    if (leap)
        if (leap)
            printf("%d是闰年\n", year);
        else
            printf("%d不是闰年\n", year);
    return 0;
}

流程图:

截图:

21.多分式格式实现

文字描述:

1.定义两个整数变量year,leap;

2.输出普通字符;声明一个输入函数,存入year的值;

3.判断输入的数是否能被4取余为非0,非0,leap0;判断是否被100取余为非0,非0,leap=1;           判断是否被400取余为非0,非0,leap=0;不是非0,leap=1;

4.判断leap为1或为0;

4.leap为1,输出是闰年,leap为0,输出不是闰年;

7.结束;

代码:

#include<stdio.h>
int main()
{
    int year, leap;
    printf("输入年份:");
    scanf_s("%d", &year);
    if (year % 4 != 0)
        leap = 0;
    else  if (year % 100 != 0)
        leap = 1;
    else  if (year % 400 != 0)
        leap = 0;
    else
        leap = 1;
    if(leap)
            printf("%d是闰年\n", year);
        else
            printf("%d不是闰年\n", year);
    return 0;
}
 

流程图:

截图;

 22.

文字描述:

1.定义四个整型变量n,a,b,c;

2.输出普通字符;声明一个输入函数,存入n的值;

3.判断n是否小于100或大于999;是的话输出错误;

4.a=n/100,得到百位;b=n/10,得到十位;c=n/10,得到个位;

5.判断a,b,c的值是否为升序数;

6.是的话输出升序数字样,不是则输出不是升序数字样;

7.结束;

代码:

#include<stdio.h>
int main()
{
    int n, a, b, c;
    printf("请输入一个3位数:");
    scanf_s("%d", &n);
    if (n < 100 || n>999)
        printf("输入错误!\n");
    else
    {
        a = n / 100;
        b = n / 10 % 10;
        c = n / 10;
        if (a < b && b < c)
            printf("%d是升序数\n", n);
        else
            printf("%d不是升序数\n", n);
    }return 0;
}
 

流程图:

截图:

第四章  总结:

4.2 关系运算符、逻辑运算符、条件运算符

4.2.1关系表达式和关系运算符

1.关系运算符

关系运算符用于判断两个操作数的大小关系。

2.关系表达式

用关系运算符将两个表达式连接起来的式子称为关系表达式。

4.2.2  逻辑运算符和逻辑表达式

1.逻辑运算符

关系表达式只能描述单一的条件。

2.逻辑表达式

用逻辑运算符将两个表达式连接起来的式子称为逻辑表达式。

4.2.3   条件运算符和条件表达式

1.条件运算符

条件运算符由“?”和“:”两个符号组成,用于条件求值,,它是一个三目运算符,需要三个操作数。条件运算符的优先级低于逻辑运算符、高于赋值运算符,它是右结合的。

2.条件表达式

用条件运算符将3个表达式连接起来的式子称为条件表达式。

4.3  使用if—else实现分支结构

4.3.1 if—else语句

1.双分支if语句

其一般形式为如下:

                                if(表达式)

                                       语句1;

                                else

                                       语句2;

2.单分支if语句

其一般形式如下:

                           if(表达式)

                                    语句1;

4.3.2    if语句的嵌套

一个if语句中包含了一个或多个if语句的现象称为if语句的嵌套。

4.3.3  多分支if语句

多分支语句其一般形式如下:

                                             if(表达式1)

                                                 语句1;

                                              else  if(表达式2)

                                                  语句2;

                                                else  if (表达式n-1)

                                                   语句n-1;

                                                  else

                                                    语句n;

4.4  使用switch语句实现分支结构

switch语句的一般形式如下:

   switch(表达式)

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

       case常量表达式2:语句2;break;

        ...

       case常量表达式n:语句n;break;

default:语句n+1;break;}

1.在switch语句格式中的每一个语句后面都使用break语句。

2.在switch语句格式中的部分语句后面都使用break语句。

3.在switch语句格式中不使用break语句。

switch语句中不使用break语句时,程序在执行相应语后,不会跳出正在执行的switch语句,而是会继续执行其后的所有语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值