概述基本程序设计:数据运算输入输出.ppt

上传人:牧羊曲112 文档编号:6388835 上传时间:2023-10-26 格式:PPT 页数:64 大小:376KB
返回 下载 相关 举报
概述基本程序设计:数据运算输入输出.ppt_第1页
第1页 / 共64页
概述基本程序设计:数据运算输入输出.ppt_第2页
第2页 / 共64页
概述基本程序设计:数据运算输入输出.ppt_第3页
第3页 / 共64页
概述基本程序设计:数据运算输入输出.ppt_第4页
第4页 / 共64页
概述基本程序设计:数据运算输入输出.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《概述基本程序设计:数据运算输入输出.ppt》由会员分享,可在线阅读,更多相关《概述基本程序设计:数据运算输入输出.ppt(64页珍藏版)》请在三一办公上搜索。

1、C语言程序设计,才轶,课程安排,总40学时:讲授24,上机16成绩组成:平时成绩(10%):含上机、出勤、课堂、大作业 期中检测(20%):(两次编程10*2)期末考试(70%):教材后习题范例 附加分(5分):结合专业应用实例上课安排:周日下午(6-8 节)(2-10周)北阶二上机安排:9-10节 化工1-3 北一 3-11周9-10节 化工4-6 北二 3-11周,参考书籍,C程序设计教程与实训(第二版)(自编教材)清华大学出版社机械工业出版社 顾治华 C语言程序设计 清华大学出版社 谭浩强C+程序设计课件Email:密码:123456,第一章 概述,一.C语言程序例 P1,例1 仅由ma

2、in()函数构成的语言程序。程序运行结果:This is a C program.,#include/*编译预处理命令*/main()/*定义主函数mail()*/printf(“This is a C program.n”);/*调用printf()函数*/,程序运行情况:6,9 max=9,例2 由main()函数和1个其它函数max()构成的语言程序。,#includeint max(int x,int y)return(xy?x:y);main()int a,b,c;scanf(“%d,%d”,(1)函数是语言程序的基本单位。一个完整的语言程序,是由一个main()函数(又称主函数)和

3、若干个(可以是0个)其它函数(自定义函数)构成的;(2)函数由函数头和函数体两部分构成;(3)程序的最小单位是语句,语句以分号“;”结束;(4)C语言程序总是从main()函数开始执行。当主函数执行完毕时,亦即程序执行完毕。,C程序的组成,C语言的词法符号,C语言的字符集:英文字母、数字、运算符及一些特殊符号C语言的词法符号:关键字、标识符、运算符、分隔符、常量和注释符1)关键字:在程序中表示固定的意义,不能被重新定义用作它用。C中关键字有32个。2)标识符:由程序员定义的一些名字,通常是一些字符序列。命名规则:(1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。(2)有效长度

4、:随系统而异,但至少前个字符有效。如果超长,则超长部分被舍弃。(3)选择标识符时,应做到“见名知意”。C语言是大小写敏感的语言。(4)预定义标识符:预处理命令和库函数名字 其他都叫:用户定义标识符:C语言中的关键字或预定义标识符不能用作用户定义标识符。,二、C语言程序的开发过程(其它语言类似),集成开发环境,Turboc2.0(附录D),Turbo C 3.0Borland C+3.1Visual C+6.0/Dev C+5.0,是集源程序编辑、编译、链接、运行与调试于一体、用菜单驱动的集成软件开发环境。,启动、退出开发环境,创建新的源程序 编辑并保存一个语言源程序 编译、链接单个源程序文件

5、运行与查看结果其它辅助功能(如调试等)(放到后面),第二章 用C语言编写简单程序,主要内容:数据类型、运算格式化输入输出顺序结构程序设计,一个简单应用问题的计算机程序实现,编写程序完成如下功能:输入一个华氏温度,要求输出摄氏温度。(公式为:c=5/9(F-32),#includemain(),float f,c;,scanf(“F=%f”,c=5/9.0*(f-32);,printf(“c=%f”,c);,1,2,程序的构成,数据,字符型(字符串)整型实型(浮点型)空类型,数组类型结构体类型联合体类型枚举型指针类型,基本类型,构造类型,1、数据类型,2、数据存在的两种形式,常量形式变量形式,3

6、、数据间的运算,2.1 变量和常量:,指程序运行中其值改变的量。在c语言中变量必须“先定义,后使用”。,1.如何定义各种类型的变量:格式:数据类型 标识符;如:int i;float j;char c,d;,书写习惯:变量名通常定义为小写字符。,2.常量及其在程序书写中的表示方法,常量:程序运行过程中,其值不能改变的量。,A.整型常量(整数):,十进制数;八进制数(以0开头);十六进制数(以0 x开头),1,-2,3 三种表示方法:,B.实型常量(实数):1.5,-3.2 两种表示形式:,1)十进制小数形式;2)指数形式:如:234e2=2.34e4=2.34104注意:e之前必须有数字,e后

