全套课件·C语言程序设计1.ppt

上传人(卖家):三亚风情 文档编号:3522902 上传时间:2022-09-11 格式:PPT 页数:275 大小:5.91MB
下载 相关 举报
全套课件·C语言程序设计1.ppt_第1页
第1页 / 共275页
全套课件·C语言程序设计1.ppt_第2页
第2页 / 共275页
全套课件·C语言程序设计1.ppt_第3页
第3页 / 共275页
全套课件·C语言程序设计1.ppt_第4页
第4页 / 共275页
全套课件·C语言程序设计1.ppt_第5页
第5页 / 共275页
点击查看更多>>
资源描述

1、第1章 程序设计基础大学计算机基础2主要内容1.1 程序设计语言的发展1.2 算法与程序设计1.3 C语言简介1.4 C语言的结构与执行1.5 C语言的运行与调试大学计算机基础3教学目的和基本要求:教学目的和基本要求:要求学生了解程序语言及算法的概念,C语言特点,C程序开发过程,简单C程序结构。教学重点:教学重点:算法的概念、C程序开发过程、简单C程序结构。大学计算机基础41.1 程序设计语言的发展 机器语言:计算机可以直接识别、执行的二进制代码。其优点是执行速度快;但难写、难读、难理解和难修改。汇编语言:使用助记符来代替机器语言中复杂、繁琐的指令的语言。如Z-80机中加法指令为ADD。其特点

2、是过分依赖于机器码,即仅适合某类相同或相似的计算机,因此不易移植。大学计算机基础51.1 程序设计语言的发展 高级语言:独立于计算机硬件结构,让用户使用面向问题的形式,更加方便编程人员的语言。高级语言分为如下两类 (1)编译型:“先编译后执行”,过程为:源代码-目标代码-机器代码,其执行与源程序相互独立。比如PASCAL,C等。(2)解释型:“边解释边运行”,程序执行离不开源代码的支持,不利于源程序的保护和保密。比如BASIC,FoxBASE+等。大学计算机基础61.1 程序设计语言的发展 面向结构(面向过程)的设计语言有:BASIC,FORTRAN,COBOL:面向事务处理的高级语言,适合于

3、编写管理信息系统方面的程序有:PASCAL,C语言,PROLOG,FoxBASE+等 面向对象和可视化语言:C+,Java,Visual BASIC,Visual C+,Visual Foxpro,Visual J+,Delphi,PowerBuilder等。网页(Web)/网络(Network)编程语言:HTML,DHTML,JavaScript/Jscript,VBScript,JavaApplet,Java等。大学计算机基础71.2 算法与程序设计算法及其表示算法及其表示 2 结构化程序设计结构化程序设计与面向对象程序设计与面向对象程序设计大学计算机基础81.2.1、算法及其表示 算法是

4、计算机科学中的重要概念之一,它指明了问题的计算过程,是对给定问题解题方案的准确而完整的描述。计算机没有软件的支持将无法工作,软件是计算机的灵魂,而软件的核心是算法。用计算机解决问题的方法和步骤就是算法,计算机执行算法,用计算机解决各种数据处理问题的主要方式就是寻找和设计各种算法,将算法变成代码的过程即程序设计。算法及其表示1大学计算机基础91.2.1、算法及其表示 算法具备如下5个特征:有穷性 确定性 输入 输出 可行性算法特征2大学计算机基础101.2.1、算法及其表示 算法可以用多种方法描述,常见的表示方法有:自然语言描述法、伪代码表示法、传统流程图表示法、N-S流程图表示法等。【例例1-

5、1】已经杯A中盛放的是油,杯B中盛放的是水,另有一个空杯C,三个杯容积相同,请用自然语言表示算法。【解答解答】第1步:将A中的油全部倒入C中,使A成为空杯;第2步:将B中的水全部倒入A中,使B成为空杯;第3步:将C中原在A中的油,倒入B中,完成A与B中液体 的交换。算法的表示算法的表示3大学计算机基础111.2.1、算法及其表示符号符号名称含义起止框开始和结束 输入/输出框输入/输出操作 处理框 内容进行处理 判断框条件进行判断 流程线流程的方向 连接点 使流程图清晰(1)使用传统流程图表示算法)使用传统流程图表示算法 大学计算机基础12真给a 和b赋值a、?、等;转义字符:n、t、v、b、r

