




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章:计算机基础知识一、 计算机系统的组成1、 组成2、 软、硬件之间的关系二、 计算机中用到的数制1、 数制2、 为什麽用二进制?3、 进制间的转换三、 计算机的解题过程(图)四、 计算机的语言系统1、 语言的分类2、 翻译方式3、 常用语言简介五、 磁盘操作系统DOS1、 组成2、 启动3、 文件4、 目录5、 通配符6、 常用DOS命令第二章:C语言概述一、 C语言的产生及发展简介ALGOL60(1960) CPL(1963) BCPL(1967) B(1970) C(1973) ALGOL60语言 面向问题、离硬件远、不宜编写系统软件CPL语言 离硬件近一点、规模较大、难以实现BCP
2、L语言 简化的CPLB语言 接近硬件、简单、第一个UNIX系统由B语言编写、功能有限C语言 多次改进、75年UNIX6版公布后C语言的优点才引起注意、77年出现不依赖于具体机器的C编译可用来编写系统软件、应用软件UNIX系统用C语言编写,随着UNIX的发展C语言也迅速得到推广 二、 C语言的特点:1、 语言简洁、紧凑、使用方便、灵活(32个关键字、9种控制语句)2、 运算符丰富(34种运算符 将括号、赋值、强制类型、转换作为运算符等等)3、数据结构丰富(标准类型、构成类型)4、具有结构化的控制语句。用函数作为程序模块以实现程序的模块化。5、语法限制不太严格、程序设计自由度大。(限制与灵活是一对
3、矛盾)6、C语言可以直接访问物理地址。能实现汇编语言的大部分功能,可以直接对硬件进行操作。7目标代码质量高,程序执行效率高。8程序可移植性好。三、 程序的组成结构及特性:1、 程序结构:下面给出几段简单的C程序,从中分析一下程序的结构及特征:程序一:main()printf(“This is a c program. n”);程序二: # include <stdio.h>main() /*求两数之和*/int a,b,sum; /*定义变量*/ a=123;b=456; sum=a+b; printf(“sum is %dn”,sum); 程序三: main() /*主函数*/
4、int a,b,c; /*定义变量*/scanf(“%d,%d”,&a,&b); /*输入变量a、b 的值*/c=max(a,b); /*调用 max函数,将得到的值赋给c*/printf(“max=%d”,c); /*输出c的值*/int max(x,y) /* 定义max函数,函数值为整型,x,y为形式参数 */int x,y; /* 对形参x,y作类型定义 */int z; /* max函数中用到的变量z定义 */ if (x>y) z=x; else z=y;return(z); /* 将z的值返回,通过max带回调用处 */2、 C语言程序的结构特性:(1)、一
5、个C源程序可以由一个或多个源文件组成。(2)、每个C源程序可以由一个或多个函数组成。函数是C程序的基本单位。C是函数式的语言。(3)、一个C源程序不论由多少个文件组成,有且仅有一个main函数。总是以main函数开始执行,而不论main函数设置在什麽位置。(4)、源程序中可以有预处理命令,通常放在源文件/程序的最前面。(5)、每一个说明/语句以分号结尾。但预处理命令、函数头、和符号“”之后不能加分号。(6)、标识符、关键字之间必须至少加一个空格以示间隔。(7)、一个函数由两部分组成: 函数的说明部分:函数名后必须有一对圆括号 函 数 体:变量定义 执行部分(8)、C程序书写格式自由。一行内可以
6、写几个语句,一个语句也可以分写在几行内。(9)、C语言本身没有输入、输出语句,而是用库函数scanf、 printf(10)、可以用/*.*/对C程序做注解。四、 C语言的字符集:字符是组成语言的最基本的元素。C语言的字符集由字母、数字、空格、标点及特殊符号组成。在字符常量、字符串常量和注解中还可以使用汉字或其它可表示的图形符号。(1) 字母:A-Z (26个) a-z (26个)(2)、数字: 0-9 (10个)(3)、空白符: 空格符、制表符、换行符均称为“空白符”。空白符只在字符常量和字符串常量中起作用。在其它地方出现时,只起间隔作用。(4)、标点和特殊字符:五、 C语言词汇:C语言中使
7、用的词汇分为六类:标识符、关键字、运算符、常量、注释符等等。(1)、标识符: 在程序中使用的变量名、函数名、标号等统称为标识符。标识符只能是字母、数字、下划线组成的字符串,并且其第一个字符必须是字母或下划线。使用标识符时需注意: 标准C不限制标识符长度,但受版本及机器的限制,一般标识符长度不超过8个字符。字母的大小写有区别。如:BOOK与book是两个不同的标识符为便于使用,标识符的命名应尽量有相应意义。(2)关键字:关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同,关键字分为如下几类: 类型说明符:用于定义、说明变量、函数或其它数据结构的类型 语
8、句定义符:用于表示一个语句的功能 预处理命令字:用于表示一个预处理命令 (3)、运算符: C语言中含有相当丰富的运算符,运算符由一个或多个字符组成。 (4)、分隔符: 在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中。空格多用于语句各单词之间作为间隔符。(5)、常量: C语言中有数字、字符、字符串、符号常量及转义字符等多种。(6)、注释符: 帮助阅读程序,不参加编译。六、 书写程序应遵循的规则:(1)、一个说明或一个语句占一行。(2)、用“ ”括起的部分,通常表示了程序的某一个层次结构。“ ”应与该结构语句的第一个字母对齐,并独占一行。(3)、低一层次的语句或说明,可
9、比高一层次的语句或说明缩进若干格后书写。第三章:数据类型、运算符和表达式程序中使用的变量都需要先说明,后使用。对变量的说明包括三个方面的内容:l 数据类型l 存储类型l 作用域数据类型可分为:l 基本数据类型特点:其值不可再分,是自我说明的。l 构造数据类型根据已定义的一个或多个数据类型用构造的方法来定义的。一个构造类型的值可以分为多个“成员”(元素),每个元素可以是基本类型,也可以是构造类型。几种构造类型:数组、结构、共用等l 指针类型是一种特殊的类型。值表示一个量在内存中的地址。l 空类型 函数调用后,不需要向调用者返回任何值,则可将该函数定为空类型。§ 31 常量与变量对于基本
10、数据类型又可分为常量和变量。常量在程序运行中值不改变.。变量在程序运行中值发生改变。一、常量: 常量区分为不同类型1、 整型常量: 由数字串组成2、 实型常量: 由数字串、小数点、指数组成3、 字符常量: 用单引号引起的单个字符。如 A用双引号引起的一串字符。如 “HHFDJJ“用反斜线开头的一串字符。如 “n“4、 符号常量: 用一个标识符来代表一个常量 例: # define PI 3.1415main()float r;s,v;scanf(“%fn”,&r);s=2*pi*r;v=pi*r*r;printf(“s=%f,v=%fn”,s,v);注意:符号常量使用之前必须先定义。符
11、号常量不是变量,其值在整个作用域中不可再赋值。二、变量: 变量名(标识符) 由数字、字母、下划线组成。第一个字符必须是字母或下划线,大小写不同。例:sum Lotus_1_2_3 basic BASIC M.D.John $123 a>bC语言中要求对所有用到的变量作强制性定义。即为“先定义,后使用“。目的是: 1、保证程序中变量名使用正确。 2、每一个变量被指定为一个确定的类型,在编译时就能为其分配相应的存储单元。 3、每一个变量属于一个类型便于在编译时据此检查该量所进行的运算是否合法。 § 32 整型数据:一、 整型常量:整型常量的几种形式:(前、后缀表示)整型、长整型、无
12、符号整型1、十进制数 123 456 09数字 十进制长整型数 123L2、八进制数 0123 0456 0开头 07数字八进制长整型数 O12433L3、十六进制数 0X123 0X开头 09及AF十六进制长整型数 0X12DFL4、无符号整型数 2642635790U前、后缀可同时表示各种类型的数。二、 整型变量整型变量分为:基本型、短整型、长整型、无符号整型类型说明 数的范围 分配字节数INT -3276832767 2SHORT INT : 2UNSIGNED INT 065535 2LONG INT -2147483648 2147483647 4UNSIGNED LONG 0429
13、4967295 4不同类型的量可以参与运算并相互赋值,类型转换是由编译系统自动完成的。§ 33 实型数据:一、 实型常量:实数在C语言中又称为浮点数。两种表现形式:1、十进制数形式 09数字及小数点组成 如 123.4562、指数形式 E指数符号,字母E之前必须有数字,E后面的指数必为整数。 如: 1.234E12二、 实型变量:实型变量分为:1、单精度 float 3.4E-383.4E38 4字节 2、双精度 double 1.7E-3081.7E308 8字节 实型常量不分单、双精度,它是根据变量类型截取实型常量中相应的有效位数字。§ 34 字符型数据:一、 字符常量
14、1、 字符常量是用 括起来的字符。(单个字符)2、 特殊形式的字符常量(转义字符)以反斜线开头的字符串,任何一个字符均可以用转义字符表示。二、 字符变量 一个字符变量只能存放一个字符。 定义形式: Char 变量名表; 字符型变量占 1 个字节三、 字符数据在内存中的存储形式及使用方法字符型变量的存储单元中,存储的不是字符,而是该字符对应的ASCII码值。优点:1、可以字符形式或数值(整数)形式输出 2、可以参与运算。四、 字符串常量用双引号 “ ” 引起的一串字符。五、 字符常量与字符串常量的区别:字符常量 字符串常量 1、 单引号 双引号2、 1个字符 多个字符3、 字符变量 字符数组4、
15、 一个字节 字符串中字节数+1(0结束标志)例如: a “a” 不同 1个字节 2个字节§ 35 变量赋初值 可以在定义变量的同时使变量初始化。不可以连续赋值。 例如: : int a=3; int a,b,c=5; int a=b=c=3; x int a=3,b=3,c=3;§ 36 各类数据间的混合运算 变量的数据类型是可以转换的:自动转换 强制转换 转换规则:1、 不同类型数据运算,先转为同一类型,再进行转换2、 转换按数据类型长度增加的方向进行(低高、小大)3、 浮点运算都以双精度进行4、 CHAR及SHOTR型参与运算,均先转为INT型5、 赋值运算时,以左边为
16、准,右边高于左边,则进行四舍五入,精度降低。强制转换:是通过类型转换运算来实现的。 格式: (类型说明符)(表达式) 例: (float)a (int)(x+y)注意:1、类型说明符及表达式均加圆括号。 2、无论是强制转换,还是自动转换,都是为了本次运算的需要对变量进行的临时性转换,而不改变数据说明时对该变量定义的类型。例: main() float f=5.75; printf(“(int)f = %d,f=%fn”,(int)f,f ); 运行结果: 5 5.75§ 37 C运算符 C语言的运算符种类多。使用时注意优先级别及结合性。一、 算术运算符(7种)1、基本算术运算符 +、
17、*、/、% 均为双目运算 % 余除 要求参与运算的量均为整型2、优先级与结合性左结合性 数据类型不同先转换后计算3、自增、自减运算符功能:使变量的值增1或减1单目运算,右结合性。几种形式如下: +I 自增1后参与运算 -I 自减1后参与运算 I+ 参与运算后I值自增1 I- 参与运算后I值自减1例: 说明:(1)只能用于变量,不能用于常量或表达式。 (2)不同于算术运算,采用右结合。 如: -I+ 应为右结合 -(I+) (3)常用于循环变量自动加 1 (4)表达式中使用自加或自减运算时,需注意 如:I=3 K=I+ 则 K=3 I=4 (I+)+(I+)+(I+) 值=9 K=(+I)+(+
18、I)+(+I)值=18 (5)表达式中运算符的组合,尽可能左结合 如:I+J (I+)+J (6)调用函数时,实参的求值顺序为右到左 如:printf(“%d,%dn”,I,I+); 输出: 4,3 二、 赋值运算和赋值表达式 1、“=”为赋值运算符 作用:将一个数据赋给一个变量。 右结合性如:A=B=C=5 可为: A=(B=(C=5)C规定:任何表达式在末尾加上分号就构成语句。如:A=B+C 表达式 A=B+C;语句2、“=”号两端数据类型不同时进行转换 转换是系统自动进行的,右边转换为左边类型。规则如下: (1)整型=实型 舍去小数部分 (2)实型=整型 值不变,以浮点形式存放 (3)整
19、型=字符型 值放低8位,高8位为0 (4)字符型=整型 仅将低8位存入例:3、复合的赋值运算及表达式 在“=”号前面加上其它运算符就构成复合运算符。 如: A+=3 A=A+3 X*=Y+8 X=X*(Y+8) 可使用的10种赋值运算: +=、-=、*=、/=、%=、=,=、&=、=、|=复合的赋值运算的作用: 简化程序,提高编译效率。例:计算A+=A-=A*A 设 A=12三、 逗号运算符与逗号表达式(顺序求值运算符)作用:把表达式连接起来组成一个表达式。一般形式:表达式1,表达式2功能:分别求值,以表达式2的值作为整个表达式的值。例:说明:1、逗号表达式可以嵌套,则变化为: 表达式
20、1,表达式2,.表达式n 结果仍为表达式n的值(最后一个)2、注意说明语句中“,”与逗号表达式的区别。四、 关系运算(比较运算)1、 运算符(6种) 、= 、 、 = 、 = 、 != 2、 优先顺序 双目运算、左结合 、=、=优先于=和!= 关系运算级别低于算术运算,高于赋值运算3、 关系表达式 用关系运算符连接起来的式子。值为逻辑型。(1,0) 例:设A=3,B=2,C=1 则:A>B 值为1 (A>B)=C 值为1D=A>B 值为1 F=A>B>C 值为0五、 逻辑运算1、 运算符:(3种) && 逻辑与 | 逻辑或 ! 逻辑非 如: A&a
21、mp;&B A|B !A 2、 优先级:(1) !>&&|(2) 混合运算中: ! 高 算术运算 关系运算 &&、| 赋值运算 低3、 逻辑表达式:(1) 运算结果为逻辑值(2) 编译系统以非0、0判定逻辑值真、假(3) 逻辑表达式中作为参加逻辑运算的运算对象可以是0或非0数值。但要区分运算对象。 例:5>3&&2|8<4-!0 值为 1(4) 表达式中并不是所有的逻辑运算都被执行,只是在必须执行下一个逻辑运算时,才能求出表达式的解时,才执行该运算符。例1:A&&B&&C 、(M=A>
22、;B)&&(N=C>D) 例2:写出一个能判别闰年的表达式:闰年的条件:* 能被4整除但不能被100整除* 能被4整除但又能被400整除六、 条件运算:根据条件确定某个表达式结果的值。(C语言中唯一的一个三目运算)1、 运算符:?、:2、 条件表达式形式:表达式1?表达式2:表达式33、 执行过程: 说明:(1)条件运算优先于赋值运算如:max=a>b ? a:b 将条件表达式的值赋给变量(2)结合方向为“右到左”例:设a,b,c,d的值为1、2、3、4求下述表达式的值max=a>b ? a:(c>d ? c:d)结果为:(3)条件表达式中,各表达式类型
23、可不同例:x ? a:b 若 x为0则值为b,否则值为ax>y ? 1:1.5 若x<=y则值为1.5,否则值为1.0表达式值的类型为两者中较高类型(整变实)练习:输入一个字符,判断它是否为大写字母,如果是转换为小写,然后输出该变量的值。七、 一元变换 & 取地址 * 取内容 sizeof( ) 测试数据占用存储空间长度(字节)八、 位式运算(二进制位的运算)& 按位与 按位取反| 按位或 >>右移 按位异或 <<左移九、 特殊运算符() . 第四章:顺序结构程序设计§41 程序设计基础知识一、 算法的概念1、 什麽是算法:解决实际
24、问题确定的、有限的操作步骤。一个程序是由以下几个方面组成的:算法、数据结构、程序设计方法、语言工具和环境其中:算法是程序的灵魂,语句是算法的体现。2、 算法的特性:(1) 有穷性(2) 确定性(3) 有零个或多个输入(4) 有零个或多个输出(5) 有效性3、 算法的表示:(1) 自然语言表示法(2) 流程图表示法传统流程图(4。1图)NS图(3) 伪代码表示法二、基本的程序结构1、顺序结构2、分支结构(选择结构)3、循环结构三种结构的流程图为:(p48)三构化程序设计方法基本思想:把一个复杂问题的解决过程分为几个部分进行,每个问题都控制在人们最容易理解和处理的范围内。具体方法:1、自上而下2、
25、逐步细化3、模块化设计4、结构化编码四C语句C语言中只有可执行语句,没有非执行语句。函数1预编译命令mingling 函数nC程序源程序1源程序2源程序n执行部分说明部分1、 程序的一般结构:语句2、语句分类:(1) 控制语句(9种)if()else for()while() dowhile()continue break switch goto return其中:()表示是一个条件,表示是内嵌的语句(2) 函数调用语句由一次函数调用加一个分号构成一个语句。如:printf(“ ”); 函数 分号(3)表达式语句(C语言的特色)由一个表达式组成一个语句。典型的为赋值。例:a=3 表达式 a=3
26、;语句一个语句的最后一定是“;”号,任何表达式都可以加上“;”成为语句。C语言中大多数语句是表达式语句,因此有人把C称为表达式语言。(4) 空语句仅有一个分号的语句。作用:转向点、循环体(空循环)(5) 复合语句用一对 号括起来的语句。例:z=x+y;t=z/100;printf(“%f”,t); 不可省略§42赋值语句应用十分普遍,具有其它语言赋值语句的一切特点和功能,但也需注意它们的不同之处。注意:“=”为赋值号,不同于数学中的等号。例:if(a=b)>0) t=a; if(a=b;)>0) t=a;§43数据输出C语言中没有专门的输入输出语句。两个最基本的
27、输出函数:字符输出、格式输出。一、 字符输出函数:作用:向终端输出一个字符。格式:putchar(c); (输出变量C的值)其中:C可以是字符或整型变量。例:#include “stdio.h” 预处理命令main()char a=B,b=o,c=k;putchar(a);putchar(b);putchar(b);putchar(c);putchar(t);putchar(a);putchar(b);putchar(n);putchar(b);putchar(c);运行结果:Book Bo ok注意:使用putchar()函数前一定使用#include“stdio.h”二、 格式输出函数:作
28、用:向终端输出若干个任意类型的数据。格式:printf(“格式控制字符串“,输出表列)其中:1、格式控制是用双引号括起来的字符串。它包括两种信息:(1)格式说明:由%加格式字符组成(2) 普通字符:原样输出的字符2、 输出表列:用逗号分开的输出项。可为表达式。例: printf(“%d” , b);格式说明 参数printf(“%d,%d,%d”,a,b,c);参数分隔符printf(“%d,%d,%d”,(a,b,c),b,c);逗号表达式设:a=3 b=4printf(“a=%d b=%d”,a,b);结果为:a=3 b=4由以上几种形式可将printf()函数表示为:printf(参数1
29、,参数2,参数3,参数n)参数的作用:将参数2参数n的内容按参数1给定的格式输出。三、 格式控制字符:1、一般格式:标志输出最小宽度.精度长度<类型>2、 格式说明:(1) 中的内容为可选项(2)类型为输出数据的类型.格式符及含义如下:格式字符 含义d 以十进制形式输出带符号整数o 以八进制形式输出无符号整数x 以十六进制形式输出无符号整数u 以十进制形式输出无符号整数f 以小数形式输出单、双精度实数e 以指数形式输出单、双精度实数g 以%f、%e中较短输出宽度输出单、双精度实数c 输出单个字符s 输出字符串(3)标志标志字符为-、+、#三种,含义如下: 结果左对齐+ 输出符号(+
30、、-)# 对c、s、d、u无影响,对o类输出时加前缀0对x类输出时加前缀0x,对e、g、f类当结果有小数时才给出小数点。(4)输出最小宽度:用十进制数来表示输出的最少位数。若实际位数多于定义宽度,则按实际位数输出;若实际位数少于定义宽度,则补以空格或0。(5)精度:精度格式符以“.”开头,后跟十进制的整数。若输出数字,则表示小数的位数;若输出字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。(6)长度:长度格式符为h、l两种,h表示按短整型量输出,l表示按长整型量输出。四、使用printf()函数的几点说明:1、格式字符要小写。2、可在格式控制字符串中包含转意。字符3
31、、格式控制字符串中可插入附加字符。4、若输出字符“%”,则应在字符串中连续两个“%”号。五、实例说明:1、设a=123,b=1234则:printf(“%4d,%4d”,a,b);输出为:_123,123452、设long a=135790;则:printf(“%ld,%d”,a,a);输出为:135790,4718注意:长整型数据不可用d格式输出。3、设有以下语句:printf(“%3s,%7.2s,%.4s,%-5.3s”,”china”,”china”,china”,”china”);则输出为:china,_ch,chin,chi_4、设:x=111111.123,y=222222.32
32、1则:printf(“%10.2f,%e”,x+y); 输出为:333333.44,3.33333e+05小数位一般可保留6位5、有printf(“%f%“,1.0/3);则输出为:0.333333%6、有如下程序段:main()char c1=a,c2=b,c3=c,c4=101,c5=116;printf(“a%cb%ctc%c abcn”,c1,c2,c3);printf(“tb%c%c”,c4,c5);运行结果为:aabb cc abcAN§44数据输入C语言中的数据输入也是由函数来完成的。本节介绍二个从标准输入设备键盘上输入数据的函数。(scanf()与getchar())
33、一、字符输入函数:作用:由键盘输入一个字符。格式:putchar();通常把输入的字符赋予一个字符变量,构成赋值语句。如:char ch;ch=getchar();使用getchar()函数需要注意:1getchar()函数只能接收单个字符。输入数字也按字符处理;输入多个字符仅接收第一个字符。2、使用本函数必须包含文件“stdio.h”。3、函数执行时暂停程序运行,等待用户输入数据。二、格式输入函数:scanf()称为格式输入函数。是一个标准的库函数,函数原形在“stdio.h”文件中。其作用是由终端输入若干个任意类型的数据,送给相应的变量。格式:scanf(“格式控制字符串“,地址表列)其中
34、:1、格式控制字符串的作用与printf()函数相同。但不可显示非格式字符(不能显示提示信息)。2、地址表列中要给出各变量的地址。地址是由地址运算符”&”加上变量名组成的。3、注意区分变量的值和变量的地址这两个不同的概念。三、格式控制字符:1、一般格式:%*输入数据宽度长度<类型>1、 格式说明:(1)类型输入数据的类型.格式符及含义如下:格式字符 含义d 以十进制整数形式输入o 以八进制整数形式输入x 以十六进制整数形式输入u 以十进制无符号整数形式输入f/e 以型实数形式输入c 输入单个字符s 输入字符串(2)“*”号用以表示该输入项读入后,不赋予相应的变量,即跳过该输
35、入值。如:scanf(%d%d%d”,&a,&b);当输入1 2 3时1>a 3>b,2被跳过(3)宽度用十进制整数指定输入的宽度。如:scanf(“%5d”,&a); 输入12345678后仅把12345赋予a,其余截去。又如:scanf(“%4d%4d”,&a,&b); 输入12345678后1234赋予a,5678赋予b,按宽度自动截取。(4)长度长度格式符为l、h,l表示长整型和双精度浮点数,h表示短整型数据。3、使用scanf()函数需注意:(1)scanf()函数中没有精度控制。如:scanf(“%4.2f”,&a);是非
36、法的(2) scanf()函数中一定给出变量地址,不可是变量名,否则出错。如:scanf(“%d”,a); 错 scanf(“%d”,&a); 对(3)输入多个数据时,格式控制串中没有非格式字符,则输入时数据间的分隔符可用空格、TAB键、回车键。(4)输入字符数据时,若格式控制符中无非格式符,则认为所有输入的字符均为有效字符。如:scanf(“%c%c%c”,&a,&b,&c);printf(“a=%c,b=%c,c=%c”,a,b,c);输入:A,B,C输出:a=A,b=,c=B,(5)如果格式控制字符串中有非格式字符,则输入时也要输入非格式字符。如:scan
37、f(“%d,%d,%d”,&a,&b,&c);输入应为:5,6,7若为:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);输入应为:a=5,b=6,c=7(6)输入、输出格式符不相符,则输出数据错误。练习1、 语句 scanf(“%d%c%f“,&A,&B,&C);A=1234 B=a C=123.000000输入:1234a123o.26请写出:A=? B=? C=?2、写出下列程序的运行结果并进行比较:程序1: main() int i=8;printf("%dn%dn%dn%dn%dn%dn
38、",+i,-i,i+,i-,-i+,-i-); 程序2:main()int i=8;printf("%dn",+i); printf("%dn",-i);printf("%dn",i+); printf("%dn",i-);printf("%dn",-i+); printf("%dn",-i-);_程序1的结果 程序2的结果8 97 87 88 97 88 93、判断下列语句或程序段是否正确,若有误请说明原因并改正:(1)int num; (2)main() num
39、=89101; x=3;y=6; printf(“%d”,num); printf(“%dn”,x+y);(3)a=3;b=4.5; (4)a=3 printf(“%f %dn”,a,b); b=4(5)scanf(“%d%d”,a,b)(6)有输入语句:scanf(“%d %d”,&a,&b);请判断下列几种输入方式是否正确? 输入:3,4 输入:3 4 输入: 3 输入:3 4 4第五章:选择与循环结构程序设计§51选择结构程序设计(分支)关系运算:(1)6个运算符:>、>=、<、<=、=、!= 优先级(2)双目运算 左结合 (3)关系表达
40、式的值为逻辑型真/假(1、0)应用举例: void main() char c='k' int i=1,j=2,k=3; float x=3e+5,y=0.85; printf("%d,%dn",'a'+5<c,-i-2*j>=k+1); printf("%d,%dn",1<j<5,x-5.25<=x+y); printf("%d,%dn",i+j+k=-2*j,k=j=i+5); 逻辑运算:(1)3个运算符:!、&&、| 优先级(2)&&、
41、|为双目运算,!为单目运算 左结合 (3)逻辑表达式的值为逻辑型真/假(1、0)应用举例:void 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,i<j&&x<y); printf("%d,%dn",i=5&&c&&(j=8),x+y|i+j+k); 一、if语句:用if语句可
42、以构成分支结构。作用:判断所给定的条件满足与否,根据结果决定程序的流向。分支结构的三种基本形式:1、简单分支(单分支)格式:if (表达式) 语句;工作过程图: 例1:if (x>y) printf(“%d”,x);例2:(if1.c)main()int a,b,max; printf("n input two numbers: "); scanf("%d%d",&a,&b); max=a; if (max<b) max=b; printf("max=%d",max); 2、双分支格式:if (表达式) 语
43、句1;else 语句2;工作过程图:例1:if (x>y) printf(“%d”,x); else printf(“%d”,y);例2:(if2.c)main()int a, b; printf("input two numbers: "); scanf("%d%d",&a,&b); if (a>b) printf("max=%dn",a); else printf("max=%dn",b); 3、多分支:格式:if (表达式1) 语句1;else if (表达式2) 语句2;else
44、 if (表达式m) 语句m;else 语句n;工作过程图:例1: if (num>500) cost=.15;else if (num>300) cost=.10;else if (num>100) cost=.075;else if (num>50) cost=.05;else cost=0; 例2:(if3.c)#include "stdio.h" main()char c; printf("input a character: "); c=getchar(); if(c<32) printf("This i
45、s a control charactern"); else if(c>='0'&&c<='9') printf("This is a digitn"); else if(c>='A'&&c<='Z') printf("This is a capital lettern"); else if(c>='a'&&c<='z') printf("This is a
46、 small lettern"); else printf("This is an other charactern"); 4、使用if语句时注意:(1)三种形式的if语句中,if关键词后面均为表达式。通常为关系表达式或逻辑表达式。也可以是其它表达式,如赋值表达式,甚至也可以是一个变量。例1:if (a=5) 语句;或 if (b) 语句;均为合法用法例2:if (a=b) printf(“a=%d”,a);else printf(“a=0”);(2)if后的条件判断表达式一定用圆括号括起来,语句之后一定要用分号。(3)三种形式中,所有语句应为单个语句,若为一组语
47、句一定用 括起来,组成复合语句。但需注意后不可用“;”号。例如:if (a>b) a+; b+;else a=0;b=10;二、if语句的嵌套:if语句中又含有if语句的形式称为if语句的嵌套。一般形式:if (表达式1)if (表达式2) 语句1 内嵌else 语句 2 if语句elseif (表达式3) 语句3 内嵌else 语句4 if语句说明:(1)每一个if可能与else相匹配,也可能不与else相匹配;但是每一个else必须与一个if相匹配。Else与if匹配的原则是:else总是与它上面最近的if配对。(2)多分支及分支嵌套应采用缩排方式,以增加程序的可读性。分析如下程序段
48、:if (n>6) if (n<12)printf(“12>n>6n”);elseprintf(“n<=6n”);例:main() int a,b,max; printf("n input two numbers: "); scanf("%d%d",&a,&b); max=a; if (max<b) max=b; printf("max=%d",max); main() int a,b; printf("input two numbers: "); scanf(&
49、quot;%d%d",&a,&b); if(a>b) printf("max=%dn",a); else printf("max=%dn",b); void main() int a,b; printf("please input A,B: "); scanf("%d%d",&a,&b); if(a=b) printf("A=Bn"); else if(a>b) printf("A>Bn"); else printf("A<Bn"); main()int a,b,c;a=7;b=8;c=9;if(a>b) a=b,b=c;c=a; printf("a=%d b=%d c=%dn",a,b,c); main() int a,b,c; printf("input number(a,b,c): n"); scanf(&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仿古长廊翻修工程方案(3篇)
- 防火涂料工程维护方案(3篇)
- 揣摩《读书:目的和前提》的写作动机
- 方案指的是分部工程吧(3篇)
- 安全教育法规培训课件
- 安全教育案例培训课件
- 安全教育教师培训报道课件
- 牵引电机检修课件
- 农业供应链金融与智慧农业示范园发展评估报告
- 安全教育培训通过率课件
- 公共机构建筑能源审计和能耗基准值技术服务方案投标文件(技术标)
- 2025-2026学年人教PEP版(2024)小学英语四年级上册教学计划及进度表
- 2025广西公需科目考试题库和答案(覆盖99%考题)广西一区两地一园一通道+人工智能时代的机遇
- 脓毒症护理查房记录
- 企业燃气充值管理办法
- 食材库房防霉防潮卫生管理措施
- 腹透患者的饮食管理
- 人工智能辅助药物服务企业制定与实施新质生产力项目商业计划书
- 门诊部护理质控
- 财务部实习生聘用合同模板
- 基金从业资格-私募股权投资基金基础知识讲义
评论
0/150
提交评论