20150329数据类型
Posted wzg31796
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20150329数据类型相关的知识,希望对你有一定的参考价值。
一.
1.#include 将制定文件拷贝到当前文件,当做文本文件解析
2.“” 现在当前目录查找,如果没找到再去系统目录下查找,<>号只去系统目录下查找。
3.#include既可以在文件开头,也可以在函数中任意位置,任意位置都可以包含其他文件
4.main函数可以return也可以不return,如果return,则之后所有代码都不会再执行;
》普通函数必须return,如果不return不会报错,但会有垃圾结果
5.system调用的程序,如果不加start则会等待当前程序执行完成之后再执行后面程序,如果加了start则不等待,异步执行(同时执行);start后不能带路径,如果要带路径必须先进入目录
6.变量存储在内存中,当遇到变量相关的加减操作时,是在寄存器中操作,所以&取地址符只能操作在内存中的数据,例:&10;10是在寄存器中,没有地址一说
7.const的值不能直接修改,可以通过内存间接修改
8.c语言能操作内存,不能操作寄存器
9.低位在低字节,高位在高字节,如果低位在高字节,cpu寻址从低位寻址,在高字节就牺牲了效率,在低字节就能直接找到所要的字节
10.库函数<limits.h>
float的极限库函数为<float.h>——FLT_MAX、FLT_MIN
int 和long int在32位以上的机器是4个字节大小,嵌入式的场合16位机器是2个字节大小,和short相同
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极限值相同
unsigned int 极大值大于int,但是不能表示负数
11.int a1=10; //十进制10
int a2=010; //八进制
int a3=0x10; //十六进制
int a4=0101u; //u无符号整数
int a5=0x102l; //l长整数
int a6=0x103ll; //long long 整数
12.int num=-1;
unsigned int data=4294967295u;
int num1=4294967295u;
unsigned int data1=-1;
printf("%d",num); //-1
printf("%u",num); //4294967295
printf("%d",num1); //-1
printf("%u",num1); //4294967295
printf("%u",data); //4294967295
printf("%d",data); //-1
printf("%u",data1); //4294967295
printf("%d",data1); //-1
二.转义字符
1.getchar(); 获取一个字符,回车也算一个字符
char ch=getchar();
2.putchar(); 输出一个字符
3.要使用sleep()函数要包含头文件<windows.h>
4.转义字符表
5.用程序打开系统应用注意事项:
路径中有\\,还要多加一个转意\\才能生效
#include <stdio.h>
void main()
//系统是64位,需要在(x86)前面补充空格才能生效
system("\\"C:\\\\Program Files (x86)\\\\Tencent\\\\QQ\\\\Bin\\\\QQScLauncher.exe\\"");
system("pause");
1.变量赋值都是在cpu寄存器内完成,而不是在内存
六.常量分析
1.define定义的常量不能加,加了就是一起替换
2.define是真正的常量,用const定义的常量在某些情况下可以修改,而define不能
3.c语言只能操作内存,不能操作寄存器
七.变量交换时空复杂度
1.为了节约内存,可以不创建新的变量进行变量交换,节省了空间
a=a+b;
b=a-b;
a=a-b;
2.上面方法可能会出现数据越界,也可以用位运算符实现
a=a^b; //a=15;b=5
b=a^b; //b=10;a=15
a=a^b; //a=5;b=15
九.内存单位与位数
1.任何进制,不允许出现大于等于进制的数字
2.0代表八进制
十.printf与数据类型
1.printf不会自动进行数据类型转换,例:
下面程序会输出意想不到的结果,原因就是printf不会将数据自动转换
#include <stdio.h>
void main()
float f1 = 10.9;
printf("%d\\n", f1);<span style="white-space:pre"> </span>//-107374182
system("pause");
十一.数据类型的差别
1.数据的大小不一样,解析方式不一样
2.int num=10;printf("%d",sizeof(num)); //1 输出结果为1而不是4
以上是关于20150329数据类型的主要内容,如果未能解决你的问题,请参考以下文章