c语言课件-第4章顺序程序设计_第1页
c语言课件-第4章顺序程序设计_第2页
c语言课件-第4章顺序程序设计_第3页
c语言课件-第4章顺序程序设计_第4页
c语言课件-第4章顺序程序设计_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

第四章最简单的C程序设计

TheSimplestCProgramDesign顺序程序设计TheSequenceProgramDesign第四章最简单的C程序设计

TheSimplestCP1上机安排01~03班,4-13周周五,下午2~4点04~51班,4-13周周一,下午4~6点地点:F座—214,—217,—218,—220上机安排01~03班,4-13周周五,下午2~4点24.1C语句概述

(DescriptionofCsentence)一、C程序结构C程序源程序文件1源程序文件2源程序文件n••••••预处理命令全局变量声明函数1函数n••••••函数首部函数体局部变量声明执行语句4.1C语句概述

(DescriptionofC3二、C语句概述C语句分类:(Assortment)1.控制语句(Controlsentences)2.函数调用语句(functionCallsentences)3.表达式语句(Expressionsentences)4.空语句(Emptysentences)5.复合语句(Compoundsentences)一条完整的C语句必须以“;”结束。“;”是一个语句不可缺少的一部分。二、C语句概述C语句分类:(Assortment)4控制语句(Controlsentences)

功能:完成一定的控制功能C有9种控制语句:⑴条件语句(Conditionsentence) if(表达式) if(表达式)语句1 {语句块1} else语句2 else {语句块2}⑵循环语句(Loopsentence)

for() for()语句 {语句块}

控制语句(Controlsentences)

功能:完成5⑶当型循环语句(whileLoop) while(表达式) while(表达式)语句 {语句块}⑷直到型循环语句(untilLoop) do do语句while(表达式); {语句块} while(表达式);⑸continue(结束本次循环语句)⑹switch(多分支选择语句)⑺break(中止执行switch或循环语句)⑻goto(转向语句)⑼return(从函数返回数值语句)⑶当型循环语句(whileLoop)62.函数调用语句(Callingfunction)

由一次函数调用加一个“;”构成。如:printf(“HelloWorld!”);函数调用分号3.表达式语句(Expressionsentences)

由表达式加上“;”构成。如:x+4*y;算术表达式语句4*7,4+8;逗号表达式语句x=4*7;赋值表达式语句(赋值语句)2.函数调用语句(Callingfunction)74.空语句(Emptysentences)

由一个“;”构成。即:;作用:①程序转向点;②什么也不做的循环体。 while(i<=11);5.复合语句(Compoundsentences)

用{}括起的一组语句。如:if(x1>x2){y=x1*x1+x2;printf("y=%d",y);}不能省略不能加“;”4.空语句(Emptysentences)由一个“84.2赋值语句(AssignmentSentences)⑴C语言中的赋值号“=”是一个运算符。⑵赋值表达式和赋值语句不同,赋值表达式可以被包含在其它表达式之中。如:if((a=b)>0)t=a;它等于:a=b;if(a>0)t=a;如果写成:if((a=b;)>0)t=a;错了。在if的条件中不能包含赋值语句4.2赋值语句(AssignmentSentences94.3数据输入输出的概念及在C语言中的实现(DataInputsandOutputs)一、数据输入输出的概念计算机的输入输出是以计算机主机为主体而言。输入:从外部通过输入设备(如,键盘、磁盘、光盘、扫描仪等)向计算机输入数据。输出:从计算机向外部设备(如,显示屏、打印机、磁盘等)输出数据。4.3数据输入输出的概念及在C语言中的实现(DataI10二、数据输入输出在C语言中的实现1.调用输入输出函数实现输入输出操作

C语言本身不提供输入输出语句,输入和输出操作是通过调用C语言库函数中输入输出函数来实现的。如:putchar函数——输出字符(CharacterInput)getchar函数——输入字符(CharacterOutput)printf函数——格式输出(DataInputwithformat)scanf函数——格式输入(DataOutputwithformat)puts函数——输出字符串(Stringsoutput)gets函数——输入字符串(Stringsinput)二、数据输入输出在C语言中的实现1.调用输入输出函数实现输入111)C语言库函数(stdio.h,math.h等)已被编译成目标文件(二进制形式)2)源程序必须先编译成目标文件。源程序中的输入输出函数等库函数,在编译时并不被翻译成目标指令。3)生成好的目标文件(.OBJ)必须与与系统的函数库(以及其他的目标文件)进行连接,形成可执行文件(EXE)。4)运行EXE文件时,调用已被连接的函数库中的系统函数。1)C语言库函数(stdio.h,math.h等)已被编译12main(){inta,b;a=10;b=20;printf(“a=%d,b=%d”,a,b);}printf()的目标代码系统函数库……………….main()printf()的目标代码系统函数库………………132.文件开头应有“#include”命令

