数据与C

来源:互联网 发布:炉石传说新手入门知乎 编辑:程序博客网 时间:2024/05/29 06:58

常量:在程序使用之前预先设定并在整个运行过程中没有变化
变量:数据在程序运行过程中可能变化或被赋值
**11个基本数据类型(关键字):**int、long、short、unsigned、char、float、double
C90关键字:signed、void
C99关键字:_Bool(布尔值true和false)、_Complex(复数)、_Imaginary(虚数)
位:最小的储存单位。可以容纳两个值(0或1)之一。
字节:储存单位,1个字节均为8位。
整数:以二进制数字存储。
浮点数:将一个数分为小数部分和指数部分并分别存储。


编译器默认浮点常量是double类型。使用float类型的浮点常量要加L后缀。没有后缀的浮点常量为double类型。
scanf()函数中使用&前缀创建一个指向信息储存位置的指针


总结:
关键字:基本数据类型11个。
有符号整型:这种类型可以取正值及负值。
int:系统的基本整数类型。C保证int类型至少有16位长。
short或short int:最大的short整数不大于最大的int整数值。C保证short类型至少有16位长。
long或long int:这种类型地整数不小于最大的int整数值。C保证long至少有32位长。
long long或long long int:这种类型的整数不小于最大的long整数值。long long类型至少是64位长。
一般而言,long类型占用的内存比short类型大,int类型的宽度要么和long类型相同,要么和short类型相同。
无符号整型
无符号整型只能用于表示零和正整数,因此无符号整型可表示的正整数比有符号的整型大。unsigned(无符号类型)。
char类型:一个字符占用1字节内存,也就是8位。
布尔类型
布尔值表示true和false。1为true,0为false。
_Bool——布尔类型的关键字。布尔类型是无符号int类型,所占用的空间只要能储存1或0即可。
实浮点类型:
实浮点类型可表示正浮点数和负浮点数。
float——系统的基本浮点类型,可精确表示至少6位有效数字。
double——储存浮点数的范围(可能)更大,能表示比flaot类型更多的有效数字(至少10位,通常会更多)和更大的指数。
long long——储存浮点数的范围(可能)比double更大,能表示比double更多的有效数字和更大的指数。
复数和虚数浮点数
虚数类型是可选的类型。复数的实部和虚部类型都基于实浮点类型来构成(下划线之前有空格):
float _Complex
double _Complex
long double _Complex
float _Imaginary
double _Imaginary
long long _Imaginary

p计数法:用十六进制表示浮点数。printf()函数用%a表示输出格式。


编程练习

/*通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。*/#include<stdio.h>int main(void){    int i;    float j,k;    i = 2147483647;    j = 3.402823e+38;    k = 1.401298e-45;    printf("%d %d %d\n",i,i+1,i+2);//整数上溢    printf("%e %e %e\n",j,j*10.0f,j*100.0f);//浮点数上溢    printf("%e %e %e\n",k,k/10.0f,k/100.0f);//浮点数下溢    return 0;}运行结果:  2147483647 -2147483648 -2147483647  3.402823e+38 inf inf  1.401298e-45 0.000000e+00 0.000000e+00  /*编写一个程序,要求提示输入一个ASC||码值(如66),然后打印输入的字符。*/  #include<stdio.h>  int main(void)  {      int chr ;      scanf("%d",&chr);      printf("ASC||码值中的%d对应的字符是:%c.\n",chr,chr);      return 0;   } 运行结果: 66 ASC||码值中的66对应的字符是:B. /*编写一个程序,发出一声警报,然后打印下面的文本:     Startled by the sudden sound, Sally shouted,"By the  Great Pumpkin,what was that!" */#include<stdio.h>int main(void){    printf("\aStartled by the sudden sound, Sally shouted,\"By the  Great Pumpkin,what was that!\"\n");}/*编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式。然后,如果系统支持,在打印成p计数法(即十六进制计数法)形式。*/#include<stdio.h>int main(void){    float  i;    printf("Enter a floating-point value :");    scanf("%f",&i);    printf("\n");    printf("fixed-point notation:%f\n",i);    printf("exponential notation:%e\n",i);    printf("p notation:%a\n",i);    return 0;}
0 0
原创粉丝点击