6、、f、0、”、ddd、xhh等。大学计算机基础432.2.2 标识符的分类 标识符可分如下几类:关键字亦称保留字,关键字在C语言中有特定的含义,用户在使用自定义的常量名、变量名、函数名、类型名、文件名时,要绝对避免使用关键字,C语言中的保留字32个,保留字用小写字母表示,大写的可以由用户自由使用,尽量不用,以免与系统保留字混淆.关键字关键字1大学计算机基础442.2 标识符描述数据类型定义的有:typedef、void;描述存储类型的有:auto、extern、register、static、volatile;描述数据类型的有:char、int、float、double、long、short、

7、signed、struct、union、unsigned、const、enum;描述语句:break、case、continue、default、if、else、switch、for、do、while、return、sizeof、goto。大学计算机基础452.2 标识符 预定义标识符包括C语言中提供的一些库函数的名字(如printf,scanf,getchar,putchar等)和编译预处理命令(define include等),建议用户在自定义常、变量时,也要避免与这些标识符冲突。用户在程序设计过程中,会经常用到常量、变量、自定义函数、文件名、类型名等,这些要用户定义。预定义标识符预定义标

8、识符2用户定义标识符用户定义标识符3大学计算机基础462.2 标识符下面给出一些合法的标识符:sum,average,_total,temp,a_1,char1,Max,min下面这些是不合法的标识符:1a,$total,a,a.next 在使用标识符的时候尽量采取“见名识义、常用从简”的原则,保证变量具有可读性,又不要让变量名过长。大学计算机基础47常量常量 程序执行过程中,其值不能被改变的量称为常量,C语言中出现的常量有如下类型:整型常量、实型常量、字符常量、字符串常量等。2.3 常量大学计算机基础482.3 常量常量整型常量整型常量 实型常量实型常量 字符常量字符常量 字符串常量字符串常

9、量 符号常量与预处理简介符号常量与预处理简介 大学计算机基础492.3.1 整型常量2.3.1 整型常量整型常量整型常量在C语言中又分:十进制整数 八进制整数 十六进制整数 十进制整数以人们通常习惯的十进制整数形式给出.八进制整数必须以0开头,其数码取值范围为07.以下是合法的八进制数:012(对应十进制整数10),-012(对应十进制数-10),0177777(对应十进制数65535),0177777(对应十进制数-65535)。十进制整数十进制整数1八进制整数八进制整数2大学计算机基础502.3 常量以下是不合法的八进制整数:255(无前缀0),03A2(包含非法数码)【例例2-1】输出八

10、进制数。#include/*在在visual C+6.0 下调试通过下调试通过*/main()int x,y;x=012;y=-0177777;printf(x=%d,y=%dn,x,y);大学计算机基础512.3 常量 十六进制整数的前缀为十六进制整数的前缀为0 x或或0X,其数码取值范,其数码取值范围为围为09,AF,af。以下是合法的十六进制整数:0X12(十进制数18),-0 x12(十进制数-18),0XA1,0Xffff(十进制数为65535)以下各数不是合法的十六进制整数:6B(无前缀0 x),0 x5H(含有非法数码H)在整型数据的后边加上后缀“L”或“l”(小写字母l)来表示

11、的该数据是一个长整型的数据。例如:589L十进制012L八进制 0X17L十六进制 十六进制整数十六进制整数3大学计算机基础522.3.2 实型常量 实型常量也称为浮点型。有两种形式:十进制小数形式和指数形式。十进制小数形式:由数码09和小数点组成。如下均为合法的实数:0.12,1.23,-2.5145,125.0指数形式:,由十进制数,加上阶码标志“e”或“E”及阶码(只能为整数,可以带符号)组成。如:指数值如:指数值1.2E6等于1.21065.21E-2等于5.2110-20.91E8等于0.91108-1.8E-9等于-1.810-9大学计算机基础532.3.3 字符常量 字符常量是用

