《嵌入式C编程02C数据描述》由会员分享,可在线阅读,更多相关《嵌入式C编程02C数据描述(29页珍藏版)》请在金锄头文库上搜索。
1、C数据描述1、在现阶段课程当中重点介绍的是C的语法;2、请先不要问我这些语法是干什么用的;3、请反复练习,孰能生巧!4、在讲解到语法阶段的中后期时,才能慢慢的体会到C的语义!境界提升:认知-理解-运用讲在开课之前课程安排nC的变量nC的数据类型n有符号数与无符号数n赋值与运算练习1、在现阶段课程当中重点介绍的是C的语法;2、请先不要问我这些语法是干什么用的;3、请反复练习,孰能生巧!4、在讲解到语法阶段的中后期时,才能慢慢的体会到C的语义!境界提升:认知-理解-运用讲在开课之前1、计算机先保存输入的数据,进而对数据进行处理,并输出处理结果2、要将数据存储在计算机当中,就必须指明数据的位置和所需
2、要的内存空间3、在C编程语言当中,使用声明语句来完成上为数据指定位置和内存空间的任务计算机的数据变量的声明方法这条语句使得计算机分配足够的空间,用于存储一个数这个整数的名字就叫做age 指明数据位 置 int是C定义的一种数据类型,专门用于存储一定大小的整数 - 指明内存大 小变量的赋值注意:这里的“=”不是等号,而是赋值号, 将赋值号左边的值赋值给右边的变量。变量命名的语法规范 1、必须以字母、下划线或者美元符开头 2、后面跟字母、下划线、美元符或者数字 3、变量名对大小写敏感变量命名的习惯 1、变量名应该用有意义的英文单词; 2、变量如果只有一个单词,则所有字母小写; 3、变量名如果由多个
3、英文单词组成,则用“_” 分隔(windows上的程 序员习惯用首字母大写分隔)变量的命名规范1、合法的变量命名abc $abc _abcmima Password pass_word passWordlast_name LastName lastName 2、正确的变量命名password last_name lastName变量命名示例1、变量必须先声明(定义)后使用 2、变量定义一般放在函数(程序块)开头3、变量声明(定义)后马上手工初始化变量命名的使用课程安排nC的变量nC的数据类型n有符号数与无符号数n赋值与运算练习C 数 据 类 型基本类型构造类型指针类型 空类型void定义类型t
4、ypedef字符类型char枚举类型enum整 型实型单精度型float双精度型double数组 结构体struct 共用体union短整型short长整型long整型int数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作变量有哪些类型char类型数据用来表示通常意义上的字符1、字符是由单引号包括起来的单个字符char ch = a;2、C字符使用ASCII字符集什么是ASCII字符集?字符型变量ASCII全称为: American Standard Code for information interchange对字符集的理解可以从以下几个方面入手:1、在计
5、算机中,所以数据都需要使用二进制的数字表示2、类似于a、b、c之类的字母无法直接用二进制表示3、所以就将所有常见的符号进行编号,标准ASCII码使用7位2进制数来 表示字符4、7位2进制数可以表示所有的数字、大小写字母以及一些常见的符号( 例如:!、#、$等等)ASCII字符集ASCII码表数值型变量分两大类 1、整数类型char int short long2、浮点类型float double数值型变量整数类型范围类型 占用存储空间 数值范围 char 1字节 -128 127 short 2字节 -215 215 - 1 int 4字节(32位机) -231 231 - 1 long 4字
6、节 -231 231 - 1整数类型表示1、C语言整数值(常量)的三种表示形式 十进制数,如12,-314, 0 八进制数,要求以0开头,如012 十六进制数,要求0x或0X开头,如0x122、C语言的整型常量默认为int型,如:int i = 10;3、声明long型常量可以加l或者L,如:long l = 10L;浮点型范围类型 占用存储空间 数值范围 float 4字节 -3.403E38 3.403E38 double 8字节 -1.798E308 1.798E308浮点类型表示1、C语言的浮点常量默认为double型,如:double d = 10.1;3、声明float型常量可以加
7、f或者F,如:float f = 10.1F;数据内存大小C语言可以使用sizeof()运算符确定数据内存大小 1、sizeof()可以传入数据类型,如printf(“int size is %dn”, sizeof(int);2、sizeof()可以传入变量,如int a;printf(“a size is %dn”, sizeof(a);3、sizeof()可以传入常量,如printf(“10 size is %dn”, sizeof(10);printf(“10.1 size is %dn”, sizeof(10.1);课程安排nC的变量nC的数据类型n有符号数与无符号数n赋值与运算练习
8、无符号数1、整型可以分为有符号类型和无符号类型2、对于无符号类型,通过unsigned关键字声明如: unsigned char a = 10unsigned int i = 10unsigned short s = 10unsigned long l = 10符号位表示1、对于有符号数 用二进制数最高位作为符号位,“0”表示“+”,“1”表示“-” 所以有符号数的数值位为: 类型字节位 12、对于无符号数 无符号位 所以无符号数的数值位为:类型字节位类型极值1、对于有符号数 极大值为: 2(n 1) - 1 极小值为: - 2(n - 1) 极大值 + ?2、对于无符号数 极大值为:n -
9、1 极小值为:0 极大值 + 1 = ?课程安排nC的变量nC的数据类型n有符号数与无符号数n赋值与运算练习1、在主函数中创建一个char类型的变量,并尝试为 这个变量赋值,并将这个变量的字符和变量的值打 印出来2、在主函数中为每一种数值类型创建一个变量,并 且赋值,然后进行各种加减乘除运算练习题1、隐式转换 转换规则:不同类型数据运算(赋值)时自动转换成同一类型再进 行运算 转换方式:由低字节类型向高字节类型转换2、强制转换 在常量/变量前加(类型)实行强制类型转换如 (int)3.6 float(10.1 + 20) x = (long)(y + 3) 强制从高字节类型向低字节类型转换时可能发生精度损失类型转换上机实验实验1-4、编写程序,实现输入字符,显示其ASCII码值实验1-5、编写程序实现用sizeof()函数求各种类型各占用了多少字节空间。实验1-6、编写程序验证类型极值溢出运算结果