7、的数据必须为整数;,C.字符常量(字符):两种形式:,一般字符常量:用单引号括起来表示:a,1转义字符:以“”+ASCII码的8进制或16进制形式来表示,例如:a 也可用 141、x61表示 n,ASCII表见附录A,D.符号常量,符号常量:用一个标识符代表一个常量。#define PI 3.1415926main()printf(“%f”,PI);书写习惯:符号常量名通常定义为大写字符。,前面的整型、实型、字符型常量均为字面常量(直接常量),3、变量的三个属性:,例:int a=10;,01244468H,01244472H,01244476H,a,01244468H,变量名:a;变量的值:

8、a=10;变量在内存中的地址:01244468H,1)2)3),01244468H,部分内存空间,4、变量在内存中占据一定的存储单元(容器);,不同类型的变量所占的存储单元大小不同 int 占4个字节,float 占4个字节,char占1个字节 决定了不同的数据类型可以描述不同范围内的数据。整型有有符号和无符号之分(signed int/unsigned int)溢出的问题!,溢出问题,unsigned short int a=65535,a=a+1;,a=?,1,+,X,X,5、对变量数据的两种操作,读取:对变量读取操作,就是到对应的存储单元中读取数据。取之不尽!改写:就是给变量赋与新的值,

9、原值被覆盖,01244468H,01244472H,01244476H,a,部分内存空间,6、字符数据在内存中的存储,字符常量赋给一个变量时,内存中并不存放字符本身,而是存放该字符对应的ASCII码(附录A)。,1.为字符型数据与整型数据之间的转换带来了方便。2.便于字符数据进行算术运算:C语言允许字符数据与整数直接进行算术运算、相互赋值,且运算过程中使用ASCII码值。(例如:大小写转换)3.但需注意,字符数据占一个字节,int型占4个字节,8.变量、常量、数据类型的应用举例:,例:#include main()float ave;/变量定义int s1=60,s2=75,s3=97;/变量

10、定义并初始化ave=(s1+s2+s3)/3.0;/*算术表达式*/printf(“average:%.2f”,ave);/*输出函数*/结果:average:77.33,一个简单应用问题的计算机程序实现,编写程序完成如下功能:输入一个华氏温度,要求输出摄氏温度。(公式为:c=5/9(F-32),#includemain()float f,c;f=78;c=5/9.0*(f-32);/运算,结果c=25.555556,2.3 运 算,1.运算符,种 类 算术运算符、关系运算符、逻辑运算符、条件运算符等。优先级 混合运算时,各种运算的优先次序。结合性 混合运算时,优先级相同的情况下,各种运算是从

11、运算符左边还是右边开始进行。左结合性、右结合性。,2、各种运算符和表达式,1)算术运算,名 称 运算符 运算规则 负-取负值 加+加法+减-减法-乘*乘法*(乘号不可以省略)除/除法/(a.两个整数相除的结果取整数;b.一整数、一浮点数相除的结果为符点数;c.当有一个数为负数时,向零取整。)模%整除取余(两侧均为整数;分子分母,结果=余数。分子分母,结果=分子。),a.基本算术运算符:,b.自增、自减运算符,名称 运算符 说明 例 相当于增 1+变量值加1 i+(+i)i=i+1减 1-变量值减1 i-(-i)i=i-1,注意:a.增自减运算仅限用于变量、不能用于常量或表达式。b.当+,-用于

