初识C语言(3)

一.全局变量和局部变量

(1)全局变量:一个源文件中可以包含若干个函数,在函数外部定义的变量就是全局变量或外部变量;全局变量为该源文件中所有函数所共有,它的作用范围是从变量定义的位置到源文件结束。

这里a之所以等于1是因为当全局变量和局部变量的名字一样时时会以局部变量优先,所以a=1;

(2)局部变量:在一个函数内部定义的变量只在本函数范围内有效,也就是只有本函数内才能引用它们,在此函数外不能使用这些变量;

在复合语句内定义的变量只能在本复合语句范围内有效,只有本复合语句内才能引用他们,在该复合语句外不能使用这些变量;

还有就是函数的形参,只在该函数内有效

总的来说局部变量就是作用于他的局部范围

这个a只能在main函数里面使用,这个main函数就是a 的使用范围,如果在别的函数使用会报错

二.函数

首先,函数是完成特定任务的独立程序代码单元。

函数的优点:使用函数可以省去编写重复代码的苦差。如果程序要多长完成某项任务,那么只需编写一个合适的函数,就可以在需要的时候使用这个函数,或者在不同的地方使用该函数,就像许多程序只需编写使用putchar()一样。其次,即使程序只完成某项任务一次,也值得使用函数。因为函数也会让程序更加的模块化,从而提高了代码的可读性,更方便后期的修改完善。

举个例子来看:

三.基本运算符

C语言用运算符表示算术运算。

基本算术运算的运算符:+,=,-,*(乘)和/(除)。

注:C语言没有指数运算符,但是C的标准数学库提供了一个pow()函数用于指数运算,例如:pow( 3.5,2.2)返回3.5的2.2次方。

(1)赋值运算符: =

这里是将变量a赋值于10,赋值行为从右往左进行。

(2)加法运算符: +

加法运算符用于加法运算,使其两侧的值相加。

例如语句

printf(”%d“,20+4);

打印的是24而不是20+4;

相加的值(运算对象)可以是变量,也可以是常量。因此,执行下面语句

income=salary+bribes;

计算机会查看加法运算符右侧的两个变量,使他们相加,然后把和赋给变量income。

(3)减法运算符 :-

减法用于减法运算,使其左侧的数减去右侧的数。

例如:takehome=224-24;

+和-运算符都被成为二元运算符,即这些运算符需要两个运算对象才能完成操作。

但减法运算符还可以用于标明或者改变一个值的代数符号。

例如:rocky=-12;

smokey=-rocky;

则smokey=12,

以这种方式使用的负号被称为一元运算符。一元运算符只需要一个运算对象

(4)乘法运算符: *

例如:cm=2.54*inch;

C没有平方函数,所以可以用乘法来计算如:

(5)除法运算符:/

C使用符号/来表示除法,/的左侧的值是被除数,右侧的值是除数。例如:four=12.0/3.0;

这里面有个“混合类型”的事例,即浮点值除以整型值,C相对于其他的一些语言而言,在类型的管理上还是比较宽容的,尽管如此,一般情况下还是要避免使用混合类型。

注:整数除法会截断计算结果的小数部分(丢弃整个小数部分),不会进行四色五人,混合整数和浮点数计算的结果都是浮点数。实际上计算机不能真正使用浮点数除以整数,编译器会把两个运算对象转换成相同的类型。

(6)运算符优先级

例如:butter=25.0+60.0*n/SCALE

这里正如普通算术运算那样,乘除法优先级比加减法高,所以先进行乘除法,但当两个运算符优先级相同时,则根据它们在语句中出现的顺序来执行。对大多数运算符而言,这种情况都是从左到右的顺序进行(=运算符除外)。

因此该语句的运算顺序是:

1.60.0*n(假设n=2)

2.120.0/SACLE(假设SACLE=3)

3.25.0+40.0

四.原码、反码和补码。

原码:就是将一个整数转换成二进制形式,就是其原码。

例如short a = 13; a 的原码就是0000 0000 0000 1111;更改 a 的值a = -13; 此时 a 的原码就是1000 0000 0000 1111。

第一个数代表符号,正数就是0,负数就是1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值