




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 10 20 20 20 10 5 2 2 20 2 10 2 5 2 2 20 10 4 2 00101 8 20 1624 16 20 16 14 13: 1 0 1 10 1 0 0 1 0 1 0000110111110010011100101 c语言中的数据有两种基本形式:常量和变量。常量的值是固定的,变量是可以改变的 变量的定义 类型标识符类型标识符 变量名;变量名; 变量在定义时要注意以下几个问题: 变量的命名要符合c语言规定的标识符的命名规则,即只能由字母、字母、数字和下划线数字和下划线组成,首字母必须为字母或下划线。此外c语言中规定的有特殊用途的关键字,例如int、float
2、、if等,不能作为变量名称。 a b2 stu1 x1_1 sum _name1 正确 2ac stu-1 len#1 else int float 不正确 c语言中大小写是敏感的。但是习惯上,c中的变量一般用小写字母表示。 关键字关键字 c语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 (1)数据类型数据类型关键字(12个):char, int, long, short, float, double, signed, unsigned, void, struct, union, enum (2)控制语句控制语句关键字(12个
3、): if, else, switch, case, break, default, continue, do , while, for, goto, return (3)存储类型存储类型关键字(4个):auto, extern, register, static (4)其它关键字(4个):const, sizeof, typedef, volatile 变量的数据类型决定了它的存储类型,即该变量占用的存储空间。所以定义变量类型,就是为了给该变量分配存储空间,以便存放数据。基本的变量类型及其存储空间见表2.1: 类型名称存储空间取值范围实例int整型4个字节介于-231231-1的整数int
4、i,j;float单精度浮点型4个字节实数,有效位数67位float x;double双精度浮点型8个字节实数,有效位数1516位double y;char字符型1个字节ascii码字符,或-128127的整数char c;short短整型2个字节介于-215215-1的整数short s;变量需要预置一个值,即赋值。赋值操作通过赋值符号“=”把右边的值赋给左边的变量: 变量名变量名 = 表达式;表达式; 例如 x=3; a=a+1; f=3*4+2; 其中需要注意的是: 如果赋值时两侧类型不一致时,系统将会作如下处理:a.将实数赋给一个整型变量时,系统自动舍弃小数部分。b.将整数赋给一个浮点
5、型变量时,系统将保持数值不变并且以浮点小数形式存储到变量中。c.当字符型数据赋给一个整型变量时,系统将整型变量的高字节置0、低字节存放该字符的ascii值/*- 程序l2_1.c功能:赋值时类型自动的转换示例。-*/ #include main() int a,x; float f; a=3.9; f=12; x=a; printf(a=%d,f=%f,x=%dn,a,f,x);运行结果:a=3,f=12.000000,x=65/*-程序l2_2.c功能:将字符a 赋值给字符变量的四种方法。 -*/ #include main() char c1,c2,c3,c4; c1=a; c2=65;
6、c3=101; c4=x41; printf(c1=%c,c2=%c,c3=%c,c4=%cn,c1,c2,c3,c4); printf(c1=%d,c2=%d,c3=%d,c4=%dn,c1,c2,c3,c4); 思考:c1,c2,c3,c4加上32输出结果是什么? 加上256呢? 基本类型可以带修饰性前缀,即类型修饰符,扩大c语言基本数据类型的使用范围。c语言共有4种类型修饰符: long 长型 short 短型 signed 有符号型 unsigned 无符号型 long int(简写为long)型的存储长度为4个字节,用于存储整数超过int型取值范围的情况。long double 型存
7、储长度12个字节,约20位有效数字,取值范围超过double型。 有符号型signed和无符号型unsigned适用于char型、int型和long型三种类型,区别在于它们的最高位是否作为符号位。unsigned char型取值范围0255,unsigned int(简写为unsigned)型取值范围0232-1,unsigned long型取值范围0232-1。/*- 程序l2_3.c功能:类型修饰符long和 unsigned的使用。 -*/ #include main() char a1,b1; unsigned char a2,b2; short x1,y1; long x2,y2;
8、a1=127; b1=129; a2=127; b2=129; x1=32767; y1=32769; x2=32767; y2=32769; printf(a1=%d, a2=%u, b1=%d, b2=%un,a1,a2,b1,b2); printf(x1=%d, x2=%ld, y1=%d, y2=%ldn,x1,x2,y1,y2); 自动类型转换 c语言规定,不同类型的数据在参加运算前会自动转换成相同类型,再进行运算。转换的规则转换的规则是: 如果运算的数据有float型或double型,自动转换成double型再运算,结果为double型。如果运算的数据中无float型或double
9、型,但是有long型,数据自动转换成long 型再运算,结果为long型。其余情况为int型。 doublefloatlongunsignedintchar,short高高低低/*- 程序l2_4.c功能:自动类型转换示例。 -*/ #include main() float x,y; long m,n; x=3/2+8/3; y=3.0/2+8/3.0; m=1*2*3*4*5*6*7*8*9; n=1l*2*3*4*5*6*7*8*9; printf(x=%f, y=%f,m=%ld,n=%ld n,x,y,m,n); 结果:x=3.000000,y=4.166667,m=-30336,n
10、=362880 强制类型转换 在c语言中也可以使用强制类型转换符,强迫表达式的值转换为某一特定类型。强制类型转换形式为: (类型类型) 表达式表达式 强制类型转换最主要的的用途一是满足一些运算对类型的特殊要求,例如求余运算符“%”,要求运算符两侧的数据为整型,(int)2.5%3二是防止丢失整数除法中的小数部分。 计算机最主要的功能是处理数据,如数值、文字、图形、图像等。而这些数据必须被转换为相应的数字编码,才能进行存储和处理。 二进制、八进制、十六进制 进制之间的转换 二进制数在内存中的表示 字符编码/*- 程序l2_5.c : 十进制、八进制、十六进制数据及其输出 -*/ #include
11、 main( ) int a,b,c,m,n; a=11; b=011; c=0 x11; m=65; n=97; printf(十进制11等于%d, 八进制11等于%d, 十六进制11等于%d,n,a,b,c); printf(十进制 八进制 十六进制 字符n); printf( 65 %o %x %c,n,m,m,m); printf( 97 %o %x %c,n,n,n,n); /*- 程序l2_6.c : 从键盘输入一个大写字母,输出其对应的小写字母。 -*/ #include main( ) char c; printf(请输入大写字母n); scanf(%c,&c); c=c+32
12、; /*大写字母的ascii码加上32为其对应的小写字母*/ printf(其小写字母为%cn,c); /*- 程序l2_7.c:已知x=3.2,y=7,z=2,计算y/3*3.2-2的值。 -*/ #include main( ) float x=3.2 , s; int y=7,z=2;char c; s=y/3*3.2-2; printf(result is %fn,s); /*- 程序l2_8.c : 编写一个程序,用于输入一个学生的姓名、学号、英语、 数学、计算机成绩,输出学生姓名、学号和平均成绩。 -*/ #include main( ) char name31; /*数组name
13、31最多可以放30个字符或15个汉字*/ long num; /*其值超过32767的号码,需要用长整型*/ int eng,math,comp; float aver; printf(please input the students name:); scanf(%s,name); /*字符串用格式符%s,并且数组名name前不需要取址符&*/ printf(please input the students id:); scanf(%ld,&num); /*long型变量的格式符用%ld*/ printf(please input scores (english math computer):); scanf(%d%d%d,&eng,&math,&comp); aver=(eng+math+comp)/3.0; printf(the students named is %s , his id is %ld ,his average score is %.1f n,name,num,aver); 1. 编程输出字符0、9、a、z、a、z的acsii码的十进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合作策划协议书(电子版)
- 以产教融合为基础的校企联合研发模式
- 工业园区内外部资源优化配置与升级
- 软组织修复材料力学性能研究基础知识点归纳
- 人工智能赋能高校辅导员个性化服务的实施策略
- 影视产业赋能区域经济发展的现状及总体形势
- 高二新课程全解析
- 春节营销与人资并进
- 共筑校园安全墙
- 电化学储能电站项目投资估算
- 国家开放大学《可编程控制器应用实训》形考任务2(实训二)参考答案
- 质量检验表格
- (中职)美容美发实用英语Unit6 课件
- 室内五人制足球竞赛规则
- 2022年展览馆项目可行性研究报告
- 广州版五年级英语下册期末知识点复习ppt课件
- 产品研发流程管理制度管理办法
- 计算方法全书课件完整版ppt整本书电子教案最全教学教程ppt课件
- 人教版小学四年级英语下册期末测试卷
- 单代号网络图
- Q∕GDW 11958-2020 国家电网有限公司应急预案编制规范
评论
0/150
提交评论