第三讲顺序结构程序设计_第1页
第三讲顺序结构程序设计_第2页
第三讲顺序结构程序设计_第3页
第三讲顺序结构程序设计_第4页
第三讲顺序结构程序设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

☆C语言的基本语句☆数据输入与输出☆程序举例第3章结构程序设计三大结构

————顺序结构目的与要求:了解基本语句—简单语句、复合语句理解程序控制结构的概念掌握输入输出函数的基本使用方法学习重点:scanf()与printf()的用法。结构化程序设计结构化程序的基本结构结构化程序设计

结构化程序:由三种基本结构(顺序、选择、循环)反复嵌套构成的程序优点:结构清晰,易读,提高程序设计质量和效率三种基本结构概述ABC1、顺序结构ABC流程图N-S图A1A2AiAnk=k2k=k1k=knk=ki......(1)二分支选择结构(2)多分支选择结构条件BA真假条件AB真假流程图N-S图2、选择结构(1)当型循环结构(2)直到型循环结构注:A可以是一个简单语句,也可以是一个基本结构条件A假真当条件为真A流程图N-S图A条件假真A直到条件为真流程图N-S图无论是运算操作还是流程控制操作,都由相应的语句完成。3、循环结构☆C语言的基本语句什么是语句?完成指定运算或操作的可执行单位。

C语言有哪些语句?—分类C语句的标志为;说明语句

包括常量定义、变量定义和变量说明、函数说明、结构说明等语句。inti,j,k=0;charch;doublex,y,z;const

chara=‘A’;表达式语句

由表达式加上分号“;”组成—表达式;

a=10赋值表达式a=10;赋值语句t=x,x=y,y=t表达式t=x,x=y,y=t;语句函数调用语句函数调用加上分号“;”——函数名(参数);printf("Hello")函数调用printf(“Hello”);函数调用语句空语句只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。main(){floatx=5,s;

;s=2*3.14*x;;;printf(“%f”,s);}复合语句用{}

括起来的一组语句。一般形式为:

{[数据说明部分;]

执行语句部分;

}

…{

inta=2,b=3,c;

c=a+b;printf("c=%d\n",c);}…说明:(1)

“}”后不加分号(2)语法上和单一语句相同(3)复合语句可嵌套(4)复合语句内定义的变量只能在复合语句内使用。

输出结果:判断程序输出?main(){intx=1,y=2;

{intx=2;

{intx=3;printf(“x=%d,y=%d\n”,x,y);}printf(“x=%d,y=%d\n”,x,y);

}printf(“x=%d,y=%d\n”,x,y);}输出结果:x=3,y=2x=2,y=2x=1,y=2控制语句用来实现一定的控制功能的语句称为控制语句。C语言用控制语句来实现选择结构和循环结构。C语言有九种控制语句。可分成以下三类:if()…else…switchfor()…while()…do...while()continuebreakgotoreturn分支循环辅助控制后续章节讨论☆数据输入与输出如何实现输入输出标准I/O函数掌握4个函数的使用方法:输入:getchar()和scanf()

输出:putchar()和printf()#include<stdio.h>实现前提

字符输入输出函数1.字符输出函数例如:#include<stdio.h>main(){inti=97;charch='a';

putchar(i);putchar('\n');putchar(ch);}运行结果:aa例:#include<stdio.h>main(){intc;c=getchar();

putchar(i);;}运行结果:AA

字符输入输出函数2.字符输入函数格式:putchar(c)参数:c为字符常量、变量或表达式功能:把字符c输出到显示器上返回值:正常,字符的ASCII码值;出错,为EOF(-1)intputchar(int)intgetchar(void)格式:getchar()功能:从键盘读一个字符返回值:正常:读取的ASCII码值;出错:则返回EOF(-1)思考:以下三种不同的输入,输出情况如何?1.abcdefg2.ab3.abcdefg案例:#include<stdio.h>main(){inti,j;charc;i=getchar();putchar(i);j=getchar();putchar(j);c=getchar();putchar(c);}执行getchar()时输入字符以回车结束,同时回车字符也可以做为输入的字符。

注意示例:1.printf(“It’sfun!”);输出It’sfun!2.inta=1,b=2;printf(“%d,%d”,a,b);输出1,23.inta=1,b=2;printf(“a=%d\nb=%d”,a,b);输出a=1b=24.inta=1,b=2;printf(“%d”,a+b);输出35.inta=1,b=2;printf(“a+b”);输出a+b☆格式输出函数printf()