在调用标准输入输出库函数时,文件开头应有预编译命令:#include<stdio.h>

或#include“stdio.h”其中,stdio.h是“头文件”,包含了与用到的标准输入输出函数有关的信息。stdio.h是standardinput&outpt系统允许在使用printf和scanf两个函数时可不加“#include”命令。2.文件开头应有“#include”命令在调用144.4字符数据的输入与输出(TheInputandOuputofCharacterData)一、putchar函数(字符输出函数)一般格式:putchar(c)必须有预编译命令∶#include<stdio.h>功能∶向终端设备输出一个字符。说明:其中c可以是字符型常量、字符型变量、整型常量、整型变量表达式。4.4字符数据的输入与输出(TheInputand15例:#include<stdio.h>main(){chara,b,c;a=‘B’;b=‘O’;c=‘Y’;putchar(a);putchar(b);putchar(c);putchar(‘\’’);}输出结果:BOY’例:输出结果:BOY’16一般格式:getchar()——没有参数功能∶从终端输入一个字符。#include“stdio.h”main(){charc;c=getchar();putchar(c);}

aa例:二、getchar函数(字符输入函数)一般格式:getchar()——没有参数#174.5格式输入输出函数(InputandOutputFunctionwithFormat)格式字符说明d,i用来输入输出有符号的十进制整数u用来输入输出无符号的十进制整数o用来输入输出无符号的八进制整数x,X用来输入输出无符号的十六进制整数c用来输入输出单个字符s用来输入输出字符串f用来输入输出实数(小数或指数)e,E,g,G与f作用相同,e与f,g可以互相替换4.5格式输入输出函数(InputandOutput184.5.1printf函数(格式输出函数)功能:向终端输出若干个任意类型的数据。(一)printf函数的一般格式printf(格式控制,输出表列)4.5.1printf函数(格式输出函数)功能:向终端19举例:main(){inta=3,b=4;printf(“a=%db=%dsum=%d\n”,a,b,a+b);}输出结果:a=3b=4sum=7格式说明(格式字符)普通字符输出表列转义字符举例:格式说明(格式字符)普通字符输出表列转义字符20printf(格式控制,输出表列)

说明:“输出表列”是需要输出的一些数据(变量、表达式)。“格式控制”是用双引号括起来的字符

也称“转换控制字符串”,它包括三种信息:1.普通字符,即需要原样输出的字符。2.格式说明,由“%”和格式字符组成,如%d,%f等。3.转义字符,将\后面的字符转换成另外的意义(P48表)。printf(格式控制,输出表列)说明:21(二)格式字符(formattedCharacter)

对不同类型的数据用不同的格式字符。1.d格式符——用来输出十进制整数。(outputthedecimalinteger)(1)%d:按整型数据的实际长度输出。如:inta=123;printf(“%d”,a);结果:123(二)格式字符(formattedCharacter)22(2)%md:m为指定的输出字段的宽度。若数据位数小于m,则左端补以空格;若大于m,则按实际位数输出。如:inta=123,b=12345;printf(“%4d,%4d”,a,b);结果:123,12345(2)%md:m为指定的输出字段的宽度。如:inta=1223(3)%mld:输出长整型数据。m是对长整型数据指定字段宽度。如:longa=1234567;printf(“%ld,%8ld,%5ld”,a,a,a);结果:1234567,1234567,1234567(3)%mld:输出长整型数据。如:longa=123424f格式符——以浮点数形式输出实数。

(outputthefloatingpointrealnumber)(1)%f:不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数。注意float型和double型数据的有效位数,如:floatx=123456.123;printf(“%f”,x);输出结果:123456.125000f格式符——以浮点数形式输出实数。(1)%f:不指定字25main(){doublex,y;x=1111111111111.111111111;y=1111111111111.111111111;printf(“%f”,x+y);}2222222222222.222170main()26(2)%m.nf:指定输出的数据共占m列,其中有n位小数。若数据长度小于m,则左端补空格。(3)%–m.nf:与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。如:floatf=123.456;printf(“%10.2f,%-10.2f”,f);

