首页 > 其他分享 >C基础学习笔记——01-C基础第05天(运算符和流程结构语句)

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

时间:2022-11-08 15:06:52浏览次数:44  
标签:语句 左到 01 05 -- 运算符 int 表达式


在学习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​​,转载请注明出处。

标签:语句,左到,01,05,--,运算符,int,表达式
From: https://blog.51cto.com/u_15405812/5833121

相关文章

  • C基础学习笔记——01-C基础第06天(数组)
    在学习C基础总结了笔记,并分享出来。有问题请及时联系博主:​​Alliswell_WP​​,转载请注明出处。01-C基础第06天(数组)  1、概述数组就是在内存中连续的相同类型的变量空间。......
  • 用实例讲清JavaScript中的空合并运算符
    https://javascript.plainenglish.io/the-nullish-coalescing-operator-in-javascript-explained-with-examples-3e056e49a2c2原译|杨小二如今JavaScript具有许多强大的......
  • 运算符重载
    4.5运算符重载运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型4.5.1加号运算符重载作用:实现两个自定义数据类型相加的运算classPer......
  • Couchdb 垂直权限绕过漏洞(CVE-2017-12635)
    ApacheCouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。......
  • 【JavaScript 教程】第五章 字符串01— JavaScript 字符串
    英文 | https://www.javascripttutorial.net/译文|杨小爱在上节,我们学习了JavaScript流程中的 continue 语句,错过的小伙伴可以点击文章《​​【JavaScript教程】第四......
  • 6 个 JavaScript 算术运算符
    英文|https://javascript.plainenglish.io/the-6-javascript-arithmetic-operators-you-need-to-know-about-4255ae8f2502翻译|杨小爱在您的开发项目中,您总是会遇到一些......
  • 【ARC105C】Camels and Bridge 题解
    题意给定\(n\)只骆驼和每条骆驼的重量\(a_i\)。这些骆驼要通过一条路,这条路被分为\(m\)个部分,每个部分的长度为\(l_i\),限重为\(v_i\)。同时经过这部分的骆驼的重......
  • C基础学习笔记——第01天 linux介绍和基本命令
    在学习C基础总结了笔记,并分享出来。01-C基础第01天(linux介绍和基本命令) 目录和路径目录和路径的含义:目录:又称为文件夹,是包含所有的文件;路径:是反映目录和文件的位置【绝对......
  • Computer Vision_33_SIFT:Improving Bag-of-Features for Large Scale Image Search—
    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面。对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多......
  • VS2015快捷键大全
    在学习C基础总结了笔记,并分享出来。有问题请及时联系博主:​​Alliswell_WP​​,转载请注明出处。目录:零、VS常用快捷键一、VS2015快捷键大全一、VS2008快捷键大全三、VS2005......