您的位置:首页 > 编程语言 > C语言/C++

黑马程序员--C语言基础-运算符

2015-04-08 12:19 183 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、算术运算符

+ - * /

取余: %

1, 运算符符中数据类型要一致。
printf("%d\n", 10 / 3);

如果参与计算的时整数类型,那么得到的结果也是整数类型。

如果计算得到的是小数,直接获取整数部分(小数不管是多少,都忽略)_截断。

如果需要得到小数的计算结果,那么需要保证运算中要有小数。

例如:
		printf("%f\n", 1 + 10.0 / 3);		printf("%f\n", 1.0 + 10 / 3);

2, 默认的转换

如果一个运算中,有不同的数据类型,那么他们会自动的进行转换(默认\隐式转换)

printf("%f\n", 1/* int */ + 10.0/* double */);

3, 强制类型转换

int num1;

long lNum1 = 10;

4,整除的概念

一个数字可以被另一个数字做除法,而且没有余数(某一个数字式另一个数字的倍数

10 / 2 = 5 ... 0

称10可以被2整除,2可以整除10,10是被除数,2为除数

在算数运算中,除法与整数的运算,实际上就是获得商的运算

11 / 4 = 2 ... 3

%是取余数运算符(取模运算符)

11 % 4

printf("%d / %d = %d ... %d", 11, 4, 11 / 4, 11 % 4);

注意:取余数运算符只用在整数范围内

例子:
#include <stdio.h>int main( ) {int num;    printf("%d\n", num = 1 + 2);    printf("%d\n", num + 1);return 0;}

5,在C语言中提供了两个运算符:++,--

用法:

变量++,    变量--

++变量,    --变量

++是自增,表示原来的数据加1,结果等价于 num+=1

--是自减,表示原来的数据减1,结果等价于 num-=1
		int num = 10;		num++;		++num;		printf("%d\n", num);

实际开发中,++,--是一个难点

array[i++] = temp;

一般自增与自减是复合在其他运算中的

例如
 	num = 10; 	res = 1 + num++;	ntf("%d\n",res);

技巧:在运算++和--的时候,有一个原则:从左往右看是先取变量还是先运算

++num    先运算后取值

num++    先取值再运算

运算++和--时的技巧:在每一个表达式的上面写上:取值,变量的最终的结果

结论:运算时,表达式的值在前面,变量的值在后面

注意的事项,如果函数中有多个参数,不要将两个以上的自增与自减作为参
#include<stdio.h>int main(){	int i = 1;	//		  1,2 2,3 3,4	printf("%d,%d,%d",i++,i++,i++)	return 0;}

二、sizeof运算符

    // sizeof 运算符

  // 单目运算符

  // sizeof 数据   -> 数字类型

  // 计算出"数据"所占字节数

  // int num;

  // int num = 10;

  // int size = sizeof num;    // 可以不加圆括号的

  // char ch = 'a';

  // int size = sizeof ch;

  // 只能提示告诉我们要加圆括号,但是按照运算符的规则是可以不加的

  // sizeof(num)

  // 开发过程中应该要加上(在javascript中不加)

    // int size = sizeof (long);

    // printf("%d\n", size);

    // 常见类型的字节数

  // size_t是一个宏定义,表示的是long

打印常见的字符类型的长度
#include <stdio.h>int main(int argc, const char * argv[]) {
    printf("sizeof(int) = %lu\n", sizeof(int)); // 长度
    printf("sizeof(short int) = %lu\n", sizeof(short int));
    printf("sizeof(long int) = %lu\n", sizeof(long int));
    printf("sizeof(char) = %lu\n", sizeof(char));
    printf("sizeof(float) = %lu\n", sizeof(float));
  printf("sizeof(double) = %lu\n", sizeof(double));
    printf("sizeof(void) = %lu\n", sizeof(void)); // void类型
   return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: