第3章 最简单的C程序设计.ppt
《第3章 最简单的C程序设计.ppt》由会员分享,可在线阅读,更多相关《第3章 最简单的C程序设计.ppt(78页珍藏版)》请在三一文库上搜索。
1、2019/3/11,1,第3章 最简单的C程序设计 顺序程序设计,3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.2.1 常量和变量 1.常量 在程序运行过程中,其值不能被改变的量。 (1)整型常量 (2)实型常量 (3)字符常量 (4)字符串常量 (5)符号常量,2019/3/11,2,1.常量,(1)整型常量 十进制整数。 八进制整数。以 0 开头。如 0123、011。 十六进制整数。以 0x 开头。如 0x123、 0x12。 (2)实型常量 十进制小数形式 指数形式形式:12.34e3、-1.23E-7,2019/3/11,3,1.常量,(3)字符常量 普通字符,用单撇
2、号括起来的字符。如a,D,1,?,$。 此为源程序级的表示,例如c= a; 若在计算机中表示,则为其ASCII码的二进制。 注意ASCII表的规律,空字符、空格字符 转义字符:以字符开头的字符序列。例如 n,2019/3/11,4,转义字符,字符形式 n t b r f “ ooo xhh,含义 换行 水平制表 退格 回车 换页 字符 字符 字符 “ 13位8进制所代表的字符 12位16进制所代表的字符,ASCII代码 10 9 8 13 12 92 39 34,2019/3/11,5,利用ddd和 xhh可表示任何字符(只要已知其ASCII码) 例如101等同于A,012等同于n; 0、00
3、0为空字符。 例 转义字符的应用。 #include int main ( ) printf(“ ab ct derftgn“); printf(“htibbj k“); return 0; 输出:,屏幕显示与打印机所看的一样吗?,2019/3/11,6,(4)字符串常量,字符串常量是一对双引号括起来的字符序列。例如:“How do you do“, “abc“, “a“ “a“与a的不同。 字符串常量在内存中的存放。例如“CHINA“,2019/3/11,7,(5)符号常量,例 符号常量的使用 #define PRICE 30 int main( ) int num, total; num=
4、10; total=num*PRICE; printf (“ Total=%d“, total ); return 0; ,int main( ) int num, total; num=10; total=num*30; printf (“ Total=%d“, total ); return 0; ,符号常量的作用:(1)含义清楚 (2)便于修改,2019/3/11,8,2. 变量,其值可以改变的量称为变量。 源程序中变量有一个名字。程序运行时对应内存相应的存储单元(地址)。 C语言中变量:“先定义,后使用”。 便于保证(1)变量使用的正确性;(2)为其分配合适的单元;(3)变量进行运算的
5、正确性。,2019/3/11,9,3. 常变量,const int a=3; 在该变量存在期间其值不能改变。 与变量的异同? 与常量的异同? 与符号常量的异同?,#define PRICE 30+30 int main( ) int num, total; num=10; total=num*PRICE; printf (“ Total=%d“, total ); return 0; ,total=num*PRICE;=total=num*30+30;,2019/3/11,10,4. 标识符,标识符(identifier):用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序
6、列。 有效标识符:只能由字母、数字、下划线组成,且第一个字符必须为字母或下划线。 注1:C语言中大、小写字母是有区别的。 注2:标识符的长度(各个C编译系统自己的规定)。,2019/3/11,11,3.2.2 数据类型,所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度以及数据的存储形式。,2019/3/11,12,3.2.3 整型数据,1. 整型数据的分类 (1)基本整型 int i; /int型数据单元为2个字节或4个字节 i =10; 数值是以补码表示的。例如 10的补码。,2019/3/11,13,1.整型数据的分类 基本整型:int 短整型:short int 或 short
7、 长整型:long int 或 long 双长整型:long long int (C99新增,较多编译器未支持) sizeof(short) sizeof(int) sizeof(long) sizeof(long long) 2.整型变量的符号属性 表3.2 ANSI标准定义的整数类型, signed int,unsigned int, signed short int,unsigned short int, signed long int,unsigned long int,比特数,16,16,32,32,16,16,类 型,最小取值范围, 3276832767 即 215( 215 1)
8、,04294967275 即 0( 232 1), 21474836482147483647 即 231( 231 1), 3276832767 即 215( 215 1),065535 即 0( 216 1),065535 即 0( 216 1),以下表格的数据类型以编译器整型为2个字节为例示范,2019/3/11,14,3.2.3 整型数据,整型变量的溢出 #include int main ( ) int a,b; a=32767; b=a+1; printf (“%d,%d“, a,b); return 0; 运行结果为:32767,-32768 说明: (2)用%u格式输出无符号数据
9、。,2019/3/11,15,3.2.4 字符型数据,1. 字符与字符代码 字符按ASCII码形式存储 字符1 与整数1的不同:1+1=? 1 + 1 =?,2019/3/11,16,3.2.4 字符型数据,2. 字符变量 char c1, c2; c1=a; c2=b; 字符数据在内存中的存储形式及其使用方法 字符在内存中以二进制形式存放其对应的ASCII码! 例 向字符变量赋以整数。 main ( ) char c1,c2; c1=97; c2=98; / 等价于c1=a; c2=b; printf(“%c %cn“,c1,c2); printf(“%d %dn“,c1,c2); ,201
10、9/3/11,17,例 大小写字母的转换 main ( ) char c1,c2; c1=a; c2=b; c1=c132; c2=c232; printf(“%c %cn“,c1,c2); 字符数据与整型数据可以互相赋值(前提是在0-127之间)。 char c=63; printf(“%c,%d“,c,c);,2019/3/11,18,3.2.5 浮点型数据,实型数据在内存中的存放形式是以指数形式存放在存储单元中的。 指数形式:123e3、123E3 规范化的指数形式:1.23e5、1.23000e+05 例:将5.25在内存存放。5.25=(101.01)2=0.10101211. 实型
11、变量的分类,11为二进制,2019/3/11,19,3.2.6 怎样确定常量的类型,(1)整型常量 在某类型的取值范围内即可。 或:可在整数的末尾加L或l。 (2)浮点型常量 实型常量都是双精度浮点型常量。 或:可在实数的末尾加F或f,L或l。 例:float f=3.14159; float f=3.14159f; long double a=1.23L;,2019/3/11,20,3.2.7 运算符和表达式,1.基本的算术运算符 +、*、/ 、% 注意:(1)两个整数相除的结果为整数。若至少有一个运算数为实数,则算术运算的结果为双精度实数。 例:1/2为0,1.0/2等于0.5 (2) +
12、、还可为单目运算符。(+a 或 a 表示a的正负数) (3)%:要求参加运算的运算对象为整数。,3.算术表达式和运算符的优先级与结合性,例: 33+a*b/c-1.5+a,2019/3/11,22,2. 自增自减运算符,+i , i i + , i j=+i; j=i+; 注1.自增自减运算符,只能作用于变量,而不能用于常量或表达式。5+、(a+b)+不合法。 注2.自增自减运算符的结合方向“自右至左” 例如 (1) i+ (参见Turbo C程序),#include void main() int i=5; printf(“%dn“,-i+); printf(“%dn“,-i+); ,201
13、9/3/11,24,4. 各类数值型数据间的混合运算,10+a+1.5-8765.1234 *b(系统自动进行转换) 5.强制类型转换运算符: (类型)(表达式) (int)3.14 、 (float)1,2019/3/11,25,6. C运算符 (1)算术运算符 (+ * + ) (2)关系运算符 ( = | & ) (5)赋值运算符 ( =及其扩展赋值运算符) (6)条件运算符 (? :) (7)逗号运算符 (,) (8)指针运算符 (* 和 &) (9)求字节数运算符 (sizeof) (10)强制类型转换运算符 (类型) (11)成员运算符 ( ) (12)下标运算符 ( ) (13)
14、其他 (如函数调用运算符 ( ) ),2019/3/11,26,3.3 C语句,3.3.1 C语句的作用和分类,源程序文件1,C程序,局部变量声明,源程序文件2,源程序文件n,预处理命令,全局变量声明,函数1,函数首部,函数n,函数体,执行语句,2019/3/11,27,3.3.1 C语句的作用和分类,(1)控制语句 if ( ) else (条件语句) for ( ) (循环语句) while ( ) (循环语句) do while ( ) (循环语句) continue (结束本次循环语句) break (终止执行switch或循环语句) switch (多分支选择语句) return (
15、从函数返回语句) goto (转向语句),2019/3/11,28,3.3.1 C语句的作用和分类,(2)函数调用语句 printf(“This is a C statement.“); (3)表达式语句 a=3; x+y; (4)空语句 ; (5)复合语句 ,2019/3/11,29,3.3.2 最基本的语句赋值语句,例3.4 给出三角形的三边长,求三角形面积。 解题思路、编写程序、程序分析(略)。注意数学函数及t的应用。 赋值运算符: = 例如:a=3; k=i*j; 其作用? 2. 复合的赋值运算符:+=、*=、%=、 a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8
16、) x%=3 等价于 x=x%3 一般地:v = v op exp (此处 v为变量,exp为表达式,op为运算符) 等价于 v op= exp 目的:简化程序 提高效率,2019/3/11,30,3.3.2 最基本的语句赋值语句,3. 赋值表达式: 整个作为一个表达式 有此概念后,就可以理解并实现: a=b=c=5 a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/c=2) a+=a =a*a(若a的初值为12) a=-264 b=3; printf(“%d”,a=b); 结果为 3,变量 = 表达式,2019/3/11,31,4. 赋值过程中的类型转换,赋值运算符两侧的数据
17、类型不一致时,赋值运算符右端的表达式计算结果要转换为赋值运算符左端变量的类型。 注意:表达式的值是否超过变量所属类型的取值范围。,double数据,float变量,取7位有效数字,但注意范围,(3),double变量,float数据,有效位数扩展,char数据,整型变量,字符数据送到整型变量低8位 但注意符号扩展,(4),char变量,整型数据,取低8位,(5),2019/3/11,32,6. 变量赋初值,int a=3; float f=3.56; char c=a; int a,b,c=5; 相当于 int a,b,c; c=5;,2019/3/11,33,3.4 数据的输入输出,标准输入
18、输出函数:putchar( )、getchar( )、printf( )、scanf( )、puts( )、gets( ) #include ,2019/3/11,34,3.4.1 字符数据的输入输出,1. putchar函数(字符输出函数) putchar函数的功能是向终端输出一个字符。 一般形式:putchar(表达式) 先计算表达式之值,然后在终端输出其ASCII码为该值的字符。 例如:char a=B; putchar(a); putchar(O); putchar(Y); putchar(n); putchar(A); putchar(A+1);,此时在屏幕上输出: BOY AB,2
19、019/3/11,35,3.4 .1 字符数据的输入输出,2. getchar函数(字符输入函数) getchar函数的功能是从终端(实际上是从输入缓冲区)读入一个字符。 一般形式:getchar( ) 例3.9 从键盘输入BOY3个字符,然后把它们输出到屏幕。 #include int main ( ) char a,b,c; a=getchar( ); b=getchar( ); c=getchar( ); putchar(a); putchar(b); putchar(c); putchar(n); return 0; 注意程序运行过程中的输入。,2019/3/11,36,3.4 .1
20、字符数据的输入输出,2. getchar函数(字符输入函数) getchar函数的功能是从终端(实际上是从输入缓冲区)读入一个字符。 getchar( )将输入缓冲区下一个可读字符的字符值作为函数值返回。 注1.getchar( )从输入缓冲区读入 下一个可读字符后(例如右图中b), 再下一个字符成为下一个可读字符(右图中c) 注2.若当前输入缓冲区可读字符为空(例如程序开始时,或输入缓冲区字符被读完后例如上图读完换行符后), getchar 将等待用户从键盘向缓冲区输入数据,直到输入一行字符(键入后),才开始读输入缓冲区(此时刚输入的第一个字符为下一个可读字符)。刚输入的一行字符同时显示在屏
21、幕上。,2019/3/11,37,3.4.1 字符数据的输入输出,2. getchar函数(字符输入函数) 补充1: getch( )函数直接读键盘(而不是读输入缓冲区,也就不必理会输入缓冲区是否为空),此时该函数等待用户从键盘输入一个字符,当用户按任一键后(不必为 ),getch( )将该字符作为函数值返回。注意:为执行getch( )函数而在键盘上键入的字符不显示在屏幕上。该函数常常用来响应用户是否敲击键盘。 #include 补充2: getche( )函数,基本同getch( );只是为执行getche( )函数而在键盘上键入的字符显示在屏幕上。,2019/3/11,38,3.4.2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 最简单的C程序设计 简单 程序设计
链接地址:https://www.31doc.com/p-2254112.html