C语言学习中的记录
本帖最后由 づ綄镁の爱ヽ 于 2012-12-25 11:16 编辑#include <stdio.h>
#include <math.h>
//#define PEICE 30//定义一个常量 PEICE为30 以后在调试中,所有的PEICE都是30 ,定义常量用#define 常量名 常量大小常量名用英文大写表示,常量不可以在以下的代码中更改或再赋值
void main ()
{
// printf("%d\n", sizeof(int));//显示整型变量在系统中所占的字节,括号内的int可以变更为其他变量类型:如short短整形、long 长整形、 float浮点型 等等
//有符号整型变量和无符号整型变量的运算,系统会自动变成有符号整型变量
/* int a, b, c, d;
unsigned u;
a = 12;
b = -24;
u = 10;
c = a + u;
d = b + u;
printf("c=%d\nd=%d\n",c, d);*/
//整型数据的溢出
/* short int a, b;//短整型所占2个字节,每个字节占8位,2个就是18位 2的16次方是65536 因为整型变量是有符号的,除以2之后得数为32768个数,最大存储为32767(包含0-32767)
a = 32767; //所以 当32767+1之后 ,就超出了短整型的存储范围,称之为溢出。如果题想要改为整型变量的话,需要把a的值赋值为2的32次方除以2再减1,因为整型变量是4个字节。
b = a + 1;
printf("%d\n%d\n", a, b);*/
//不同类型变量的运算
/* long x,y;
int a, b, c, d;
x = 5;
y = 6;
a = 7;
b = 8;
c = x + a;
d = y + b;
printf("c=%d\nd=%d\n", c, d);*/
//有效数字的舍入误差
/* float a, b; // 123456.789e5实际为双精度型(double float),将双精度存放入单数度,会出现舍入误差。
a = 123456.789e5;
b = a + 20;
printf("%f\n", a);
printf("%f\n", b);*/
//转义字符的使用
/* int a, b, c;//转义字符都是用反斜扛来表示(\),后面跟规定的字符,例如:\n就是回车换行的意思,\t就是横向跳到下一制表位置,相当于按下键盘上tab键,具体其他转义字符含义,请去电脑里面找
a = 5;
b = 6;
c = 7;
printf(" ab c\tde\rf\n");
printf("hijk\tL\bM\n");*/
//字符型变量
/* char a; //字符型变量用字义用char表示,赋值时要给赋值的值加‘’,表示为字符型。
a = '7';//字符型变量要用到asc码表,去电脑里面查找.
printf("%d\n",a);*///简单的例子,定义a为字符型,把‘7’赋值给字符a,然后输入a ,对照asc码表得知,7在用asc码表示是55,所以运行结果输入为55
//向字符变更赋值整数
/* char a, b;
a = 120;
b = 121;
printf("%c\n%c\n", a, b);//当输出为字符型时,程序对应asc码,为120=x 121=y
printf("%d\n%d\n", a, b);//当输出为整型时,程序自动默认输出为120,121*/
//把小写字母转换为大写字母
/* char a, b;//大写字母与小写字母在asc表中相关32 ,大写字母小于小写字母,所以用小写字母减去32后,就会得到对应的大写字母
a = 'a';
b = 'b';
printf("%c\n%c\n", a-32, b-32);*/
//输入一小写字母,将其转换为大写字母输出。
/* char a;
scanf("%c", &a);
printf("%c\n", a-32);*/
/*****************************************************************************************************************************************************************************************/
/*不同类型数据之间的混合运算规则(自动类型转换):
1.若参与运算量的类型不同时,刚先转换成同一类型,然后再进行运算。
2.转换按数据长度增加的方式进行,以保证精度不降低。如int型和long型运算时,先把int转换成long型后,再运算。
3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算表达式,也要转换在double型,再运算。
4.char型和short型参与运算时,必须先转换为int型再运算。
5.在赋值运算中,赋值号(=)两边的数据类型不同时,赋值号右边的类型将转换为赋值号左边的类型。如果右边的数据类型长度长于左边时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入
/*****************************************************************************************************************************************************************************************/
//例题:不同类型数据的运算(自动类型转换)
/* float pi = 3.14159;
int s, r = 5;
s = r * r * pi;//pi为浮点型,但是因为运算规则,程序自动将其转换为double型,double型为8字节64位;s为int型,inte型为4字节32位,在运算时按运算规则,自动将double型和int转换为最长的double型,
//但是,因为有赋值号的存在,所以其结果扔为int型,自动舍去了小数据部分,只留整数部分数据。
printf("s=%d\n", s);*/
这只是很少的一部分 还有很多不拿来现了
我只是想说学习方法 楼主真心不错 代码应该精简了 发表回复 回帖后跳转到最后一页 {:1_1:} void main() 改成 int main(void) 吧
支持楼主
页:
[1]