C语言数据类型,运算符,函数

一,C语言的数据类型

1.整型。包括short、int、long等,用以表示一个整数,默认为有符号型,配合unsigned关键字,可以表示为无符号型。
2.实型,即浮点型。包括float, double等,用来表示实数,相对于整型。
3.字符型,即char型。用来表示各种字符,与ascii码表一一对应。
4.布尔型,即bool型,也就是逻辑型变量,它具有YES值,NO值,类似于float和double类型。
扩展:
char 字符型,占1个字节
short 短整型,占2个字节
int 整型,占4个字节
long 长整型,占4个字节
float 单精度浮点型,占4个字节
double 双精度浮点型,占8个字节
bool 布尔型,占1个字节
long int 型,占4字节
long long 型,占8字节

二,C语言的运算符

1.算术运算符
用于各类数值运算。包括加(+)、减(-)、乘()、除(/)、求余(或称模运算,%)、自增(++)、自减(–)共七种。
2.关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。
3.逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4.位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
5.赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,=,/=,%=)和复合位运算赋值(&*=,|=,^=,>>=,<<=)三类共十一种。
6.条件运算符
a=(b>0)?b:-b;
例如:比较2个数大小

int a, b;
    printf("Input two numbers:");
    scanf("%d %d", &a, &b);
    printf("max=%d\n", a>b?a:b);
    return 0;
}

当b>0时,a=b;当b不大于0时,a=-b;其实上面的意思就是把b的绝对值 赋值给a,这是一个三目运算符,用于条件求值。
7.逗号运算符

b=2,c=7,d=5;
a=(++b,c--,d+3);

有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3=8,所以a=8。
8.指针运算符
用于取内容和取地址(&)二种运算。
9.求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(→,.)等几种。
这是一个三目运算符,用于条件求值。
7.逗号运算符
用于把若干表达式组合成一个表达式(,)。
8.指针运算符
用于取内容和取地址(&)二种运算。
9.求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(→,.)等几种。

扩展:位操作运算符
包括:1。&位与符 2。|位或符 3。^位异或符 4。~位取反符
以操作数12为例。位运算符将数字12视为1100。位运算符将操作数视为位而不是数值。数值
可以是任意进制的:十进制、八进制或十六进制。位运算符则将操作数转化为二进制,并相应地返回1或0。
位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。例如:
表达式10&15表示(1010 & 1111),它将返回表示1010的值10。因为真真得真,或者是11得1,同位全是1结果也是1
表达式10|15表示(1010 | 1111),它将返回表示1111的值15。假假得假。全零得零。
表达式10^15表示(1010 ^ 1111), 它将返回表示0101的值5。此时是同性相斥,相同的就为假。
表达式10表示(1010),它将返回表示0101的值 5。此号好理解,按位取反。

三,C语言的函数声明和定义

1.函数的声明函数类型 函数名称(参数列表)
例如:

int  fun(int a, int b);

注:只要你在main函数前面声明过一个函数,main函数就知道这个函数的存在,就可以调用这个函数。而且只要知道函数名、函数的返回值、函数接收多少个参数、每个参数是什么类型的,就能够调用这个函数了,因此,声明函数的时候可以省略参数名称。
2.函数的定义修饰符 返回值类型 函数名 (参数类型 形式参数){ 执行语句; return 返回值;}
例如:

int  fun(int a,int b)
       {  int  c;
           c=a+b;
           return c;  
       }

4.局部变量:通常只定义不声明。
定义在函数内部的变量称为局部变量,它的作用域仅限于函数内部, 离开该函数后就是无效的,再使用就会报错。
例如:

int f1(int a){
int b,c; //a,b,c仅在函数f1()内有效
return a+b+c;
}
int main(){
int m,n; //m,n仅在函数main()内有效
return 0;
}

注: 函数中的局部变量,如果不定义类型,其缺省是自动变量auto。  
例如:

int a,b=2; 

其等价于

auto int a,b = 2;  

5.全局变量:通常在源文件中定义,在头文件中声明。在一个函数内部定义的变量成为局部变量,它在本函数内有效在局部之外定义的变量成为全局变量,它可以被本文件的其他函数所公用,全局变量是静态存储方式,都是在编译时分配存储单元。
例如:

int a, b; //全局变量
void func1(){
//TODO:
}
float x,y; //全局变量
int func2()
{
}
int main(){
//TODO:
return 0;
}
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜羊羊zz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值