C运算符部分
- 关键字:while,typedef
- 运算符:+,_,*,/,%,++,-- – ,=等各种运算符
while小试牛刀
#include<stdio.h>
// 用while实现1~100的和并打印出来,从而学习while循环的使用
int main()
{
int i=1;
int sum=0;
while (i<=100)//其内必须为表达式
{
/* code */
sum+=i;//累加并把累加结果给sum
i++;//i++实现1~100
}
printf("1~100的整数和为:%d",sum);
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
pow()函数
C中没有指数运算符,不过C的标准函数库提供了 pow(a,b)函数用于指数的运算,表示a的b次幂,比如:
#include<stdio.h>
#include<math.h>
int main(){
int i;
i=pow(2,3);
printf("%d",i);
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
需要注意使用pow()函数需要引入math库。
基本运算符
C用运算符表示算术运算,C大约40个运算符,目前我们学习最常用的
赋值运算符
下面是赋值表达式语句
a=5; //把数值5赋给变量a
b=2; //把数值2赋给变量b
c,d=0; //c未初始化,把数值0赋给变量d
a=a+1; //找到变量a,在该变量的基础上加1,然后得到的结果赋值给变量a
5=a; //在C中没意义,实际上是无效的
- 1
- 2
- 3
- 4
- 5
- 6
从上面的栗子简单总结:编写代码,=左侧的项必须是一个变量名。实际中,赋值运算符的左侧必须开辟一个储存位置,最简单的方法就是使用变量名。(后续指针也可以指向一个储存位置)
几个术语
数据对象:用于储存值的数据区域的统称
左值,可修改的左值:用于表示或存储位置的标签
右值:指的是能赋给可修改左值的量,且本身不是左值。比如a=5
,这是a是可修改的左值,5是右值,事实上,右值可以是变量,常量或者其他可以求值的表达式
加法运算符:+
用于加法运算,使其两侧的值相加,相加的值可以是常量或者变量
a=20+10;
a=b+c;//a,b,c都是可修改的左值
- 1
- 2
减法运算符:—
用于减法运算,使其左侧的数减去右侧的数。
a=30-10;
- 1
+和—都是二元运算符,为啥这样叫呢?因为需要两个运算对象
符号运算符:+和-
就是正负号,OK
他们都是一元运算符,我就不多啰嗦。下一个
乘法运算符:*
不多说,同理
除法运算符:/
整/整== 整
10/2==5
小数/小数== 小数
10.0/2.0==5.0
还有一种情况:5/3你猜等于几,等于1???,聪明。这种现象被成为截断
运算符优先级
- 括号
- 乘除(先后顺序)
- 加减(先后顺序)
- 赋值
当然这仅仅在一部分里,随着运算符的增多继续深入
sizeof运算符和size_t类型
sizeof运算符以字节为单位返回运算对象的大小。
运算对象可以是具体的数据对象(变量名)或类型。如果运算对象是类型,则必须用圆括号括起来。
C规定sizeof返回size_t类型的值。这是一个无符号整数类型,但它不是新类型,size_t是语言定义的标准类型
C有一个typedef机制,允许程序员为现有类型创建别名。比如:
typedef int cat;
//这样cat就成为了int的别名,现在我们可以这样声明int类型
cat a;//使用了typedef机制
- 1
- 2
- 3
求模运算符:%
求模用于整数运算,比如13%5(13求模5)结果是3,它算的是余数(求模运算只能用于整数,不能用于小数,它非常有用,求模运算符常用于程序控制流)
递增运算符:++
优点:1. 使程序简洁 2. 通常用它生成的二进制代码效率更高,因为它和实际的机器语言指令很相似。
i++;
++i;
- 1
- 2
两种的区别在于递增发生的时间不同
a=3*++i;
- i递增1
- 然后3乘i,得到结果赋值给a
a=3*i++
- 3先乘i,并将结果赋值给a
- i递增1
区别:
i++:使用i的值以后,递增i(先用后增)
++i:使用i的值之前,递增i(先增后用)
递减运算符:_ _
与++相对应
优先级
a=2;
b=3;
c=(a+b++)*6;
- 1
- 2
- 3
5*6=30
b的值只有在使用后才递增为4,
所以可以看出优先级:
- 括号
- 递增递减运算符
- 乘除
- 加减
- 赋值
- ……
泰兰德的夏天永不停歇
我爱的少年永远热烈!!!
文章来源: blog.csdn.net,作者:周棋洛ყ ᥱ ᥉,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/m0_53321320/article/details/118460903
- 点赞
- 收藏
- 关注作者
评论(0)