《C语言基础语法学习教程_数据类型v1.0》由会员分享,可在线阅读,更多相关《C语言基础语法学习教程_数据类型v1.0(3页珍藏版)》请在金锄头文库上搜索。
1、- 1 -第一部分数据类型第一部分数据类型一、基本数据类型: 字符型 (char)表示一个字符。如a , 0 。 整型(int ,long )表示一个整数。 浮点型(float,double )表示一个浮点数,在计算机中用以近似表示任意某个实数。 其中,char,int,long,float,double 是类型符,是 C 语言中的关键字。问题:1 如何知道 TC2.0 环境中,各种数据类型的长度? 2 有了数据的长度,那么能够知道它们的表示范围。在 TC 下验证 int 和 long。 注:整型包括有符号和无符号两种,不同分类的数据表示范围有所不同。二、指针类型: char *,int *,
2、long *,float *,double * 特别注意 void *指针有近指针和远指针,远指针要用“far”限定 问题:上述指针类型的长度三、void: 理解以下两种含义 void f (void) void *malloc(size_t size)思考有 void 型的数据吗?四、变量: 变量对应数据类型。基本类型变量,比如 char,int,double 指针变量。比如,char *,int *, 使用变量要先定义。比如,int i;定义整型变量 i,int *p 定义一个整型指针变量。 给变量赋值。比如 int *p; p= 使用printf(“%x,%x,%xn“,p, 问题:不运
3、行,说出上述程序打印的结果什么?- 2 -五、常量 常量的定义 用 const 如,const YEAR = 2010;宏定义方式 #define OK 1分析下面程序: #define OK_0 0xff const OK=0x41; main()printf(“%sx,%x,%xn“,OK_0, 问题:为什么可以问题:1 如下形式定义数组 char str1=A;正确吗?二维数组main()int a6 =1,2,3,4,5,6,7,8,9,0;printf(“%d,%d“,a05,a07);结果:0,7问题:为何,a05=0,0 怎么来的?为何 a07=7?七、 结构体应用举例:#inc
4、lude #include main()char nam10=“Sam“,“Jack“,“Diana“;char cou10=“masm“,“java“,“os“;int grd2=10,75,11,80,12,90;struct stuchar name10;int No;char course8;int grade; s1=“Sam“,10,“masm“,75;struct stu s2,*s3,*p;- 3 -strcpy(s2.name,nam1);s2.No=grd10;strcpy(s2.course,cou1);s2.grade=grd11;s3=(struct stu *)ma
5、lloc(sizeof(s2);strcpy(s30.name,nam2);s30.No=grd20;strcpy(s30.course,cou2);s30.grade=grd21;p=printf(“name:%s,No:%i,course:%s,grade:%dnn“,s1.name,s1.No,s1.course,s1.grade);printf(“name:%s,No:%i,course:%s,grade:%dnn“,p-name,p-No,p-course,p-grade);printf(“name:%s,No:%i,course:%s,grade:%dnn“,s30.name,s30.No,s30.course,s30.grade);读懂程序,理解掌握结构体的定义和使用,熟练数组的使用,指针的使用。