12、复合运算时,使用前缀和后缀意义将不同!前缀:表示先加(减)1,再使用;后缀:表示先使用,再加(减)1;c.+,-,-(负号运算)的结合方向为:自右至左,1)算术运算,思考:,代码1:int j,i=3;j=+i;,代码2:int j,i=3;j=i+;,1.以下两段代码中,最终变量j的值分别为?为什么,2.下面的代码正确么:代码1:int i;i+代码2:int i=3;i+;代码3:int i=1;(i+1)+;,简单赋值运算:名 称 运算符 赋 值=格式:变量=表达式 先计算等号右边的表达式,然后将其值赋给等号左边的变量。注意:C语言“赋值运算符”与数学“等号”其含义有本质不同。例:x=1

13、0;y=x*x+x;x=x+1,2)赋值运算:优先级比较低,右结合,b.复合的赋值运算符,名 称 运算符 例 加赋值+=a+=b a=a+b 减赋值-=a-=b a=a-b 乘赋值*=a*=b a=a*b 除赋值/=a/=b a=a/b 模赋值%=a%=b a=a%b,减化程序,提高编译效率。,c.赋值表达式,格式:变量 赋值运算符 表达式,例1:int x,y;x=5;y=10;y/=5;x=10*(y=5);例2:char c1;c1=a;,注意:赋值表达式的值就是被赋值的变量的值。,结果:a=-2;i=3;,3)各类数值型数据间的混合算术运算,整型和实型数据可以混合运算不同类型的数据要先

14、转换成同一类型,然后进行运算,1)隐式(自动)类型转换,b.赋值表达式中的类型转换(隐示转换),赋值运算符两侧类型不一致,但都是数值型或字符型时,在赋值时系统自动进行类型转换,即:将赋值号右边的类型转换为左边的类型。,B,B,赋值,两个大小不同的容器:A,B,A的容量大于B,A,B,A,A,B,若A容器空,B容器装满液体,若B容器空,A容器装满液体,在程序设计中,不同数据类型间的赋值也是类似的道理:当将占内存空间少的数据类型的数据赋给占内存空间多的类型的数据时,可以将值正确传递.反之,则会造成数据的丢失.,将B容器中的液体倒入A中,将A容器中的液体倒入B中,转换过程(自学):,实数整数:舍弃小

15、数部分,在内存中以整数存储int i;i=2.36;结果:i=2;整数实数:数值不变,以浮点数存储,补足有效位数字float i;i=3;结果:i=3.000000;实数实数:floatdouble 数值不变,补足16位有效数字double i;float j=23;i=j;结果:i=23.00000000000000;doublefloat 截取前7位有效数字float f;double d=123.456789e100;f=d;,整数整数,按存储单元中的存储形式直接传送。短的赋值给长的:符号扩展如:charint 有符号:符号扩展无符号:正数,高位补零,仍是符号扩展赋值双方字节相同:直接赋

16、值。如:由unsigned int int:长的赋值给短的:低位截断(如:整型字符型)如:由intchar:,2)显示(强制)类型转换:单目运算,优先级比较高,格式:(类型名)表达式;功能:将表达式的使用类型转换成类型名所标明的数据类型。例1:float x=3.6;int a;a=(int)x;,例2:#define PI 3.14159 int a;a=(int)PI;结果:a等于3。PI类型不变。,注意:在进行强制类型转换时,得到一个所需类型的中间变量,原来变量的类型不发生变化。上例中 x类型不变,4)逗号运算符和逗号表达式:,格式:表达式 1,表达式 2,表达式 n 逗号表达式求解过程

17、:先求表达式1,再求表达式2,再求,直到求表达式n,整个表达式的值是最后一个表达式的值。,注意:不是任何地方出现的逗号都作为逗号运算符。如函数的参数列表只是参数的分隔符。printf(“”,);,优先级最低,例1:3+5,6+8;例2:a=3*5,a*4;例3:x=(a=3,6*3);,表达式值:14,表达式值:60,a=15,表达式值:18,x=18,5)长度测试运算符,sizeof(类型标识符)用来计算某种类型的变量占用计算机内存空间的长度int a;float b;a=sizeof(float);a=sizeof(b);,一个简单应用问题的计算机程序实现,编写程序完成如下功能:输入一个华

