c程序设计初步2_第1页
c程序设计初步2_第2页
c程序设计初步2_第3页
c程序设计初步2_第4页
c程序设计初步2_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序设计初步知识,第三节 数据类型数据的类型决定数据的存储空间、数值取值范围以及能够进行的操作。C语言中包括基本数据类型(整型、实型、字符型)、构造类型(枚举、数组、结构体、共用体)、指针类型和空类型,没有逻辑类型(非零代表真,零代表假)。整型数据:1、整型常量(通常用十进制、八进制、十六进制表示) 2589 十进制表示 (0-9) 016 八进制表示 (0-7) 0x10 十六进制表示 (0-9、a-f或A-F),例以下程序的输出结果是( )见示例2-2-1.c、2-2-2.c#include void main() int i=020,j=20,k=0x20; printf (%d,%d,%dn,i,j,k); A)16,20,32 B)16,20,20 C)20,20,20 D)20,20,32答案:A,2、整型变量的基本类型符为int。根据数值的范围,可以将其定义为短整形、基本整型、长整形和无符号型。分别用short int或short、 int、 long int或long、unsigned表示。对于变量的使用,无论什么类型,最要先定义后使用,使用前进行初始化或赋初值,通常情况下,定义未赋值的变量内存放的值不确定。整型变量定义:int integer;integer=100;也可以定义变量时赋初值int integer=100;,注意长整型数据后应加l或L;无符号型数据后应加u或U;无符号型数据不应小于零。实型数据1、实型常量又叫浮点数,有下面两种表示形式(1)小数形式由数字和小数点组成如0.36、.36、36.均为合法实型数据,小数点不能省略。(2)指数形式如23.365可以表示为2.3365e1规定:字母e或E之前要有数字,且e或E后面的指数必须为整数。E2、2e3.6为非法指数形式。,2、实型变量分为单精度型 float(通常分配4个字节)float area;双精度型double(通常分配8个字节)double he;例以下选项中合法的实型常量是( )A)5E2.0 B)E-3 C)2E0 D)1.3E答案:C,利用函数sizeof()查看各数据类型所占字节情况见示例文件2-2-3.c#include void main() printf(字符类型所占字符数:%dn,sizeof(char); printf(短整类型所占字符数:%dn,sizeof(short); printf(整数类型所占字符数:%dn,sizeof(int); printf(长整类型所占字符数:%dn,sizeof(long); printf(无符号类型所占字符数:%dn,sizeof(unsigned); printf(单精度实数所占字符数:%dn,sizeof(float); printf(双精度实数所占字符数:%dn,sizeof(double);,第四节运算符与表达式运算符1、运算符的种类数据参与运算,应该由数据和运算符组成,从最基本的算术运算符开始,了解C语言的运算符(见附录6)C语言中的运算符有单目、双目和三目运算符。注意特定运算符对运算对象的要求:如:求余运算的运算对象只能是整型注意分析1/2与1/2.0的结果是否一样。2、运算符的优先级通过附录6了解C语言的各类运算的优先级比较(5+1)/2与5+1/2的结果,3、运算符的结合性比较5*2/10与5*(2/10)的结果是否相同。表达式C语言中,常量、变量、函数调用以及按C语言语法规则用运算符把运算数据连接起来的式子,称为表达式。常用表达式算术表达式3+3*3*d,赋值表达式由赋值运算符(=)组成的表达式称为赋值表达式。如:变量名=表达式表达式的左边必须是变量,不能为常量或表达式,表达式的右边为各种合法的表达式。赋值表达式的功能是先求出表达式右边的值,然后将值存入到左边的变量中去。因为赋值运算符的优先级较低,仅高于逗号运算符,分析下面的表达式,了解area变量里存入的值area=3+4*3 (area变量里存入的是15而不是3)赋值运算符=与关系运算符=,正确理解n=n+1 (是将变量n里值加1以后再存入到变量n里)比较下面两个表达式的正确性 b=c=7*2 b=7*2=c 复合的赋值表达式定义:在赋值运算之前加上其它运算符,优先级与赋值运算符相同。C语言规定可以使用10种复合赋值运算符(+=,-=,*=,/=,%=,=,|=,&=,=)A+=A的意思是A=A+A,同样A*=m+3的意思是A=A*(m+3)。,例:已知变量a,其值为9,求a+=a=a+a的值,结果为-18。其运算过程为: a+=a=a+a a+a 结果9+9等于18a-=18 结果等于-9,即a=a-18等于将9-18的值-9存入变量a中,a=-9。a+=-9 结果等于-18 即a=a+-9,因a的值为-9,例执行以下语句后x的值为( )x=6;x+=x-=x*x;A)6 B)36 C)60 D)-60答案:D类型转换1.不同数据类型间的自动转换整型、实型数据可以混合运算,字符型数据可以与整型通用,因此整型、实型、字符型数据之间可以混合运算,但在运算时,不同类型数据必须先转换成同一类型,然后进行运算,转换规则如下图所示:,1)图中横向箭头表示必定的转换,如字符类型和short类型转换为int类型(当两个char类型数据进行运算时,先把两个char类型数据转为int,然后运算,结果为int型。当两个short型进行运算时,先把两个short转为int,然后运算,结果为int。当一个char与一个short进行运算时,分别转换为int,然后进行运算,最后结果为int。float类型在运算时一律转换成double类型,以提高运算精度(即使是两个float类型数据相加,也是先把两个float型数据先转为double型,然后再进行运算,但运算结果还为float型。2)纵向的箭头表示当运算对象为不同类型时转换的方向。如int类型与double类型数据进行运算,先将int类型的数据转换成double类型,然后在两个同类型数据间进行运算,结果为double类型,注意箭头方向只表示数据类型级别的高级,由低向高转换。,3)上述的类型转换是由系统自动进行的。4)由上图可以总结出运算规率,空间占用小的类型与空间占用大的类型进行运算时,结果以空间大的类型为准。例表达式3.5+3/2的计算结果是( )答案:4.5例表达式3.5+3.0/2的计算结果是( )答案:5.0,2. 强制类型转换表达式(类型名)(表达式) 强制转换类型名两侧的括号不能丢(int)3.234 结果3(double)(10%3) 结果1.0例设a和b均为double类型变量,且a=5,b=2.5,则表达式(int)a+b/b的值是( )答案:6.000000语句表达式后连接表示结束的符号(分号;),构成语句。 int c; float s=0.0;,第五节 自加、自减运算符和逗号运算符1、自加与自减自加+ i+与i=i+1自减- i与i=i-1自加与自减运算为单目运算,运算对象可以是整数、实数和字符,但不能是常量和表达式。3+和(i+j)+非法。自加与自减为单目运算符,自右至左结合。自加与自减前缀运算符与后缀运算符的不同结果。,自加+int i=3;int j=i+;/* 经过运算,j的结果为3,i的结果为4 */int k=+i;/* 经过运算,k的结果为5,i的结果为5 */自减-int i=3;int j=i-;/* 经过运算,j的结果为3,i的结果为2 */int k=-i;/* 经过运算,k的结果为1,i的结果为1 */总结:前缀先运算后引用,后缀先引用后运算。,例变量定义后执行以下语句后p的值为( ) i=8;j=10;k=12; m=+i;n=j-;p=(+m)*(n+)+(-k); A)84 B)92 C)110 D)111答案:D,2、逗号运算符和逗号表达式用逗号将表达式连接起来的式子称为逗号表达式一般为:表达式1,表达式2,表达式n从左到右计算,最后一个表达式的值就是此逗号表达式的值,优先级最低。计算下面表达式的值和i的值i=3, i+, i+5表达式的结果为9,i的值为4。,例假定x,y为double型,则表达式x=2,y=x+3/2的值是多少? A)3.500000 B) 3 C)2.000000 D) 3.000000答案:D例若变量已正确定义并赋值,则下面符合C语言语法的表达式是( ) A)a=a+4; B)a=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论