




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言是结构化程序设计语言,提供了功能丰富的控制语句,本章开始陆续介绍C语言的控制语句:顺序结构、选择结构和循环结构。本章主要介绍三种结构化设计的基本概念,格式输入输出函数printf()和scanf(),字符输入输出函数putchar()和getchar()等内容,要求重点掌握顺序结构设计的基本思想及程序编写方法,熟练掌握常见输入、输出库函数的调用。重庆电力高等专科学校C语言是结构化程序设计语言,提供了功能丰富的控制语句,本13.1C语句概述3.3赋值语句3.4格式输入与输出3.2程序的三种基本结构3.5字符数据的输入输出函数3.6顺序结构程序设计举例重庆电力高等专科学校3.1C语句概述3.3赋值语句3.4格式输入与输出3.23.1C语句概述C语言的语句分为如下五大类:(1)表达式语句:表达式后面加一个分号就构成了一个表达式语句。例如:sum=a+b; /*赋值语句*/i++; /*自加运算表达式语句*/x=1,y=2;/*逗号表达式语句*/(2)函数调用语句:函数调用语句由一个函数加一个分号构成。例如:printf(“ThisisaCstatement.”);重庆电力高等专科学校3.1C语句概述C语言的语句分为如下五大类:重庆电力高等33.1C语句概述(3)复合语句:用花括号{}将多个语句组合在一起称为复合语句,又称为语句块(block)。例如:{intx,y;z=x+y;printf(“d%”,z);}(4)空语句:只有一个分号(;)的语句称为空语句。在程序中空语句经常被用作循环体,比如常见的用于延时的一种循环语句。
例如:for(i=0;i<=1000;i++);重庆电力高等专科学校3.1C语句概述(3)复合语句:重庆电力高等专科学校43.1C语句概述(5)控制语句控制程序执行顺序,实现基本结构的语句,有下面九种:①if-else语句
(条件语句)②switch语句
(多分支选择语句)③for语句
(循环语句)④while语句
(循环语句)⑤do-while语句
(循环语句)⑥continue语句
(结束本次循环语句)⑦break语句
(终止执行循环语句或switch语句)⑧goto语句
(转向语句)⑨return语句
(函数返回值语句)重庆电力高等专科学校3.1C语句概述(5)控制语句重庆电力高等专科学校53.2程序的三种基本结构C语言是结构化程序设计语言,结构化程序设计的结构主要有:顺序结构、选择结构和循环结构三种。
1.顺序结构顺序结构是最基本、最简单的程序结构,它由若干语句块从上到下依次排列次序顺序执行。顺序结构如图3.1所示,先执行A块,再执行B块,两者是从上到下的顺序执行关系。
AB重庆电力高等专科学校3.2程序的三种基本结构C语言是结构化程序设计语言,结构63.2程序的三种基本结构2.选择结构选择结构就是根据给定条件从两条或多条可能的分支中选择一个分支执行。如图3.2,图3.3,图3.4所示
需要注意的是:不管是几条分支,在程序的一次执行过程中,只有一条分支被选中执行。重庆电力高等专科学校3.2程序的三种基本结构2.选择结构需要注意的是:不管73.2程序的三种基本结构3.循环结构循环结构是由循环控制条件来控制循环体是否执行。这种结构也有两种形式:“当型循环”和“直到型循环”(1)当型循环结构如图3.5所示,当条件P成立时,反复执行A操作,直到条件P不再成立时才跳出循环。真假重庆电力高等专科学校3.2程序的三种基本结构3.循环结构(1)当型循环结构83.2程序的三种基本结构3.循环结构(2)直到型循环结构如图3.6所示,先执行A操作,再判断条件P是否成立,若P成立,则再执行A操作,如此反复,直到条件P不成立时跳出循环。
假真重庆电力高等专科学校3.2程序的三种基本结构3.循环结构假真重庆电力高等专93.3赋值语句赋值语句的组成:在赋值表达式的后面加上一个分号。基本形式为:变量=表达式;例如:X=8X=Y/5-3是表达式。而X=8;
/*将整数8赋给变量X*/X=Y/5-3; /*将表达式Y/5-3的值赋给变量X*/就是赋值语句。重庆电力高等专科学校3.3赋值语句赋值语句的组成:在赋值表达式的后面加上一个103.3赋值语句
注意:(1)C语言中的赋值号“=”是一个运算符,而在其他大多数高级语言中赋值号不是运算符。(2)要区别赋值表达式和赋值语句。例如:
if((a=b)>0)t=a;此处if语句中a=b是赋值表达式而不是赋值语句。
重庆电力高等专科学校3.3赋值语句注意:重庆电力高等专科学校113.4格式输入与输出信息从计算机的外部设备流入计算机称为输入。信息从计算机主机流向外部设备称为输出。C语言中没有输入输出语句,而是由输入输出函来实现的输入/输出的。C标准函数库中包含的常用输入输出函数有:格式输出函数printf()格式输入函数scanf()单个字符输出函数putchar()单个字符输入函数getchar()使用标准输入输出库函数时,要用编译命令“#include”将有关头文件“stdio.h”包括到用户的源文件当中。即:#include<stdio.h>或#include“stdio.h”重庆电力高等专科学校3.4格式输入与输出信息从计算机的外部设备流入计算机称123.4格式输入与输出3.4.1printf()函数(格式输出函数)
一般格式:printf(格式控制”,输出列表);例如:printf(“a=%d,b=%c\n”,a,b)功能:向默认输出设备(一般是显示器)输出“输出列表”中各数据项。
1.格式控制格式控制也称“控制字符串”,是由双引号括起来指定输出格式的字符串。他由格式说明、控制字符和普通字符三部分组成。重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数133.4格式输入与输出3.4.1printf()函数(格式输出函数)
(1)格式说明构成:由“%”字符开始后面跟有各种格式字符。作用:以说明输出数据的类型、形式、长度、小数位等格式。
C语言提供的常用printf()函数格式说明:重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数143.4格式输入与输出3.4.1printf()函数(格式输出函数)
(2)控制字符控制字符用于控制设备的动作,如下表中制表符“\t”、换行符“\n”等。
转义字符表示含义\n换行,将当前位置移到下一行开头\t横向跳格,横向跳到下一个输出区\r回车,将当前位置移到本行开头\f走纸换页,将当前位置移到下页开头\b退格,将当前位置移到前一列\v竖向跳格例如:printf(“x=%d\n”,x);
重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数153.4格式输入与输出3.4.1printf()函数(格式输出函数)
(3)普通字符除格式说明和控制字符之外,其他字符均属普通字符,打印时按原样输出。例如:printf(“x=%d,%c”,12,6*8);其中“x=”和“,”都是普通字符。输出结果是:x=12,48
重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数163.4格式输入与输出3.4.1printf()函数(格式输出函数)
2.输出列表输出列表:就是需要输出的各数据项表达式,表达式之间用逗号分隔。
注意:(1)表达式可以由变量构成,也可以由常量构成;(2)表达式之间的逗号不是逗号表达式,而是确定计算顺序的分隔符,自右向左进行的计算。重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数173.4格式输入与输出3.4.1printf()函数(格式输出函数)
3.附加说明符在%与格式字符间插入附加说明符,组成:“%<附加说明字符><格式符>”输出格式来达到更高输出格式要求。重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数183.4格式输入与输出3.4.1printf()函数(格式输出函数)
附加说明符意义l用于长整型,可以加在格式符d、o、x、u的前面m(正整数)数据输出的最小宽度,当数据实际宽度超过m时,则按实际宽度输出,如实际宽度短于m,则输出时前面补0或空格。.n(正整数)对实数表示输出n位小数,对字符串,表示从左截取的字符个数-输出的字符或数字在域内向左对齐,默认右对齐+输出的数字前带有正负号0在数据前多余空格处补0#用在格式字符o或x前,输出八进制或十六进制数时带前缀0或0x重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数193.4格式输入与输出3.4.1printf()函数(格式输出函数)
【例3.1】输出整型、长整型、无符号整型数据#include“stdio.h”voidmain(){inty=20;longa=1024;unsignedb=54321;printf(“%d,%ld,%u\n”,y,a,b);printf(“%+8d,%+8ld,%+8u\n”,y,a,b);printf(“%08d,%08ld,%08u\n”,y,a,b);printf(“%-8d,%-8ld,%-8u\n”,y,a,b);printf(“%o,%lo,%o\n”,y,a,b);printf(“%#x,%#lx,%#x\n”,y,a,b);printf(“%8o,%8lo,%8o\n”,y,a,b);printf(“%-8x,%-8lx,%-8x\n”,y,a,b);}
重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数203.4格式输入与输出3.4.1printf()函数(格式输出函数)
运行结果如下:(ㄩ代表空格)20,1024,54321ㄩㄩㄩㄩㄩ+20,ㄩㄩㄩ+1024,ㄩㄩㄩ5432100000020,00001024,0005432120ㄩㄩㄩㄩㄩㄩ,1024ㄩㄩㄩㄩ,54321ㄩㄩㄩ24,2000,1520610x14,0x400,0xd4321ㄩㄩㄩㄩㄩㄩ24,ㄩㄩㄩㄩㄩ2000,ㄩㄩ15206114ㄩㄩㄩㄩㄩㄩ,400ㄩㄩㄩㄩㄩ,d4321ㄩㄩㄩ重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数213.4格式输入与输出3.4.1printf()函数(格式输出函数)
【例3.2】输出字符和字符串#include“stdio.h”voidmain(){charch=’a’;printf(“%c\n”,ch);printf(“%-3c\n”,ch);printf(“%3c\n”,ch);printf(“%s\n”,”programing”);printf(“%15s\n”,”programing”);printf(“%-15s\n”,”programing”);printf(“%10.5s\n”,”programing”);printf(“%-10.5s\n”,”programing”);}运行结果如下:aaㄩㄩㄩㄩaprogramingㄩㄩㄩㄩㄩprogramingprogramingㄩㄩㄩㄩㄩㄩㄩㄩㄩㄩprogrprogrㄩㄩㄩㄩㄩ重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数223.4格式输入与输出3.4.1printf()函数(格式输出函数)
【例3.3】输出实型数据#include“stdio.h”voidmain(){floatx,y;doublea;x=111111.111;y=123.468;a=333333333.33333;clrscr();printf(“%f\n”,x);printf(“%f\n”,a);printf(“%10f,%10.2f,%.2f,%-10.2f\n”,x,x,x,x);printf(“%e\n”,x);printf(“%e\n”,a);printf(“%10e,%10.2e,%.2e.%-10.2e\n”,a,a,a,a);printf(“%f,%e,%g”,y,y,y);}重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数233.4格式输入与输出3.4.1printf()函数(格式输出函数)
程序运行结果如下:111111.109375333333333.333330111111.109375,ㄩ111111.11,111111.11,111111.11ㄩ1.11111e+053.33333e+083.33333e+08,ㄩㄩㄩ3.3e+08,3.3e+08.3.3e+08ㄩㄩㄩ123.468002,1.23468e+02,123.468重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数243.4格式输入与输出3.4.1printf()函数(格式输出函数)
4.使用printf()函数时应注意的问题(1)调用printf()函数时,格式式转换说明符与输出项必须顺序和数据类型上一一对应一致。(2)VC6.0++规定:当格式说明符明个数少于输出项个数时,多余的输出项不予输出。当格式说符明个数多于输出项个数时,而输出不定值。(3)当printf()函数中多个输出项为表达式时,VC6.0++规定先从右到左的顺序计算各表达式的值,然后再从左到右的顺序输出结果。(4)在使用“f”格式符输出实数时,并非全部数字都是有效数字,单精度实数的有效位数一般为7位,双精度数的有效位数一般为16位。
重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数253.4格式输入与输出3.4.1printf()函数(格式输出函数)
例如:①#include“stdio.h”voidmain(){floatx=111111.111,y=222222.222;printf("%f",x+y);}输出结果为:333333.328125
/*前7位是有效数字,后面数字无意义*/重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数263.4格式输入与输出3.4.1printf()函数(格式输出函数)
②#include“stdio.h”voidmain(){doublex=111111.11111,y=222222.22222;printf("%lf",x+y);}
输出结果为:333333.333330/*可达16位是有效数字,小数点保留6位*/重庆电力高等专科学校3.4格式输入与输出3.4.1printf()函数273.4格式输入与输出3.4.2scanf()函数(格式输入函数)一般形式:scanf("格式控制",地址列表);功能:从键盘向程序中的变量输入一个或若干个任意类型的数据。例如:scanf("%d,%d",&a,&b);
1.格式控制格式控制与printf基本相同,由格式说明、附加说明字符和普通字符三部分组成。"%<附加说明字符><格式符>"重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(283.4格式输入与输出3.4.2scanf()函数(格式输入函数)格式字符作用%d,%i输入带符号的十进制整数%u输入无符号十进制整数%x,%X输入无符号的十六进制整数(不区分大小写)%o输入无符号形式八进制整数%f输入实数,可以用小数形式或指数形式输入%e,%E%g,%G与%f作用相同,%e、%f、%g可以互相替换%c输入单个字符%s输入字符串,将字符串送到一个字符数组中,在输入时以非空字符开始,遇到回车或空格字符结束重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(293.4格式输入与输出3.4.2scanf()函数(格式输入函数)格式修饰符作用L或l用在格式字符d、o、x、u的前,表示输入长整型数据,用在f或e前,表示输入double型数据。h用在格式字符d、I、o、x前,表示输入短整型数据m指定输入数据所占宽度,不能用来指定实数型数据宽度,应为正整数*表示该输入项在读入后不赋值给相应的变量重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(303.4格式输入与输出3.4.2scanf()函数(格式输入函数)2.地址列表地址列表:用逗号分隔的若干接收输入数据的变量地址。各变量地址间用逗号“,”分隔。变量地址组成:由地址运算符“&”后跟变量名组成。例如:#include<stdio.h>voidmain(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);}输入数据的格式表示什么意思?重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(313.4格式输入与输出3.4.2scanf()函数(格式输入函数)运行时按以下方式输入a,b,c的值:3ㄩ4ㄩ5↙(输入a,b,c的值,用空格间隔)a=3,b=4,c=5(输出a,b,c的值)
注:输入数据时,在两个数据之间以一个或多个空格间隔,也可以用Enter键、Tab键分隔,不能用逗号作为两个数据的分隔符。下面输入均为合法:①3ㄩ4ㄩ5↙②3↙45↙③3(按Tab键)4↙5↙如下面的输入不合法:3,4,5↙重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(323.4格式输入与输出3.4.2scanf()函数(格式输入函数)3.使用scanf()函数时应注意的问题(1)地址列表中的各个参量都是变量地址,而不是变量名。例如:设a、b分别为整型变量和浮点型变量,则scanf(“%d%f”,&a,&b);是合法的。而scanf("%d%f",a,b);是非法的。
重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(333.4格式输入与输出3.4.2scanf()函数(格式输入函数)(2)普通字符在输入数据时,在对应位置上输入相同字符。例如:scanf("%d,%d",&a,&b)输入时应用如下形式:3,4↙以下输入格式是不对的:3ㄩ4↙3:4。又如:scanf(”%d:%d:%d”,&x,&y,&z);输入形式应为:12:13:14。
重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(343.4格式输入与输出3.4.2scanf()函数(格式输入函数)(3)对于实型数据,输入时不能规定其精度。例如:scanf(“%6.3f”,&x);是不合法的。(4)在用“%c”格式输入字符时,空格字符和“转义字符”都将作为有效的字符输入。例如:scanf("%c%c%c",&c1,&c2,&c3);如果输入:aㄩbㄩc↙则字符'a'→c1,字符'ㄩ'→c2,字符'b'→c3。正确输入方法是:abc↙(中间没有空格)c1、c2、c3的值分别是什么?重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(353.4格式输入与输出3.4.2scanf()函数(格式输入函数)(5)在输入数据时,遇到下列情况时,输入数据认为结束:遇空格或按“回车”或“跳格”(Tab)键;遇宽度结束,如“%3d”,只取3列;遇非法输入;例如:scanf("%d%c%f",&a,&b,&c);若输入123a456o.26↙123→a,字符a→b,456→c注:第3个数4560.26错打成456o.26,由于456后面出现了英文字母“o”,就认为此数据结束,则将会把456送给c,后面的数据将不被接受。重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(363.4格式输入与输出3.4.2scanf()函数(格式输入函数)(6)当使用多个scanf()函数连续给多个字符变量赋值时,例如:#include<stdio.h>voidmain(){charc1,c2;scanf(“%c”,&c1);scanf(“%c”,&c2);printf(“c1is%c,c2is%c”,c1,c2);}重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(373.4格式输入与输出3.4.2scanf()函数(格式输入函数)运行该程序时如果输入:A↙输出结果为:c1isA,c2is↙(即C2接收了一个回车符↙,而没有被赋值)如果输入:AB↙输出结果为:c1isA,c2isB。(7)对于unsigned型变量所需的数据,可以用%u,%d或%o,%x格式输入。重庆电力高等专科学校3.4格式输入与输出3.4.2scanf()函数(383.5字符数据的输入输出函数3.5.1putchar函数(字符输出函数)格式:putchar(c);c为字符型或整型常量、变量或表达式。功能:向终端(显示器)输出一个字符,如果c为整型,则输出ASCII码值等于参数c的字符。例如:putchar(“a”)/*输出结果为:a*/putchar(97)/*输出结果为:a*/注意:使用本函数是必须要用文件包含命令:#include<stdio.h>重庆电力高等专科学校3.5字符数据的输入输出函数3.5.1putchar函数393.5字符数据的输入输出函数3.5.1putchar函数(字符输出函数)例如:#include<stdio.h>voidmain(){charx,y,z;x=’B’;y=’Y’;z=’E’;putchar(x);putchar(y);putchar(z);}运行结果为:BYE
重庆电力高等专科学校3.5字符数据的输入输出函数3.5.1putchar函数403.5字符数据的输入输出函数3.5.1putchar函数(字符输出函数)用putchar()函数可以输出也可以输出屏幕控制字符如果将上面例题的最后一行改为:putchar(x);putchar(‘\n’);putchar(y);putchar(‘\n’);putchar(z);运行结果为:BYE重庆电力高等专科学校3.5字符数据的输入输出函数3.5.1putchar函数413.5字符数据的输入输出函数3.5.1putchar函数(字符输出函数)其次putchar()函数还可输出转义字符。putchar(‘\101’);/*输出结果为字母:A*/putchar(‘\\’’);/*输出结果为单引号:’
*/putchar(‘\\”’);/*输出结果为双引号:”*/putchar(‘\255’);/*输出结果为图形符号:!*/重庆电力高等专科学校3.5字符数据的输入输出函数3.5.1putchar函数423.5字符数据的输入输出函数3.5.2getchar()函数(字符输入函数)格式:getchar();功能:从键盘(或系统默认的输入设备)输入一个字符。例如:charx;x=getchar();putchar(x);运行结果:A↙(通过键盘输入’A’,按回车键)
A(输出变量x的值’A’)
注意:(1)getchar()函数没有参数。(2)该函数只能接收一个字符。(3)使用函数前需加上文件包含命令:#include<stdio.h>。重庆电力高等专科学校3.5字符数据的输入输出函数3.5.2getchar()433.5字符数据的输入输出函数3.5.2getchar()函数(字符输入函数)【例3.4】字符输入输出函数的使用#include<stdio.h>voidmain(){charc1,c2;charc3=’X’;c1=getchar();c2=getchar();putchar(c1);putchar(c2);putchar(c3);}运行时若输入A↙输出结果为:AX重庆电力
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 世纪地理标志的影响力试题及答案
- 急诊科培训与继续教育方案计划
- 改善工作环境的具体措施计划
- 证券行业的品牌工作计划
- 2024年人力资源管理师完美备考试题及答案
- 餐饮服务的菜单创新计划
- 提升旅游景区安全保障计划
- 推进日常运营管理的工作计划
- 个人财务教育的重要性与实践计划
- 人力资源管理与马工学结合试题及答案
- 第九章-临床输血课件
- 单相独立光伏发电系统设计
- 心内科分层次培训计划
- 魔幻泡泡秀七彩体验馆介绍
- 表面工程学第十二章-表面微细加工技术
- 《阿房宫赋》理解性默写试题与答案
- 山东大学工程流体力学(杜广生)课件第5章 粘性流体的一维流动
- 员工入职确认单
- 初三优秀学生座谈会通用课件通用PPT课件
- T∕CAGHP 065.2-2019 地质灾害防治工程工程量清单计价规范(试行)
- 室内智能加湿器设计说明
评论
0/150
提交评论