c语言 转义符 算术运算符及赋值运算符 复合运算符 逗号运算式和表达式 关系运算符 逻辑运算符

来源:互联网 发布:pdf电子书制作软件 编辑:程序博客网 时间:2024/05/07 22:46

转义符 


思考:

如果我想用printf输出33.3% 怎么做??

解决方法:33.3%%除此以外还有其他各种特殊效果,例如:如果我想换行怎么办?我想控制光标怎么办?

这些我们 通通都需要输入特定的符号,而这些符号在程序里面就叫转义符。

\n 换行,相当于敲一下回车。
\t 跳到下一个tab位置,相当于按一下键盘上的tab键。\\输出\字符,也就是在屏幕上显示一个\字符。
\'输出'字符,也就是在屏幕上显示一个'字符。
\"输出"字符,也就是在屏幕上显示一个"字符。 


scanf函数的简单使用 


思考:如果,我们想拿到用户输入的东西,怎么办?解决:我们需要使用scanf()这个函数

1.scanf的作用:在程序运行到scanf的时候,接收用户输入的一些数据,并存储在变量之中

2.scanf的语法:scanf("格式控制字符串",变量地址列表);

语义:格式控制字符串里写占位符,占位符用来接收用户输入1个什么类型的数据,后面写变量的地址,使用&符号可以取到变量的地址,代表将用户输入的对应的数据存到这个变量里。

3.scanf的特点:阻塞式函数:即运行到scanf时,除非用户输入完数据,否则会一直停在scanf处等待用户输入

4.scanf函数中的占位符:
代表的意义:要求用户输入1个什么类型的数据.所以后面给的变量的地址的那个变量的类型要和

格式控制符保持一致.

%d 代表要求用户输入1个整型的数据.
%f
代表要求用户输入1个单精度的小数.
%lf
代表要求用户输入1个双精度类型的小数.%c代表要求用户输入1char类型的数据.

5.写完scanf一定要注意后面接变量地址,并且接同类型的变量地址,否则取到的东西会很异常 

scanf运行原理 

1).用户从控制台输入的数据是先存储在1个叫做缓冲区地方
2). scanf函数准备为变量赋值的时候.先看看缓冲区中有没有数据

如果缓冲区中没有合适的数据才会暂停程序让用户从控制台输入如果缓冲区中有合适的数据直接将缓存区中的数据拿出来赋值给变量 



运算符几本概念和分类


什么是运算符呢?

简单来说,就是给程序里面的数据做运算的符号。


运算符的分类 


按照功能可划分:

1)算术运算符

2)关系运算符

3)逻辑运算符

4)换位运算符


按照参与运算的个数可分为:

1)单目运算:只有一个操作数 如:i++ -a;

2)双目运算:有两个操作数 如:a + b;

3)三目运算:C语言中唯一的一个,也叫问号表达式 a> b ? 1 : 0 



算术运算符及赋值运算符


1)算术运算符 

例:

5 + 3 10-6 3*4 8/2 10%3

这样的用算术运算符结合起来的式子,我们就称之为算术表达式。


2)赋值运算符赋值运算符记为“=”,由“=连接的式子称为赋值表达式。

其一般形式为:变量=表达式其作用为:将“=”右边的值或者计算后的结果赋值给左边的变量

例如: inta=5+3;
我们将算术表达式5 + 3的结果存储在变量a中了。 



复合运算符 


思考:

学生a考试成绩不理想,然后找老师聊了一下后,老师决定给她的分加10分。那么在程序里怎么实现呢?

//学生a的分数为55inta = 55;

//让学生a的分数在原来的基础上加10a = a + 10;

另一种方式:

//学生a的分数为55inta=55;

//让学生a的分数在原来的基础上加10a+=10;//这句话等价于a=a+10;


复合运算符作用就是:让变量的值在自身的基础之上进行运算。


除了 +=,还有

-=

*=

/=

%=



自增和自减 


提问:你今年几岁了?

年龄每年都长1岁,那么,程序里怎么写?

int age = 18;
age = age + 1;
或者 age += 1但是,更精简的方式诞生了!!

a++

++a

可是现在,新问题来了:

a++++a有区别吗? 

前缀++代表让变量先+1,再作为表达式的值

后缀++代表让变量原来的值作为表达式的值,再+1 



逗号运算式和表达式


简介:“,”就叫逗号运算符,把多个表达式用“,”连接起来组成一个表达式,叫逗号表达式。逗号表达式必须用一个括号括起来

inta = 10;intb = 20;

a++;b++;

intc = a + b;等同于

inta = 10;intb = 20;

intc = (a++,b++,a+b); 


关系运算符 


关系运算符大全:

序号

运算符

 

结合性

1

>

大于 如:a>b a>3 5>4 1>2

左结合

2

<

小于 如:a<c d<3 2<5

左结合

3

>=

大于等于 如: a>=1 d>=c

左结合

4

<=

小于等于 如: a<=0 i<=19

左结合

5

==

等于 i==3 a==b

左结合

6

!=

不等于 a!=b c!=5

左结合


如果我们说张三比李四帅也就是说张三的颜值大于李四

那么,如果以后我们要询问 张三 比 李四帅吗?

是否就可得到一个条件表达式 结果 = 张三的颜值> 李四的颜值

也就是说:

条件表达式是用来描述的1个条件的.

条件表达式的结果:条件表达式只有两种结果,一种是条件成立返回的是1(也叫条件为真),一

种是条件不成立返回的是0(也叫条件为假),不可能出现第三种。 



逻辑运算符 


C语言中提供了三种逻辑运算符:

&&(与运算)

||(或运算)

!(非运算


逻辑运算的值


逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”来表示。其求值规则如下:

1) 与运算(&&)

参与运算的两个量都为真时,结果才为真,否则为假。例如:

5>0 && 4>2

由于5>0为真,4>2也为真,相与的结果也为真。

口诀:一假则假

2) 或运算(||)
参与运算的两个量只要有一个为真,结果就为真。 两个量都为假时,结果为假。例如:

5>0||5>8

由于5>0为真,相或的结果也就为真。

口诀:一真为真 

3) 非运算(!)

参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:

!(5>0) 的结果为假。

口诀:真变假,假变真 


注意:
1)虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0 ”代表“假”。 但反过来在判断一个量是为“真”还是为“假”时,

以“0”代表“假”,以非“0”的数值作为“真”。 例如:

由于5和3均为非“0”因此5&&3的值为“真”,即为1。

又如:5||0的值为“真”,即为1。

2)短路
与短路:&& 只要第一个条件表达为假那么后面的条件表达就不参与运算了 

或短路:|| 只要第一个条件表达式为真那么后面的条件表达式就不参与运算了 



逻辑表达式 


逻辑表达式的一般形式为:

表达式 逻辑运算符 表达式

其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:
(a&&b)&&c
根据逻辑运算符的左结合性,上式也可写为:
a&&b&&c
逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。 



sizeof的介绍和使用 


1、sizeof的概念

sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。sizeof操作符以字节形式给 出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。


2、sizeof的使用方法

1)用于数据类型

sizeof使用形式:sizeof(type) 数据类型必须用括号括住。如sizeof(int)。 

2)用于常量

int size = sizeof(1);

size = sizeof(1.1);

size = sizeof(1.1f);

sise = sizeof('a');

3)用于变量
sizeof使用形式:sizeof(var_name)或sizeof var_name 变量名可以不用括号括住。

如sizeof(var_name),sizeof var_name等都是正确形式。带括号的 用法更普遍,大多数程序员采用这种形式。

char a;
size =
sizeof(a);
size =
sizeof a; 




0 0