18、氏温度,要求输出摄氏温度。(公式为:c=5/9(F-32),#includemain()float f,c;f=78;c=5/9.0*(f-32);/如何输入输出?,2.4 数据的输入输出,2、字符输入输出函数(putchar(),getchar(),1、格式化输入输出函数(printf(),scanf(),#include(附录C)预处理:包含文件,1.格式输入和输出,printf(格式控制或普通字符,输出项表列);,printf(“a=%d x=%f”,a,x);,(1)格式化输出函数,格式化输入输出函数可以将各种类型的数据从计算机中输出到显示器上和从键盘上将数据输入到计算机中。,说明:格

19、式控制部分用于规定相应输出项的格式,由一系列格式转换说明符(格式符)组成。输出项表列指要输出的数据(变量、常量或表达式)。输出项有多个时,用逗号分隔.输出项的个数要与格式符个数相同。,格式符:%-0m.n 数据类型说明字母,%是格式符的开始标识记号。,描述输出数据的数据类型和格式。即格式字符,printf(“a=%d x=%f”,a,x);,printf(格式控制或普通字符,输出项表列);,数据类型说明字母(自学),%d,i 带符号的十进制整数%o 无符号八进制%u 无符号十进制整数%x 无符号十六进制(小写)%X 无符号十六进制(大写)%c 字符%s 字符串%e 科学计数法(小写e)%E 科

20、学计数法(大写E)%f 十进制浮点数%g 按%e和%f较短的一个输出%G 按%E和%f较短的一个输出%显示%号,%x(X)以十六进制数无符号形式输出。%o 以八进制无符号数形式输出。%u 无符号十进制整数输出。%d 将int,long int型的数据以带符号十进制整数输出。例:1 main()int x=-1;printf(n%x,x);printf(n%X,x);printf(n%o,x);printf(n%d,x);printf(n%u,x);,以整数形式输出:,程序结果:ffffFFFF177777-165535,例:4 main()char c=a,;int i=97;printf(“

21、%c,%dn”,c,c);printf(“%c,%dn”,i,i);a,97 a,97,%c 以单个字符输出。,以字符形式输出:,可见,字符(根据需要)可以以两种形式输出:1)输出字符2)输出整数,%s 以字符串输出。例:5 main()printf(“%sn”,“Beijing”);Beijing,例:2 main()float a=1.5;float b=2;printf(“%fn”,a+b);3.500000%e(E)以指数形式输出。%g(G)以%e%f 格式中输出长度较短的一种格式输出,不输出无意义的0。,%f 将float 或double类型的数据以小数形式输出,系统自动保留6位小数

22、。,以实数形式输出:,输出整数:m表示输出项输出数据(字符)的总长度。例:6 int x=123;printf(“%4d”,x);运行结果:123 输出实数:m表示输出项输出字符的总长度(含小数点)。n表示输出项输出数据的小数部分数据(字符)的长度。例:7 float pi=3.1455;%7.2表示输出的数据共占7个字符位置,printf(“%7.2f”,pi);其中小数占2个字符位置。运行结果:3.15 输出字符数据:m表示输出项输出数据字符所占的总长度。n表示输出项输出数据字符的实际个数。例:8 printf(%5.1s,china);运行结果:c,m.n 指定输出数据的长度,格式符:%

23、-0m.n 数据类型说明字母(自学),格式符:%-0m.n 数据类型说明字母 指定0,填0。不指定0,填空白(空格)。例:9 int x=456;printf(“%05dn”,x);printf(“%5dn”,x);运行结果:00456 456-指定输出项输出数据的输出位置。缺省,输出项输出数据(字符)的输出位置右边靠齐。指定“-”时,输出项输出数据(字符)的输出位置左边靠齐。例:10 printf(“%5sn”,“ABCD”);printf(“%-5sn”,“ABCD”);运行结果:ABCD ABCD,0 对输出项数据空位置填数字0或空白(空格)。,在VC中,进行整数输出时,不再使用 l 参

