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\t", j, i, i*j);
14         }
15         printf("\n");
16     }
17 
18 
19     system("pause");
20     return EXIT_SUCCESS;
21 }

注意:此处的printf("%d*%d=%d\t", 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("输入行数:\n");
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("\n");
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("您输入的数太大了\n");
18         else if (value < num)
19             printf("您输入的数太小了\n");
20         else
21         {
22             printf("恭喜您!中奖啦~\n");
23             break;
24         }
25     }
26 
27 
28     system("pause");
29     return EXIT_SUCCESS;
30 }

 

 

 

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

posted on 2020-06-01 20:29  Alliswell_WP  阅读(233)  评论(2编辑  收藏  举报

导航