• 2018秋季C语言学习总结


    2018秋季开始学习c语言

    1.printf格式化输出函数

    2.基本数据类型,int整型,float浮点型,double双精度浮点型,char字符型

    3.算数运算符

    +加法,-减法,*乘法,/除法,%求余,对于整数间的除法是采取直接舍弃小数部分的方式,而不是什么四舍五入噢。
    对于浮点数间的除法则能获得一个相对逼近结果的值(如果除不尽或位数特别多的话)。
    百分号(%)在这里是表示求余数的意思,但求余运算符要求两边的操作数都要是整数,其结果也是整数。
    当一个运算符的几个操作数类型不同时,编译器需要将它们转换为共同的某种数据类型,才能进行运算。通常情况下,编译器会将占用坑位比较小的操作数,先转换为与坑位较大的操作数的相同类型,然后再进行运算。这样做的目的就是为了确保计算的精确度。

    除了编译器帮你自动转换不同类型的操作数之外,C 语言还允许你强制转换操作数的数据类型。做法就是在操作数的前边用小括号将目标数据类型括起来。

    4.关系运算符

    <小于,<=小于等于,>大于,>=大于等于,他们几个优先级相同但比后面几个优先级高,==等于,!=不等于,这两个优先级相同
    逻辑运算符,!非,&&与,||或,优先级依次前面高于后面

    5.分支语句,

    if语句
    if语句的几种表达示例;
    第一种

    …… // 其它语句
    if (表达式)
    {
        …… // 逻辑值为真所执行的语句、程序块
    }
    …… // 其它语句
    

    第二种

    …… // 其它语句
    if (表达式)
    {
        …… // 逻辑值为真所执行的语句、程序块
    }
    else
    {
        …… // 逻辑值为真所执行的语句、程序块
    }
    …… // 其它语句
    

    第三种

    …… // 其它语句
    if (表达式1) 
    {
        …… // 逻辑值为真所执行的语句、程序块
    }
    else if (表达式2)
    {
        …… // 逻辑值为真所执行的语句、程序块
    }
    else if (表达式3)
    {
        …… // 逻辑值为真所执行的语句、程序块
    }
      .
      .
      .
    else if (表达式n)
    {
        …… // 逻辑值为真所执行的语句、程序块
    }
    else
    {
        …… // 逻辑值为真所执行的语句、程序块
    }
    …… // 其它语句
    

    6.switch语句和分支嵌套,处理多分支结构,可以使用switch

    …… // 其它语句
    switch (表达式)
    {
        case 常量表达式1: 语句或程序块
        case 常量表达式2: 语句或程序块
        ……
        case 常量表达式n:语句或程序块
        default: 语句或程序块 
    }
    …… // 其它语句
    复制代码
    

    这里每个 case 后边的常量是匹配 switch 后边表达式的值
    case 后边必须跟一个常量值,而不能是一个范围
    如果所有的 case 均没有匹配的,那么执行 default 的内容
    default 是可选的,如果没有 default,并且所有的 case 均不匹配,那么 switch 语句不执行任何动作

    switch 语句中的 case 和 default 事实上都是“标签”,用来标志一个位置而已。当 switch 跳到某个位置之后,就会一直往下执行,所以我们这里还需要配合一个 break 语句,让代码在适当的位置跳出 switch。

    分支的嵌套:如果一个if语句中包含另一个if语句,这个就是if语句的嵌套

    悬挂else;

    ……
    if (x == 0)
        if (y == 0)
            error();
    else
        z = x + y;
    ……
    

    这个程序本身没有错误,但是因为C语言规定else会与它离得近的if结合

    这个程序应该是这样:

    if (x == 0)
    {
        if (y == 0)
        {
            error();
        }
    }
    else
    {
        z = x + y;
    }
    ……
    

    while语句,只要表达式为真,那么就会不断执行循环体里面的语句或程序块
    do...while语句,他和while差不多,前一个是先判断结果为真,才执行循环体,后一个是先执行一次循环体,再判断表达式是否为真

    for语句

    for (表达式1; 表达式2; 表达式3)
            循环体
    

    三个表达式用分号隔开,其中:
    表达式1是循环初始化表达式
    表达式2是循环条件表达式
    表达式3是循环调整表达式

    表达式1,2,3都可以进行省略,但分号不能省,程序的可读性也会降低

    循环嵌套

    循环结构跟分支结构一样,都可以实现嵌套。

    对于嵌套的循环结构,执行顺序是从内到外:先执行内层循环,再执行外层循环。

    break 语句

    那么在循环体中,如果我们想要让程序在中途跳出循环,那么我们同样可以使用 break 语句来实现。

    执行 break 语句,直接跳出循环体。

    有一点需要注意的是,对于嵌套循环来说,break 语句只负责跳出所在的那一层循环,要跳出外层循环则需要再布置一个 break 语句才行。

    continue 语句

    当满足某个条件的时候,跳过本轮循环的内容,直接开始下一轮循环。这时候我们应该使用 continue 语句。

    当执行到 continue 语句的时候,循环体的剩余部分将被忽略,直接进入下一轮循环。

    对于嵌套循环来说,continue 语句跟 break 语句是一样的:它们都只能作用于一层循环体。

    for 语句和 while 语句执行过程的区别

    for 语句和 while 语句执行过程是有区别的,它们的区别在于出现 continue 语句时。
    在 for 语句中,continue 语句跳过循环的剩余部分,直接回到调整部分。

    在 while 语句中,调整部分是循环体的一部分,因此 continue 语句会把它也跳过。

    7.函数

    C语言中为我们提供了很多函数例如printf就是

    函数的定义

    C语言要求函数必须“先定义,再调用”,定义函数的格式如下:

    类型名 函数名(参数列表)
    {
    函数体
    }

    类型名就是函数的返回值,如果这个函数不准备返回任何数据,那么需要写上 void(void 就是无类型,表示没有返回值)。
    函数名就是函数的名字,一般我们根据函数实现的功能来命名,比如 print_C 就是“打印C”的意思,一目了然。
    参数列表指定了参数的类型和名字,如果这个函数没有参数,那么这个小括号写一个void即可((void))。
    函数体就是指定函数的具体实现过程,是函数中最重要的部分。

    函数一般先声明,定义,再调用

    定义函数代码例子:
    写一个sum,用户输入n,计算1+...+n的值

    #include <stdio.h>
    
    int sum(int n);
    
    int sum(int n)
    {
            int result = 0;
    
            do
            {
                    result += n;
            } while(n-- > 0);
    
            return result;
    }
    
    int main(void)
    {
            int n;
    
            printf("请输入n的值:");
            scanf("%d", &n);
    
            printf("1+2+3+...+(n-1)+n的结果是:%d
    ", sum(n));
    
            return 0;
    }
    
    

    ok以上就是2018秋季我所学的知识总结

    因为这个时候电脑没到位,所以代码打的比较少,但是代码一般看的懂,也会读代码,这个学期多打点代码

  • 相关阅读:
    springboot 配置
    spring boot配置分页插件
    mongodb 操作
    java基础知识
    java设计模式
    /cat/cpuinfo信息查看
    app接口开发
    基于OpenAM系列的SSO----基础
    关于Linux下的连接文件学习总结
    YII :将oracle中timestamp 字段正常显示在页面中
  • 原文地址:https://www.cnblogs.com/xiao--liang/p/10407039.html
Copyright © 2020-2023  润新知