第2章基本程序设计_第1页
第2章基本程序设计_第2页
第2章基本程序设计_第3页
第2章基本程序设计_第4页
第2章基本程序设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

第二章基本程序设计Chapter 2 Basic of C languageHFUT第二章 基本程序设计第二章基本程序设计Chapter 2 Basic of C languageHFUT主 要 内 容 数据及其表示方法; 数据的基本运算; 基本输入输出。程序是对数据按照算法处理,并输出结果的过程,因此,以上三个问题是程序设计的基本问题。第二章基本程序设计Chapter 2 Basic of C languageHFUT2.1 数据类型1/2 ?数据 是对客观事物特征抽象的符号化表示,客观事物不同,表示的方法也不同(人数以整数表示,圆面积用小数表示,灯的状态用开关表示,信件要用文字表示),计算机的处理方法也不同,因此根据程序处理的数据对象,应规定数据的 类型 。计算机由于工程的限制,只能在有限精度和有限范围内在工程上近似地描述操作的对象 数据。 数据类型决定了数据的如下特征: 数据的外部表示方式和内部存储方式不同; 表示的范围和精度不同; 对数据的处理方式不同。第二章基本程序设计Chapter 2 Basic of C languageHFUTC语言的数据类型C语言的数据类型基本类型 字符型 char浮点型 floatdouble构造类型数组、结构、联合、 枚举型 enum指针类型空 类型 void整 型 int第二章基本程序设计Chapter 2 Basic of C languageHFUT2.2 常量( Constant) 及其类型 常量的概念在程序中不能改变的量称为常量。常量的类型由数据的外部表现形式确定。 常量的外部形式及其确定的类型 整型常量的表示 整型常量根据表示的范围可以有 一般整型 和 长整型 ,还可以表示为十进制、八进制、十六进制形式。一般整型常量的表示进 制 表示举例 范 围 字节数十 进 制 2304 -32768 +32767 2八 进 制 04400 0 0177777 2十六进制 0xaa00 0x0000 0xffff 2长整型常量的表示进 制 表示举例 范 围 字节数十 进 制 -21234l -231 +231-1 4八 进 制 04400l 0 037777777777 4十六进制 0XAA00L 0x0000-0xffffffff 4第二章基本程序设计Chapter 2 Basic of C languageHFUT 浮点型常量的表示(只有十进制表示)浮点型常量 有两种表示方式: 小数表示方法 , 指数表示方法 。不区分单、双精度。小数表示方式规则:一个小数点、符号和至少一位数字。-2.0 1. 0.11113 -15.指数表示方式规则:规则: nem 表示 n10mn小数部分,整型常量或小数形式表示的实型常量。指数部分,两位整数。n决定精度,一般精度为 7位; m决定范围,范围 10-38到 10+38,当超过范围时称为 “溢出 ”,小于 10-38称为下溢,当 0处理,大于10+38,称为上溢,系统出错!123.456 表示为 0.123456E+3-10000000 表示为 -1e70.0000123 表示为 0.123e-4第二章基本程序设计Chapter 2 Basic of C languageHFUT 字符常量的表示表示 ASCII字符集中的一个字符 。 字符有一个整型值,即该字符的 ASCII码值。表示方法: a 、 ! 。 撇号定界的一个字符。值为: 97第二章基本程序设计Chapter 2 Basic of C languageHFUT 字符串常量的表示双引号 “定界的 字符序列。系 统会在最后一个字符后加 NULL(ASCII码值为 0) ,标志字符串的结束。 如: ”HEFEI ” ”Hello!” a 和 ”a”的区别?内部 a : 97 ”a”: 97NULL72101108108111330Hello!0”Hello!” 在 内存中的存储结构:第二章基本程序设计Chapter 2 Basic of C languageHFUT 符号常量符号常量格式:格式: # define 符号常量名符号常量名 常量常量好处:(好处:( 1)以简代繁;)以简代繁;( 2)一改全改。)一改全改。注意:注意: 常量符号名常量符号名 习惯用大写字母习惯用大写字母 。例如:例如: # define PI 3.14159说明:必须先说明,后使用。说明:必须先说明,后使用。第二章基本程序设计Chapter 2 Basic of C languageHFUT2.3 变量 (Variable)及其类型 变量的概念 变量是在程序中可以改变的量,变量具有 三个特征 : 变量有名,用标识符命名; 变量有类型; 在程序中可以改变。变量 对应于内存中 某一地址下的几个单元 , 变量名作为程序引用变量的标志。变量的类型确定了变量在内存中所占单元的 数量 及其表示的方式。变量的地址可以通过 a变量的引用标志type是 类型说明词,对于整型和字符型可加修饰说明。基本类型说明符: int、 char、 float、 double修饰说明和基本说明的对应关系修饰说明词 可用于修饰的基本类型singed/unsigned int、 charshort/long intlong int a, b, c; 第二章基本程序设计Chapter 2 Basic of C languageHFUT 整型变量说明说明词及性质如下:说明词 含义 范围 Byteshort int 有符号短整型 -3276832767 2int 有符号一般整型 -2147483648 4long int 有符号长整型 2147483647 4unsigned short 无符号短整型 065535 2unsigned 无符号一般整型 04294967295 4unsigned long 无符号长整型 0 294967295 4short a,b,c;int e,f,g;long _qs,num; unsigned d,e,f;第二章基本程序设计Chapter 2 Basic of C languageHFUT 字符型变量的说明说明符 所占字节数 范围 char 1 -128 +127unsigned char 1 0 255 浮点型变量的说明说明符 所占字节数 范围 精度float 4 10-38 10+38 7位double 8 10-308 10+308 16位浮点型变量包含精度和范围两个概念 。 超过精度位数后的位数值不确定。float a;a=1.1111111111; 超过范围溢出 (Overflow)。超出精度部分,不准确。float a,b,c;a=1.234e+20 ; b=2.345e+21;c=a*b ; 超出 1038,溢出。当运算结果大于 10+38称为上溢,系统出错。当运算结果小于 10-38称为下溢,当 0处理。第二章基本程序设计Chapter 2 Basic of C languageHFUT2.4 运算符与表达式程序的核心是对数据按照算法进行处理(运算)。 C 语言提供了强大的数据运算功能。 数据通过运算符连接的式子称为表达式,表达式根据运算关系对数据运算,并得到一个值。 变量赋值( Assignment)运算格式:V=expression; /* 将 expression的值赋给变量 V*/int a=2; /*说明赋值,编译时赋值。 */int b;b=3+2; /*说明后赋值,执行时赋值。 */说明: =是赋值号(动词); 赋值运算的左值只能是变量。a=a+2;iCount=iCount+10; a+2=12; /*Error!*/ 赋值号两边类型应该一致,如不一致,以变量类型转换。 int a=2.5 ; /* 2a */第二章基本程序设计Chapter 2 Basic of C languageHFUT 算术运算( Arithmetic operators) 功能:完成各种类型数据的加、减、乘、除及求余数运算。 双目算术运算(两个运算对象参加的运算)运算 运算规则 示例+ 加 2+3- 减 a-b* 乘 2*(-a)/ 除 12/3.0% 求余数 15%4只能对整型或字符型数据运算。余数符号与被除数相同。注意:乘号不能省略!-12%5-2 -12%(-5) 1%2第二章基本程序设计Chapter 2 Basic of C languageHFUT 自加、自减运算(单目运算)运算符 前置 后置 运算关系+ +a a+ a=a+1 - -a a- a=a-1说明: 运算对象只能是一个变量。 前置是先运算,后引用,而后置则是先引用,后运算。2+; /* Error !*/int i, x;i=5;x=i+; /* x=i; i=i+1; */i=5;x=+i; /* i=i+1; x=i; */#include void main(void) int a=2,b=3,c;c=a+b;printf(“%d”,c);CHAP2EX1C语言尽可能多的从左向右结合符号形成运算符。第二章基本程序设计Chapter 2 Basic of C languageHFUT想一想:想一想:int i=3;printf(“%d,%d”,-i+,i); printf(“%dn”,i); 输出:输出:printf(“%d,%d”,4-i+,i); printf(“%dn”,i); 输出:输出: printf(“%d,%d”,-+i,i); printf(“%dn”,i); 输出:输出:printf(“%d,%d”,4-+i,i); printf(“%dn”,i); 输出:输出:-3,340,45-6,56-3,67第二章基本程序设计Chapter 2 Basic of C languageHFUT 算术运算赋值运算符 表达式示例 运算关系+= a+=3 a=a+3-= b -= c b=b-c* = a* =2 a=a*2 /= s/=t s=s/t%= a%=5 a=a%5 说明: 运算对象的左值只能是一个变量。 (a+2)+=5; /*Error !*/ %=运算的对象,必须是整型或字符型 。例例 : a=12; a+=a-=a*a; /等价于等价于 a=a+(a=a-(a*a) A=-264例例 : int m=5,y=2; y+=y-=m*=y; /等价于等价于 y=y+(y=y-(m=m*y) y=-16 赋值表达式的值与变量值相等,且可嵌套 。 第二章基本程序设计Chapter 2 Basic of C languageHFUT 算术运算的说明 运算中的类型问题运算对象的类型相同,运算结果取运算对象相同的类型。int a;float b;b=2/3; /* 0b 0.0*/a=5.0/2.0; /*2.5a 2 */运算对象的类型不同,先将 低等类型 转换为 高等类型 后再进行运算, 运算结果取高等类型 。等级原则如下:char int long double float 2*16.0+15.0doubledoubledouble运算时可以实行类型的强制转换,格式如下:(type)expression 只对当前表达式起作用。(float)a/(int)c+(float)(a+10)2 int(fSum)第二章基本程序设计Chapter 2 Basic of C languageHFUT类型转换举例int a;float b;int c;c=a * 1.0 + b * 5 + (float) A;i d f i cd d ffddc int注意:赋值运算右值表达式的类型转换以左值变量的类型为准。第二章基本程序设计Chapter 2 Basic of C languageHFUT 运算的优先级表达式的运算是分步骤进行的。因此当一个表达式中出现多种运算时,存在优先级的问题。算术运算的优先级如下:+、 - -、 (type) 单目运算*、 /、 %+、 -=、 op=相同优先级,结合顺序从左到右!3*4+6/a- 6%3;相同优先级,结合顺序从右到左!可以用 ( )调整优先级。第二章基本程序设计Chapter 2 Basic of C languageHFUT 条件运算运算格式:e1 ? e2 : e3e1、 e2、 e3为表达式,当 e1非 0时,运算结果取 e2的值;当 e1为 0时,取 e3的值。int a=2,b=3,c=-1,d;d=a?b:c; /*d为 3*/a=0;d=a?b:c; /*d为 -1*/ 逗号表达式格式:e1, e2, e3,e n用,分隔的表达式,计算顺序从左到右,表达式取值为 en; sizeof 运算形式: sizeof 数据对象 ;sizeof (类型说明符 );int a,b,c;b=sizeof a; /*b的值为 2 */c=sizeof(float); /* c的值为 4*/x=(a=5,a+6)*10;第二章基本程序设计Chapter 2 Basic of C languageHFUT例:例: a=3*5,a*4;a=3*5,a*4,a+5;例例 : x=(a=3,6*3);x=a=3,6*a;例例 : a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); 例例 :#include main() int x,y=7;float z=4;x=(y=y+6,y/z);printf(“x=%dn“,x);第二章基本程序设计Chapter 2 Basic of C languageHFUTC语言常用数学函数语言常用数学函数为方便用户使用,为方便用户使用, C语言系统定义了大量函数。数学函数主语言系统定义了大量函数。数学函数主要目的是求解常用数学函数,如要目的是求解常用数学函数,如 sinX等。数学函数的原型定义在等。数学函数的原型定义在系统的系统的 math.h头文件中。在使用此类函数时,应在程序的开始出头文件中。在使用此类函数时,应在程序的开始出加如下语句:加如下语句: #include 使用方法:使用方法:作为一个运算项参加表达式运算。作为一个运算项参加表达式运算。函数的参数(自变量)、函数的值函数的参数(自变量)、函数的值都是都是 double类型。类型。y=sqrt(sin(x)*sin(x)+cos(x)*cos(x)log10xlog10(x)lnxlog(x)sqrt(x)xypow(x,y)| x |fabs(x)tanX tan(x) cosXcos(x)sinXsin(x)数学含义数学含义函数函数第二章基本程序设计Chapter 2 Basic of C languageHFUT2.5 数据的输入输出 Input c 为一字符型或整型变量。为一字符型或整型变量。例:例:#include main( ) int a1,a2;char c1,c2; a1=97;a2=65;c1=a;c2=A;putchar(a1);putchar(a2);putchar(c1);putchar(c2);putchar(n);a1=getchar( ); c1=getchar( );putchar(a1);putchar(t);putchar(c1); ( 2)输出:)输出: putchar( ) 向标准输出设备(显示器)输出一个字符。向标准输出设备(显示器)输出一个字符。调用格式:调用格式: putchar( c ); c 为一字符型或整型变量和常量为一字符型或整型变量和常量 。 如如: putchar(A); putchar(65); 均输出字母均输出字母 A 。 程序运行结果:程序运行结果: aAaA输入:输入: 97 9 7第二章基本程序设计Chapter 2 Basic of C languageHFUT 格式输入输出函数 输出函数 printf( )格式:printf( “输出格式字符串 ”, 输出项列表 );格式描述。 用,分隔的常量、变量、表达式表。输出格式字符串可包含以下内容 : 普通字符 ,如: a= 转义字符,如: n对于普通字符和转义字符在相应位置 原样 输出,其中 %用 %。printf( “nabcd%”) ; 输出结果: abcd% 格式说明符组,说明输出项列表中的各项的 输出格式 。格式说名符组用 %为开始标志。内容包含对一项输出对象的格式说明。%-7.5f第

温馨提示

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

评论

0/150

提交评论