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");
}


四.变量内存cpu原理

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值