• 第五章,运算符、表达式和语句


    5.2  基本运算符

    5.2.1  赋值运算符:=

    术语:左值,右值,数据对象。

    5.2.2  加法运算符:+

    5.2.3  减法运算符:-

    5.2.4  符号运算符:-和+

    5.2.5  乘法运算符:*

    5.2.6  除法运算符:/

    5.2.7  运算符优先级

    5.2.8  优先级和求值顺序

    结合律只适合共享同一运算对象运算符。

    5.3  其他运算符

    5.3.1  sizeof运算符和size_t类型

    C语言规定:sizeof返回size_t类型的值。这是一个无符号整型。但他不是新类型,是语言定义的标准类型。即typedef机制。

    5.3.2  求模运算符:%

    求模运算符给出其左侧整数除于右侧整数的余数。

    当负数求模时,c99规定如果第一个运算对象是负数,那么求模结果为负数,如果第一个运算对象是正数,那么求模结果为正数,

    5.3.3  递增运算符:++

    ++出现在其作用的变量前,这是前缀模式,即先加一

    ++出现在其作用的变量后,这是后缀模式。即先使用变量再加一。

    5.3.4  递减运算符:--

    5.3.5  优先级

    递增和递减运算符都有很高的结合优先级,只有圆括号的优先级比他们高。(只能影响一个可修改的左值)

    5.4  表达式和语句

    5.4.1  表达式

    表达式是由运算符和运算对象组成的,每个表达式都有一个值。

    5.4.2  语句

    语句是c程序的基本构建块

    while是一种迭代语句有时也被称为结构化语句。

    副作用和序列点

    例:num=123;它副作用是将变量的值设置为123,主要目的是给表达式求值。

    序列点:是程序执行的点

    5.4.3  复合语句(块)

    复合语句:是用花括号括起来的一条或多条语句

    5.5  类型转化

    1.当类型转化出现在表达式时,无论unsigned还是signed的char,short都会被转化为int,如有必要会转化为unsigned int,由于都是较小类型转化为较大类型,所以被称为升级。

    2.设计到两种类型的运算,两个值会分别被转为更高的等级。

    3.类型的级别依次是

    4.赋值表达式语句中,计算结果最终会被转化为被赋值的类型,这个过程有可能导致降级。

    5.当作为函数参数传递时char,short被转化为int,float被转化为double函数原型会自动覆盖升级。

    5.5.1  强制类型转化运算符

    其通用型式为:(type)

    5.6  带参数的函数

    我们可以说:形参是变量,实参是函数实际调用的值,实参被赋值给相应的形参。

    5.11  编程练习

    3.

    #include <stdio.h>
    // 输入天数改成周数和天数
    int main(void)//
    {
        int num=0;
        int week=0;
        int day=0;
        printf("please enter a numbers of days");
        scanf("%d",&num);
        week=num/7;
        day=num%7;
        printf("%d day are %d weeks,%d day ",num,week,day);
        return 0;
    }

    6.

    #include <stdio.h>
    // 输入天数改成周数和天数
    int main(void)//
    {
        int day=0;
        printf("please enter number of days");
        scanf("%d",&day);
        while(day<21)
        {
            int i=0;
            int money=0;
            while(i<day)
            {
                i++;
                money=(i*i)+money;
            }
            printf("you earn %d yuan in %d days 
    ",money,day);
            scanf("%d",&day);
        }
        return 0;
    }

    7.

    #include <stdio.h>
    void calculate_print(double n);
    int main(void)//
    {
        double num;
        printf("please enter a number");
        scanf("%lf",&num);
        calculate_print(num);
        return 0;
    }
    void calculate_print(double n)
    {
        n=n*n*n;
        printf("cubic value is %f",n);
    }

    8.

    #include <stdio.h>
    void calculate_print(double n);
    int main(void)//
    {
        int num1=0;
        int num2=0;
        printf("please enter a number ");
        scanf("%d",&num2);
        printf("please enter a number ");
        scanf("%d",&num1);
        while(num1>0)
        {
            printf("%d",num1%num2);
            printf("please enter a number ");
            scanf("%d",&num1);
        }
        return 0;
    }

    9.while判断条件中,是需要输入值才能判断的。

    #include <stdio.h>
    void temperature(double n);
    int main(void)//
    {
        double num=0.0;
        printf("please enter a number
    ");
        while(scanf("%lf",&num)==1)
        {
            temperature(num);
            printf("please enter a number
    ");
        }
        return 0;
    }
    void temperature(double n)
    {
        double celsius =0;
        double kelvin=0;
        celsius=5.0/9.0*(n-32.0);
        kelvin=celsius+273.16;
        printf("celsius is %f,kelvin is %f
    ",celsius,kelvin);
    
    }
  • 相关阅读:
    CentOS7 FTP安装与配置
    EF CodeFirst 数据库的操作
    CentOS7 防火墙(firewall)的操作命令
    小程序学习(四)小程序逻辑层之注册页面
    小程序学习(三)小程序逻辑层的注册程序和场景值
    小程序学习(二)基本结构与文件的类型
    VS2015 无法启动IIS Express Web服务器(已解决)
    django 2.接口之工作原理
    django 1.开发接口环境搭建
    pytest 15 fixture之autouse=True
  • 原文地址:https://www.cnblogs.com/suwencjp/p/12295865.html
Copyright © 2020-2023  润新知