《级次语言课件第5讲输入输出.ppt》由会员分享,可在线阅读,更多相关《级次语言课件第5讲输入输出.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试全国计算机等级考试全国计算机等级考试全国计算机等级考试二级二级二级二级C C C C语言语言语言语言第第5 5讲讲 输入输出与顺序结构程序设计输入输出与顺序结构程序设计l l C C语句概述语句概述l l 常用的输入常用的输入(scanf)(scanf)和输出和输出(printf)(printf)函数函数l l 顺序结构程序设计顺序结构程序设计l l 真题分析真题分析l l 知识点分析知识点分析http:/ C C语句概述语句概述CC CCCC语句可以分为语句可以分为语句可以分为语句可以分为语句可以分为语句可以分为5 5 5 5 5 5类:类:类:类:类:类:1 1 1 1
2、1 1、控制语句(、控制语句(、控制语句(、控制语句(、控制语句(、控制语句(9 9 9 9 9 9种)种)种)种)种)种)2 2 2 2 2 2、函数调用语句、函数调用语句、函数调用语句、函数调用语句、函数调用语句、函数调用语句3 3 3 3 3 3、表达式语句、表达式语句、表达式语句、表达式语句、表达式语句、表达式语句4 4 4 4 4 4、空语句、空语句、空语句、空语句、空语句、空语句5 5 5 5 5 5、复合语句、复合语句、复合语句、复合语句、复合语句、复合语句http:/ 1、控制语句:完成一定的控制功能,、控制语句:完成一定的控制功能,C C只有只有 9 9种控种控制语句,分别是
3、:制语句,分别是:if if()()else else (条件语句)(条件语句)forfor()()(循环语句)(循环语句)whilewhile()()(循环语句)(循环语句)dodowhilewhile()()(循环语句)(循环语句)continuecontinue (结束本次循环语句)(结束本次循环语句)breakbreak (中止执行(中止执行switchswitch或循环语句)或循环语句)switchswitch (多分支选择语句)(多分支选择语句)gotogoto (转向语句)(转向语句)returnreturn (从函数返回语句)(从函数返回语句)第一节第一节 C C语句概述语句概
4、述http:/ 2、函数调用语句:由一次函数调用加一个分号构成一、函数调用语句:由一次函数调用加一个分号构成一、函数调用语句:由一次函数调用加一个分号构成一、函数调用语句:由一次函数调用加一个分号构成一个语句。例如:个语句。例如:个语句。例如:个语句。例如:maxmax(a a,b b););););printfprintf(”%d%d,%d”%d”,a a,b b););););第一节第一节 C C语句概述语句概述http:/ 3、表达式语句:由一个表达式构成一个语句。例如:、表达式语句:由一个表达式构成一个语句。例如:、表达式语句:由一个表达式构成一个语句。例如:、表达式语句:由一个表达式
5、构成一个语句。例如:赋值表达式构成的赋值语句。赋值表达式构成的赋值语句。赋值表达式构成的赋值语句。赋值表达式构成的赋值语句。a=5a=5;i+i+;/*/*赋值语句赋值语句,相当于相当于i=i+1;i=i+1;*/*/第一节第一节 C C语句概述语句概述http:/ 4 4 4、空语句:即只有一个分号的语句。、空语句:即只有一个分号的语句。、空语句:即只有一个分号的语句。、空语句:即只有一个分号的语句。if(xy);for(i=0;i100;i+);第一节第一节 C C语句概述语句概述http:/ 5 5 5、复合语句:用一对大括号括起来的一系列语句,又、复合语句:用一对大括号括起来的一系列语
6、句,又、复合语句:用一对大括号括起来的一系列语句,又、复合语句:用一对大括号括起来的一系列语句,又称分程序,如:称分程序,如:称分程序,如:称分程序,如:i=1;sum=0;while(i=100)sum+=i;i+;第一节第一节 C C语句概述语句概述http:/ 常用的输入和输出函数常用的输入和输出函数 在语言中,所有数据的输入输出都是由在语言中,所有数据的输入输出都是由在语言中,所有数据的输入输出都是由在语言中,所有数据的输入输出都是由库函数库函数库函数库函数完成完成完成完成的。的。的。的。使使使使用用用用语语语语言言言言库库库库函函函函数数数数时时时时,要要要要用用用用预预预预编编编编
7、译译译译命命命命令令令令#include#include#include#include 将将将将有有有有关关关关 头文件头文件头文件头文件 包括到源文件中。包括到源文件中。包括到源文件中。包括到源文件中。使用标准输入输出库函数时要用到使用标准输入输出库函数时要用到使用标准输入输出库函数时要用到使用标准输入输出库函数时要用到 stdio.hstdio.hstdio.hstdio.h文件,因文件,因文件,因文件,因此源文件开头应有以下预编译命令:此源文件开头应有以下预编译命令:此源文件开头应有以下预编译命令:此源文件开头应有以下预编译命令:#include#include#include#inc
8、lude 或或或或#include stdio.h#include stdio.h#include stdio.h#include stdio.h http:/ printf()printf()功能:功能:功能:功能:printfprintf函数可以将任意类型的多个数据输出到标准函数可以将任意类型的多个数据输出到标准函数可以将任意类型的多个数据输出到标准函数可以将任意类型的多个数据输出到标准输出设备上输出设备上输出设备上输出设备上(一般为显示器一般为显示器一般为显示器一般为显示器)。使用形式:使用形式:使用形式:使用形式:printf(printf(格式控制,输出表列)格式控制,输出表列)格式
9、控制,输出表列)格式控制,输出表列);分别做如下说明:分别做如下说明:分别做如下说明:分别做如下说明:第二节第二节 常用的输入和输出函数常用的输入和输出函数普通字符普通字符格式说明格式说明转义字符转义字符格式控制格式控制由双引号括起由双引号括起由双引号括起由双引号括起来的字符串来的字符串来的字符串来的字符串由由由由“%”和格式字符组成,和格式字符组成,和格式字符组成,和格式字符组成,它的作用是将输出的数它的作用是将输出的数它的作用是将输出的数它的作用是将输出的数据按照指定的格式输出。据按照指定的格式输出。据按照指定的格式输出。据按照指定的格式输出。需要原样输需要原样输需要原样输需要原样输出的字
10、符。出的字符。出的字符。出的字符。用于控制输出。用于控制输出。用于控制输出。用于控制输出。(1 1 1 1)格式控制)格式控制)格式控制)格式控制http:/ 2)输出表列:)输出表列:)输出表列:)输出表列:是需要输出的一些数据,可以是表达式或变量名。是需要输出的一些数据,可以是表达式或变量名。是需要输出的一些数据,可以是表达式或变量名。是需要输出的一些数据,可以是表达式或变量名。例:例:例:例:int a=123;int a=123;printf(a=%dn,a);printf(a=%dn,a);有多个输出数据时,则:有多个输出数据时,则:有多个输出数据时,则:有多个输出数据时,则:-输出
11、表列中各输出间用逗号分隔输出表列中各输出间用逗号分隔输出表列中各输出间用逗号分隔输出表列中各输出间用逗号分隔 -格式说明与输出数据的个数相同且一一对应格式说明与输出数据的个数相同且一一对应格式说明与输出数据的个数相同且一一对应格式说明与输出数据的个数相同且一一对应 如:如:如:如:int i=-5;int i=-5;float j=98;float j=98;printf(i=%d,j=%-10.2f n,i,j);printf(i=%d,j=%-10.2f n,i,j);输出为:输出为:输出为:输出为:i i=-5,j=98.00=-5,j=98.00 http:/ 3 3 3)格式字符的说
12、明)格式字符的说明)格式字符的说明)格式字符的说明格式字符格式字符 含含 义义 d d 十进制形式输出带符号整数(正数输出不带符号)十进制形式输出带符号整数(正数输出不带符号)o o 八进制形式输出无符号整数(不输出前导符八进制形式输出无符号整数(不输出前导符0 0)x x 十六进制形式输出无符号整数(不输出前导符十六进制形式输出无符号整数(不输出前导符0 x 0 x u u 十进制形式输出无符号整数十进制形式输出无符号整数http:/ 含含 义义 c c 输出一个字符输出一个字符 s s 输出一个字符串输出一个字符串 f f 小数形式输出单、双精度实数(隐含输出小数形式输出单、双精度实数(隐
13、含输出6 6位小数)位小数)e e 指数形式输出单、双精度实数(数字部分有指数形式输出单、双精度实数(数字部分有6 6位小数)位小数)g g 当指数小于当指数小于-4-4或大于给定的精度时用或大于给定的精度时用%e%e格式,否则格式,否则 用用%f%f格式。格式。(不输出无意义的不输出无意义的0)0)(3 3 3 3)格式字符的说明)格式字符的说明)格式字符的说明)格式字符的说明http:/ 含含 义义 l l 用于长整型用于长整型用于长整型用于长整型,可加在格式符可加在格式符可加在格式符可加在格式符d,o,x,ud,o,x,u之前之前之前之前 m(m(整数整数整数整数)数据最小宽度数据最小宽
14、度数据最小宽度数据最小宽度 .n(.n(整数整数整数整数)对实数对实数对实数对实数,表示输出表示输出表示输出表示输出n n位小数位小数位小数位小数;对字符串对字符串对字符串对字符串,表示截取的表示截取的表示截取的表示截取的 字符个数字符个数字符个数字符个数 -输出的数字或字符在域内向左靠输出的数字或字符在域内向左靠输出的数字或字符在域内向左靠输出的数字或字符在域内向左靠(4 4)附加格式说明符)附加格式说明符)附加格式说明符)附加格式说明符http:/ 1 1 1、当指定的输出宽度小于输出值本身宽度时,则指定当指定的输出宽度小于输出值本身宽度时,则指定当指定的输出宽度小于输出值本身宽度时,则指
15、定当指定的输出宽度小于输出值本身宽度时,则指定的输出宽度不起作用。的输出宽度不起作用。的输出宽度不起作用。的输出宽度不起作用。2 2、格式字符除了、格式字符除了、格式字符除了、格式字符除了x,e,gx,e,g可以大写可以大写可以大写可以大写,其它一律小写。其它一律小写。其它一律小写。其它一律小写。第二节第二节 常用的输入和输出函数常用的输入和输出函数http:/ 2.2.格式格式格式格式输入函数输入函数输入函数输入函数 scanf()scanf()功能:功能:功能:功能:scanfscanf函数可以从标准输入设备输入任意类型的多函数可以从标准输入设备输入任意类型的多函数可以从标准输入设备输入任
16、意类型的多函数可以从标准输入设备输入任意类型的多个数据个数据个数据个数据(一般为显示器一般为显示器一般为显示器一般为显示器)。注意:输入数据时不能规定精度注意:输入数据时不能规定精度注意:输入数据时不能规定精度注意:输入数据时不能规定精度使用形式:使用形式:使用形式:使用形式:scanf(scanf(“格式控制格式控制格式控制格式控制”,地址表列,地址表列,地址表列,地址表列);第二节第二节 常用的输入和输出函数常用的输入和输出函数http:/ 1)输入时不能规定精度,如)输入时不能规定精度,如)输入时不能规定精度,如)输入时不能规定精度,如 scanf(“%6.1f”,&a);scanf(“
17、%6.1f”,&a);是不合法的。是不合法的。是不合法的。是不合法的。(2 2)格式控制之后是地址表列而不是变量表列)格式控制之后是地址表列而不是变量表列)格式控制之后是地址表列而不是变量表列)格式控制之后是地址表列而不是变量表列scanf(“%d,%d”,&a,&b);scanf(“%d,%d”,&a,&b);是正确的,而是正确的,而是正确的,而是正确的,而scanf(“%d,%*d,%d”,a,b);scanf(“%d,%*d,%d”,a,b);是错误的。是错误的。是错误的。是错误的。第二节第二节 常用的输入和输出函数常用的输入和输出函数http:/ 顺序结构程序设计顺序结构程序设计 顺序
18、结构是结构化程序设计中最简单、最常见的一顺序结构是结构化程序设计中最简单、最常见的一顺序结构是结构化程序设计中最简单、最常见的一顺序结构是结构化程序设计中最简单、最常见的一种程序结构。种程序结构。种程序结构。种程序结构。顺序结构中的语句是顺序结构中的语句是顺序结构中的语句是顺序结构中的语句是按照书写的先后顺序执行按照书写的先后顺序执行按照书写的先后顺序执行按照书写的先后顺序执行的,的,的,的,并且并且并且并且每个语句都会被执行每个语句都会被执行每个语句都会被执行每个语句都会被执行到。到。到。到。http:/ a和和b b,然后输出,然后输出a a和和b b;在交换a a和和b b 中的值后,再
19、输出a a和和b b。分析:分析:uu定义所用的变量定义所用的变量a,ba,b及交换时所需的变量及交换时所需的变量t;t;uu从键盘给变量从键盘给变量a,ba,b输入输入2 2个整数值;个整数值;uu输出变量输出变量a,ba,b的值的值;uu借助变量借助变量t t交换变量交换变量a,ba,b的值的值;uu再次输出变量再次输出变量a,ba,b。第三节第三节 顺序结构程序设计顺序结构程序设计 main()int a,b,t;printf(“please input two numbers:n”);scanf(%d,%d,&a,&b);printf(“a=%d,b=%dn”,a,b);t=a;a=b
20、;b=t;printf(“a=%d,b=%dn”,a,b);输出a,b的值借助借助t交交换换a,b的的值值输出交换后的值输出交换后的值代码如下:代码如下:代码如下:代码如下:第三节第三节 顺序结构程序设计顺序结构程序设计http:/ a、b b、c c、s s和和area;area;uu从键盘输入从键盘输入a a、b b、c c的值;的值;uu用公式计算三角形的半周长,即用公式计算三角形的半周长,即s s的值的值;uu用公式计算三角形的面积用公式计算三角形的面积areaarea的值。的值。uu输出输出areaarea的值的值第三节第三节 顺序结构程序设计顺序结构程序设计http:/ a、b b
21、、c c的值的值的值的值s=(a+b+c)/2s=(a+b+c)/2输出输出输出输出sumsum的值的值的值的值结束结束结束结束area=sqrt(s*(s-a)*(s-b)*(s-c)area=sqrt(s*(s-a)*(s-b)*(s-c)算法描述如右:算法描述如右:http:/ main()float a,b,c,s,area;printf(enter a,b,c:n);scanf(%f,%f,%f,&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%7.2fn,area);输入三边长输入三边长输入三边长输入三
22、边长a,b,ca,b,c输出输出输出输出areaarea时指定时指定时指定时指定精度精度精度精度代码如下:代码如下:若输入:若输入:若输入:若输入:3 3,4 4,55则结果为:则结果为:则结果为:则结果为:a=a=3.00,b=3.00,b=4.00,c=4.00,c=5.005.00 area=area=6.006.00运行如下:运行如下:真题分析真题分析2008年4月真题:(16)有以下程序段()。char ch;int k;ch=a;k=12;printf(%c,%d,ch,ch,k);printf(k=%dn,k);已知字符a 的ASCII 十进制代码为97,则执行上述程序段后输出结
23、果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12答案答案:D真题分析真题分析2008年9月真题:(19)若变量已正确定义为int 型,要通过语句scanf(%d,%d,%d,&a,&b,&c);给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(代表一个空格符)()。A)1,2,3 B)1 2 3C)1,2,3 D)1,2,3答案答案:B(7)若整型变量a 和b 中的值分别为7 和9,要求按以下格式输出a 和b 的值:a=7b=9请完成输出语句:printf(【7】,a,b);。真题分析真题分析答案答案:a=%dnb=%dn知识点分析知识点分析题型:以选择或填空的形式出现数量:一般1-2个选择题和1-2个填空题 重点考察:scanf()、printf()函数的书写格式