输出结果:

123.46,123.46(2)%m.nf:指定输出的数据共占m列,其中有n(327e格式——以指数形式输出实数。

(outputtherealnumberinexponent)

(1)%e如:printf(“%e”,123.456);输出结果:1.234560e+0026位3位一般共占13列宽度(2)%m.ne和%–m.ne:m、n和“–”字符含义与前相同。此处n指数据的数字部分(又称尾数)的小数位数。e格式——以指数形式输出实数。(1)%e如:print284.g格式符——用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。(outputtherealnumberinfloatpointorexponent)如:f=123.468;printf(“%f,%e,%g”,f,f,f);输出如下:123.468000,1.234680e+002,123.46810列13列如:f=123.468;printf(“%f,%e,%g”,f,f,f);输出如下:123.468000,1.234680e+002,123.46810列4.g格式符——用来输出实数,它根据数值的大295.o格式符——以8进制数形式输出整数.输出的数值不带符号,即将符号也一起作为八进制数的一部分输出。如:inta=-1;printf(“%d,%o”,a,a);结果:-1,177777

o格式符同d格式符一样,可以输出长整型数据,也可以指定字段宽度。11111111111111115.o格式符——以8进制数形式输出整数.306.x格式符——以16进制数形式输出整数。同样不会出现负的十六进制数。7.u格式符——以十进制形式输出unsigned型数据如:main(){unsignedinta=65535;intb=-2;printf(“a=%d,%o,%x,%u\n”,a,a,a,a);printf(“b=%d,%o,%x,%u\n”,b,b,b,b);}输出结果:a=-1,177777,ffff,65535b=-2,177776,fffe,655346.x格式符——以16进制数形式输出整数。同样不会出现负的318.

C格式符——用来输出一个字符。一个整数,只要它的值在0~255范围内,也可以用字符形式输出,在输出前,将该整数转换成相应的ASCII字符;反之,一个字符数据也可以用整数形式输出。如:main(){charc=‘a’;inti=97;printf(“%c,%d\n”,c,c);printf(“%c,%d\n”,i,i);}输出结果:a,97a,978.C格式符——用来输出一个字符。一个整329.s格式符——用来输出一个字符串。(1)%s:按原长度输出字符串。如:printf(“%s”,“CHINA”)输出结果:CHINA(2)%ms:输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出,若串长小于m,则左补空格。(3)%–ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。9.s格式符——用来输出一个字符串。(1)%s:按原33(4)%m.ns:输出占m列,但只取字符串中左端n个字符。输出在列的右侧,左补空格。如果n>m,则自动取n值,即保证n个字符正常输出。(5)%–m.ns,其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如:printf(“%3s,%7.2s,%.4s,%-5.3s\n”,“CHINA”,“CHINA”,“CHINA”,“CHINA”);输出结果:CHINA,CH,CHIN,CHI(4)%m.ns:输出占m列,但只取字符串中左端(5)344.5.2scanf函数(格式输入函数)(一)一般形式scanf(格式控制,地址表列)1015main(){inta,b,c;scanf(“%d,%d”,&a,&b);printf(“a=%d,b=%d”,a,b);输入:10,15输出:a=10,b=15ab4.5.2scanf函数(格式输入函数)(一)一般形式35(二)格式说明 与prntf函数中的格式说明相似,以%开始,以一个格式字符结束(表4-3),中间可以插入附加的字符(表4-4)。(二)格式说明36如:inta,b,c;scanf(“%d%d%d”,&a,&b,&c);输入形式:1017181inta,b,c;scanf(“%d,%d,%d\n”,&a,&b,&c);输入形式:10,11,12scanf(“%3d%3d%c”,&a,&b,&ch);输入形式:123456abc结果:a=123b=456ch=‘a’scanf(“%d%d%c”,&a,&b,&ch);输入形式:123456abc结果:a=123b=456ch=‘a’如:inta,b,c;scanf(“%3d%3d%c”,37main(){charc1,c2;scanf(“c1=%c,c2=%c”,&c1,&c2);printf(“%c%c”,c1,c2);}输入数据:c1=a,c2=b输出数据:abmain()38有错吗?main(){intx,y,z;charch;scanf(“%7.2d%d%d%c”,x,y,z,ch);}main(){intx,y;scanf(“%5d,%3d”,&x,&y);}输入数据:345,567有错吗?39说明:1.%后的“*”附加说明符,用来表示跳过它相应的数据。如:scanf(“%2d,%*3d,%2d”,&a,&b);输入:12,456,67结果:a=12b=672.输入数据时不能规定精度。╳

scanf(“%7.2f”,&a);3.输入的字符、数值要与格式一致scanf(“a=%d,b=%d”,&a,&b);输入:a=12,b=134、scanf(“%c%c%c”,&a,&b,&c);输入:abc

空格和转义字符都作为有效字符输入说明:1.%后的“*”附加说明符,用来表示跳过它相应的数据40main(){inta,b;floatx,y;charc1,c2;scanf(“a=%db=%d”,&a,&b);scanf(“%f%e”,&x,&y);scanf(“%c%c”,&c1,&c2);printf(“%d,%d,%f,%f,%c,%c”,a,b,x,y,c1,c2);}输入数据:a=10b=203040ab输出数据:10,20,30.00000,40.00000,a,b输入方式2:a=10b=203040abmain()41main(){inta,b;floatx,y;charc1,c2;scanf(“a=%db=%d”,&a,&b);scanf(“x=%fy=%e”,&x,&y);scanf(“c1=%cc2=%c”,&c1,&c2);printf(“%d,%d,%f,%f,%c,%c”,a,b,x,y,c1,c2);}输入数据:a=10b=20x=10y=10c1=ac2=b输出数据:10,20,10.00000,20.00000,a,bmain()424.6顺序结构程序设计举例(顺序结构)(选择结构)(循环结构)特点:程序按语句从上到下的排列顺序依次执行,每条语句必须执行且只能执行一次,没有执行不到或执行多次的语句。4.6顺序结构程序设计举例(顺序结构)43例如:已知圆柱体半径6米,高7米,求体积。#definePI3.14159main(){floatr,h,s,v;r=6;h=7;s=PI*r*r;v=s*h;printf(“V=%f\n”,v);}例如:已知圆柱体半径6米,高7米,求体积。#define44例4.10输入三角形的三条边,求三角形的面积。分析:已知∶三角形的三条边a,b,c。求解∶三角形的面积area。计算公式∶设s=(a+b+c)/2area=开始给a,b,c赋值计算s=(a+b+c)/2计算area=结果输出结束#include<math.h>main(){floata,b,c,s,area;scanf(“%f%f%f”,&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%fb=%fc=%fs=%f”,a,b,c,s);printf(“area=%f”,area);}例4.10输入三角形的三条边,求三角形的面积。分析:已45例4.11从键盘输入一个大写字母,要求改用小写字母输出。分析:已知∶字符变量c1为大写字母。求解∶将字符变量c2中放入相应的小写字母。计算公式∶c2=c1+32(小写改成大写字母?)开始计算c2=c1+32输出c1结束输入一大写字母放入c1中输出c2#include<stdio.h>main(){charc1,c2;c1=getchar();/*键盘输入一个大写字母*/

printf(“%c,%d\n”,c1,c1);c2=c1+32;printf(“%c,%d\n”,c2,c2);}输入:A

输出:A,65

a,97

例4.11从键盘输入一个大写字母,要求改用小写分析:已46例4.12求ax2+bx+c=0的根,a,b,c由键盘输入,设b2-4ac>0#include<math.h>main(){floata,b,c,disc,x1,x2,p,q;scanf("%f%f%f",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%f\nx2=%f",x1,x2);}运行情况:132x1=-1.000000x2=-2.000000例4.12求ax2+bx+c=0的根,a,b,c由键盘输47本章作业:

一、做4.2、4.5、4.6、4.7,自己对答案二、编程上机操作题,熟悉各种类型的输入输出的方法,能正确使用各种格式转换符。1.4.4题、4.8题、4.9题。2.上机调试4.10题并回答问题。本章作业:一、做4.2、4.5、4.6、4.7,自己对48第四章最简单的C程序设计

TheSimplestCProgramDesign顺序程序设计TheSequenceProgramDesign第四章最简单的C程序设计

TheSimplestCP49上机安排01~03班,4-13周周五,下午2~4点04~51班,4-13周周一,下午4~6点地点:F座—214,—217,—218,—220上机安排01~03班,4-13周周五,下午2~4点504.1C语句概述

(DescriptionofCsentence)一、C程序结构C程序源程序文件1源程序文件2源程序文件n••••••预处理命令全局变量声明函数1函数n••••••函数首部函数体局部变量声明执行语句4.1C语句概述

(DescriptionofC51二、C语句概述C语句分类:(Assortment)1.控制语句(Controlsentences)2.函数调用语句(functionCallsentences)3.表达式语句(Expressionsentences)4.空语句(Emptysentences)5.复合语句(Compoundsentences)一条完整的C语句必须以“;”结束。“;”是一个语句不可缺少的一部分。二、C语句概述C语句分类:(Assortment)52控制语句(Controlsentences)

功能:完成一定的控制功能C有9种控制语句:⑴条件语句(Conditionsentence) if(表达式) if(表达式)语句1 {语句块1} else语句2 else {语句块2}⑵循环语句(Loopsentence)

for() for()语句 {语句块}

控制语句(Controlsentences)

功能:完成53⑶当型循环语句(whileLoop) while(表达式) while(表达式)语句 {语句块}⑷直到型循环语句(untilLoop) do do语句while(表达式); {语句块} while(表达式);⑸continue(结束本次循环语句)⑹switch(多分支选择语句)⑺break(中止执行switch或循环语句)⑻goto(转向语句)⑼return(从函数返回数值语句)⑶当型循环语句(whileLoop)542.函数调用语句(Callingfunction)

由一次函数调用加一个“;”构成。如:printf(“HelloWorld!”);函数调用分号3.表达式语句(Expressionsentences)

由表达式加上“;”构成。如:x+4*y;算术表达式语句4*7,4+8;逗号表达式语句x=4*7;赋值表达式语句(赋值语句)2.函数调用语句(Callingfunction)554.空语句(Emptysentences)

由一个“;”构成。即:;作用:①程序转向点;②什么也不做的循环体。 while(i<=11);5.复合语句(Compoundsentences)

用{}括起的一组语句。如:if(x1>x2){y=x1*x1+x2;printf("y=%d",y);}不能省略不能加“;”4.空语句(Emptysentences)由一个“564.2赋值语句(AssignmentSentences)⑴C语言中的赋值号“=”是一个运算符。⑵赋值表达式和赋值语句不同,赋值表达式可以被包含在其它表达式之中。如:if((a=b)>0)t=a;它等于:a=b;if(a>0)t=a;如果写成:if((a=b;)>0)t=a;错了。在if的条件中不能包含赋值语句4.2赋值语句(AssignmentSentences574.3数据输入输出的概念及在C语言中的实现(DataInputsandOutputs)一、数据输入输出的概念计算机的输入输出是以计算机主机为主体而言。输入:从外部通过输入设备(如,键盘、磁盘、光盘、扫描仪等)向计算机输入数据。输出:从计算机向外部设备(如,显示屏、打印机、磁盘等)输出数据。4.3数据输入输出的概念及在C语言中的实现(DataI58二、数据输入输出在C语言中的实现1.调用输入输出函数实现输入输出操作

C语言本身不提供输入输出语句,输入和输出操作是通过调用C语言库函数中输入输出函数来实现的。如:putchar函数——输出字符(CharacterInput)getchar函数——输入字符(CharacterOutput)printf函数——格式输出(DataInputwithformat)scanf函数——格式输入(DataOutputwithformat)puts函数——输出字符串(Stringsoutput)gets函数——输入字符串(Stringsinput)二、数据输入输出在C语言中的实现1.调用输入输出函数实现输入591)C语言库函数(stdio.h,math.h等)已被编译成目标文件(二进制形式)2)源程序必须先编译成目标文件。源程序中的输入输出函数等库函数,在编译时并不被翻译成目标指令。3)生成好的目标文件(.OBJ)必须与与系统的函数库(以及其他的目标文件)进行连接,形成可执行文件(EXE)。4)运行EXE文件时,调用已被连接的函数库中的系统函数。1)C语言库函数(stdio.h,math.h等)已被编译60main(){inta,b;a=10;b=20;printf(“a=%d,b=%d”,a,b);}printf()的目标代码系统函数库……………….main()printf()的目标代码系统函数库………………612.文件开头应有“#include”命令

在调用标准输入输出库函数时,文件开头应有预编译命令:#include<stdio.h>

或#include“stdio.h”其中,stdio.h是“头文件”,包含了与用到的标准输入输出函数有关的信息。stdio.h是standardinput&outpt系统允许在使用printf和scanf两个函数时可不加“#include”命令。2.文件开头应有“#include”命令在调用624.4字符数据的输入与输出(TheInputandOuputofCharacterData)一、putchar函数(字符输出函数)一般格式:putchar(c)必须有预编译命令∶#include<stdio.h>功能∶向终端设备输出一个字符。说明:其中c可以是字符型常量、字符型变量、整型常量、整型变量表达式。4.4字符数据的输入与输出(TheInputand63例:#include<stdio.h>main(){chara,b,c;a=‘B’;b=‘O’;c=‘Y’;putchar(a);putchar(b);putchar(c);putchar(‘\’’);}输出结果:BOY’例:输出结果:BOY’64一般格式:getchar()——没有参数功能∶从终端输入一个字符。#include“stdio.h”main(){charc;c=getchar();putchar(c);}

aa例:二、getchar函数(字符输入函数)一般格式:getchar()——没有参数#654.5格式输入输出函数(InputandOutputFunctionwithFormat)格式字符说明d,i用来输入输出有符号的十进制整数u用来输入输出无符号的十进制整数o用来输入输出无符号的八进制整数x,X用来输入输出无符号的十六进制整数c用来输入输出单个字符s用来输入输出字符串f用来输入输出实数(小数或指数)e,E,g,G与f作用相同,e与f,g可以互相替换4.5格式输入输出函数(InputandOutput664.5.1printf函数(格式输出函数)功能:向终端输出若干个任意类型的数据。(一)printf函数的一般格式printf(格式控制,输出表列)4.5.1printf函数(格式输出函数)功能:向终端67举例:main(){inta=3,b=4;printf(“a=%db=%dsum=%d\n”,a,b,a+b);}输出结果:a=3b=4sum=7格式说明(格式字符)普通字符输出表列转义字符举例:格式说明(格式字符)普通字符输出表列转义字符68printf(格式控制,输出表列)

