《NCRE二级C程序语言程序设计.docx》由会员分享,可在线阅读,更多相关《NCRE二级C程序语言程序设计.docx(143页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、%伙二敍C程语言程序钺处第一考,程图世针泉糊金解程序的基本含义.程序:可以连接执行的一条条指令的集合称为“程序”源程序:把由高级程序语言编写的程序称为“源程序;目标程序:把二进制代码表示的程序称为“目标程序:目标文件:C源程序经过C编译程序编译之后生成一个后缀为.obj的二进制文件。可执行文件:.obj文件与C语言提供的各种库函数连接起来生成一个后缀为.exe的可执行文件。2,解算法的基本特点,学列算法的重要性.算法的基本特点:可行性effectiveness,确定性definiteness,有穷性finiteness,拥有足够的情报厶解程序化设计的三种基本结构。三种基本结构:顺序、选择、循环
2、解如何用饑流程图和n t流程图裹示三种基本结构.第二程方世针的初步和会I C程序的构成和格式(解简单的C程序的构成。主函数main() : C语言规定必须用main作为主函数名。其后的对圆括号可以是空,但 是不能省略。每个可执行的C程序必须有一个并且只能有一个主函 数。花括号():花括号0括起来的部分为函数体分号;:程序语句必须以分号;结束构成程序语句。(幻解main懸数的构成(S)正确书写程序中的注释注释:以说明变量的含义,语句的作用,程序的功能,从而帮助人们阅读和理解程序。注释必须放在Z和/之间,符号必须成对出现。2、常量(正确衰示+进制、进制、十六进制常量,掌握它们之间数擢的转换(2)正
3、确表示短整型、长整型、羌符号整型常量。解它们在网存中所占字节髄。掌握糠整 型、无符号整型常量的数值范国。(S)正确表示两种形式的实型常量常:指在程序运行过程中,其值不能改变的量。整型常:十进制:用连串的数字表示进制:用连串的数字表示,但开头必须是 十六进制:用数字和字母x(或大写字母X)开头。在C语言中,只有十进制数可以负数,而进制和十六进制数只能是整数。整型数据的分类:类型名称占用的字节数数值范围unsigned int421474836482147483647signed short int23276832767signed long int4-21474836482147483647un
4、signed int44294967295unsigned short int265535unsigned long int44294967295实型常量:小数形式:用小数点表示的实数。指数形式:在C语言中,以“e”或“E”后跟个整数来表示以10为底的毫数。C语言语法规定:字母e或E之前必须要有数字,且e或E后面跟着的必须是整数。标识将(正确识别语言的关镀字和颗定义标识将。(幻解用户标识符的定义规则,正确定义用户标识符.标识符:在C语言中,有许多符号的命名,如变量名、函数名、数组名等,都必须遵守一定的规则,按此规则命名的符号称为标识符。合法标识符的命名规则:标识符可以由型,数字和下划线组成,并
5、且第一个字符必须为 字母或下划线。C语言标识符的分类:关键字、预定义标识符、用户标识符(由用户根据需要定义的标识 符称为用户标识符,或自定义标识符b4、変量(正确理解“変量代表内存中的存储单元的概念(幻正确定义各种类型変量和各类实型変量。)解盛髄中畫量定义的债看,建立“変量必须先定义后使用”的概念.(掌握定义変量的同时给该変量臓初值的方法。变量:指在程序运行过程中其值可以改变的量。个变量实质上是代表了内存中的某个存储单元。整型变量:整型变量可以分为基本型、短整型、长整型和无符号型四种。基本型的整型变量定义:intk;/定义k为整型变量/实型变量:C语言中实型变量分为单精度型(floa和双精度型
6、(double )两种。在一般计算机系统中,float类型的变量分配4个字节的存储单元,double类型的变量分配8个字节的存储单元,并按实型数的方式存放数据。5、尊表达式(解算术這算符的表达规则、 优先级,解常用的数学盛数。正确写出C语言的算术表 达式(幻正确理解算术运算符两螂运算数类型不一数时的类型转後规则,解运算结果的类型。基本的算术运算符:+、/、%说明:1 )如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致。2)如果双目运算符两边运算数的类型不一致,系统将自动进行类型转换,使运算符两边的类型达到一致,再进行运算。3 )在C语言中,所有实型数的运算均以双精度方式进
7、行。若 是单精度数,则在尾数部分添。,使之转化为双精度数。运算符的优先级+-*/%上6、臓值表达式H)解C语言中赚值运尊符的操作规则及其优先舞。正确写出赚值袭达式。(2)正确理解臓值表达式的值。(S)掌握赚値运算两边类型不一致时的类型转换规则。(4)鱗复合赚值运算符的操作规则及其优先级。正确写出用拿合赚值运算将构成的臓值语 句,解其运算结果。赋值表达式:变名=表达式 说明:1)赋值运算符的优先级只高于逗号运算符,比任何其他运算符的优 先级要低,且具有自右向左的结合性。2 )赋值运算符不同于数学中的“等于号”,这里不是同等关系,而是“赋 予”的操作。3 )赋值表达式x=y的作用是,将变量y所代表
8、的存储单元中的内容 赋给变量x所代表的存储单元,x中原有的数据被替换掉。赋值后 y中的内容保持不变。4 )在赋值表达式x=x中,虽然赋值运算符两边的运算对象都是x ,但 出现在左边和右边的含义不同。5 )赋值运算符的左侧只能是变量,不能是常量或表达式。a+b=c是 非法赋值表达式。6)等号右边的表达式也可以是一个赋值表达式。7 )在C语言中,”号被视为一个运算符。a=19是一个表达式,表达 式必定有一个值。8 )C语言的赋值表达式可以作为语句中的某个成分出现在众多的语句 或表达式中,从而使变量中数值变化过程变得难于掌握。复合赋值表达式:+=、=、=、/=、%=(注意:符号之间不允许有空格、7、
9、自加自减运算(解自加、 自減运算符的操作规则及其优先级.正确写出自加, 自減运算表达式。(2)掌握自加 自減运算符的這算规律。(5)掌握自加 自滤运算表达式的值。1 )自加运算符“+”和自减运算符“-”的运算结果是使运算对象的值增1或减1.。2 )运算符“+”和“-”是单目运算符,运算对象可以是整型变量也可以是实型变量,但不能是常量或表达式。3)用自加或自减运算符构成表达式时,既可以前缀形式出现,也可以是后缀形式出现。 如+i和i+都是合法的表达式。无论是作为前缀运算符还是作为后缀运算符,对于变量本 身来说自加1自减1的效果相同,但作为表达式来说却有着不同的值。4 )运算符“+”和“-”的结合
10、方向是“自右至左:5)不要再个表达式中对同一个变量进行多次自加、自减运算8、强制类型转掾和逗号表达式(解强制类型的辑换的应用、 优先级,正确使用强制类型舞换.(解逗号运算的応用、优先级,正确写出逗号表达式.(S)掌握逗号表达式的规律和逗号表达式的值。转换规则:1)若运算符两边个是短整型,个是长整型,则将短整型转换为长整型,然后进行 运算。2)若运算符两边一个是有符号整型,个是无符号整形,则将有符号整型转换成无符 号整在C语言的赋值表达式中,赋值号右边的值先转换成与赋值号左边的变量相同的类型, 然后进行运算。应当注意:1 )当赋值号左边的变量为短整型,右边的值为长整型时,短整型变量只能接受长整型
11、 数低位上两个字节中的数据,高位上两个字节中的数据将丢失。2)当赋值号左边的变量为无符号整型,右边的值为有符号整型时,则把内存中内容原 样复制。右边的数值范围不应当超过左边的变量的数值范围。3)当赋值号左边的变量为无符号整型,右边的值为有符号整型,复制的机制同上。这 时若符号位为1 ,将按负数处理。逗号表达式:羨正式1,羨反2表达式n第三考; 为脩相I、臓值语旬(解赚值语旬的构成和运算规律。(幻正确运用婕值表达式语旬.赋值语句:変/名:袤达式;對數掘输出(I)掌握标准输出豳数prinH的调用形式.(幻掌握pcinM赢數中常用的格式说明。(S)掌握简单的输出格式设计.printf函数调用:pri
12、ntf(格式控制,输出项1,输出项2)printf输出语句:printf(格式控制,输出项1,输出项2;printf函数中格式控制的作用:-)给输出项提供输出格式说明:输出格式说明的作用是将要输出的数据按给定的格式输出。格式说明由“”符号和紧跟在其后的输岀描述符组成。二)提供需要原样输出的文字和字符:除了格式转换说明外,字符串中的其他字符(包括空格)将按原样输出。printf的各输出项之间要用逗号隔开(函数的各个参数之间必须要用逗号隔开printf函数中常用的格式)格式字符格式字符说明C输出个字符d或i输出带符号的十进制的整型数。Id为长整型,hd为短整型,%l64d为64位长整数(VC+4.
13、0以上版本输出nt64类型的整数)0以进制格式输出整型数,%不带先导 , %#加先导X或x以十六进制格式输出整型数。%x或%X不带先导Ox或OX , %#x或#X输出带先导Ox或OXoU以无符号十进制输出整型数f以带小数点的数学形式输出浮点数(单精度和双精度)E或e以指数形式输出浮点数(单精度和双精度数)1格式是:-m.ddddddexxxx 或者-m.ddddddExxx。小数位数(d 的个数) 由输出精度决定,隐含的精度是6.若指定的精度为,则包括小数点 在内的小数部分都不输出。xxx为指数,保持三位,不足补.若指数 为0 ,则输出为G或g由系统决定用f还是采用e (或者E )格式输出,以
14、使输出宽度最小。s输出个字符串,直到遇到“、:若字符串长度超过指定精度则自动突破,不会截断字符串。p输出变量的内存地址%也就是%形式,输出一个符号。-)长度修饰符在和格式字符之间,可加入长度修饰符,以保证数据输出格式的正确和对齐。对于长整型数(long )应该加1 ,即1d ;对于短整型数(short)可以加h ,即hd。三)输出数据所占寛度的说明当使用%d、c、f、%e、%s的格式说明时,输出数据所占的宽度(域 宽)由系统决定;通常按照数据本身的实际宽度输出,前后不加空格,并采用 右对齐的形式。1 )在和格式字符之间插入个整数常数来指定输出的宽度n。如果指定宽度 不够,将自动突破,保证数据完
15、整输出。如果指定的宽度n超过输出数据 的实际宽度,输出时将会右对齐,左边补以空格,达到指定的宽度。2 )对于float和double类型的实数,可以用“n1.n2”的形式来指定输出宽度(n1.n2分别代表个整常数),其中n1指定输出数据的宽度(包括小数 点),n2指定小数点后小数位的位数,n2也称为精度。对于f,e或E ,当输出数据的小数位多于n2位时,截去右边多余的小数, 并对截去部分的第一位小数四舍五入处理;当输出数据的小数位少于n2时, 在小数的最右边补。 ,使得输出数据小数部分的宽度为n2若给出的总宽 度n1小于n2加上整数位数和小数点(e或E格式还要加上5位),则自动 突破n1的限制
16、;反之,数字右对齐,左边补空格。也可以用“.n2“格式,不指定总宽度,仅指定小数部分的输出位数,由系统 自动突破,按照实际宽度输出。如果指定“n1.0或“.”格式,则不输出小数 点和小数部分。对于g或G,宽度用来指定输出的有效数字位数。若宽度超过数字的有效 数字位数,则左边自动补;若宽度不足,则自动突破。不指定宽度,将自动按照6位有效数字输出,截去右边多余的小数,并对截去部分的第一位 小树做四舍五人处理。3 )对于整型数,若输出格式是“On1”或“m2”格式,则如果指定的宽度超过输出 数据的实际宽度,输出时将会右对齐,左边补。对于float和double类型的实数,若用“ 0n1.n2”格式输
17、出,如果给出的总宽 度n1大于n2加上整数位数和小数点(e或E格式还要加上5位),则数字 右对齐,左边补对于字符串,格式“ n1”指定字符串的输出宽度,若n1小于字符串的实际长 度,则自动突破,输出整个字符串;若n1大于字符串的实际长度,则右对 齐,左边补空格。若用“m2”格式指定字符串的输出宽度,则弱n2小于字符 串的实际长度,将只输出字符串的前n2个字符。四)输出数据左对齐:如果想要左对齐,可以在格式控制中的“”和宽度之间加一 个“-”来实现。五)使输出数据带+号或一号:通常输出的数据如果是负数,前面有符号“-”,但正确 前面的“+”一般都省略了。如果要每个数前面都带正负号,可以在“”和格
18、式 字符间加一个“+”号来实现。printf函数使用的注意事项1 )输出格式为自动格式,是否在两个数之间留逗号、空格或回车,完全取决于 格式控制,如果不注意,很容易造成数字连在起,使得输出结果没有意义。2)格式控制中必须含有输出项对应的输出格式说明,类型必须匹配。3)在格式控制中,除了前面要求的输出格式,还可以包含任意的合法字符(包 含汉字和转义符),这些字符输出时将“原样照印:4)如果输出符号,可以在格式控制中用%表示。5) printf函数有返回值,返回值是本次调用输出字符的个数,包括回车等控制符。6)尽量不要再输出语句中改变输出变量的值。7)输出数据时的域宽可以改变。跳緡輸入(I)掌握标
19、准输入盛数/conf的调用形式。(2)掌握/conf巔繳中常用的格式说明(S)掌握使用/conf盛数进行数据输入的方法scanf函数调用形式:scanf(格式控制,输入句1,输入句2scanf函数语句:scanf(格式控制,册句1,留句2 ;scanf函数中常用的格式说明格式字符说明C输入一个字符。d输入带符号的十进制整型数。i输入整型数,整型数可以是带先导的八进制数,也可以是带先导Ox (或0X)的十六进制数。X以十六进制格式输入整型数,可以带先导Ox或0X ,也可以不带。0以进制格式输入整型数,可以带先导,也可以不带。u以无符号十进制形式输入整型数。f(lf)以带小数点的数学形式或指数形式
20、输入浮点数(单精度数用f,双精度数用If)e(le)同上s输入个字符串,直到遇到“、;若字符串长度超过指定的精度则自动突破, 不会截断字符串。说明:1)在格式串中,必须含有与输入项对应的格式转换说明符。2)在VC+6.0环境下,输入short型整数,格式控制要求用hd。要输入double型 数据,格式控制必须用%If (或Ie卜否则数据不能正确输入。3)在scanf函数格式的字符前可以加入一个正整数指定输入数据所占的宽度,但不可 以对实数指定小数位的宽度。4)由于输入的是个字符流,scanf从这个流中按照格式控制指定的格式解析出相应 数据送到指定地址的变量中。5)scanf函数有返回值,其值就
21、是本次scanf调用正确输入的数据项的个数。通过scanf函数从键盘输入数据-)输入数值数据:当用scanf函数从键盘输入数据时每行数据在未按下回车键(Enter 键)之前,可以任意修改,但按下Enter键后,scanf函数就接受到了这行数据, 不能再回去修改。在输入整数或实数这类数值型数据时,输入的数据之间必须用空格、回车符、制表符(Tab键)等间隔符隔开,间隔符个数不限。例如: scanf(%d%f%le, &k, &a, &y);若要给k赋值10 , a赋值12.3 , y赋值1234567.89 ,输入格式是:1012.31234567.89表示回车键。二)指定输入数据所占的寛度:可以
22、在格式字符前加入一个正整数指定输入数据所占的 宽度。三)跳过某个输入数据:可以在和格式字符之间加入“*”号,作用是跳过对应输入数据。四)在格式控制字符串中插入其他字符:scanf函数中的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,因此若想在屏幕上输出提示信息,应该先使用printf函数输出。复合语旬和空语旬(解复合语旬的飜念和构成特点(幻正确构成复合语旬.(S)解空语句的构成及其在程序中的作用.复合语句:在C语言中,对花括号“”不仅可以用作函数体的开头和结尾的标志,也可 用作复合语句的开头和结尾的标志。复合语句也称为“语句块其形式如:價 句1,语句2,语句3J空语
23、句:个分号称为一条语句,也称为“空语句”,程序执行时不会产生任何动作。程序设 计中有时需要加一个空语句来表示存在一条语句但是随意加分号也会导致逻 辑上的错误,而且这种错误十分隐蔽编译器也不会提示逻辑错误,需要慎用。I、C语言中的還辑值(正确理解“遗辑值”的含义.(2)掌握C语言中選辑值的表示方式.C语言的逻辑值:关系表达式和逻辑表达式的运算结果都会得到个逻辑值。逻辑值只有两个,“真”和假;C语言中没有专门的“逻辑值”,而是用非。表示真,用表示假。关系运算符符号说明大于=大于等于=等于!=不等于注意:由两个字符组成的关系运算符之间不允许有空格。关系运算符是双目运算符,具有自左至右的结合性。、=、
24、=的优先级相同,且高于=、! =算术运算符的优先级高,关系运算符的优先级次之,赋值运算符的优先级最低。2、关系运算和关系表达式(题记6个关系运算得及其它们的优先级和结合性.(幻掌握逻辑运算的运茸规则,正确计算各种形式的关系表达式的值.(S)境够根据条件列出关系表达式.逻辑运算将和遗辑表达式(熟记J个遷辑运算将及其它们的优先级和结合性.(幻掌握選辑运算的运算规律,正确计算各种形式的逐辑表达式的値。(S)議餘權擢桑件列出選辑表达式.C语言的逻辑运算符符号说明&与II或I非说明:其中&和|是双目运算符,!是单目运算符,出现在运算对象的左边。逻辑运算 符具有自左至右的结合性。优先级分别为:逻辑“非”最
25、高,逻辑“与”次之,逻辑“或”最低。 逻辑运算的表达式:由逻辑运算符和逻辑运算对象组成的称为逻辑表达式。逻辑运算对象是 C语言中的任意合法表达式。逻辑运算表达式的值:逻辑运算表达式的值或者为1 (“真”),或者为 (假”b若a , b为合 法表达式,则逻辑运算规则如下:ab!a!ba&ba|b非。非。0011非。001010010010非。1100在C语言中数学表达式0x10 ,无论x是什么值,表达式的值总是1应输入0x&x10才能正确表达该关系。4、“语句及其构成的分支结构(I)熟练底用两种基本形式的语句所构成的分支结构,幷理解其纨行过程。(2)熟螺应用嵌套形式的“语句所构成的分支结构,并理
26、解其执行过程。if语句的两种基本形式:(1) if(表达式)语句说明:if是C语言中的关键字,在其后的一对圆括号中的表达式可以是C语言中的 任意合法表达式。表达式之后只能是一条语句,称为if子句。如果该句中含有多个 语句,则必须使用复合语句,也即用花括号括起来,复合语句可以看作是一条语句。 执行过程:执行if语句时,首先计算紧跟在if后面的对圆括号里表达式的值。如 果表达式的值为非零(即为“真”),则执行后面的if子句,然后再执行if后面的一条 语句;如果表达式的值为0(即为“假”),则直接跳过if子句,执行if的下一条语句。if(表达式)语句1else语句2说明if和else是C语言中的关键
27、字。“语句1”称为if子句,“语句2”称为else子句, 这些子句只允许一条语句,若需要用多条语句,则应该使用复合语句。if-else语句的执行过程:执行if-else语句时,首先计算紧跟if后面的对圆括号里 表达式的值。如果表达式的值为非零(即为“真”),则执行后面的if子句,然后跳过 else子句,去执行if语句后的下一条语句;如果表达式的值为 (即为“假”),则直 接跳过if子句,去执行else子句,执行完后执行if语句后的下一条语句。if语句的说明:(1 ) if后面圆括号的表达式可以是任意C语言中的合法表达式,也可以是 任意类型的数据。(2 )无论是否有else子句,if后只能有一条
28、语句,且此语句后的分号不能省略。嵌套的if语句1、在if子句中嵌套具有else子句的if语句语句形式网妻达式if(表达式2)语句1else语句2else语句32、在if语句中嵌套不含else子句的if语句语句形式If(表达式1)if(表达式2)语句/花括号不能缺少,C语言中else总与最近的if配对。 else语句23、在else子句中嵌套if语句语句形式1 )内嵌的if语句带有elseif(表达式1)语句1elseif(表达式2)语句2else语句3或写成if(表达式1)语句1elseif(表达式2)语句2else语句32 )内嵌的if语句不带elseIf(表达式语句1elseif(表达式2
29、)语句2或写成if(表达式语句1elseif(表达式2)语句25、条件运算符和条件表达式(解条件运算符取及条件表达式的运算规则、优先级和结合性。(幻融练应用条件表达式所构成的分支结构,并理解其摭行过程。条件运算符:条件运算符由两个运算符组成,它们是:Zo这是C语言提供的唯一的三 目运算符,要求有三个运算对象。由条件运算符构成的条件表达式:麦达式1?表达式2:表达式3条件表达式的运算功能:当“表达式1”的值为非零时,求出“表达式2”的值,此时,“表达式2” 的值就是整个表达式的值;当“表达式1”的值为零时,则求表达式3”的值,此时,把“表达 式3”的值作为整个表达式的值。条件运算符的优先级:条件
30、运算符优先于赋值运算符,但低于算术运算符和关系运算符。6、/witch语句和用/witch与break语句构成的选择结构(I)掌握,uitch语旬的组成形式,幷理解其纨行过程。(幻熟螺应用由,(vitch与break语句枸成的选择结构,幷理解其执行过程。switch 语句:语句形式switch(表达式)(case営童表达式1:语句1 case常表达式2:语句2 case常表达式n :语句ndefault 语句 n+11说明(1 )switch是C语言中的关键字,switch后面花括号括起来的是switch的语句体。(2 )紧跟switch的圆括号里的表达式可以是整型表达式及字符型表达式,括号不
31、能省略。(3 )case也是关键字,与其后面的常量表达式合称为case语句标号。常量表达 式的类型必须和switch后面的括号里的表达式的类型相同,各case语句标 号的值各不相同。(4 ) default也是关键字,起标号的作用,代表所有标号case之外的那些标号。 default标号可以出现语句的任何标号位置上。在switch语句体中也可以没 有default标号。(5 ) case语句标号后的语句1、语句2等,可以是一条语句,也可以是多条语 句。(6 )必要时,case语句标号后的语句可以省略不写。(7 )在case和常量表达式之间一定要有空格。switch语句的执行过程:当执行swit
32、ch语句时,首先计算紧跟其后对括号中的表达式 的值,然后再switch语句体内寻找与给值吻合的case标号。如果有与该值 相等的标号,则执行该标号后开始的各语句,包括在其后的所有case和 default中的语句,直到switch语句体结束;如果没有与给值相等的标号, 并且在default标号,则从default标号后的语句开始执行,直到switch语 句体结束;如果没有与该值相等的标号,同时又没有default标号,则跳过 switch语句体,去执行switch语句之后的语句。在switch语句中使用break语句:break是C语言关键字,break语句又称作间断济也。 可以将break语
33、句放在case标号之后的任何位置,通常是在case之后的 语句最后加上break语句。每当执行到break语句时,立即跳出switch语 句体。switch语句通常总是和break语句联合起来使用,使得switch语句 真正实现分支的作用。语句标号:在C语言中,任意合法标识符加上冒号,就形成标号。一般标号用作got。语 句的转向目标。goto语句:由于goto语句使得程序毫无规律,可读性变差,应尽量不用goto语句。第循林結构I while 舜(掌握while楣环结构,并解其执行过程。(幻瓢练使用while构造循环结构.while (当)循环的一般形式:while (表达式)循环体说明:(1
34、) while是C语言的关键字。(2 ) while后对圆括号中的表达式可以是C语言中的任意合法表达式,但不能为 空,由它来控制循环体是否执行。(3)在语法上,循环体只能是一条可执行语句,若循环体内有多个语句,应该使 用复合语句。while循环的执行过程:(1)计算while后括号中的表达式的值,当值为非时,执行步骤(2);当值为 时,执行步骤(4 (2)执行循环体次。(3)转去执行步骤(1 (4)推出while循环。while循环一般用于事先不知道循环次数的循环。经典例题:1、计算+ 22 +42、解方程x = cosx3、已知q = -: +1 +厂求pi2、do-uihile 楣环H)掌
35、握do-uihile循环结构,幷解其摭行过程(2)熟练使用dbwhile梅造循环结构.do-while循环的形式:do健环体while (表达式);说明:1、do是C语言的关键字,必须和while联合使用。2、do-while循环由da开始,至while结束。必须注意的是:在while (表达式)后的,13、while后的对圆括号中的表达式,可以是C语言中的任意合表达式,由它控制循环是 否执行。4、按语法,在do和while之间的循环体只能是一条可执行语句。若循环体内需要多个语 句,应该使用复合语句。do-while循环的执行过程1、执行d。后面循环体中的语句。2、计算while后对圆括号中表
36、达式的值。当值为非零时,转去执行步骤(1 ),当值为0 时,执行步骤(3 ).3、退出do-while循环。经典例题:计算Fibonacci数列 直到某项值大于1000为止 并输出该项的值。其中Fibonacci 数列:=-l+/n-2.#include int main(void)(int f1,f2,f;f1=0,f2=1;dof=f1+f2;f1=f2;f2=f;while(f2=1000);printf(,F=%dn,f2);return 0;5、f。,循环(掌握出循环结构,并解其樵行过程.(2)瓢练使用,。构造循环结构.For循环的形式:for(表达式1;殿性C2;乗3循环体for循
37、环的执行过程:1、计算表达式1.2、计算表达式2 ,若其值为非零,转步骤3.3、执行一次for循环体。4、计算表达式3 ,转向步骤2.5、结束循环。有关for语句的说明:1, for语句中的表达式可以部分或全部省略,但两个“;不能省略。2、for后对圆括号中的表达式可以是任意C语言中合法表达式。经典例题:求1+2+3+4+5+100#include int main(void)int i,sum;sum=0;给sum 个初值for(i=i;i=ioo;i+)sum=sum+i;printf(sum=%dn,sum);return 0;循环條營(熟练使用各种緡环结构构造嵌套的循环.(幻解巖客循环
38、的摭行过程.5% brook 和 continue 语旬(解b-k和continue语旬在循环机构中的作用 (幻掌握break和continue语句的使用。break语句的使用说明:1、只能在循环体内和switch语句体内使用break语句。2、当break出现在循环体中的switch语句体内时,其作用只是跳出该switch与具体,并 不能中止循环体的进行。若要强行中止循环体的进行,可以在循环体中,但并不在switch 语句中设置break语句,满足条件则跳出本层循环体。continue语句:continue语句的作用是跳过本次循环体中余下尚未执行的语句,立刻进行 下一次的循环条件的判定,可以
39、理解为仅结束本次循环。注意:执行continue语句并没有 使得整个循环终止。在while和do-while循环中,continue语句使得程序直接跳到循环控制 条件的测试部分,然后决定循环是否继续进行。在for循环中,遇到continue语句时,跳过 循环体中余下的语句,而是对for语句中的表达式3进行求职,然后进行表达式2的测试, 最后根据表达式2的值来决定for循环是否执行。在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break语句不同。第厶*,生符型裁謂I、字符常量和変量(解C语言中字符常量代表,SCII字符集中的个字符.记住空格字符、 字倒心
40、字图0换行、 数字的MCII鹘的値。(幻正确表示语言的字袴常量.(S)正确表示语言中的特律字符常量一辑义字符。(4)正确定义字符変量。字符常 : C语言中,个字符常量代表ASCII字符集中的个字符,在程序中用单引号把个字符括起来作为字符常量。例如字母A ,在程序中写成A。说明:1、单引号中的大写字母和小写字母代表不同的字符常量。2、单引号中的空格,也是一个字符常量,但不能写成“连续的两个单引号b3、字符常量只能包含一个字符常量。4、字符常量只能用单引号括起来,不能用双引号括起来。5、字符常量在系统中占有一个字节,存放的是字符的ASCI!码值。字符十进制二进制进制十六进制A65100000110
41、141a97110000114161Space3210000040200481100006030转义字符常量:转义字符又称反斜杠字符,用来代表某个特定的ASCII码字符,这 些字符常量必须括在单引号内。字符形式功能n回车换行t横向跳若干格(代表“ Tab ”键)v竖向跳格V回车符f换页符b退格符(代表“Backspace键)反斜杠字符V单引号(撇号)字符双引号字符ddd三位进制数代表的个ASCII字符Uhh二位十六进制数代表的个ASCII字符O空值,其ASCII码值为注意:1、转义字符常量,如n,101,141只表示一个字符。2、反斜杠的进制数可以不用开头。也即在对单引号内可以用反斜杠后跟个
42、进制数来表示个ASCII字符。3、反斜杠后的十六进制数只可以由小写字母x开头,不允许用大写字母X ,也不能用 Ox开头字符串常量:字符串常量是由双弓I号括起来的串字符。在printf和scanf中的“%d%d”也 是字符串常量。在C语言中,系统在每个字符串的最后自动加入一个字符、。作为字符串的 结束标志。两个连续的双引号是个字符串常量,称为“空串”,但要占个字节的存储空 间来存放、品字符数据的基本运算(字大小写之间的转换.(幻通过对个字图加或減个整數聴换成另一个字图.(S)把+IU内的整斂转换成対应的数字字符.(4)杷歡字字将转换成对应的整数.(5)判断个字符畫量的值是否为某个指定的李图.(6
43、)判断个字符変量的値是否为数字字符.(7)判断个字符变量的值是否为大写字图或者小写字图。字符变量:C语言中,字符变量用关键字char进行定义,在定义的同时可以赋初值。字符 变量在内存中占一个字节,可以存放ASCI!字符集中的任意字符。当把字符放在字符变量 中时,字符变量中的值就是该字符的ASCII代码值,所以字符变量可以当作整型变量来处 理。程序举例:1、输出26个大写字母和它们的ASCII ,每行输出两组数据。#include int main(void)(char ch;int i;for(i=0;i26;i+)(ch=i+65;if(i%2=0)printf(HnH);printf( c
44、=%c ASCII=d”,ch,ch);)putchar(n);return 0;2、将输入的小写的字母变为大写字母。#include int main(void)char c;while(c=getchar()!=,n,)(if(c=a&c=z)c=c-a+*A;putchar(c);putchar(n);return 0;3、把串密码翻译成正文,密码以字符结束。(1 )如果是字母,则将字母翻译成该字母的下个字母。(2 )如果是字母Z ,则翻译成字母A。(3)无论大小写字母都翻译成小写字母。(4 )其他字符一律照原样翻译。#include #include int main(void)char c;c=getchar();while(c!=*)(if(isalpha(c)(c=tolower(c);c=(c-a+1)%26+,a;putchar(c