您的位置 首页 > 数码极客

【fabs在c语言中意思】C 语言程序设计——数据类型及运算符

数据类型和表达式很重要,请好好学习

学编程,一看就永远学不到,注重实践能力,多思考它,在理解的基础上多敲打,积累起来,就会对编程产生感觉和兴趣,遇到困难,遇到挫折,正常,克服就行了。

数据格式

数据类型:计算机识别数据的方式和存储长度

1、计算机识别数据的方法。

计算机只能识别0和1,对1001 0110的解释有很多种,根据数据类型的不同,解释也不同。

1001 0110:无符号数、整数、补码、浮点数、ASCII码、指针(字节号)等。我怎么知道是哪一个?取决于数据类型

2、存储长度。

计算机总是以2的整数平方存储数据,因此一般长度为1B、2B、4B、8B

3、数据类型。

数据类型有两个关键因素:识别和长度

必须明确指出,如果上述两个因素都存在不确定性,就无法形成有效的数据类型

4、c语言的数据类型(64位)

标识符长度名称识别方法

Char 1B字符ASCII代码

短2B短整数补码

Int 4B整数补充码

长8B长浮点

Float 4B单精度浮点

duble 8b双精度浮点

* 8B地址,指针字节号

运算符

1、算术运算符

优先级从高到低:

()/-(正/负)*、/、%、-

/除:整数除以整数,即整数(整数部分被截断)

%剩馀:只有char、shot、int、long等成型量才能参与运算

数学处理类函数:

Abs(x)==|x|(适用于整数值)

Fabs(x)==|x|(适用于浮点值)

查找Sqrt(x)==x的算法平方根

Pow(x,y)==x的y平方

Exp(x)==e的x平方

日志(x)==ln (x)

Log10(x)==lg(x)

正弦(x)==

Cos(x)==

2、关系运算符

==!====

关系运算符的优先级低于算术运算符

关系运算符的运算结果:1(真)和0(假)

其实这样运算的:优先级()*,所以先做2 ^ 1的运算,结果是真的。也就是1,1 * 5=5,最终输出为5。

写一个x大于2、小于10的数学表达式。10 x 2,C语言认为这个符号是错误的。我们不是写数学表达式,而是写程序。数学表达式和程序仍有很大差异。正确的符号:2 x 10

3、逻辑运算符。

!| |

!(单目运算符:只有一个操作数)高于双目运算符的优先级

对于逻辑运算符,C语言将两边视为表达式,最终结果是0为false,非零为true,是逻辑判断。

4、赋值运算符

除赋值运算符外,任何操作都不能更改变量值

不能向常量或表达式赋值

分配的本质:复盖,复盖空间的原始值

(1),简单赋值运算符

=:独占,运算符优先级高,变量=表达式

(2),复合赋值运算符

=-=*=/=%=,运算符优先级仅高于运算符

N *=4 6 //n=n * (4 6)

介绍意义:在c中,如果变量名太长,可以解决

(3),自增,自减运算符

,-:运算符的本质是赋值运算符

都是单安运营商,优先级高于所有双安,优先级低!(逻辑比)

I:先给变量I加1,然后参加后面的所有运算。

I:首先以原始值参与后续运算,此语句已完成执行,位于自增加1。

5、3眼运算符

?嗯?的优先级高于赋值运算符

语法:酒吧桌子?表1 :表2、前面表达式的结果、真执行表1、假执行表2

获得a和b中最大的值:a

b ? a : b;

6、逗号运算符

逗号运算符的优先级是最低的

逗号是用来分隔多个表达式的,其运算结果是:最后一个表达式的运算结果

补充四个问题

1、关于运算符优先级的问题:

(1)、一次只比较两个相邻运算符

(2)、一次只处理相邻两个运算符中的一个

(3)、当前运算符是否运算,取决于与相邻运算符的优先级比较结果:当前运算符 “低于” 其后的运算符,则不运算,否则,就运算

2、数据类型转换

(1)、自动类型转换

在参加运算的两个运算数的数据类型不一样,C 语言会对其进行自动的类型转换工作,其原则如下:

由短类型向长类型进行靠拢,由简单类型向复杂类型靠拢

char-->short-->int-->float-->double

(2)、强制类型转换

语法:(数据类型名称)表达式

source = (double) 1 / 5 //其结果就是double类型

强制类型转换:仅仅是对这个变量的值进行转换,是绝对不可能改变变量的数据类型,且也是运算符,是单目运算符中优先级最低的


3、短路运算

逻辑运算中的0、1铁律:

0 && A ==> 0、1 && A ==> A

0 || A ==> A、1 || A ==> 1

短路运算是仅仅发生在逻辑运算表达式中

在 && 运算符的左侧表达式的值为 0,或在 || 的左侧为非 0 ,此时整个逻辑表达式的结果已经确定,C 语言会发生短路运算,即对于右侧表达式不予运算

4、关于输入/输出函数

(1)、输入、输出是通过 C 语言调用 printf() scanf() 函数实现的

(2)、格式符是决定数值以怎样的方式展现出来

(3)、在scanf()函数的" "中,除了写格式符之外,不要写任何其它东西,"%d%s%c"写成这样就好了

关于作者: admin

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