C语言基础知识复习资料

上传人:痛*** 文档编号:83334379 上传时间:2022-05-01 格式:DOC 页数:5 大小:123KB
返回 下载 相关 举报
C语言基础知识复习资料_第1页
第1页 / 共5页
C语言基础知识复习资料_第2页
第2页 / 共5页
C语言基础知识复习资料_第3页
第3页 / 共5页
点击查看更多>>
资源描述
C语言基础知识复习资料 C语言的历史背景及特点一、C语言的历史背景1、 什么是C语言C语言是国际上广泛流行的,很有发展的前途的计算机高级语言,它适合于作为系统描述语言,既可用来写系统软件,也可用来写应用软件的一种高级语言之一。2、C语言的产生的历史背景C语言是在1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上发展起来的,它保持了BCPL和B语言的优点:精练、接近硬件,又克服了它们的缺点:过于简单,数据无类型等。二、语言的特点1、语言简洁、紧凑、使用方便、灵活。2、运算符丰富。3、数据结构丰富,具有现代化语言的各种数据结构。4、具有结构化的控制语句。5、语法限制不太严格,程序设计自由度大。6、C语言允许直接访问物理地址。7、生成目标代码质量高,程序执行效率高。8、用C语言写的程序可移植性好。简单的C程序介绍及C程序的上机步骤一、简单C程序介绍(学会读懂一个简单的C程序)#include 函数头main( ) 主函数int a,b,sum; 定义变量 a=123;b=456; 以下3行为C语句sum=a+b;printf(“sum is %dn”,sum);二、C程序的上机步骤补充概念:1、程序:就是一组计算机能识别和执行的指令。2、源程序:用高级语言编写的程序称为“源程序”。3、目标程序:用“编译程序”将源程序编译成二进制形式,形成可执行的程序叫做目标程序。C程序的上机步骤(实操讲述)1、打开Turbo C程序,输入源程序2、按Ctrl+F9进行调试,查看结果3、保存源程序打开源程序的方法:1、打开Turbo C程序,单击File菜单,选择Open命令2、在弹出的对话框中输入要打开的源程序路径,单击OK按钮即可。保存源程序的方法:1、单击File菜单,选择Save 命令,2、在弹出的对话框中输入要保存的源程序路径,单击OK按钮即可。C语言的数据类型(一)一、一个C语言程序应包括的内容1、对数据的描述:在程序中要指定数据的类型和数据的组成形式。2、对操作的描述:即操作步骤,也就是算法。故:数据结构+算法程序若采用结构化的程序设计方法进行程序设计时,关且用某一种计算机语言来表示时:程序算法+数据结构+程序设计方法+语言工具和环境 C语言的常量和变量一、常量和符号常量:1、什么是常量:在程序运行过程中,其始终保持不变的量称为常量(整型、实型、字符常量)2、什么是和符号常量:用一个标识符代表一个常量的,称为和符号常量。即采用标识符形式的常量。3、宏定义:用一个指定的标识符(即名字)来代表一个字符。格式:#define 标识符 字符串例如:#define PI 3.1415926二、变量和标识符1、什么是变量在程序运行过程中,其值是可以改变的量称为变量2、什么是标识符:用来标识变量名、符号常量名、函数名。数组名等的有效字符序列称为标识符。简单地说,标识符就是一个名字。3、标识符的命令方法:C语言规定:标识符只能由字母、数字和下划线三种字符组成且第一个字符必须为字母或下划线。关键字不能作为标识符。整形数据一、整形数据在内存中的存放形式整形数据在内存中的存放形式:以二进制形式存放。例如:int i;i=10;整型常量的表式方法:1、十进制:0、111;2、八进制:0111、021;3、十六进制:0x21、+015二、整型数据的类型数据类型数据类型符占用字节数数值范围整型int2(或4)同短整(或长整型)短整型short232768+32767长整型long42147483648+2147483647无符号整型unsigned int2(或4)同无符号短整型(长整型)无符号短整型unsigned short2065535无符号长整型unsigned long404294967295三、整型数据的定义方法数据类型符 变量名1,变量名2,;例如:int a,b,c;实型数据一、实型常量表示方法:实数又称为浮点数。实数的表示主要有两种形式(1):十进制小数形式。由数字和小数点组成(注意必须有小数点)。例如:123.0;0.0(2):指数形式。例如:123e3或123E3都代表123103注意:e(或E)前后必须有数字,且e(或E)之后的数必须为整数。二、实型数据在内存中存放形式:一个实型数据在内存中占4个字节(32位)三:实型变量的分类类型比特数有效数字数值范围单精度型(flost)326710-371038双精度型(double)64151610-30710308长双精度型(long double)80181910-491104932三、实型变量的定义;格式:数据类型符 变量名1,变量名2,;例如:float x,y,z;注意:float只能保证6位有效数据字符型数据一、字符常量:1、什么是字符常量:C的字符常量是用单引号括起来的一个字符。例如:a2、常用转义字符及含义:n 换行,将当前位置移到下一行开头;t水平制表(跳到下一个tab位置)b退格,将当前位置移到前一列;r回车,将当前位置移到本行开头f换页,将当前位置移到下页开头;ddd1到3位8进制数所代表的字符xhh1到2位16进制数所代表的字符二、字符变量1、字符变量的作用:用来存放字符常量字符变量的定义形式:例如:char c1,c2;c1=a,c2=b;注意:字符变量在内存中占一个字节三、字符常量:注意:1、字符串常量是一对双引号括起来的字符序列。 2、不能把一个字符串赋给一个字符变量a和”a”的区别:1、每一个字符串的结尾加一个“字符串结束标志”,以便于系统判断字符串是否结束。2、以字符0(空操作字符)作为字符串结束标志。变量的定义与赋值一、变量的定义:变量的定义是由变量定义语句实现的。1、变量定义语句的一般格式:类型标识符 变量名1,变量名2,变量名3;例如:int I,j,k; float x1,y1; char w_1,w_2;2、定义变量应注意以下几点:(1)变量名应遵守标识符的命名规则。(2)变量必须“先定义、后使用”。(3)在同一种程序中变量名不允许被重复定义。(4)凡未被定义的标识符,不得作为变量名全使用。(5)每一个变量只能定义为一种类型,编译时编译时将据此为其分配相应长度的存储单元。(6)变量的数据类型必须也将要进行的操作匹配。二、变量赋值变量使用“”赋值。变量在定义时可以赋初值,定义后可以连续赋值1、给变量赋值时应注意以下几点(1)赋值时“”右边的常量(或表达式结果)与左边的变量类型应当匹配。(2)定义时不能连续赋值。(3)字符串常量不能赋值给字符变量、整型变量或实型常量。C语言运算符与表达式的分类一、运算符:运算符是表明运算操作的符号。1、C语言中常见的运算符。(1)按运算类型和目的分:算术运算符:+ - * / % _ + -关系运算符: = = !=逻辑运算符:! & 位运算符: & 赋值运算符: += -= *= /= %= = = &= = =条件运算符:? :逗号运算符指:,指针与地址运算符:* &求字节数运算符:(2)按要求运算对象的个数分:单目运算符:! - + - (类型标识) * & sizeof双目运算符:* / % + - = = != & & = += _= *= /= %= = = &= = =三运算符: ? :? = &= = = !其他: () _ ,二、表达式:表达式是由操作数(操作对象)和运算符组成的序列例如:赋值表达式、算术表达式、逻辑表达式、关系表达式、条件表达式等。C语言运算符优先等级口诀一、运算符优先级等级口诀圆方括号、箭头一句号, 自增自减非反负、针强地址长度, 乘除,加减,再移位, 小等大等、等等不等, 八位与,七位异,六位或,五与,四或,三疑,二赋,一真逗。 其中“,”号为一个等级分段。 二、运算符优先级等级注释“圆方括号、箭头一句号”指的是第15级的运算符。其中圆方括号很明显“()、”,箭头 指的是指向结构体成员运算符“-”,句号 指的是结构体成员运算符“.” ; “自增自减非反负、针强地址长度”指的是第14级的运算符。其中 非 指的是逻辑运算符“!”,反 指的是按位取反运算符“”,负 指的是负号运算符“”,针 指的是指针运算符“*”,强 指的是强制类型转换运算符,地址 指的是地址运算符“&”,长度 指的是长度运算符“sizeof ”; “乘除,加减,再移位”移位指的是左移运算符“”,其中除法还包括了 取余运算符“%”; “小等大等、等等不等” 指的是第10级到第9级的运算符:、和=,等等指的是等于运算符=,不等指的是不等于运算符!= “八位与,七位异,六位或”其中 八位与 指的是第8级的 按位与 运算符“&”,七位异 指的是第7级的按位异或 运算符“”,六位或 指的是第6级的按位或运算符“|”; “五与,四或”指的是第5级、第4级的逻辑与运算符“&”和逻辑或运算符“|”; “三疑,二赋,一真逗”指的是第3级到第1级的运算符。其中,三疑指的是条件运算符“?:” (三有双重含义:即指优先级别是三,它的运算符类型也是三目,疑也取“?”之意),二赋 指的是赋值运算符=、+=、-=、*=、/=、%=、=、=、&=、=和|= ,一真逗 指的是第1级的“,”运算符,真字只是为了语句需要罢了。 由于C语言的运算符优先级与C+的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C+.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握C+的优先级的!运算符一、什么是运算符:用来表示各种运算的符号二、单目运算符:只有一个运算对象的,称为单目运算符例如:+a,-4三、双目运算符:只有二个运算对象的,称为双目运算符.例如:5+6 2+3四、三目运算符: 只有三个运算对象的,称为三目运算符例如:?表示式 x?45:12五、什么表达式:用运算符把运算对象连接起来所组成的运算式称为表达式。六、C语言中的运算符:基本运算符和专用运算符1基本运算符:算术运算:+ - * / %(取模运算)5%4=1关系运算符: = = !=(不等于)逻辑运算符:! & |赋值运算符:基本赋值运算符(=),算术自反赋值运算符(+=,-=,*=,/=,%=)例如:a+=b等同于a=a+b;逗号运算符:(,)条件运算符:(?:)数值长度运算符:sizeof()位运算符:位逻辑运算符( |),位移位运算符( = . 指针运算符(& * + -)算术运算符一、算术运算符名称运算符运算规则结合性加+加法自左向右减-减法乘*乘法除/除法(取整)模%整除取余自增、减运算符一、单目前缀:先计算(本身进行自增、自减),再使用对象例如:+a -b int a=5;+a+6 =12二、单目后缀:先使用对象,本身再进行自增、自减。例如:a- b+三、例题讲解int a=6a-+3=9设变量定义如下:int n=10,m=3;float f=5.0,g=10.0;double d=5.0,e=10.0;则:1、 n+m、n-m、n*m、n%m的结果分别是:2、 f+g、f-g、f*g、f/g的结果分别是:3、 d+e、d-e、d*e、d/e的结果分别是:4、 n+m-f*g/d的结果分别是:10+35.0*10.0/5.05、 n%m*f*d的结果分别是:设变量定义如下:int a=3,b=3;char c1=b=98,c2=B=66;则:1、表达式:+a-1的值是 3 ,运算结束后变量a的值是4 2、表达式:b-+1的值是 4 ,运算结束后变量b的值是2 3、表达式:+c1-1的值是 98 ,运算结束后变量c1的值是 4、表达式:c2-+1的值是 67或C ,运算结束后变量c2的值是 5、表达式:(a+)+(a+)的值是 6 ,运算结束后变量a的值是 6、表达式:(b-)-(b-)的值是 0 ,运算结束后变量b的值是 7、表达式:(a+)+b的值是 6 ,运算结束后变量a的值是 b的值是 8、表达式:(a-)-b的值是 ,运算结束后变量a的值是 b的值是 3 9、表达式:(a+)+(b+)的值是 ,运算结束后变量a的值是 b的值是 关系运算符和逻辑运算符一、关系运算符:1、关系运算符的运算方法:(1)关系运算符用来比较两个数据的大小,(2)如果运算结果是逻辑值“真”(即关系式成立)用数“1”表示:(3)如果运算结果是逻辑值“假”(即关系式不成立)用数“0”表示二、关系运算符种类1、小于()、小于或等于(=)、等于(=)、不等于(!=)2、关系运算符的优先级:(1)算术运算符优先于关系运算符(2)小于()、小于或等于(=)优先于等于(=)、不等于(!=)。例题:设定义变量如下:char c1=a,c2=Aint n1=65,n2=97;float f1=0.3E1,f2=3.0001;1、表达式c1c2、n1=n2、f1f2的值依次是:2、表达式c1=n1、c2=n2、c1=n2的值依次是:3、表达式f1c1、f1c2、f1!=n1-60的值依次是:三、逻辑运算符1、逻辑运算符种类及运算方法:(1)!逻辑非:“!”是单目运算符,其运算规则是:若操作数的值为0,则其“!”运算结果为1(逻辑真);若操作数值为非0,则其“!”运算结果为0。注意:!10; !01(2)“&” 逻辑与:是双目运算符。其运算规则是:当参加“&”运算的2个操作数值均为非0(逻辑真)时,结果才为真:否则为0(逻辑假)。注意:1&1=1 1&0=0 0&0=0(3)“|” 逻辑或:“|”是双目运算符:其运算规则是:参加“|”运算的两个操作数中,只要有一个操作数值为非0(逻辑真),结果就为1(逻辑真);否则为0(逻辑假)。注意:1|1=1 1|0=1 0|1=1 0|0=1.位运算符和强制类型转换一、位运算符的种类1、&位与; 2、|位或; 3、位异或;4、位取反; 5、位右移;二、位运算符的运算规则:特别注意:位运算符一般都是以整数按补码形式存储的,位运算都双目运算符。1、&位与的运算规则:将参加运算的两个数按位进行“与”运算。2、|位或的运算规则:将参加运算的两个按位进行“或”运算。3、位异或的运算规则:将参加运算的两个按位进行“异或”运算。4、位取反的运算规则:将参加运算的两个按位进行“取反”运算。5、位右移的运算规则:将操作数的各二进位全部右移若干位。 三、强制类型转换1、含义与实现强制类型转换是指使用强制类型转换运算对一个表达式进行的数据类型转换。主要用于将表达式的结果类型转换为类型说明符所指定的类型。一般格形式:(类型名)(表达式)例如:(1)、(double)a将a的值转换成double型。(2)、(int)(a+b)将a+b的值转换成整int型。(3)、(float)(10%3)将10%3的值转换成float型。条件运算符和逗号运算符一、?号表达式:1、符号、作用与一般格式(1):条件运算符由符号“?”和“:”组成而成,它们与3个操作数组成三目运算。主要用于完成简单的二分支选择操作(例如给同一个变量时时行二分支选择赋值)格式:?:例如:c=ab?A:B;ab?printf(“ab”):(d=a+b)(2):?号表达式的执行过程:先求解表达式1,如果表达1的结果为真(非0)则求解表达式2,并将表达式2的结果作为整个表达式的值;否则求解表达式3,并以表达式3的结果作为整个表达式的值。二、逗号运算符1、符号、作用与一般格式(1):逗号运算符“,” ,又称顺序求值运算符。主要用于将两个或多个表达式连接起来并从左到右求解。格式:表达式1,表达式2、,表达式n例如:A+b,a+c、a=1,b=2,c=3,(a+b)*c(2):?号表达式的执行过程:先求解表达式1,从左到右分别计算各表达式的值,即先求解表达式1,再求表达式2,最后求解表达式n。逗号表达式以最后个表达式n的值作为整个表达式的值。例如:a=1,b=2,c=3,(a+b)*c的值为9三、求字节长度运算符1、符号、作用与一般格形式(1)求字节长度运算符“sizeof”是一个单目运算符,主要用于求得其后变量或括号中的数据类型或括号中的表达式结果在内存中所占的字节数。一般格式:sizeof(变量名)sizeof(类型名)sizeof(表达式)例如:sizeof(char) sizeof(i) sizeof(a+b)C语句概述一、语言中常用的语句:(1)控制语句:作用:完成一定的定义控制功能。例如:1、if() else条件语句。 2、for()循环语句 3、while()循环语句4、do while()循环语句 5、continue结束本循环语句6、break中止执行switch或循环语句 7、switch多分支选择语句8、goto转向语句 9、return从函数返回语句(2)函数调用语句(3)表达式语句例如:a=3;(4)空语句即只有一个分号的语句,它什么也不做。有时用来做被转向点,或循环体。(5)可以用把一些语句括起来成为复合语句又称分程序。程序的三种基本结构及赋值语句一、顺序结构顺序结构执行的原理:见书本45页图3.2.先执行A操作,再执行B操作,两者是顺序执行的关系。二、选择结构:选择结构执行原理:见书本45页图3.3.P代表一个条件,当P条件成立(或称为“真”)时执行A,否则执行B。注意:只能执行A或B之一。两条路径汇合在一起然后出口。三、循环结构(1)当型循环语句:见书本46页图3.4当条件成立(“真”)时,反复执行A操作。直到P为“假”时才停止循环。(2)直到型循环语句:见书本46页图3.5先执行A操作,再判断P是否为“假”,若P为“假”,再执行A,如此反复,直到P为“真” 为止。1、含义与实现强制类型转换是指使用强制类型转换运算对一个表达式进行的数据类型转换。主要用于将表达式的结果类型转换为类型说明符所指定的类型。(3)多分支选择结构语句:见书本46页图3.6,根据K的值(K1,K2,,Kn)不同而决定执行A1,A2,An四、赋值语句:(1)赋值语句的构成:由赋值表达式加上一个分号构成。例如:if(a=b)0) t=a数据输入与输出一、C语言中输入与输出的概念:所谓输入输出是以计算机主机为主体而言的。从计算机向外部输出设备输出数据称为“输出”,从外部向输入设备输入数据称为“输入”。二、字符数据输入与输出:1、字符输出函数putchar();功能:putchar()函数是字符输出函数,其功能是在显示器上输出单个字符。一般格式为:putchar(整形变量)2、字符输入函数getchar功能:getchar()函数是字符输入函数,其功能是从键盘上输入一个字符,它的返回值为整型。一般格式为:getchar();例如:int c; c=getchar();表示:从键盘读入一个字符,并且它只能接受单个字符。(1):逗号运算符“,” ,又称顺序求值运算符。主要用于将两个或多个表达式连接起来并从左到右求解。格式:表达式1,表达式2、,表达式n三、格式输入与输出:1:printf函数(格式输出函数)一般格式:printf(格式控制,输出表列)(1)“格式控制”是用双引号括起来的字符串,也称“转换”控制字符串,它包括两种信息。第一:格式说明,“%”和格式字符组成,如%d,%f等。它的作用是将输出的数据转换成指定格式输出。格式说明总是由“%”字符开始的。第二:普通字符:即需要原样输出的字符。例如:逗号,空格等。(2)“输出表列”是需要输出的一些数据。可以是表达式2、格式字符:(1)d格式符。用来输出十进制整数。%d按整型数据的实际长度输出。%mdm为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。(2)o格式符,以八进制数形式输出整数。(3)x格式符,以十六进制数形式输出整数。(4)u格式符,用来输出 unsigned型数据,即无符号数,以十进制形式输出。(5)c格式符,用来输出一个字符。 (6)s格式符,用来输出一个字符串,(7)f格式符,用来输出实数,以小数形式输出。%m.nf指定输出的数据占m列,其中有n位小数。如果数值长度小于m,则左端补空格。(8)e格式符,以指数形式输出实数。(9)g格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式,且不输出无意义的零。数据输入与输出(二)一、scanf函数(格式输入函数)1、一般格式:scanf(格式控制,地址表列)格式控制的含义同printf函数;地址表列是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。2、格式说明%d用来输入有符号十进制整数。 %o用来输入无符号的八进制整数。%c用来输入单个字符。 %s用来输入字符串。%f用来输入实数,可以用小数形式或指数形式输入。2、使用scanf函数时应注意的问题(1)scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名。(2)如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入这些字符相同的字符。(3)在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。(4)在输入数据时,遇(空格,回车、跳格(Tab),按指定的宽度结束、遇非法输入)情况进该数据认为结束。顺序结构程序设计举例一、例3.10 输入三角形的三边长,求三角形的面积#includemain()float a,b,c,s,mj; scanf(“%f,%f,%”f,&a,&b,&c); s=1.0/2*(a+b+c); s=sart(s*(s-a)*(s-b)*(s-c); printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2n”,a,b,c,s); printf(“mj=%7.2fn”,mj);二、例3.11 从键盘输入一个大写字母,要求改用小写字母输出#includemain()char c1,c2; c1=getchar(); printf(“%ct%dn”,c1,c2); c2=c1+32; printrf(“%cn%dn”,c2,c2);if语句一、单分支if选择语句:格式:if (表达式) 语句;功能:计算机表达式的值执行方法:如果表达式为真(非0),则执行“语句” ,否则不执行语句。例如:输入一个字符,是字母则输出“YES!” ,否则无输出。#includemain()char c; scanf(“%c”,&c); if (c=a&c=A&c=Z) printf(“YES!n”);二、双分支if选择语句:格式:if (表达式) 语句1; else 语句2;功能:计算机表达式的值执行方法:如果表达式为真(非0),则执行“语句1” ,否则执行“语句2” 。例如:输入一个字符,是字母,则输出“YES!” ;否则输出“NO!” 。#includemain()char c; scanf(“%c”,&c); if (c=a&c=A&c=Z) printf(“YES!n”); else printf(“NO!n”);三、第三种if语句:一般形式:if(表达式1) 语句1;else if(表达式2) 语句2;else if(表达式3) 语句3;else if(表达式m) 语句m;else 语句n;执行方法:从上到下逐个对条件进行判断,满足条件就执行,不满足就跳过。如果都不满足,则执行最后一个else例如:见书本69页。if嵌套语句一、if嵌套语句:基本格式:if () if() 语句1 else 语句2else if() 语句3else 语句4注意:if与else的配对关系。else总是与它上面的最近的if配对。例如:有一函数: -1 (x0)编一程序,输入一个x的值,输出y值。#includemain()int x,y; scanf(“%d”,&x); if(x0) y=-1; else if(x=0) y=0 else y=1; printf(“x=%d,y=%dn”,x,y);用switch语句实现选择一、switch语句的一般形式:switch语句是从多种可能的情况中选择满足条件的一种情况执行的多分支选择结构。程序中实现从两种以上情况中选一执行可以用多重嵌套的if语句,但不如用switch语句逻辑简单、结构清楚。switch语句的一般形式为:switch(表达式) case 常量表达式1:语句组1;break:case 常量表达式2:语句组2;break:case 常量表达式n:语句组n;break:default:语句组n+1:功能:计算表达式的值,如果该值和常量表达式对应的值相同,则执行相应的语句组后结束。如果和每一个常量表达式的值都不相同,则执行语句组n+1后结束。二、switch语句的使用要点:1、表达式常用的是字符型或整型表达式。2、常量表达式是由常量或符号常量组成的表达式,所有常量表达式的值必须互不相同。3、语句组是由若干个语句组成的,其中的语句可以是任何C语言语句(除定义语句),当然驰可以是另一个switch语句。4、break 是C语言的一种语句,其功能是中断正在执行的语句,在switch语句中的作用是:执行完某一个语句组后,将退出switch语句,如果省略了break语句,则执行完某个语句组后,将连续执行其后的所有语句组。5、default及其后的语句组可以省略。省略时,若表达式的值和n个常量表达式值均不相同,则该语句什么也不做。例题:main ( )int k=5,i=1; switch(k) case 1:i+; case 3:i+=3;case 5:i+=5;break;default:i+=7;printf(“i=%d”,i);while语句一、循环结构的含义:循环结构的含义是:重复执行某段程序,直到某个程序条件成为止的一种控制结构。循环结构有三种形式;当型循环结构、直到型循环结构、次数型结构。二、while语句基础知识:1、一般形式:while(表达式)循环语句体;2、执行过程:首先计算表达式,如果表达式值为非0(真)时,则执行其后面的循环语句体,然后再计算表达式的值,由表达式的值决定是否重复执行语句,直至表达式的值为0(假)时,才结束循环,如果进入循环前表达式值为0,则循环一次也不执行。3、特点:先判断表达式,后执行语句。三、使用while循环时就注意以下两点:1、循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。否则,循环只到while后面第一个分号处。2、语句中应有使用表达式为假的语句。否则会出现无限循环即“死”循环。1、main() int x=1,y=5,s=0; while(xy) x+;s=s+x; printf(“s=%d”,s);dowhile语句一、dowhile语句基础知识:1、一般形式:do 循环体语句while(表达式);2、执行过程:先执行一次循环语句,再判断表达式的值,若表达式为非0(真),再重复执行一次循环体语句。重复上述过程,直至表达式的值为0(假)时,结束循环。3、特点:不管表达式的值是否为0(假),循环体语句至少执行一次。二、dowhile语句与while语句区别:while语句先测试循环条件,后执行循环体,所以循环体可能一次都不执行;dowhile语句则相反,它先执行循环体,后测试循环条件,因此dowhile总是至少执行一循环体。dowhile语句循环与标准的直到型略不同,标准的直到型循环当条件成立时退出循环,而dowhile语句循环是当条件为假时退出。main() int a=2,i=1; do a=a+i;i+=3while(i13);printf(“%d”,a);main() int a=6,i=2; do a=a+i;i+=4while(i17);printf(“%d”,a);for语句一、for语句的基础知识:1、for语句的一般形式:for(表达式1;表达式2;表达式3)循环体语句注意:其中,3个表达式可以是C语言中任何有效的表达式,用于控制循环的执行,一般依次表示循环控制变量的实始值、循环条件和循环变量增量。for语句中表达式必须用“;”隔开。2、执行过程:(1)先求解表达式1.(2)求解表达式2,若其值为真,则执行for语句中指定的内嵌语句,然后执行下面第(3)步。若为假,则结束循环。转到第(5)步。(3)求解表达式3.(4)转回上面第(2)步骤继续执行。(5)循环结束,执行for语句的执行过程。二、for语句的变化形式:1、表达式为空。for循环的3个表达式都可以省略,但格式中的两个分号不能省。省略表达式1省略表达式3省略表达式1和3for语句n=1;for(;n=100;n+)sum=sum+n;for(n=1;n=100;)sum=sum+n;n+n=1;for(;n100)break; sum=sum+n;n=1;for(;)if(n100)break; sum=sum+n;n+处理方法在循环体内用if语句控制循环终止;修改否则造成无限循环。n初始化提前于体外;体内循环控制变量n2、使用逗号表达式。表达式1和3可以使用逗号表达式。3、使用其他表达式。表达式一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。main()int m,n; for(m=n=1;m=10)break; if(n%3=1)n+=3;continue;printf(“%dn”,m)#includemain()int i; float f,sum=0.0; for(i=1;i11;i+;)scanf(“%f”,&f);sum+=f; printf(“average=%fn”,sum/10);一、编一个程序输出下列图形:* * * *算法分析:用次数为4的循环控制输出图形的4行(外层循环);外层循环的循环体如下:用次数型循环输出该行的前导空格(内层循环); 用次数型循环输出该行的字符(内层循环); 输出回车换行键。上述算法实现的关键是计算出每行的前导空格数和字符数,可以使用下列方法:行数 1 2 3 4 i(行)前导空格数 0 1 2 3 i-1符号“*”数 2 4 6 8 2i#includemain()int i,j;for(i=1;i4;i+;)for(j=1;j=i-1;j+) printf(“ ”);for(j=1;j=2*i;j+) printf(“*”);printf(“n”);break语句一、break语句的基础知识:1、一般形式: break;2、功能:强制结束当前的循环,不再执行循环体中break后面的语句。二、break语句使用要点:1、break语句只能用在三条循环语句的循环体中或switch语句中。2、在循环体中单独使用本语句是无意义的。3、通常break语句是和单分支语句配合使用,从面构成第二个结束循环条件。例如:从键盘上输入若干个字符(以回车换行符作为结束),统计其中有效字符个数,有效字符是指第一个空格符前面的字符。若输入的字符中没有空格字符,则除回车换行符外的所有字符均为有效字符。#includemain()int n=0; char c; while(c=getchar()!=n) if(c= )break;n+;printf(“number of charter=%dn”,n);continue语句一、continue语句的基础知识:1、一般形式: continue;2、功能:路过continue之后的语句,重新判断循环控制条件,决定是否继续循环。二、continue语句使用要点:1、continue语句只能用在三条循环语句的循环体中。2、在循环体中单独使用本语句是无意义的。3、通常continue语句是和单分支语句配合使用,从而构成其后的部分循环体是否执行的单分支结构。例如:从键盘上输入不多于10个实数,求这些数的总和及其中正数的总和。若不足10个实数,则以输入0作为结束。#includemain()float sum,psum,x; int i; for(sum=psum=0.0,i=0;i10;i+)scanf(“%f”,&x); if(fabs(x)1E-5) break; sum+=x; if(xx2)max=x1 else max=x2; if(maxx2)max=x1 else max=x2; if(maxx3)max=x3; return(max);main()int x,y,z,w,m; scanf(“%d,%d,%d,%d”,&x,&y,&z,&w); m=max3(x-y,y-z,z-w);printf(“max=%dn”,m);
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!