




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、 预处理指令文件包含(1) 作用:提供给用户的一批用于实现常见功能的函数。 (2) 格式:#include<文件名.h> 或 #include "文件名.h" 或 #include "文件名.c" 或 #include "文件名.c"(3) 补充:a) 要调用函数,必须拥有此函数相应的代码,以及函数声明。若被调用函数在主调函数上方,则函数声明可以省略。C语言将功能相近的库函数作为一类,并且整理成一个文件,只要书写相应代码。在“编译”的预处理阶段,会用该文件包含的函数代码进行替换,用户只需选择相应的文件以及会使用该文件内
2、的函数即可,不必重新编写相应代码。b) 用户也可以将功能相近的函数作为一类,整理成相应的文件。c) 使用C语言整理库函数形成的文件规定用“h”结尾,使用用户整理函数形成的文件用规定“c”结尾,不能为其它,否则报错。d) 末尾不能加“;”,这不是C语句组成之一,否则报错。e) 不能使用不存在的文件名,否则报错。f) “" "”与“< >”的区别:将文件内包含的函数代码替换文件包含,首先要找到该文件。使用“" "”,从包含此代码的源文件所在的目录开始查找;使用“< >”,从C语言整理库函数形成的文件所在的目录开始查找。为了提高“编译”
3、效率,使用文件包含时要合理选择。g) C语言提供的库函数多种多样,而且不同的软件也对C语言提供的库函数进行扩充。因此,本文会在相应的地方介绍一些常用的库函数以及使用方式,并且和一些使用方式极其简单的函数整理成附录B。h) 文件包含一般写在代码的最上方,这样可以不用书写函数声明,减少工作量。(4) 举例:如stdio文件中包含许多实现输出输入的函数,是实现人机互动的关键,所组成的C语句称为输出语句和输入语句。下面介绍几种最常用的输出输入函数。二、 输出函数(1) 由printf函数构成的输出语句:a) 作用:输出相应的结果。有多种使用格式,这里只介绍最常用且不易出错的。b) 格式:printf(
4、格式控制,输出列表)c) 举例:格式上不易理解,先以一个简单的输出语句为例,再补充。代码:结果:d) 补充:i. 使用printf函数时需书写相应的文件包含,如:“#include<stdio.h>”或“#include" stdio.h"”,否则报错。ii. printf函数是int型函数,使用方式为函数调用,输出成功时,返回值为输出字符的个数。否则,返回值为负数,一般只有高级程序员才会对返回值进行分析。iii. 格式控制的本质是字符串。包含普通字符以及格式说明字符,对于普通字符进行原样输出,格式说明字符被输出列表相应的值替换后再输出,若输出列表的值的数据类型
5、与相应的格式说明字符代表的数据类型不符,则将输出列表的值自动转换成其数据类型与相应的格式说明符代表的数据类型相等的中间值,用中间值对格式说明字符进行替换输出。iv. 格式说明字符以“%”开头,后面紧跟着格式字符,常用的有以下几种:种类说明c输出值对应的字符s输出字符串hd、d、ld、ldd输出有符号短整型、基本整型、长整型、双长整型的十进制数hu、u、lu、llu输出无符号短整型、基本整型、长整型、双长整型的十进制数ho、o、lo、llo输出无符号短整型、基本整型、长整型、双长整型的十进制数对应的八进制数,不带前缀0#ho、#o、#lo、#llo输出无符号短整型、基本整型、长整型、双长整型的十
6、进制数对应的八进制数,带前缀0hx、x、lx、llx或hX、X、lX、llX输出无符号短整型、基本整型、长整型、双长整型的十进制数对应的十六进制数,不带前缀0x或0X,用x时输出字母为小写,用X时输出字母为大写#hx、#x、#lx、#llx或#hX、#X、#lX、#llX输出无符号短整型、基本整型、长整型、双长整型的十进制数对应的十六进制数,带前缀0x或0X,用#x时输出字母为小写,用#X时输出字母为大写f、lf、llf以小数形式输出单精度、双精度、双长精度浮点数。整数部分全部输出,小数默认输出六位e或E以指数形式输出浮点数,用e时输出指数为e,用E时输出指数为E%输出一个%v. 上面例子的输
7、出过程如下:在格式控制中寻找格式说明,将输出列表的值按照格式说明的要求进行替换,若数据类型相等,直接进行替换,否则自动转换成数据类型相等的中间值进行替换,再全部输出。printf("a=%d,b=%d",a,b)变量a,b都为int型变量,即有符号的基本整型变量,和输出要求的数据类型一致,用与其值相等的十进制数进行替换,不必自动转换,其余原样输出。vi. 输出列表由带有值的对象组成,各个对象以“,”隔开,否则报错。vii. 格式控制中格式说明的数量(除了“%”)可以小于输出列表中值的个数,对于没有对应到的值不给予输出,如下:代码:结果:格式控制中的格式说明只有两个,分别对应
8、输出列表的变量a和b,而输出列表的变量c无格式说明与之对应,不给予输出,“,”进行原样输出。viii. 格式控制中格式说明的数量(除了“%”)可以大于输出列表中值的个数,但是会得到莫名其妙的结果,如下:代码:结果:因此,在使用时,最好保证格式控制中格式说明的数量与输出列表中值的个数相等,而且值的数据类型与相应的个格式说明的数据类型也应相等,这样使用最规范。ix. 格式控制中可以没有格式说明(除了“%”),用来实现一些提示,如下:代码:结果:x. 格式控制中可以出现转义字符,输出转义字符对应的字符,但是对于不能通过相应的按键直接打出的非正常字符,则输出它相应的功能,如:输出“n”会换行,输出“t
9、”相当于输出4个空格。如下:代码:结果:xi. 尽量不要在输出列表中改变输出变量的值,否则会造成输出结果的不确定。如下:代码:结果:对于输出列表的值,是按照从右至左的顺序进行扫描的,在扫描第一个值a=a+2时已经改变了变量a的值,因此最后输出结果为10 10,而不是8 10。格式控制中两格式说明之间的空格原样输出。xii. 值对格式说明进行替换时,不仅可以原样替换,还可以控制替换时的样式。数据类型操作整型在“%”和格式字符间加上一个正整数“n”代表输出数据宽度(1) n小于实际宽度,自动突破,原样替换。(2) n大于实际宽度,加上空格补充。(3) n为右对齐,-n为左对齐。浮点型(一)在“%”
10、和格式字符间加上正整数“n1.n2”代表指定宽度,n1代表输出数据宽度(包括小数点),n2代表小数点后小数位数。(1) n2小于小数位数,进行四舍五入。(2) n2大于小数位数,添加0。(3) n1小于n2加上整数位数和小数点,自动突破,原样替换。(4) n1大于n2加上整数位数和小数点,加上空格补充。(5) n1.n2为右对齐,-n1.n2为时为左对齐。浮点型(二)(1) 在“%”和格式字符间加上正整数“.n2”,限制输出的小数部分,按上面(1)(2)进行。(2) 当n2为0时,不输出小数和小数点。(3) .n2为右对齐,-.n2为左对齐(4) float和double的有效数字为6和15位
11、,如以“%.50lf”输出50位小数时,系统只能保证前15位为正确的,后面的不能保证。字符与字符串型在%和格式字符间加上一个正整数“n”代表输出数据宽度,用法和整数型一样。xiii. 举例:列举几种常见的输出情况并给予分析。1. 未自动突破时的右对齐与左对齐:未自动突破时,值按照满足格式说明所要求的值,进行控制替换输出,更加美观。代码:结果:分析:变量a和变量b的值符合要求,不给予自动转换。十进制下值的长度为1,输出指定长度为4,未超过,用空格给予补充,输出时为右对齐,空格补充在值前面,值在右边。上图数字8和3前面各有三个空格。若在输出指定长度前面添加“-”,则进行左对齐,如下:代码:结果:分
12、析:数字8和3后面都带有三个空格,也可以一个左对齐一个右对齐,如下:代码:结果:分析:数字8前面与数字3后面都带有三个空格,但是显示结果使用户认为是83。所以对于未自动突破下的左对齐或右对齐,要进行统一使用,或者在格式说明之间加上普通字符进行原样输出以便用户区分。2. 自动突破:若自动突破,则无论左对齐或右对齐都无效,值按照满足格式说明所要求的值,进行原样替换输出。代码:结果:分析:变量a和变量b的值符合要求,不给予自动转换。在十进制下值的长度都为4,输出指定长度为2,超过,进行自动突破,用1000替换%-2d,用2000替换%2d,最终输出结果为10002000。3. 浮点数的四舍五入代码:
13、结果:分析:变量a的值符合要求,不给予自动转换。要求输出小数长度为2,小于小数位数,对第三位小数进行四舍五入。输出3.15。若要求输出小数长度大于小数位数,则添0补充。如:变量a的值为3.1时,输出结果为3.10。4. 输出字符串的本质:代码:结果:分析:格式控制为“%s”,输出列表为“你好”,都是是字符串常量,字符串常量的值由第一个字符所在的存储空间的地址决定,运用“%s”进行输出时,会从此地址开始,依次输出每个字符,直到遇到“0”(结尾标志)为止,便停止输出,“0”不输出,若字符串常量中有“0”,输出时会发生“截断”,如下:代码:程序:5. 利用变量指定输出长度:代码:结果:分析:前面例子
14、都是用具体的数字控制输出长度,若将数字改成“*”,会以输出列表的值代替此“*”动态控制输出长度,若其值不为整型,则进行自动转换,用中间值进行代替。若能熟练地控制值输出的样式,会使程序运行结果十分美观,反之,在格式说明之间加上普通字符进行原样输出也能让用户进行区分,但操作复杂,综合上面的讨论,现在用算法描述输出语句进行处理时的步骤,前提条件是输入语句无语法错误且规范。S1:执行输出语句,依次处理输入语句中格式控制的对象。S2:获取处理对象,若为普通字符,转S3,否则,转S4。S3:输出普通字符,若格式控制对象处理完毕,转S5,否则转S2。S4:将输出列表中相对应的值按照格式说明的要求进行替换并输
15、出(%除外),若格式控制对象处理完毕,转S5,否则转S2。S5:输出语句执行完毕。执行下一句C语句,若无,程序运行结束。(2) 由putchar函数构成的输出语句:a) 作用:使可执行程序运行时,输出对应的字符。b) 格式:putchar(值)c) 补充:i. putchar函数为int型函数,使用方式为函数调用。输出成功时,返回值为该字符对应的ASCII码,若出错,返回值为-1,一般只有高级程序员才会对返回值进行分析。ii. 若值不为整型,则进行自动转换,输出中间值对应的字符。iii. putchar函数一次只能输出一个字符,若要输出多个字符,多书写几句,或者用printf函数输出多个字符或
16、字符串。d) 举例:代码:结果:分析:值为97.6,自动转换为整型,直接取整数部分,不会四舍五入,输出中间值97对应的字符,即'a'。putchar(值);相当于printf("%c",值);,是一种简写形式,使用方式十分简单,不易出错。三、 输入函数(1) 由scanf函数构成的输入语句:a) 作用:可执行程序运行时遇到输入语句,执行框会有闪烁的光标提示用户输入数据,以输入回车符(敲回车键)代表输入结束,用于给变量赋值。也有多种使用格式,这里只介绍最常用且不易出错的。b) 格式:scanf(格式控制,输入列表)c) 举例:同样的,格式上也不易理解,先以一个
17、简单的输入语句为例,再补充。结果:程序与分析:可执行程序运行时,从main函数其函数体开始运行,执行第4行,声明语句,定义变量a,执行第5行,输入语句,光标进行闪烁提示用户输入数据,如下:在用户敲下回车键后会将数据进行传送,回车符也会一起传过去,系统根据所得到的数据对变量进行赋值。如:可从键盘上输入50<CR>。此处<CR>代表回车符,可用回车键进行输入。第一行的50是用户输入的结果,在敲下回车键后,光标进行换行,传送数据50<CR>。将50赋值给变量a,第5行执行完毕,执行第六行,输出变量a的值,在第二行输出50。d) 补充:i. scanf函数的格式控制
18、,本质是字符串,和printf中的格式控制一样。也分为普通字符和格式说明字符。格式说明字符以“%”开头,后面紧跟着格式字符,常用的有以下几种种类说明组成部分c读取一个字符任意字符s读取字符串 见下文hd、d、ld、lld读取有符号短整型、基本整型、长整型、双长整型的十进制数“09”、“-”、“+”hu、u、lu、llu读取无符号短整型、基本整型、长整型、双长整型的十进制数“09”ho、o、lo、llo读取无符号短整型、基本整型、长整型、双长整型的十进制数对应的八进制数“07”,不用输入前缀hx、x、lx、llx或hX、X、lX、llX读取无符号短整型、基本整型、长整型、双长整型的十进制数对应的
19、十六进制数 “09”、“a(A)f(F)” ,不用输入前缀f、lf、llf读取单精度、双精度、双长精度浮点数,输入可用小数形式或指数形式“09”、“e或E”、“.”、“-”、“+”ii. 输入数据缓冲区:用于存放用户输入数据的区域。用户在敲下回车键后,相关内容可看成以没有结尾标志的字符串进入输入数据缓冲区,光标自动换行。如上输入50<CR>后,输入数据缓冲区如下:50<CR>系统会根据格式控制中的要求从第一个字符开始读取,若能获取到合理的值,则赋给输入列表中相应的变量。当输入数据缓冲区被读取完毕后,若输入列表中还有变量未被赋值,则光标继续闪烁,提示用户继续输入数据。读取
20、规则大致如下:对于数值型数据,以数字字符(属于组成该类数值的字符)开始到空白字符(空白字符:可执行程序中不会显示的字符,代表着相应的作用,有:空格符(间隔),回车符(换行)制表符(通过tab键输入,相当于4个空格符)或非数字字符结束;对于字符型数据,只读取一个字符;对于字符串,以非空白字符开始到第一个空白字符结束。iii. 用户在敲下回车键之前,可以用退格键(Backspac)对数据进行修改,防止出错。iv. 取地址运算符&1. 作用:获取变量对应的存储空间的地址。2. 格式:&变量3. 种类:单目运算符4. 要求:出现在右边的只能是变量,否则报错。5. 补充:利用输入语句或是
21、赋值语句对变量进行赋值操作时,需要获取相应的地址。在赋值语句中,左值被自动处理成相应的地址。而在输入语句中,则需要利用取地址运算符获取相应的地址,才能对变量进行赋值操作。6. 举例:可利用printf函数输出变量对应的存储空间的地址,如下:代码:结果:分析:变量a对应的存储空间的地址在十进制下为2293324。变量在分配存储空间时,必须先找到能满足需求且处于空闲状态的一段电子器件,然后改变这些电子器件的状态,以开头第一个电子器件的地址作为变量的地址。因此,对于未赋值的变量,不仅其值具有随机性,连对应的存储空间的地址也有随机性。补充:再次对源文件编译运行后,发现结果没有变化。这里的随机性是指,对
22、于不同的源文件,即使内容一样,但是内部各个变量对应的存储空间的地址以及初始值都不一样,甚至在不同计算机上编译运行同一个源文件,上述也有随机性。v. 举例:通过输入情况以及输出结果进行详细分析。1. 单个整型数的简单输入:代码:程序运行与分析:执行第3行的输入语句,光标闪烁提示用户输入数据直接敲下回车键,光标进行换行,输入数据缓冲区如下:<CR>格式控制是“%d”,读取有符号的基本整型十进制数,以“09”、“-”、“+”为组成部分,输入数据缓冲区从第一个字符开始扫描判断,以数字字符开始到空白字符或非数字字符结束,读取不到数值型数据,清空。仍继续闪烁提示用户输入数据,再次输入,输入数据
23、缓冲区如下:3<空格符>500<CR>输入数据缓冲区从第一个字符开始扫描判断,以数字字符开始到空白字符或非数字字符结束,将3作为有符号的十进制数赋给变量a,后面的空格符为空白字符,结果如下:在将3赋值给变量a后,输入数据缓冲区更改如下,若再次遇到输入语句,会继续按照要求读取,当输入数据缓冲区被读取完毕后,若输入列表中还有变量未被赋值,则光标闪烁,提示用户继续输入数据。程序运行结束后,也会对输入数据缓冲区清空,释放其存储空间。<空格符>500<CR>读入数值(整型和浮点型)时,若数据缓冲区开头若干位为空白字符,进行无视。如下:输入数据,数据缓冲区如
24、下:<空格符><空格符><制表符>123<CR>执行输入语句,格式控制是“%d”,读取有符号的基本整型十进制数,此时数据缓冲区开头三位为空白字符,进行无视,此时数据缓冲区相当于,同理进行:123<CR>2. 单个整型数的复杂输入代码:程序运行与分析:输入数据,输入数据缓冲区如下:A<CR>格式控制是“%x”,无符号的十六进制数值型数据,以“09”、“a(A)f(F)”为组成部分,输入数据缓冲区从第一个字符开始扫描判断,以数字字符开始到空白字符或非数字字符结束,将A作为无符号的十六进制数赋给变量a,即将无符号的十进制数10赋
25、值给变量a,后面的回车符为空白字符,对于“%o”则以“07”作为组成部分,结果如下:这里变量a为无符号的整型变量,是为了与所赋数值在数据类型上保持一致,更加规范,避免意想不到的情况发生。不过人们在编程时存储整型数据时最常用的为int型,因此,输入整型数据时常用的格式控制为“%d”。这里只是介绍一下其余情况,做个补充。3. 单个字符的输入代码:程序运行与分析:输入数据,输入数据缓冲区如下:1!<CR>格式控制中第一个是“%c”,是字符型数据,输入数据缓冲区从第一个字符开始扫描判断,只读取一个字符,最终将1作为字符赋给变量a,输入数据缓冲区更改如下:!<CR>对于字符变量的
26、输入十分简单,注意<CR>也是字符,相当于n。4. 短整型、长整型、双长整型、单精度、双长精度数的输入对于短整型、基本整型、长整型、双长整型八进制、十进制、十六进制数以及单精度、双长精度的浮点数,在输入时不必加后缀进行区分,只要范围合理并且规范即可。由系统给予自动转换。若超越范围,则发生“截断”现象。代码:结果:分析:输入数据,输入数据缓冲区如下:10L<CR>不读取后缀,将10L(由10自动转换而来)赋给变量a。输入数据缓冲区更改如下:L<CR>将L赋给变量c,输入数据缓冲区更改如下:<CR>输出变量a和变量c,程序运行结束,清空输入数据缓冲区
27、并释放变量。5. 带有普通字符的输入C语言规定,输入时,若格式控制有普通字符,则输入数据时,必须在相应位置上有该字符,否则会得到错误的结果。代码:结果:分析:输入数据,数据缓冲区如下:.10<CR>在输入语句的格式控制中遇到“%d”之前有三个连续的“.”,必须先从数据缓冲区读取三个连续的“.”后,才能开始读取有符号整型十进制数。读取普通字符后,数据缓冲区更改如下:10<CR>将10赋给变量a,数据缓冲区更改如下:<CR>输出变量a的值,程序运行结束,清空数据缓冲区并释放变量。输入语句的格式控制中有普通字符时,若读取有误,会导致赋值结果不正确。如下:6. 单个
28、浮点数的输入:代码:结果:程序运行与分析:输入数据,输入数据缓冲区如下:3.14<CR>浮点型数据读入较复杂,为说理清晰,采用if-else语句描述以小数形式进行输入的读取过程,对于指数形式的读取方式,本文不做探讨。if(先读取到有符号整型十进制数m(由“09”、“-”、“+”组成)m作为整数部分if(整数部分后面紧跟着.且后面紧跟无符号整型十进制数n)n作为小数部分if(n的长度大于有效数字的位数)对小数部分四舍五入,进行赋值else用m.n对进赋值else用m进行赋值else if(先读取到. 、-.、+.且后面紧跟无符号整型十进制数n)n作为小数部分if(n的长度大于有效数字
29、的位数)四舍五入,进行赋值else用0.n或-0.n进行赋值else用0进行赋值注意,上述赋值时,还有自动转换的过程,以小数形式输出浮点数时,小数部分默认输出前六位,不足时,添0补充。7. 单个字符串的输入:C语言没有字符串变量,对于字符串的输入,见第九章。以非空白字符开始到第一个空白字符结束。读入字符串时,若数据缓冲区开头若干位为空白字符,进行无视。8. 多个值的输入上面介绍的输入语句只读入单值,不易出错。但多个变量都需要赋值时,书写多句会显得代码冗杂,因此有必要掌握含有多个值的输入语句的使用方法,就像含有多个字的输出语句一样。下面讨论时未考虑混有字符串型的,但是相信读者在看完本节与第九章后
30、自己不难得出规律。1) 多个数值型的输入对于多个数值型的输入,必须使用恰当的手段分隔各个数值,避免系统当成一个整体进行读入,有两种方法:输入语句的格式控制中带有普通字符,输入数据时运用空白字符。代码:结果:分析:输入数据,数据缓存区如下:100,200,3.14输入语句的格式控制为“%d,%d,%lf”,从前往后依次处理,首先处理“%d”,读取有符号整型十进制数,从数据缓冲区中读取100赋给变量a,数据缓冲区更改如下:,200,3.14再处理“,”,从数据缓冲区中读取一个“,”,数据缓冲区更改如下:200,3.14再处理“%d”,同理下去,当输入数据缓冲区被读取完毕后,若输入列表中还有变量未被
31、赋值,则光标闪烁,提示用户继续输入数据,直至变量全被赋值,输入语句执行完毕。在实际应用时,要有良好界面提醒用户,否则极易出错,完善后代码如下:当然也可以用别的符号作为分隔,甚至不用符号做分隔。代码:结果:分析:输入数据,数据缓冲区如下:-3空格符10制表符3.14<CR>输入语句的格式控制为“%d%d%lf”,从前往后依次处理,首先处理“%d”,读取有符号整型十进制数,从数据缓冲区中读取-3赋给变量a,数据缓冲区更改如下:空格符10制表符3.14<CR>若开头若干个字符为空白字符,在读取数值时,进行无视,但是读取字符时不一样,因为空白字符本身也是字符,能赋给字符型变量。
32、再处理“%d”,数据缓冲区开头第一位空格符为空白字符,进行无视,此时的数据缓冲区相当于:10制表符3.14<CR>读取有符号整型十进制数,从数据缓冲区中读取10赋给变量a,数据缓冲区更改如下:制表符3.14<CR>同理进行下去。实际上三种空白字符可以相互替换,只不过使用<CR>时,会将数据进行传送,光标换行。2) 多个字符型的输入对于多个字符型的输入,不能使用空白字符的手段进行分隔,因为空白字符本身也是字符,但可以在输入语句的格式控制中使用普通字符进行分隔或不分隔。代码:结果:分析:输入数据,数据缓冲区如下:123<CR>输入语句的格式控制为“%
33、c%c%c”,从前往后依次处理,首先处理第一个“%c”,读取字符,从数据缓冲区中读取1赋给变量a,数据缓冲区更改如下:23<CR>同理进行下去,不在输入语句的格式控制中使用普通字符进行分隔时,依次紧密输入各个字符即可,否则同理参考多个数值型的输入中在输入语句的格式控制中使用普通字符进行分隔时的运行过程。3) 多个数值型与字符型的输入对于多个数值型与字符型的输入,若在输入语句的格式控制中使用普通字符进行分隔,则输入不易出错,否则,在输入语句的格式控制中相邻的数值型格式说明按照1)进行,相邻的字符型格式说明按照2)进行,若相邻的为数值型格式说明与字符型格式说明,以%d和%c为例,对于“
34、%d%c”:在该数值后紧跟字符(该字符相当于非数字字符,作为结束标志);对于%c%d”:在该字符后紧跟数值(也可以在中间加上空白字符)。代码:结果:分析:请读者自己分析,输入数据后,数据缓冲区如下:3<空格符><空格符>4ab<CR>综合上面讨论,现在用算法描述输入语句进行处理时的步骤,适用于格式说明之间不一定都有普通字符或没有格式说明等更一般的形式。前提条件是输入语句无语法错误且规范。S1:执行输入语句,依次处理输入语句中格式控制的对象。S2:获取处理对象,若为普通字符,转S3,否则,转S4。S3:若输入数据缓冲区空,提醒用户输入数据,读取开头第一个字符,
35、与普通字符匹配时才能保证正确性,若格式控制的对象处理完毕,转S5,否则转S2。S4:若输入数据缓冲区空,提醒用户输入数据若为字符型格式说明,读取第一个字符赋给相应变量。若为数值型格式说明,无视开头若干空白字符,读取符合条件的数值赋给相应变量。若为字符串型格式说明,无视开头若干的空白字符,读取符合条件的字符串赋给相应变量(指针变量(第八章)。若未能读取到符合条件的数据,则继续提醒用户输入数据,直至读取数据成功。若若输入语句中格式控制的对象处理完毕,转S5,否则转S2。S5:输入语句执行完毕。vi. 格式说明数与控制列表的变量数量上不相等1. 格式说明数多于控制列表的变量代码:结果:分析:输入语句
36、的格式控制中有两个格式说明符,因此必须在数据缓冲区中读到两个值输入语句才执行结束,并将值依次赋给控制列表中的变量,当格式说明数量多于控制列表变量的数量时,多于的值系统不赋给任何变量。2. 格式说明数少于控制列表的变量代码:结果:分析:输入语句的格式控制中有一个格式说明符,因此必须在数据缓冲区中读到一个值输入语句才执行结束,并将值依次赋给控制列表中的变量,当格式说明数量少于控制列表变量的数量时,剩余的变量系统不赋给值。综上,在使用时,格式说明数量要与控制列表的变量数相等才规范。vii. 输入格式的控制:和输出时一样,输入后不仅可以原样赋值,还可以控制赋值时的样式,但是又有些不同。数据类型操作整型在“%”和格式字符间加上一个正整数“n”代表允许读取数据的最大宽度。(1) n小于实际可读宽度,读取长度为n的数据。(2) n大于实际可读宽度,读取实际数据。(3) -n是错误的用法,会导致读入数据有误。浮点型在“%”和格式字符间加上正整数“n”代表允许读取数据的最大宽度,n代表读取数据宽度(包括小数点),同理整型。n1.n2、-n1.n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合肥学院《电子商务》2023-2024学年第一学期期末试卷
- 世界痛风日宣传活动方案
- 业主入伙活动方案
- 业余活动团体活动方案
- 大型室内活动方案
- 多去集体活动方案
- 夜场三八活动方案
- 天府芙蓉园试驾活动方案
- 夏季美容院活动方案
- 地铁消暑活动方案
- 北师大版(2024)七年级上册生物期末复习全册考点背诵提纲
- 2025年湖南中考生物试题及答案
- 混凝土站销售管理制度
- 山东省威海市实验中学2025届七下英语期末达标检测试题含答案
- 第七中学高二下学期5月月考语文试题(含答案)
- 2025至2030中国旋转密码挂锁行业发展分析及前景趋势与投资报告
- 苏教版八年级下物理期末考试试题(含三套试卷)
- 2025年河北省中考麒麟卷地理(三)及答案
- 河南天一大联考2025年高二下学期期末学业质量监测英语试题
- 国际学校员工管理制度
- 农药经营许可证培训考试题库及答案
评论
0/150
提交评论