20150330数据类型、运算符
来源:互联网 发布:mac python idle 编辑:程序博客网 时间:2024/06/05 23:52
一.整数常识
库函数<limits.h>
SHRT_MIN , SHRT_MAX INT_MAX , INT_MIN LLONG_MAX , LLONG_MAX
1.float的极限库函数为<float.h>——FLT_MAX、FLT_MIN
2.int 和long int在32位以上的机器是4个字节大小,嵌入式的场合16位机器是2个字节大小,和short相同
3.int a=INT_MAX; int b=INT_MIN;
long a1=LONG_MAX long b1=LONG_MIN
printf("%d,%d",a,a1,b,b1); //2147483647,-2147483647,2147483647,-2147483647;说明long和int极限值相同
4.unsigned int 极大值大于int,但是不能表示负数
三.中美GDP
#include<stdio.h>#include<math.h>#include<Windows.h>void main(){double ch=10.0;double am=17.0; //底数double chd = 1.07;double amd = 1.03;//增长率for (int i = 1; i <= 100; i++){printf("\n中国%d年GDP=%f万亿美金", 2014 + i,ch*pow(chd,i ));printf("美帝GDP=%f", am*pow(1.03, i));printf("差距=%f", ch*pow(chd, i) - am*pow(1.03, i));if ((ch*pow(chd, i) - am*pow(1.03, i)) >0){//MessageBoxA(0, "恭喜天朝", "终于超越美帝", 0);}}getchar();}
四.字符与字符串
1.字符长度注意:'A'为了兼容扩展,宽字符,一般情况下占4个字节
#include <stdio.h>void main() {char ch = 'A';int num = 1;printf("%d,%d", sizeof(num), sizeof(1));//4,4printf("%d,%d", sizeof(ch), sizeof('A')); //1,4system("pause");}
2.字符串不可以直接相加:“123”+“456”
3.大小写转换
void main() {char ch = getchar();if (ch > 'A' && ch < 'Z') { //判断是大写字符ch = ch + 32; //转化}}
五.变量声明的意义
1.建立变量符号表
2.告诉操作系统给该类型的变量分配多大的内存
3.变量的数据类型指示了系统如何解析该变量
4.变量的数据类型确定了该变量的取值范围
5.不同的数据类型有不同的操作
六.变量类型转换
类型转换顺序:char、short->int->unsigned->long->double float->double
例:10+'a'+1.5-8765.1234*'b'
a.进行10+'a'的运算:将'a'转换成整数97,得到和为107
b.进行107+1.5的运算:将107转换成double,得到和为108.5000000
c.进行8765.1234*'b'的运算:将'b'转换为double型数98.00000,再与8765.1234相乘
d.把之前得到的108.5000000减去8765.1234*'b'的值,就完成了整个表达式的求值
七.变量类型转换原理
1.大的数据往小的数据转换会发生数据丢失,高位被截断(int to char)
九.进制输出
1._itoa(num , str , 2); //输出进制,第一个参数是要转换的帧整数,第二个参数是转换后输出到的字符串,第三个参数是以多少进制转换。
示例:
void main() {int num = 0;scanf("%d", num);printf("%i", num);<span style="white-space:pre"></span>//%d和%i一样的效果char str[32] = { 0 };_itoa(num, str, 2);printf("%s", str);system("pause");}
十.运算符优先级
++ --优先级高于+-*/ , i+++2等价于i++ 再+2;
十一.算数运算实战
当除号两边都是整形变量时,运算结果只保留整数,当除号两边任意一边有实型变量时,运算结果就为实数
如下:
#include <stdio.h>main(){float div;div = 1 / 2;printf(“%f\n”, div); //整型}
#include <stdio.h>main(){float div;div = 1. / 2;printf(“%f\n”, div);<span style="white-space:pre"></span>//实型}
十二.算数运算实战
1.除数为正结果为正,除数为负结果为负
#include <stdio.h>main(){printf("%d\n", 3 % 5);//3printf("%d\n", 5 % 3);//2printf("%d\n", 3 % -5);//3printf("%d\n", 5 % -3);//2printf("%d\n", -3 % 5);//-3printf("%d\n", -5 % 3);//-2}
2.交换数据:
#include <stdio.h>void main() {int num = 95;int g = num % 10;int f = num / 10;printf("%d", g * 10 + f);<span style="white-space:pre"></span>//59getchar();}
十四.逗号运算符
逗号运算符,每一条语句都执行,从左向右执行到最后,如果是变量赋值就是最后一个数
十五.三目运算符
printf("%d",3>2>1); 输出0;编译器先比较3>2;成立得1,然后1跟1比较,相同所以返回0
十六.关系运算符
1.判断是否相等最好先相减,然后判断值是否相等
void main() {double b1 = 10.0000000000001;double b2 = 10.0000000000002;printf("%d", b1 == b2); //输出0,判断是否相等最好把两个数相减,然后结果不为0则不等getchar();}
2.相同字符串常量,存储同一个地址,但如果是数组存储相同字符串则地址不相同
void main() {"吴志刚" == "吴志刚" ? printf("相等") : printf("不等");<span style="white-space:pre"></span>//输出相等char *p1 = "习近平";char *p2 = "习近平";printf("%p%p", p1, p2);system("pause");<span style="white-space:pre"></span>//输出地址相同}
十七.逻辑运算符
1.运算的优先级:!-> 算术运算符 ->关系运算符 ->&& -> || ->赋值运算符
- 20150330数据类型、运算符
- 数据类型 数据类型转换 运算符
- 数据类型 数据类型转换 运算符
- 数据类型 数据类型转换 运算符
- 数据类型和运算符
- 数据类型、运算符、表达式
- 数据类型和运算符
- 数据类型与运算符
- 数据类型、运算符、表达式
- 数据类型、运算符、表达式
- 数据类型和运算符
- 数据类型、运算符、表达式
- 数据类型和运算符
- 数据类型与运算符
- python运算符、数据类型
- JavaScript 数据类型、运算符
- 数据类型和运算符
- 数据类型和运算符
- jQuery全选功能
- 【HDU】 1111 Secret Code
- 获取同域下的cookie
- 如何做一个iOS分形App
- 关于SQLServer错误:"com.microsoft.sqlserver.jdbc.ISQLServerPreparedStatement$$EnhancerByProxool$$7d5a0be"
- 20150330数据类型、运算符
- 关于多张图片的上传处理方法
- java中Atomic类之AtomicBoolean
- C#通过TCP传送结构体
- 在录音等情况下保持屏幕长亮
- 多图详解Spring框架的设计理念与设计模式
- mac版python TAB补全功能
- 单例在Swift中的正确实现方式
- [Git]第二讲:Git安装