说明:“输出表列”是需要输出的一些数据(变量、表达式)。“格式控制”是用双引号括起来的字符

也称“转换控制字符串”,它包括三种信息:1.普通字符,即需要原样输出的字符。2.格式说明,由“%”和格式字符组成,如%d,%f等。3.转义字符,将\后面的字符转换成另外的意义(P48表)。printf(格式控制,输出表列)说明:69(二)格式字符(formattedCharacter)

对不同类型的数据用不同的格式字符。1.d格式符——用来输出十进制整数。(outputthedecimalinteger)(1)%d:按整型数据的实际长度输出。如:inta=123;printf(“%d”,a);结果:123(二)格式字符(formattedCharacter)70(2)%md:m为指定的输出字段的宽度。若数据位数小于m,则左端补以空格;若大于m,则按实际位数输出。如:inta=123,b=12345;printf(“%4d,%4d”,a,b);结果:123,12345(2)%md:m为指定的输出字段的宽度。如:inta=1271(3)%mld:输出长整型数据。m是对长整型数据指定字段宽度。如:longa=1234567;printf(“%ld,%8ld,%5ld”,a,a,a);结果:1234567,1234567,1234567(3)%mld:输出长整型数据。如:longa=123472f格式符——以浮点数形式输出实数。

(outputthefloatingpointrealnumber)(1)%f:不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数。注意float型和double型数据的有效位数,如:floatx=123456.123;printf(“%f”,x);输出结果:123456.125000f格式符——以浮点数形式输出实数。(1)%f:不指定字73main(){doublex,y;x=1111111111111.111111111;y=1111111111111.111111111;printf(“%f”,x+y);}2222222222222.222170main()74(2)%m.nf:指定输出的数据共占m列,其中有n位小数。若数据长度小于m,则左端补空格。(3)%–m.nf:与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。如:floatf=123.456;printf(“%10.2f,%-10.2f”,f);