12、西文半角单引号括起来的一个字符。在C语言中,字符常量有以下特点:(1)字符常量只能用单引号“”括起来,不能用双引号或括号。(2)字符常量只能是单个字符,不能是字符串。(3)字符可以是字符集中任意字符,但数字被定义为字符型之后就不能参与数值运算。大学计算机基础542.3.3 字符常量 除了以上形式的字符常量外,C语言还允许使用一种特殊形式的字符常量,即转义字符,它以一个反斜线“”开头,后跟一个或几个字符的字符序列。转义字符转义字符 转义字符转义字符的意义的意义 ASCII代码代码 n 换行换行 10t水平制表水平制表 9b退格退格 8r回车回车 13f换页换页 12反斜线符反斜线符 92单引号符

13、单引号符 39”双引号符双引号符 34ddd13位八进位八进制数制数xhh12位十六位十六进制数进制数大学计算机基础552.3.3 字符常量【例例2-2】输出转义字符。【程序分析与解答程序分析与解答】#include /*visual C+6.0*/main()printf(abctderftgn);printf(1234567812345678n);/*参照物*/printf(htibbjk);printf(1234567812345678n);/*参照物*/输出结果为:fgde1234567812345678hjk1234567812345678Press any key to conti

14、nue大学计算机基础562.3.4 字符串常量 字符串常量是由一对双引号括起的字符序列。例如,“211 Project”,“Chinese”,“college”等都是合法的字符串常量。字符串常量和字符常量的数据结构不同,其主要区别如下:(1)字符常量由单引号括起来,字符串常量由双引号 括起来;(2)字符常量只能是单个字符,字符串常量含一个或多个字符。大学计算机基础572.3.4 字符串常量C在内存中占一个字节,表示为:“C”在内存中占两个字节,表示为:可以把一个字符常量赋予一个字符变量,但是不能把一个字符串常量赋予一个字符量。字符串常量占的内存字节数等于字符串半角字符数加1,因为在增加的一个字

15、节中存放字符“0”(ASCII码值为0),这是字符串结束的标志。CC0大学计算机基础582.3.5 符号常量与预处理 在C语言中,可以用一个标识符来表示一个常量,称为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define 标识符标识符 常量常量 其中,#include也是一条预处理命令(预处理命令都以“#”开头),称为宏定义命令,其功能是把该标识符定义为常量。一经定义,以后程序中所有的标识符都代表该常量,如果要修改这个常量,可以实现整个程序中“一改全改”。经常将符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。大学计算机基础592.4 变量变量整型变量整型变量 实型变量

16、实型变量 字符变量字符变量 大学计算机基础60 变量是指在程序执行过程中可以被改变和赋值的量。程序中每一个变量有一个符合C语言标识符规范的名称,在内存中占据一定的存储单元。变量的使用方法是先声明(定义变量),后使用。变量名与变量值是有区别的,变量的“名”是指变量所代表的存储单元的标志,而“值”是指存储单元的内容.例:2.4 变量A _变量 变量值3大学计算机基础612.4.1 整型变量 如:short int x;/*变量的声明,定义整型变量*/x=10;/*变量赋值*/0000000000001010 变量x在内存中的地址是0 x0013ff70 数据在内存中的二进制存储示意图(1)基本型:

17、类型说明符为int,在内存中占4个字节。(2)短整型:类型说明符为short int或short,占2个字节。(3)长整型:类型说明符为long int或long,4个字节。(4)无符号型:类型说明符为unsigned,。无符号型又可与上述三种类型匹配而构成,不能表示负数:整型数据在内存中的存储形式整型数据在内存中的存储形式 1整型变量的分类整型变量的分类2大学计算机基础622.4.1 整型变量【例例2-3】测试当前C编译环境下数据类型占用的字节数。【程序分析与解答程序分析与解答】#include main()printf(“int占%d字节。n”,sizeof(int);printf(“lo