24、数原来:long x=12345678;printf(“%ldn”,x);运行结果:12345678 如果不指定 l,则输出数据按整型字节数截取低位,但由于在VC中,int和long int均为4个字节,因此 l指定与否不再影响。,l P23说明,地址运算符,名 称 运算符地址运算符&格式:&变量名 取得变量在内存中的地址,如:int a=5;地址表达式:&a,a=5,1234680H,内存,(2)格式化输入函数,格式化输入函数基本格式:,scanf(输入格式,输入项表列);,说明:输入项表列是由若干个变量的地址组成。输入格式用于规定输入项输入数据的格式。用格式符说明。格式符:%l m 数据类

25、型说明字母 其中:1.数据类型说明字符:d、o、x、c、s、e、f 与printf中用法相同。,变量地址,格式符,l 的使用:表示long型精度,仅在输入double型数据时要使用,如下:,m 指定输入项输入数据的长度。(很少用)在输入时,不使用.n表示数据的精度。,2.附加的格式说明符:,double a;scanf(“%lf”,,当输入项有多个时:需注意各项间的分隔问题,三种方法:1、用m指定各项的长度,不需要分隔。(不建议使用)2、不使用m,各格式说明符间没有任何普通字符.输入时数据之间可用空格、回车或TAB键分隔。(常用)scanf(“%d%d”,&a,&b)3、若用户在各格式说明符之

26、间指定了普通字符(如,:等)作为分隔符,则输入时必须原样使用所指定的普通字符。scanf(“%d,%d”,&a,&b)scanf(“a=%d,b=%d”,&a,&b)(建议少用),输入例:,程序结果:1234561234,561 21,234,5634,56a=123,b=456123,456,#include main()int a,b;scanf(%4d%2d,一个简单应用问题的计算机程序实现,编写程序完成如下功能:输入一个华氏温度,要求输出摄氏温度。(公式为:c=5/9(F-32),#includemain()float f,c;scanf(F=%f,F=78c=25.555556pre

27、ss any key to continue,2.字符数据的输入输出,格式:putchar(c);参数c是一个字符型或整型变量(常量)。功能:向标准输出设备即显示终端输出一个字符。将变量c所赋的字符或字符ASCII值,输出到显示器上显示。显示的是字符。,A,(1)字符输出函数,例:int c;char c;c=97;c=a;putchar(c);putchar(c);,也可输出转义字符:putchar(101);putchar(n);,(2)字符输入函数,格式:getchar();功能:从标准输入设备即键盘上输入(一个键的)字符,函数返回的是字符的ASCII码。调用:int c;char c;

28、c=getchar();c=getchar();putchar(c);putchar(c);,字符输入输出例:,编写程序完成如下功能:输入一个小写字母,将其转换成大写字母输出。,#includemain()char c;c=getchar();putchar(c-32)printf(%c,c-32);,2.5 顺序结构程序设计,顺序结构循环结构分支结构,程序的控制结构和结构化程序设计,例2-4,各语句按照位置的先后次序顺序执行,每个语句都会被执行到。,#include#include main()double a,b,c,s,area;printf(”Enter a,b,c:);scanf(%

29、7.2f,%7.2f,%7.2f,a,b,c);s=1/2(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%7.2f b=%7.2f c=%7.2fn,a,b,c);printf(s=%7.2f area=%7.4fn,s,area);,库函数 附录C P186,s=1.0/2*(a+b+c);,scanf(“%lf,%lf,%lf”,&a,&b,&c);,基本语句,语句是C语言程序中的基本单位。C语言中的语句分为:定义语句变量定义类型定义函数存在性说明基本语句流程控制语句,小 结,需要特别注意的问题:1、各种类型的数据存在常量和变量的匹配问题;2、变量表示的范围有限,所以有溢出的问题。3、不同类型的数据之间的内在联系,当超出范围时,选用更大范围的类型(char,int,float)4、数据的混合运算:数据类型转换隐式类型转换、显示类型转换5、程序设计中注意程序的执行过程!,主要内容:1.编程概述2.数据:常量和变量、数据类型、数据间的运算3.输入输出语句的使用4.顺序结构程序设计,作业,定义5个变量,分别赋值C,h,i,n,a,编写程序,用每个字母后面第4个字母代替原来的字母,从而对其进行加密。,3.补充:,1.熟悉VC环境。2.完成P12 3,4,P28 4,5,6,7,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号