资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
引自 www.vdisk.cn/dxcyyswgC 言语言语 顺序程序设计顺序程序设计(一) C 言句子子概述言句子子概述程序的履行有些是由句子组成的。程序的功用也是由履行句子完结的。C 句子可分为以下五类:表达式句子函数调用句子操控句子复合句子空句子表达式句子:表达式句子由表达式加上分号“;”组成。其通常方法为:表达式;履行表达式句子即是核算表达式的值。例如:x=y+z; 赋值句子;y+z; 加法运算句子,但核算成果不能保存,无实践含义;i+; 自增 1 句子,i 值增 1。函数调用句子:由函数名、实践参数加上分号“;”组成。其通常方法为:函数名(实践参数表);履行函数句子即是调用函数体并把实践参数赋予函数界说中的方法参数,然后履行被调函数体中的句子,求取函数值 (在后边函数中再详细介绍) 。例如:printf(“C Program“);调用库函数,输出字符串。操控句子:操控句子用于操控程序的流程,以完结程序的各种布局方法。它们由特定的句子界说符组成。言语有九种操控句子。 可分红以下三类:条件判别句子:if 句子、switch 句子;循环履行句子:do while 句子、while 句子、for 句子;转向句子:break 句子、goto 句子、continue 句子、return 句子。复合句子:把多个句子用括号括起来组成的一个句子称复合句子。在程序中应把复合句子看成是单条句子,而不是多条句子。例如: x=y+z;a=b+c;printf(“%d%d”,x,a);是一条复合句子。复合句子内的各条句子都有必要以分号“;”完毕,在括号“”外不能加分号。空句子:只要分号“;”组成的句子称为空句子。空句子是什么也不履行的句子。在程序中空句子可用来作空循环体。例如while(getchar()!=n);本句子的功用是,只要从键盘输入的字符不是回车则从头输入。这里的循环体为空句子。(二)(二) C 言语赋值句子详解言语赋值句子详解引自 www.vdisk.cn/dxcyyswg赋值句子是由赋值表达式再加上分号构成的表达式句子。其通常方法为:变量=表达式;赋值句子的功用和特色都与赋值表达式一样。 它是程序中运用最多的句子之一。在赋值句子的运用中需求注意以下几点:因为在赋值符“=”右边的表达式也可以又是一个赋值表达式,因而,下述方法变量=(变量=表达式);是建立的,然后构成嵌套的景象。其打开之后的通常方法为:变量=变量=表达式;例如:a=b=c=d=e=5;依照赋值运算符的右接合性,因而实践上等效于:e=5;d=e;c=d;b=c;a=b;注意在变量阐明中给变量赋初值和赋值句子的差异。给变量赋初值是变量阐明的一有些,赋初值后的变量与这以后的其它同类变量之间仍有必要用逗号距离,而赋值句子则有必要用分号完毕。例如:int a=5,b,c;在变量阐明中,不答应接连给多个变量赋初值。如下述阐明是过错的:int a=b=c=5有必要写为int a=5,b=5,c=5;而赋值句子答应接连赋值。注意赋值表达式和赋值句子的差异。赋值表达式是一种表达式,它可以呈现在任何答应表达式呈现的当地,而赋值句子则不能。下述句子是合法的:if(x=y+5)0) z=x;句子的功用是,若表达式 x=y+5 大于 0 则 z=x。下述句子是不合法的:if(x=y+5;)0) z=x;因为 x=y+5;是句子,不能呈现在表达式中。(三)(三) C 言语数据输入输出的概念及在言语数据输入输出的概念及在 C 言语中的完结言语中的完结所谓输入输出是以核算机为主体而言的。本章介绍的是向规范输出设备显现器输出数据的句子。在言语中,一切的数据输入输出都是由库函数完结的。因而都是函数句子。在运用言语库函数时,要用预编译指令#include将有关“头文件”包括到源文件中。运用规范输入输出库函数时要用到 “stdio.h”文件,因而源文件最初应有引自 www.vdisk.cn/dxcyyswg以下预编译指令:#include或#include ”stdio.h”stdio 是 standard input (输出大写字母 A)putchar(x); (输出字符变量 x 的值)putchar(101); (也是输出字符 A)putchar(n); (换行)对操控字符则履行操控功用,不在屏幕上显现。运用本函数前有必要要用文件包括指令:#include或#include “stdio.h”【例 4.1】输出单个字符。#includemain()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);4.1.2getchar 函数(键盘输入函数)getchar 函数的功用是从键盘上输入一个字符。其通常方法为:getchar();通常把输入的字符赋予一个字符变量,构成赋值句子,如:char c;c=getchar();【例 4.2】输入单个字符。#include引自 www.vdisk.cn/dxcyyswgvoid main()char c;printf(“input a charactern“);c=getchar();putchar(c);运用 getchar 函数还应注意几个疑问:getchar 函数只能承受单个字符,输入数字也按字符处置。输入多于一个字符时,只接纳榜首个字符。运用本函数前有必要包括文件“stdio.h”。在 TC 屏幕下运转含本函数程序时,将退出 TC 屏幕进入用户屏幕等候用户输入。输入完毕再回来 TC 屏幕。程序最终两行可用下面两行的恣意一行替代:putchar(getchar();printf(“%c”,getchar();(五)(五) C 言语格局输出函数言语格局输出函数 printf()详解详解1printf 函数(格局输出函数)printf 函数称为格局输出函数,其关键词最末一个字母 f 即为“格局”(format)之意。其功用是按用户指定的格局,把指定的数据显现到显现器屏幕上。在前面的例题中咱们已屡次运用过这个函数。printf 函数调用的通常方法printf 函数是一个规范库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不需求在运用 printf 函数之前有必要包括 stdio.h 文件。printf 函数调用的通常方法为:printf(“格局操控字符串”,输出表列)其间格局操控字符串用于指定输出格局。格局操控串可由格局字符串和非格局字符串两种组成。格局字符串是以%最初的字符串,在%后边跟有各种格局字符,以阐明输出数据的类型、方法、长度、小数位数等。如:“%d”表明按十进制整型输出;“%ld”表明按十进制长整型输出;“%c”表明按字符型输出等。非格局字符串在输出时原样照印,在显现中起提示效果。输出表列中给出了各个输出项,需求格局字符串和各输出项在数量和类型上大概一一对应。【例 4.3】main()int a=88,b=89;printf(“%d %dn“,a,b);printf(“%d,%dn“,a,b);printf(“%c,%cn“,a,b);printf(“a=%d,b=%d“,a,b);本例中四次输出了 a,b 的值,但因为格局操控串不一样,输出的成果也不一样。第四行的输出句子格局操控串中,两格局串%d 之间加了一个空格(非格局字符),所以输出的 a,b 值之间有一个空格。第五行的printf 句子格局操控串中参加的对错格局字符逗号,因而输出引自 www.vdisk.cn/dxcyyswg的 a,b 值之间加了一个逗号。第六行的格局串需求按字符型输出 a,b 值。第七行中为了提示输出成果又增加了非格局字符串。格局字符串在 Turbo C 中格局字符串的通常方法为: 象征输出最小宽度.精度长度类型。其间方括号中的项为可选项。各项的含义介绍如下:类型:类型字符用以表明输出数据的类型,其格局符和含义如下表所示:格局字符 意 义 d 以十进制方法输出带符号整数(正数不输出符号) o 以八进制方法输出无符号整数(不输出前缀 0) x,X 以十六进制方法输出无符号整数(不输出前缀 Ox) u 以十进制方法输出无符号整数 f 以小数方法输出单、双精度实数 e,E 以指数方法输出单、双精度实数 g,G 以%f 或%e 中较短的输出宽度输出单、双精度实数 c 输出单个字符 s 输出字符串象征:象征字符为-、+、#、空格四种,其含义下表所示:标 志 意 义 - 成果左对齐,右边填空格 + 输出符号(正号或负号) 空格 输出值为正时冠以空格,为负时冠以负号 # 对 c,s,d,u 类无影响;对 o 类,在输出时加前缀 o;对 x 类,在输出时加前缀 0x;对 e,g,f 类当成果有小数时才给出小数点输出最小宽度:用十进制整数来表明输出的最少位数。若实践位数多于界说的宽度,则按实践位数输出,若实践位数少于界说的宽度则补以空格或 0。精度:精度格局符以“.”最初,后跟十进制整数。本项的含义是:若是输出数字,则表明小数的位数;若是输出的是字符,则表明输出字符的个数;若实践位数大于所界说的精度数,则截去超越的有些。长度:长度格局符为 h,l 两种,h 表明按短整型量输出,l 表明按长整型量输出。【例 4.4】main()int a=15;float b=123.1234567;double c=12345678.1234567;char d=p;printf(“a=%d,%5d,%o,%xn“,a,a,a,a);printf(“b=%f,%lf,%5.4lf,%en“,b,b,b,b);printf(“c=%lf,%f,%8.4lfn“,c,c,c);printf(“d=%c,%8cn“,d,d);引自 www.vdisk.cn/dxcyyswg本例第七行中以四种格局输出整型变量 a 的值,其间“%5d ”需求输出宽度为 5,而 a 值为 15 只要两位故补三个空格。 第八行中以四种格局输出实型量 b 的值。其间“%f”和“%lf ”格局的输出一样,阐明“l”符对“f”类型无影响。“%5.4lf”指定输出宽度为 5,精度为 4,因为实践长度超越 5 故大概按实践位数输出,小数位数超越 4 位有些被截去。第九行输出双精度实数,“%8.4lf ”因为指定精度为 4 位故截去了超越 4位的有些。第十行输出字符量 d,其间“%8c ”指定输出宽度为 8 故在输出字符 p 之前补加 7 个空格。运用 printf 函数时还要注意一个疑问,那即是输出表列中的求值次序。不一样的编译体系不一定一样,可以从左到右,也可从右到左。Turbo C 是按从右到左进行的。请看下面两个比如:【例 4.5】main()int i=8;printf(“%dn%dn%dn%dn%dn%dn“,+i,-i,i+,i-,-i+,-i-);【例 4.6】main()int i=8;printf(“%dn“,+i);printf(“%dn“,-i);printf(“%dn“,i+);printf(“%dn“,i-);printf(“%dn“,-i+);printf(“%dn“,-i-);这两个程序的差异是用一个 printf 句子和多个 printf 句子输出。但从成果可以看出是不一样的。为何成果会不一样呢?即是因为 printf 函数对输出表中各量求值的次序是自右至左进行的。在榜首例中,先对最终一项“-i-”求值,成果为-8,然后 i 自减 1 后为 7。 再对“-i+”项求值得-7,然后 i 自增 1 后为 8。再对“i-”
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号