18、ng int占%d字节。n”,sizeof(long int);printf(“short int占%d字节。n”,sizeof(short int);printf(“unsigned int占%d字节。n”,sizeof(unsigned int);printf(“unsigned long int占%d字节。n”,sizeof(unsigned long int);printf(“unsigned short int占%d字节。n”,sizeof(unsigned short int);输出结果为:int占4字节。long int占4字节。short int占2字节。unsigned in

19、t占4字节。unsigned long int占4字节。unsigned short int占2字节。大学计算机基础632.4.1 整型变量变量定义的一般形式为:类型说明符 变量名标识符1,变量名标识符2,;例如:int x,y,z;/*x,y,z为整型变量*/long int n,m;/*n,m为长整型变量,long int 可简写为long*/unsigned int a,b;/*a,b为无符号整型变量,unsigned int 可简写为unsigned*/注意:(1)允许在一次定义相同 类型的多个变量(2)最后一个变量名之 后必须以分号结尾。整型变量的定义整型变量的定义3大学计算机基础6

20、42.4.2 实型变量 实型数据一般占用4个字节(32位)的内存空间,按指数形式存储。例如,实数12.345在内存中的存储形式如图2-4所示:图2-4 实型数据的表示 +/-,用0,1表示(数符)0.12345 +/-,用0,1表示(阶符)2实型数据在内存中的存放形式实型数据在内存中的存放形式1大学计算机基础652.4.2 实型变量 实型变量分为单精度(float型),长单精度型(long float),双精度(double型)和长双精度(long double型)4类,其中float型占用4个字节,其它数据类型均占用8个字节。由于实型变量由有限的存储单元组成,因此能提供的数字是有限的,而在有

21、效位以外的数字将被舍去。这样可能会产生一些误差,例如,a+20的显然就应该比a大。请分析下面的程序。实型变量数据的分类实型变量数据的分类 2实型数据的舍入误差实型数据的舍入误差3大学计算机基础662.4.2 实型变量【例2-4】实型数据的舍入误差。【程序分析与解答】#include main()float a,b;a=123456.789e5;/*12345678900*/b=a+20;printf(%fn,b);输出结果为:12345678868.000000大学计算机基础672.4.3 字符变量 字符变量用来存储字符常量,其说明符是char.字符变量的赋值有如下方式:(1)若ch_a是一个

22、字符变量,ch=ch_a;(2)将字符常量a赋值给ch,ch=a;(3)将某个字符的ASCII码赋给ch,ch=65,则ch的内 容为A,但由于整型变量在存储上均超过1个字节,如果将一个整型变量赋值给一个字符变量时,只会将其最低8个位赋值给ch。而ch=A则是错误的.如下字符变量的输出形式:(1)printf(%c,ch);(2)printf(%d,ch);(3)putchar(ch);大学计算机基础682.5 数据间的混合运算各数据类型转换规则各数据类型转换规则 自动类型转换与强制转换自动类型转换与强制转换 大学计算机基础69 不同数据类型转换规则不同数据类型转换规则 整型、单精度型、双精度

23、型数据可以混合运算。字符型数据可以与整型通用,因此,整型、实型(包括单、双精度)、字符型数据间可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示 2.5.1 各数据类型转换规则double float long unsigned int char,short大学计算机基础702.5.2 自动类型转换与强制转换 变量的数据类型的转换方法有两种,一种是自动转换,一种是强制转换。自动转换遵循以下规则:若参与运算量的类型不同,则先转换成同一类型,然后进行运算。转换按照数据长度增加的方向进行,以保证运算精度不降低。所有的浮点运算都是以双精度进行的。char型和

24、short型运算时,必须先转换成int型。赋值运算中,赋值号两边的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。自动类型转换自动类型转换1大学计算机基础712.5 数据间的混合运算其一般形式为:其一般形式为:(类型说明符)(表达式)例如:(float)a /*把a转换为实型*/(int)(x+y)/*把x+y的结果转换为整型*/无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。强制转换强制转换 2大学计算机基础722.5.2 自动类型转换与强制转换【例例2-5】数据类型的强制转换。【程序分析与解答程序分析与解

25、答】#include main()float f=5.75;printf(int)f=%d,f=%fn,(int)f,f);输出结果为:(int)f=5,f=5.750000大学计算机基础73变量预先设置初值可以有如下几种情况:变量预先设置初值可以有如下几种情况:(1)对各变量分别赋初值 int a=3;float pi=3.14159;char cha;(2)定义变量时对部分变量赋值 int a,b,c=5;(3)对几个变量赋相同的初值 如:若对几个变量赋予初值3,应写成 int a=3,b=3,c3;2.6 变量赋初值大学计算机基础742.6 变量赋初值强制类型转换运算符强制类型转换运算符

26、()自增、自减运算符自增、自减运算符如:+i,-i(在变量i使用之前,先使i的值加(减)1)i+,i-(在变量i使用之后,使i的值加(减)1)使用自自增、自减运算符需要注意的若干问题:增、自减运算符需要注意的若干问题:+或-运算符,只能用于变量,而不能用于常量或表达式。+和-的结合方向是“自右至左”。大学计算机基础752.7 运算符和表达式运算符和表达式C语言运算符简介与表达式的类型语言运算符简介与表达式的类型 表达式的求值规则表达式的求值规则 算术运算符和算术表达式算术运算符和算术表达式 赋值运算符和赋值表达式赋值运算符和赋值表达式 逗号运算符和逗号表达式逗号运算符和逗号表达式 关系运算符和

27、关系表达式关系运算符和关系表达式 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 大学计算机基础76C的运算符有以下几类:的运算符有以下几类:(1)算术运算符:+-*/%(2)关系运算符:=!=(3)逻辑运算符:!&|(4)位运算符:|&(5)赋值运算符:=(6)条件运算符:?:(7)逗号运算符:,C语言表达式的类型语言表达式的类型 赋值表达式;算术表达式;关系表达式;逻辑表达式;条件表达式;逗号表达式2.7.1 C语言运算符与表达式的类型大学计算机基础772.7.2 表达式的求值规则 这些运算符在C语言中规定了优先级和结合性,在求值时先按运算符的优先级别高低次序执行,如果某个运算对象左右两侧的

28、运算符的优先级别相同,则按规定的“结合方向”处理,其中算术运算符的结合方向为“自左至右”,而对于赋值运算符则采用“自右至左”的结合方向。有关运算符的优先级别和结合性参看附录。大学计算机基础782.7.3 算术运算符和算术表达式(1)+(加法运算符,或正值运算符。如3+5、+3)(2)-(减法运算符,或负值运算符。如5-2、-3)(3)*(乘法运算符。如3*5)(4)/(除法运算符。如5/3,5.0/3)(5)%(模运算符,又称求余运算符,%两侧均 应为整型数据,如7%4的值为3)。基本的算术运算符基本的算术运算符1大学计算机基础792.7.3 算术运算符和算术表达式(8)指针运算符:*&(9)

29、求字节数运算符:sizeof(10)强制类型转换运算符:(类型)(11)分量运算符:.-(12)下标运算符:(13)其他:如函数调用运算符()大学计算机基础802.7.3 算术运算符和算术表达式+i,-i(在变量i使用之前,先使i的值加(减)1)i+,i-(在变量i使用之后,使i的值加(减)1)使用自增、自减运算符需要注意的若干问题:(1)+或-运算符,只能用于变量,而不能用于常量或表达式。(2)+和-的结合方向是“自右至左”。算术表达式和运算符的优先级与结合性算术表达式和运算符的优先级与结合性2强制类型转换运算符()强制类型转换运算符()3自增、自减运算符自增、自减运算符 4大学计算机基础8

30、12.7.4 赋值运算符和赋值表达式赋值符号“=”就是赋值运算符 使用“=”连接的式子称为赋值表达式,其一般形式为:变量变量=常量、变量或表达式常量、变量或表达式赋值运算符具有右结合性。如:a=b=c=3赋值运算符和赋值表达式赋值运算符和赋值表达式1大学计算机基础822.7.4 赋值运算符和赋值表达式 (1)将实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。(2)将整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储到变量中。(3)将一个double型数据赋给float变量时,截取其前面7位有效数字,(4)将一个float型数据赋给double变量时,数值不变,有效位数扩展

31、到16位。(5)字符型数据赋给整型变量时,将字符数据(8位)放到整型变量低8位中。类型转换类型转换 2大学计算机基础832.7 运算符和表达式 在赋值符“=”之前加上其他运算符可以构成复合的运算符。如,+=,-=,*=,/=,%=,=,&=,=,|=。如:a+=2 /*等价于 a=a+2*/x*=y+8 /*等价于 x=x*(y+8)*/由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。它的一般形式为:它的一般形式为:变量 赋值运算符 表达式 复合的赋值运算符复合的赋值运算符3赋值表达式赋值表达式4大学计算机基础842.7.5 逗号运算符和逗号表达式 逗号运算符是一种特殊的运

32、算,用以连接两个表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为:表达式表达式1,表达式,表达式2,表达式,表达式n 例如 x=2*5,x*3,此时整个逗号表达式的值为30。注:赋值运算符的优先级别高于逗号运算符 大学计算机基础852.7.6 关系运算符和关系表达式1.关系运算符关系运算符在语言中有以下关系运算符:(1)小于(2)大于(4)=大于或等于(5)=等于(6)!=不等于2.关系表达式关系表达式关系表达式的一般形式为:表达式表达式1 关系运算符关系运算符 表达式表达式2大学计算机基础862.7.7 逻辑运算符和逻辑表达式 逻辑运算符及其优先级逻辑运算符及其优先级语言中提供了三种

33、逻辑运算符:(1)&与运算(2)|或运算(3)!非运算高大学计算机基础872.7 运算符和表达式【例例2-6】调试以下程序,理解逻辑表达式。#include main()char c=k;int i=1,j=2,k=3;float x=3e+5,y=0.85;printf(%d,%dn,!x*!y,!x);printf(%d,%dn,x|i&j-3,ij&xy)?x:y (2)条件运算符“?”和“:”是一对运算符,不能分开单独使用。(3)条件运算符的结合性是自右至左。例如:ab?a:cd?c:d应理解为ab?a:(cd?c:d)大学计算机基础892.7 运算符和表达式【例例2-7】调试以下程序

34、,理解条件表达式。#include main()int x,y,max;printf(g请输入两个整数,x,y:);scanf(%d,%d,&x,&y);printf(最大值=%dn,xy?x:y);输出结果为:请输入两个整数,x,y:3,5最大值=5大学计算机基础902.7.9 位运算符和位运算 位运算符和位运算分别是位运算符和位运算分别是:(1)&按位与运算符(2)|按位或运算符(3)按位异或运算符(4)取反运算符(5)右移运算符大学计算机基础912.7 运算符和表达式 若变量A的值为0 xAA(10101010),B的值为0 x55(01010101),则:(1)A&B=0 x00(00

35、000000b)按位与(2)A|B =0 xFF(11111111b)按位或(3)A B =0 xFF(11111111b)按位异或(4)A =0 x55(01010101b)取反(5)A1 =0 x2A(00101010b)右移以上运算符在第10章将会进行详细讲解。第3章 顺序结构程序设计与编译预处理大学计算机基础93主要内容 3.2 赋值语句 3.3 输入与输出 3.4 常用函数举例 3.5 编译预处理 3.1 C语句概述 3.6 顺序结构程序设计举例 大学计算机基础94 C语言的语句用来向计算机系统发出指令,单独的一条语句或者是复合语句完成特定的操作,这些操作的不同组合,用来实现一系列数

36、据处理功能。C语言程序是一个由main()体内的若干变量的声明、赋值等操作以及若干函数组成的,没有编译过的程序称为源程序。源程序的某些行称为语句,每个语句的最后有一个半角分号“;”,用来表示语句的结束。用“;”隔开的语句,可以写在同一行,也可以写成几行,但这些语句必须包含在函数体中。3.1 C语句概述大学计算机基础953.1 C语句概述C语言的语句 C语言的语句可以分为5类:表达式语句、函数调用语句、控制语句、复合语句和空语句。1.表达式语句表达式语句 例如:m=2;score=math+English;i+;x=10,y=12;2.函数调用语句函数调用语句 其一般形式为:函数名(实际参数表)

37、;大学计算机基础963.1 C语句概述3.控制语句控制语句(1)条件判断语句:if().else./*分支语句*/switch(表达式/变量)./*多分支语句*/(2)循环语句:do.while(条件)/*“先执行,后判断”的“当”型循环*/while(条件)./*“先判断,后执行”的“当”型循环*/for(条件)./*for循环,循环次数相对确定下使用*/(3)流程转向语句goto /*强制程序跳转,不推荐使用*/break /*中止执行switch或者循环*/continue /*结束循环体中的其中一趟*/return /*从函数中返回*/大学计算机基础973.1 C语句概述4.复合语句复

38、合语句 把多个语句用语句1;语句2;.语句n这种形式构成一个比较复杂的语句称为复合语句,又称为语句块。如两个变量之间数据的交换。此时,应把复合语句看成一个单条语句。例如:if(ab)temp=a;a=b;b=temp;大学计算机基础983.1 C语句概述5.空语句空语句 只有“;”号的语句称为空语句.如:for(i=0;i32768;i+);/*空语句,注意它的意义*/大学计算机基础99赋值语句的构成形式赋值语句的构成形式赋值语句是由赋值表达式再加上“;”构成,其一般形式为:其一般形式为:变量=表达式;例如:sum=0;x=y+z;a=b=c=10;连续赋值与赋值运算符的右结合性 而赋值语句允

39、许给多个变量连续赋相同的值,例如:int a,b,c;/*必须在变量声明处定义a,b,c三个变量*/a=b=c=3;/*连续赋值*/3.2 赋值语句大学计算机基础100 输入与输出是以计算机为主体而言的。信息从计算机的外部输入设备(键盘、鼠标、移动存储设备等)向计算机输入数据称为输入,计算机向外部设备(显示器、打印机、文件设备等)输出数据称为输出。在C语言中,没有输入/输出语句,所有数据的输入和输出功能是通过一组库函数来实现的,在调用这些输入或输出库函数的时候,需要使用预编译命令#include将有关“头文件”包含到源文件中,这些“头文件”的文件名格式为*.h。3.3 输入与输出大学计算机基础

40、1013.4 输入与输出 使用标准输入/输出库函数时,要在main()函数所在源文件中包含“stdio.h”文件,因此,源文件的开头经常有以下预编译命令:#include 或#include stdio.h“本小节主要介绍单个字符的输入和输出,格式输入和输出,并简单介绍一下文件操作中的输入和输出,这些函数分别是getchar()、putchar()、printf()和fscanf()、fprintf()。大学计算机基础1023.4 输入与输出输入与输出字符数据的输入与输出字符数据的输入与输出 格式输入与输出格式输入与输出 文件操作中的输入与输出简介文件操作中的输入与输出简介 大学计算机基础10

41、33.4.1 字符数据的输入与输出函数的一般调用形式为:putchar(ch);ch必须是一个整型变量或一个字符型变量,ch还可以是转义字符常量。例如:putchar(A);/*输出大写字母A*/putchar(97);/*输出小写字母a*/putchar(ch);/*输出字符变量ch的值*/putchar(101);/*输出大写字母A*/putchar(n);/*换行,(执行控制功能,*/单个字符输出函数单个字符输出函数putchar1大学计算机基础1043.4.1 字符数据的输入与输出【程序分析与解答程序分析与解答】#include main()int i_ch;/*定义整型变量定义整型变

42、量i_ch,这个变量用,这个变量用i代表整型,代表整型,*/i_ch=65;/*65是大写字母是大写字母A的的ASCII码码*/putchar(i_ch);putchar(n);i_ch=97;/*97是小写字母是小写字母a的的ASCII码码*/putchar(i_ch);putchar(n);大学计算机基础1053.4.1 字符数据的输入与输出一般调用形式为:char ch;ch=getchar();【程序分析与解答程序分析与解答】#include main()char ch;printf(在此输入任意一个字符并回车:在此输入任意一个字符并回车:n);ch=getchar();putchar

43、(ch);/*回显刚才的输入回显刚才的输入*/putchar(n);利用getchar(),手动控制程序暂停执行。单个字符输入函数单个字符输入函数getchar()2大学计算机基础1063.4.2 格式输入与输出 printf和scanf函数可以一次输出或者输入若干个任意类型数据,有效解决输入复杂数据的问题,使用时,可以不包含头文件stdio.h。输出函数输出函数printf格式:格式:printf(格式控制字符串格式控制字符串,输出表列输出表列)printf()函数参数的第一部分,由格式字符串和普通字符组成,格式字符串是以“%”开头,在输出表列中,必须有一个变量与这个格式字符相对应;普通字符

44、在输出时按原样输出.格式输出函数格式输出函数printf()()1大学计算机基础1073.4.2 格式输入与输出例如:printf(“总和=%d,平均值=%5.2fn,sum,average);格式字符串 输出表列【程序分析与解答程序分析与解答】#include main()int ch1=77,ch2=78;printf(ch1=%d,ch2=%dn,ch1,ch2);printf(ch1=%c,ch2=%cn,ch1,ch2);printf(%c%cn,ch1,ch2);大学计算机基础1083.4.2 格式输入与输出 格式控制是通过格式字符串来实现的,格式字符串的一般形式为:%标志标志输出

45、最小宽度输出最小宽度.精度精度长度修饰符长度修饰符类型类型 其中,方括号内的项可选,也可以省略,下面就介绍以上6项的使用方法:%:格式字符串的起始符号,不可省。标志:标志字符为+、-、#、空格4种,其意义如下所示:大学计算机基础1093.4.2 格式输入与输出 标志 为+时,输出值为正时在值前补“+”号,为负时值前补“-”号 标志为-时,输出结果左对齐,右边补空格;缺省则输出结果右对齐,左边填空格或零 标志为#时,输出8进制数时加前缀0;输出16进制数时加前缀0 x。输出最小宽度:通常用10进制整数来表示输出数据项的最小位数,若实际位数多于指定位数,则按实际位数输出,若实际宽度少于指定位数,则

46、用空格或0填补。大学计算机基础1103.4.2 格式输入与输出 精度:精度格式以“.”开头,后跟10进制整数,用来指示保留几位小数。长度修饰符:常用的长度修改符为h、l两种,英文字母h表示输出项按短整型数据输出,英文字母l表示输出项按长整型数据输出。类型:类型字符用来表示待输出数据的类型,必须用半角英文字符。格式字符d(或i)ox(或X);u;c;s;f;lf;e(或E);g(或G);%(输出一个%符号)。大学计算机基础1113.4.2 格式输入与输出【例例3-1】数据在内存中的存储与8进制输出。【程序分析与解答程序分析与解答】#include main()unsigned short int

47、 a=-1;printf(%d,%on,a,a);输出结果为:65535,177777大学计算机基础1123.4.2 格式输入与输出 输入函数输入函数scanf格式格式:scanf(格式控制字符串格式控制字符串,地址表列地址表列)地址表列中给出各变量的地址,地址地址表列中给出各变量的地址,地址是由是由地址运算符地址运算符“&”后跟变量后跟变量组成,但组成,但对字符号串的输入例外。对字符号串的输入例外。格式输入函数格式输入函数scanf()()2大学计算机基础1133.4.3 文件操作中的输入与输出fprintf(文件指针,格式字符串,输出表列);fscanf(文件指针,格式字符串,输出表列);

48、大学计算机基础1141.求绝对值函数求绝对值函数 (1)int abs(int x);(2)double fabs(double x);2.求自然对数值函数求自然对数值函数 double log(double x);3.幂函数幂函数 double pow(double x,double y);4.求平方根函数求平方根函数 double sqrt(double x);5.产生随机数函数产生随机数函数 int rand(void);3.5 常用函数举例大学计算机基础1153.5 常用函数举例【例例3-2】产生产生10100间的随机整数间的随机整数,并输出。并输出。#include#include#

49、include main()int a,b;srand(time(0);/*时间作为随便数种子,每运行一次,随机值时间作为随便数种子,每运行一次,随机值均不同均不同*/a=rand()%91+10;/*rand()返回随机整数,该数对返回随机整数,该数对91求余,数求余,数据范围是据范围是0-90*/b=rand()%91+10;/*因为因为rand()是随机的,求余结果亦随机是随机的,求余结果亦随机*/printf(a=%d,b=%dn,a,b);大学计算机基础1163.6 编译预处理编译预处理宏宏 定定 义义 文件包含文件包含 大学计算机基础117 C语言中常用的预处理功能有两种,分别是宏

50、定义和文件包含。合理使用编译预处理功能编写程序,便于程序阅读、修改、移植和调试,也便于开发小组协同开发程序。C语言中编译预处理命令以“#define”开头,且每行末尾不能加分号。宏定义宏定义 在源程序中允许用一个标识符来表示一个字符串,称为“宏”。在语言中,“宏”分为有参数和无参数两种。下面分别讨论这两种“宏”的定义和调用。3.6.1 宏定义大学计算机基础1183.6 编译预处理不带参数的宏的一般定义方式为:#define 标识符标识符 字符串字符串说明:(1)“#define”为宏定义的关键字,“标识符”表示定义的宏名,“标识符”用大写字母,以便区分于变量名或函数名,也可以用小写字母;(2)

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(全套课件·C语言程序设计1.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|