• C基础学习笔记——01-C基础第05天(运算符和流程结构语句)


    在学习C基础总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

    01-C基础第05天(运算符和流程结构语句)

    目录:

    一、运算符(运算符优先级

    二、程序流程结构(break语句、continue语句、goto语句)

    三、练习(九九乘法表、等腰三角星星、猜数字)

    一、运算符

    1、运算符

    算术运算符【+ - * / % ++(自增) --(自减)】

    2、赋值运算符

    3、比较运算符

    C 语言的比较运算中, “真”用数字“1”来表示, “假”用数字“0”来表示。

    4、逻辑运算符

    5、运算符优先级

    优先级

    运算符

    名称或含义

    使用形式

    结合方向

    说明

    1

    []

    数组下标

    数组名[常量表达式]

    左到右

    --

    ()

    圆括号

    (表达式)/函数名(形参表)

    --

    .

    成员选择(对象)

    对象.成员名

    --

    ->

    成员选择(指针)

    对象指针->成员名

    --

    2

    -

    负号运算符

    -表达式

    右到左

    单目运算符

    ~

    按位取反运算符

    ~表达式

    ++

    自增运算符

    ++变量名/变量名++

    --

    自减运算符

    --变量名/变量名--

    *

    取值运算符

    *指针变量

    &

    取地址运算符

    &变量名

    !

    逻辑非运算符

    !表达式

    (类型)

    强制类型转换

    (数据类型)表达式

    --

    sizeof

    长度运算符

    sizeof(表达式)

    --

    3

    /

    表达式/表达式

    左到右

    双目运算符

    *

    表达式*表达式

    %

    余数(取模)

    整型表达式%整型表达式

    4

    +

    表达式+表达式

    左到右

    双目运算符

    -

    表达式-表达式

    5

    << 

    左移

    变量<<表达式

    左到右

    双目运算符

    >> 

    右移

    变量>>表达式

    6

    > 

    大于

    表达式>表达式

    左到右

    双目运算符

    >=

    大于等于

    表达式>=表达式

    < 

    小于

    表达式<表达式

    <=

    小于等于

    表达式<=表达式

    7

    ==

    等于

    表达式==表达式

    左到右

    双目运算符

    =

    不等于

    表达式!= 表达式

    8

    &

    按位与

    表达式&表达式

    左到右

    双目运算符

    9

    ^

    按位异或

    表达式^表达式

    左到右

    双目运算符

    10

    |

    按位或

    表达式|表达式

    左到右

    双目运算符

    11

    &&

    逻辑与

    表达式&&表达式

    左到右

    双目运算符

    12

    ||

    逻辑或

    表达式||表达式

    左到右

    双目运算符

    13

    ?:

    条件运算符

    表达式1?

    表达式2: 表达式3

    右到左

    三目运算符

    14

    =

    赋值运算符

    变量=表达式

    右到左

    --

    /=

    除后赋值

    变量/=表达式

    --

    *=

    乘后赋值

    变量*=表达式

    --

    %=

    取模后赋值

    变量%=表达式

    --

    +=

    加后赋值

    变量+=表达式

    --

    -=

    减后赋值

    变量-=表达式

    --

    <<=

    左移后赋值

    变量<<=表达式

    --

    >>=

    右移后赋值

    变量>>=表达式

    --

    &=

    按位与后赋值

    变量&=表达式

    --

    ^=

    按位异或后赋值

    变量^=表达式

    --

    |=

    按位或后赋值

    变量|=表达式

    --

    15

    逗号运算符

    表达式,表达式,…

    左到右

    --

    6、类型转换

    转换的方法有两种
    (1)自动转换(隐式转换):遵循一定的规则,由编译系统自动完成。
    (2)强制类型转换:把表达式的运算结果强制转换成所需的数据类型。

    类型转换的原则:占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。

    二、程序流程结构

    C语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。

    (1)顺序结构:程序按顺序执行,不发生跳转。

    (2)选择结构:依据是否满足条件,有选择的执行相应功能。

    (3)循环结构:依据条件是否满足,循环多次执行某段代码。

    注意区别三个语句

    1) break语句

    在switch条件语句和循环语句中都可以使用break语句:

    (1)当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。

    (2)当它出现在循环语句中,作用是跳出当前内循环语句,执行后面的代码。

    (3)当它出现在嵌套循环语句中,跳出最近的内循环语句,执行后面的代码。

    2)continue语句

    在循环语句中,如果希望立即终止本次循环,并执行下一次循环,此时就需要使用continue语句。

    3)goto语句

    (无条件跳转,尽量少用)

    三、练习

    练习:九九乘法表

     1 #define _CRT_SECURE_NO_WARNINGS
     2 #include<stdio.h>
     3 #include<string.h>
     4 #include<stdlib.h>
     5 
     6 int main()
     7 {
     8     int i, j;
     9     for (i = 1; i <= 9; i++)
    10     {
    11         for (j = 1; j <= i; j++)
    12         {
    13             printf("%d*%d=%d	", j, i, i*j);
    14         }
    15         printf("
    ");
    16     }
    17 
    18 
    19     system("pause");
    20     return EXIT_SUCCESS;
    21 }

    注意:此处的printf("%d*%d=%d ", j, i, i*j);第一列才是1*1,1*2....

    练习:等腰三角星星

     1 #define _CRT_SECURE_NO_WARNINGS
     2 #include<stdio.h>
     3 #include<string.h>
     4 #include<stdlib.h>
     5 
     6 int main()
     7 {
     8 
     9     int row;
    10     printf("输入行数:
    ");
    11     scanf("%d", &row);
    12     for (int i = 1; i <= row; i++)
    13     {
    14         for (int j = 1; j <= row - i; j++)
    15         {
    16             printf(" ");
    17         }
    18         for (int k = 1; k <= i * 2 - 1; k++)
    19         {
    20             printf("*");
    21         }
    22         printf("
    ");
    23 
    24     }
    25 
    26     system("pause");
    27     return EXIT_SUCCESS;
    28 }

    练习:猜数字

     1 #define _CRT_SECURE_NO_WARNINGS
     2 #include <time.h>
     3 #include<stdio.h>
     4 #include<string.h>
     5 #include<stdlib.h>
     6 
     7 int main()
     8 {
     9     //加入随机数种子
    10     srand((unsigned int)time(NULL));
    11     int num = rand()%100+1;//1-100
    12     int value;
    13     while (1)//for(;;)
    14     {
    15         scanf("%d", &value);
    16         if (value > num)
    17             printf("您输入的数太大了
    ");
    18         else if (value < num)
    19             printf("您输入的数太小了
    ");
    20         else
    21         {
    22             printf("恭喜您!中奖啦~
    ");
    23             break;
    24         }
    25     }
    26 
    27 
    28     system("pause");
    29     return EXIT_SUCCESS;
    30 }

    在学习C基础总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

  • 相关阅读:
    第四十三课:jQuery插件化
    js模块化开发
    第四十二课:基于CSS的动画引擎
    第四十一课:CSS3 animation详解
    第四十课:CSS3 transition详解
    第三十九课:requestAnimationFrame详解
    几种排序
    图与搜索
    数组
    链表
  • 原文地址:https://www.cnblogs.com/Alliswell-WP/p/C_BasicLearning_05.html
Copyright © 2020-2023  润新知