按指定格式向输出设备(显示器)输出数据。一、格式输出函数的一般形式printf(“格式控制字符串”,参数列表);普通字符:按原样输出(包括转义字符)格式说明:%格式字符(1)格式控制字符串printf(“Olympic!\n”);printf(“%d,%o”,x,y);例:inta=1,b=2,c=3;printf(“%d,%d\n”,a,b,c);输出:1,2例:inta=1,b=2;printf(“%d,%d,%d\n”,a,b);输出:1,2,2注意:格式说明个数应与参数个数相同且一一对应。若少于输出项个数,多余输出项不会输出,否则,会随机输出。格式控制串的三类字符:1)普通字符:原样输出。2)转义字符:特定操作,如\n、\t。3)格式说明部分:由%引导的格式字符串组成,控制数据的输出显示格式。一般格式为:%[flags][width][.prec][F|N|h|L][type]1.%type这是最简单的格式输出说明形式,说明以何种类型形式输出表达式的值。d,ix,Xoucse,Efg%十六进制无符号整数不带符号十进制整数十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数e和f中较短一种百分号本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.78;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.67780e+02567.789000567.789%1、d:输出十进制整数①%d:实际数据原样输出。②%md:输出宽度m位,数据位数<m,左补空格;%-md:输出宽度m位,数据位数<m,右补空格;若数据位数>m,原样输出。例:printf(“%6d,%2d,%-6d,%+2d”,123,123,-123,1);输出:123,123,-123,+1%+md:正数输出‘+’。④%1d:输出长整型数据-32768~32767之外的数③%0md:不足位补0例:printf(“%-6d,%06d”,123,123);输出:123,000123%mld:指定宽度2.o-输出八进制整数(无符号数)①%o:原样输出。②%mo:不足位左补空格,超过则原样输出。%-mo:不足位右补空格,超过则原样输出。例:printf(“%d,%o,%8o\n”,25,25,25);输出:25,31,31输出:031例:printf(“%#o\n”,25);④%1o:按八进制形式输出长整型数据。③%#o:输出前导符03.x/X-输出十六进制整数(无符号数)①%x:按十六进制形式输出基本整型数据。④%lx:按十六进制形式输出长整型数据。③%#x:输出前导符0x②%mx:%-mx:例:printf(“%d,%X,%#X”,26,26,26);输出:26,2A,0X2A0~127的整数也可用%c输出。4.u-以十进制形式输出无符号数%u--0~655355.c-输出单个字符①%c②%mc,%-mc例:unsignedintx=30;printf(“%u”,x);输出:30输出:65,A66,B

例:写出程序运行结果。#include<stdio.h>main(){charc1,c2;c1=‘A’;c2=‘B’;printf(%d,%3c\n”,c1,c1);printf(“%d,%-3c\n”,c2,c2);}6.s-输出一个字符串①%s②%ms%-ms例:#include<stdio.h>main(){printf(“%3s,%-7s”,“china”,“china”);}输出:china,china%-m.ns指定输出位数m,输出字符串从左起的n个字符,若n<m右补空格,否则原样输出。③%m.ns指定输出位数m,输出字符串从左起的n个字符,若n<m左补空格,否则原样输出。例:#include<stdio.h>main(){printf(“%5.2s,%.4s,%-5.3s”,“china”,“china”,“china”);}输出:ch,chin,chi例:floatx=111111.111,y=222222.222;printf(“%f\n”,x+y);7.f-以小数形式输出单,双精度①%ffloat:整数部分全部输出,并输出6位小数;double:整数部分全部输出,并输出6位小数。输出:333333.328125②%m.nf:输出宽度m列,小数位数为n:数据长度<m,左补空格。%-m.nf:输出宽度m列,小数位数为n:数据长度<m,右补空格。如:floatx=123.456;printf(“%8.2f,%.2f\n”,x,x);输出:

123.46,123.46当n<实际小数位数时,若在有效数字范围内进行四舍五入。①%e8.e-以指数形式输出实数例:printf(“%e,%E\n”,123.456);输出:1.234560e+002,1.234560E+002②%m.ne,%-m.ne例:floatx=123.456;printf(%f,%e,%g”,x,x,x);9.g/G-选择e或f格式最紧凑的一种格式,且不输出无意义的0。输出123.456001,1.234560e+002,123.4561.scanf(“%d%d”,&a,&b);输入:12回车

或者

1回车2回车2.scanf(“%d,%d”,&a,&b);输入:1,2回车3.scanf(“a=%d,b=%d”,&a,&b);输入:a=1,b=2回车☆格式输入函数示例:一般形式:scanf("格式控制字符串",地址列表);格式控制字符串中,有两类字符:普通字符:按原样输入格式字符:由%引导的格式字符串组成scanf

:&加变量名,指的是该变量所代表的内存空间的地址。scanf

语句在运行时,会停下来,等待从键盘输入值依次存入地址列表中的地址空间。(2)注意字符的连续输入。chara,b,c;scanf(“%c%c%c”,&a,&b,&c);应输入:ABC(回车)注意:输入数字,以空格、回车、tab为分隔符,但输入字符时,应连续输入,最后按回车。否则,空格、回车、tab都做为有效字符被变量接收。%[*][width][F|N][h|L]typetype是必须的,表示输入后转换的数据类型。d(D)十进制整数o(O)八进制整数x(X)十六进制整数i(I)自动根据数头分辨十、八、十六进制u(U)无符号十进制整数c单个字符s字符串f(e,g,G)实数n不输入数据,将已读入的字符送到对应的地址中%百分号scanf语句格式说明部分的一般格式为:scanf使用小结普通字符原样输入。

scanf(”x=%d”,&x);变量前加上&。默认间隔为空格、回车、tab。实数不许规定精度,像%10.4f是不合法的。类型不匹配则停止处理3.3案例分析分析:1.定义实型变量r、l、s用于存放半径、周长、面积;2.调用输入函数,输入r:3.分别利用周长公式和面积公式求出l、s;4.调用输出函数输出l、s。【例3.1】输入圆的半径,输出其周长和面积。程序代码:#include<stdio.h>voidmain(){floatr,l,s;printf("Inputcircleradius(r>0):");

scanf("%f",&r);l=2*3.14*r;s=3.14*r*r;

printf(“l=%f\n",l);printf(“s=%f\n",s);getch();}分析:1.定义三个字符型变量ch1,ch2,ch3;2.调用字符输入函数,输入三个字符依次存于ch1、ch2、ch3;3.按ch3、ch2、ch1顺序输出三个字符。【例3.2】输入三个字符,将它们反向输出。#include<stdio.h>voidmain(){charch1,ch2,c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论