C语言全套基础知识 下载本文

内容发布更新时间 : 2024/7/3 4:35:29星期一 下面是文章的全部内容请认真阅读。

C语言中的符号

运算符的种类C语言的运算符可分为以下几类: 1.算术运算符★用于各类数值运算(共七种)

加 + 减 - 乘 * 除 / 求余(或称模运算)% 自增 ++ 自减 --

+= :加赋值运算符。如a+=3+1, 等价于 a=a+(3+1)。 -= :减赋值运算符。如a-=3+1, 等价于 a=a-(3+1)。 *= :乘赋值运算符。如a*=3+1, 等价于 a=a*(3+1)。 /= :除赋值运算符。如a/=3+1, 等价于 a=a/(3+1)。 %= :取余赋值运算符。如a%=3+1, 等价于 a=a%(3+1)。

复合赋值运算符的作用是先将复合运算符右边表达式的结果与左边的变量进行算术运算,然后再将最终结果赋予左边的变量。所以复合运算要注意: 一、是复合运算符左边必须是变量; 二、是复合运算符右边的表达式计算完成后才参与复合赋值运算。 复合运算符常用于某个变量自身的变化,尤其当左边的变量名很长时,使用复合运算符书写更方便。 Eg 1:赋值运算符的演示:

#include

void main() {

int nA=10; int nB=10;

printf(\ printf(\}

运行结果: -180 0

(在C语言中,运算符“+”、“-”、“*”和“/”的用法与大多数计算机语言的相同,几乎可用于所有C语言内定义的数据类型。当“/”被用于整数或字符时,结果取整。例如,在整数除法中,10/3=3。

一元减法的实际效果等于用-1乘单个操作数,即任何数值前放置减号将改变其符号。模运算符“%”在C语言中也同它在其它语言中的用法相同。切记,模运算取整数除法的余数,所以“%”不能用于float和double类型。)

自增运算符和自减运算符

自增和自减运算符是C++语言所特有的,主要用于给一个变量加1或减1。自增和自减运算符及其功能如下: + +:自增运算符。如a++; ++a;都等价于a=a+1。 - -:自减运算符。如a- -; - -a;都等价于a=a-1。 自增运算符和自减运算符可以放到变量前面(前置方式)或者后面(后置方式),这两种方式同样实现了变量的自增或自减运算。但是当变量的自增运算或者自减运算同其它运算符配合构成一个表达式时,前置运算时变量先做自增或自减运算,再将变化后的变量值参加表达式中的其它运算。后置运算时变量在参加表达式中的其它运算之后,再做自增或自减运算。 Eg 2:前置与后置运算符的区别: #include void main() {

int nNum1,nNum2; nNum1=nNum2 = 5;

printf(\

printf(\ printf(\ printf(\ printf(\ printf(\ }

运行结果: Post Pre 5 4 4 3 3 2 2 1 1 0

C语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的—自增和自减运算符,++和--。运算符“++”是操作数加1,而“--”是操作数减1,换句话说:x=x+1;同++x;x=x-1;同--x; 自增和自减运算符可用在操作数之前,也可放在其后,例如:x=x+1;可写成++x;或x++;但在表达式中这两种用法是有区别的。自增或自减运算符在操作数之前,C语言在引用操作数之前就先执行加1或减1操作;运算符在操作数之后,C语言就先引用操作数的值,而后再进行加1或减1操作。请看下例:

x=10; ;y=++x;

此时,y=11。如果程序改为: x=10;y=x++;

则y=10。在这两种情况下,x都被置为11,但区别在于设置的时刻,这种对自增和自减发生时刻的控制是非常有用的。在大多数C编译程序中,为自增和自减操作生成的程序代码比等价的赋值语句生成的代码

要快得多,所以尽可能采用加1或减1运算符是一种好的选择。 。下面是算术运算符的优先级:

:最高++、- --

-(一元减)

*、/、%最低+、-编译程序对同级运算符按从左到右的顺序进行计算。当然,括号可改变计算顺序。C语言

处理括号的方法与几乎所有的计算机语言相同:强迫某个运算或某组运算的优先级升高。

顺序程序设计举例

使用计算机解决问题,首先要求把问题描述清楚,需要作什么工作,先作什么,再作什么,达到什么条件后,就表示完成;然后,再把这些步骤编程成计算程序,让计算机来实现。问题的解决步骤叫作算法,算法这一词最早主要是指解决纯数学计算问题,现在可以指解决有关信息处理一切问题的方法与步骤。 当然,对于计算机用户而言最关心的是程序的输入和输出,算法是程序员要操心的。

每一个固定的算法有满足两个要求:

第一,有序性,算法是一组有序的操作步骤的组合,不同的执行顺序会有不同的结果。

第二,有穷性,一个算法只能有一个输入,一个输出,输入的条件经过有穷的步骤的后,可以得到一个输出结果,不可能无穷无尽的作个没完。

依据算法,可用计算机语言编写相对应的程序,如果算法中的每一步都是“直线”的执行,没有分支,那么这样编写的程序就是顺序结构的程序,顺序程序是最简单程序结构,也是一些程序的基础。 应用举例

已知三角形三边,求三角形面积。 #include #include void main() {

double dbA = 3.0;

double dbB = 4.0; double dbC = 5.0;

double dbS = (dbA + dbB + dbC ) / 2;

double dbArea = sqrt(dbS*(dbS–dbA)*(dbS–dbB)*(dbS– dbC)); printf(―三角形的面积是:%lf\\n‖,dbArea); }

2.关系运算符(六种) 用于比较运算

大于 > 小于 < 等于 == 大于等于 >= 小于等于 <= 不等于 != 3.逻辑运算符 用于逻辑运算(三种)

逻辑与 && 逻辑或 || 逻辑非 !

关系运算符中的“关系”二字指的是一个值与另一个值之间的关系,逻辑运算符中的“逻辑”二字指的是连接关系的方式。因为关系和逻

辑运算符常在一起使用,所以将它们放在一起讨论。关系和逻辑运算符概念中的关键是True(真)和Flase(假)。C语言中,非0为True,0为Flase。使用关系或逻辑运算符的表达式对Flase和Ture分别返回值0或1

关系和逻辑运算符的优先级比算术运算符低,即像表达式10>1+12的计算可以假定是对表达式10>(1+12)的计算,当然,该表达式的结果为Flase。在一个表达式中允许运算的组合。例如: 10>5&&!(10<9)||3<=4 这一表达式的结果为True。

。下表给出了关系和逻辑运算符的相对优先级: :最高! ! >= <= === != =&&

最低||同算术表达式一样,在关系或逻辑表达式中也使用括号来修改原计算顺序。切记,所有关系和逻辑表达式产生的结果不是0就是1,所以下面的程序段不仅正确而且 将在屏幕上打印数值1。 int x; ;x=100;

;printf(\

4.位操作运算符★参与运算的量,按二进制位进行运算(六种)