输出结果:

123.46,123.46(2)%m.nf:指定输出的数据共占m列,其中有n(375e格式——以指数形式输出实数。

(outputtherealnumberinexponent)

(1)%e如:printf(“%e”,123.456);输出结果:1.234560e+0026位3位一般共占13列宽度(2)%m.ne和%–m.ne:m、n和“–”字符含义与前相同。此处n指数据的数字部分(又称尾数)的小数位数。e格式——以指数形式输出实数。(1)%e如:print764.g格式符——用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。(outputtherealnumberinfloatpointorexponent)如:f=123.468;printf(“%f,%e,%g”,f,f,f);输出如下:123.468000,1.234680e+002,123.46810列13列如:f=123.468;printf(“%f,%e,%g”,f,f,f);输出如下:123.468000,1.234680e+002,123.46810列4.g格式符——用来输出实数,它根据数值的大775.o格式符——以8进制数形式输出整数.输出的数值不带符号,即将符号也一起作为八进制数的一部分输出。如:inta=-1;printf(“%d,%o”,a,a);结果:-1,177777

o格式符同d格式符一样,可以输出长整型数据,也可以指定字段宽度。11111111111111115.o格式符——以8进制数形式输出整数.786.x格式符——以16进制数形式输出整数。同样不会出现负的十六进制数。7.u格式符——以十进制形式输出unsigned型数据如:main(){unsignedinta=65535;intb=-2;printf(“a=%d,%o,%x,%u\n”,a,a,a,a);printf(“b=%d,%o,%x,%u\n”,b,b,b,b);}输出结果:a=-1,177777,ffff,65535b=-2,177776,fffe,655346.x格式符——以16进制数形式输出整数。同样不会出现负的798.

C格式符——用来输出一个字符。一个整数,只要它的值在0~255范围内,也可以用字符形式输出,在输出前,将该整数转换成相应的ASCII字符;反之,一个字符数据也可以用整数形式输出。如:main(){charc=‘a’;inti=97;printf(“%c,%d\n”,c,c);printf(“%c,%d\n”,i,i);}输出结果:a,97a,978.C格式符——用来输出一个字符。一个整809.s格式符——用来输出一个字符串。(1)%s:按原长度输出字符串。如:printf(“%s”,“CHINA”)输出结果:CHINA(2)%ms:输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出,若串长小于m,则左补空格。(3)%–ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。9.s格式符——用来输出一个字符串。(1)%s:按原81(4)%m.ns:输出占m列,但只取字符串中左端n个字符。输出在列的右侧,左补空格。如果n>m,则自动取n值,即保证n个字符正常输出。(5)%–m.ns,其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如:printf(“%3s,%7.2s,%.4s,%-5.3s\n”,“CHINA”,“CHINA”,“CHINA”,“CHINA”);输出结果:CHINA,CH,CHIN,CHI(4)%m.ns:输出占m列,但只取字符串中左端(5)824.5.2scanf函数(格式输入函数)(一)一般形式scanf(格式控制,地址表列)1015main(){inta,b,c;scanf(“%d,%d”,&a,&b);printf(“a=%d,b=%d”,a,b);输入:10,15输出:a=10,b=15ab4.5.2scanf函数(格式输入函数)(一)一般形式83(二)格式说明 与prntf函数中的格式说明相似,以%开始,以一个格式字符结束(表4-3),中间可以插入附加的字符(表4-4)。(二)格式说明84如:inta,b,c;scanf(“%d%d%d”,&a,&b,&c);输入形式:1017181inta,b,c;scanf(“%d,%d,%d\n”,&a,&b,&c);输入形式:10,11,12scanf(“%3d%3d%c”,&a,&b,&ch);输入形式:123456abc结果:a=123b=456ch=‘a’scanf(“%d%d%c”,&a,&b,&ch);输入形式:123456abc结果:a=123b=456ch=‘a’如:inta,b,c;scanf(“%3d%3d%c”,85main(){charc1,c2;scanf(“c1=%c,c2=%c”,&c1,&c2);printf(“%c%c”,c1,c2);}输入数据:c1=a,c2=b输出数据:abmain()86有错吗?main(){intx,y,z;charch;scanf(“%7.2d%d%d%c”,x,y,z,ch);}main(){intx,y;scanf(“%5d,%3d”,&x,&y);}输入数据:345,567有错吗?87说明:1.%后的“*”附加说明符,用来表示跳过它相应的数据。如:scanf(“%2d,%*3d,%2d”,&a,&b);输入:12,456,67结果:a=12b=672.输入数据时不能规定精度。╳

scanf(“%7.2f”,&a);3.输入的字符、数值要与格式一致scanf(“a=%d,b=%d”,&a,&b);输入:a=12,b=134、scanf(“%c%c%c”,&a,&b,&c);输入:abc

空格和转义字符都作为有效字符输入说明:1.%后的“*”附加说明符,用来表示跳过它相应的数据88main(){inta,b;floatx,y;charc1,c2;scanf

温馨提示

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

评论

0/150

提交评论