《C语言程序设计 第4章 顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计 第4章 顺序结构程序设计.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、4.1 4.1 C C语句概述语句概述 .3.3 格式输入与输出格式输入与输出.4.4 顺序程序设计举例顺序程序设计举例.2.2 字字符数据的输入输出符数据的输入输出第四章第四章C C语言简单程序设计语言简单程序设计.1.1 C C语句概述语句概述C语言的语句概述:语言的语句概述:程序对数据的处理是通过程序对数据的处理是通过“语句语句”的执的执行来实现的。行来实现的。一条语句完成一项操作。一条语句完成一项操作。一个为实现特定目的的程序应包含一个为实现特定目的的程序应包含若干条语句。若干条语句。C C语言本身不提供输入语言本身不提供输入/输出语句。输出语句。C C语言的输入语言的输入/输出功能由
2、输出功能由C C语言的标准语言的标准I/OI/O库库函数提供。函数提供。Printf,scanf,getchar,putcharPrintf,scanf,getchar,putchar4.2 4.2 输入与输出语句输入与输出语句(1 1)函数原型)函数原型getchargetchar();();函数的名称函数的名称无参数无参数(2 2)函数功能)函数功能从标准输入设备(一般为键盘)读入一个字符,从标准输入设备(一般为键盘)读入一个字符,得到该字符的得到该字符的ASCIIASCII码值码值4.2 4.2 字符输入与输出函数字符输入与输出函数1 1、字符输入函数、字符输入函数例:例:#includ
3、e”stdio.h”main()char m,n;m=getchar();n=getchar();printf(“%d,%d”,m,n);此题本意是输出此题本意是输出A,B的的ASCII码值码值如果输入如果输入A B 由于由于 也属于字符,所以本程序输出的实际答也属于字符,所以本程序输出的实际答案是案是65,10,这样与预期的结果不相符,这样与预期的结果不相符正确的输入如下:正确的输入如下:AB输出输出 65,6665,66注意:每一个注意:每一个getchargetchar()()只能接受一个字符!只能接受一个字符!注意:注意:调用函数调用函数getchargetchar时,程序执行被中断,
4、等待时,程序执行被中断,等待用户从键盘输入数据。当用户键入字符并敲回用户从键盘输入数据。当用户键入字符并敲回车键以后,程序继续运行。若用户输入字符后车键以后,程序继续运行。若用户输入字符后未按回车键,则键入的内容一直保留在键盘缓未按回车键,则键入的内容一直保留在键盘缓冲区中,只有用户键入回车键后,字符输入函冲区中,只有用户键入回车键后,字符输入函数数getchargetchar才进行处理。才进行处理。函函数数getchargetchar将将回回车车键键作作为为一一个个字字符符读读入入。如如果果程程序序中中有有两两个个以以上上函函数数getchargetchar时时,应应该该一一次次性性输输入入
5、所所需需字字符符,最最后后再再按按回回车车键键,如上例所示。如上例所示。无论输入的是英文字母或标点符号还是数字,无论输入的是英文字母或标点符号还是数字,都是作为字符输入都是作为字符输入 。(1 1)函数原型)函数原型putchar(intputchar(int););函数的名称函数的名称函数的参数函数的参数(2 2)函数功能)函数功能向标准输出设备(一般为显示器)输出一个字符向标准输出设备(一般为显示器)输出一个字符2 2、字符输出函数、字符输出函数注意:每一个注意:每一个putcharputchar()()只能输出一个字符!只能输出一个字符!例:例:#include 程序运行结果为程序运行结
6、果为:ABBCABBCmain()int a=65;char b=B;putchar(a);putchar(65+1);putchar(b);putchar(B+1);包含函数包含函数putcharputchar的头文件的头文件另外:另外:putchar还可以输出其他字符还可以输出其他字符 例如:例如:putchar(n);putchar();putchar(001);main()char c1,c2;c1=getchar();c2=c1+32;putchar(c2);#include 例:从键盘中输入一个大写字母,要求输出例:从键盘中输入一个大写字母,要求输出小写字母小写字母#include
7、 main()char c1,c2;scanf(“%c”,&c1);c2=c1+32;printf(“%c”,c2);1.1.函数原型函数原型printfprintf(formatformat ,argumentargument,.););2.2.函数功能函数功能函数函数printfprintf将一组参数,由将一组参数,由formatformat给定的格式给定的格式规定输出格式,把数据格式化并且输出到标准规定输出格式,把数据格式化并且输出到标准输出设备。输出设备。可以有多个参数可以有多个参数4.3.14.3.1格式输出函数格式输出函数putcharputchar只只能能输输出出字字符符且且只只
8、能能是是一一个个,而而printfprintf可可以以输出多个数据,且可以为任意类型(输出多个数据,且可以为任意类型(%d,%f,%cd,%f,%c)函数调用的一般形式:函数调用的一般形式:printfprintf(格式控制字符串格式控制字符串,输出项列表);,输出项列表);必须用英文的双引号必须用英文的双引号括起来。括起来。作用是控制输出项的作用是控制输出项的格式和输出一些提示信格式和输出一些提示信息。息。要输出的表达式。要输出的表达式。常量、变量、运算常量、变量、运算符表达式、函数返回值符表达式、函数返回值等,每个输出项之间用等,每个输出项之间用逗号(,)分隔。逗号(,)分隔。3、输出列表
9、项、输出列表项 输出列表项可以是一些需要输出的变量名,输出列表项可以是一些需要输出的变量名,也可以是常量,也可以是表达式也可以是常量,也可以是表达式例例:main()int a;float b;scanf(“%d,%f”,&a,&b);printf(“%d,%fn”,a,b);printf(“sum=%fn”,a+b);4.4.格式控制字符:格式控制字符:(1)组成:)组成:普通字符、转义字符、格式说明。普通字符、转义字符、格式说明。普通字符、转义字符、格式说明。普通字符、转义字符、格式说明。普通字符普通字符普通字符普通字符:按原样输出,主要用于输出提示信息。按原样输出,主要用于输出提示信息。
10、按原样输出,主要用于输出提示信息。按原样输出,主要用于输出提示信息。转义字符转义字符转义字符转义字符:指明特定的操作。如指明特定的操作。如指明特定的操作。如指明特定的操作。如 n,t n,t格式说明格式说明格式说明格式说明:由由由由%和和和和 格式字符串格式字符串格式字符串格式字符串 组成:组成:组成:组成:%格式字符串。格式字符串。格式字符串。格式字符串。它表示按规定的格式输出数据。它表示按规定的格式输出数据。它表示按规定的格式输出数据。它表示按规定的格式输出数据。例例#include stdio.h main()int a=97,b=98;printf(1:97,98n);/*普通字符,原
11、样输出普通字符,原样输出*/printf(2:%d,%dn,a,b);/*a,b以十进制整数形式输出以十进制整数形式输出*/printf(3:%c,%cn,a,b);/*a,b以字符形式输出以字符形式输出*/printf(4:a=%d,b=%d,a,b);程序运行结果为:程序运行结果为:1:97,982:97,983:a,b4:a=97,b=98(2)格式说明的形式:)格式说明的形式:格式字符,对不同的数据用不同的格式字符进行输出格式字符,对不同的数据用不同的格式字符进行输出1 d格式符格式符用来输出十进制整数用来输出十进制整数用法:用法:%d 按整型数据的实际长度输出按整型数据的实际长度输出
12、%md m为输出字段的宽度为输出字段的宽度,m为正整数为正整数若要输出的数据位数小于若要输出的数据位数小于m,则左端补空格。则左端补空格。若位数大于若位数大于m,则按实际位数输出则按实际位数输出例:例:int a=123,b=12345;printf(“a=%4d,b=%4d”,a,b);输出结果:输出结果:a=123,b=12345例如例如:printf(%dn“,100);printf(%5dn,100););printf(%8dn%8d,100,100*100);1 0 01 0 0 0 01 0 01 0 0 0 0%ld 输出长整型数据输出长整型数据例:例:long a=135790
13、L;printf(“%ld”,a);若以若以%d输出可能会由于超出数据范围而发生错误输出可能会由于超出数据范围而发生错误2 o格式符格式符用来以八进制输出整数用来以八进制输出整数例:例:int a=45;printf(“%d,%o”,a,a);3 x格式符格式符用来以十六进制输出整数用来以十六进制输出整数 例:例:int a=45;printf(“%d,%x”,a,a);4 u格式符格式符用来以十进制形式输出无符号型整数用来以十进制形式输出无符号型整数unsigned 例:例:main()int a=-1;printf(“%d,%o,%x,%u”,a,a,a,a);思考:结果如何?思考:结果如
14、何?5 c格式符格式符用来输出一个字符用来输出一个字符 例:例:char i=c;printf(“%c”,i);6S格式符格式符用来输出一个字符串用来输出一个字符串用法:用法:%s用来输出字符串用来输出字符串%ms,输出的字符占输出的字符占m列列,若串长小于若串长小于m,则左补则左补空格;若字符串本身长度大于空格;若字符串本身长度大于m,则突破则突破m的限制的限制,将字符串全部输出。将字符串全部输出。%-ms,如果串长小于如果串长小于m,则在则在m列范围内,字符列范围内,字符串右补空格串右补空格%m.ns,输出占输出占m列列,但只取字符串中左端但只取字符串中左端n个字个字符。这符。这n个字符输
15、出在个字符输出在m列的右侧,左补空格。列的右侧,左补空格。%-m.ns,其中其中m,n含义同上含义同上n个字符输出在个字符输出在m列列范围的左侧,右补空格。如果范围的左侧,右补空格。如果nm,则则m自动取自动取n值,值,即保证即保证n个字符正常输出个字符正常输出.#includemain()printf(“%sn”,“china”);printf(“%7sn”,“china”);printf(“%-7sn”,“china”);printf(“%7.2sn”,“china”);printf(“%-5.3sn”,“china”);china chinachina chchi 7 f格式符格式符用来
16、输出实数用来输出实数用法:用法:%f 整数部分全部输出,小数部分输出整数部分全部输出,小数部分输出6位位注意有效位数注意有效位数%m.nf表示输出的数据共占表示输出的数据共占m列,其中有列,其中有n位位小数,不够小数,不够m列则列则左左端补空格端补空格%-m.nf表示输出的数据共占表示输出的数据共占m列,其中有列,其中有n位小数,不够位小数,不够m列则列则右右端补空格端补空格printf(%fn%10.3fn,100.7654321,100.7654321);例如例如:1 0 0.7 6 5 4 3 2 1 0 0.7 6 51 0 0.7 6 5printf(%-10.3fn,100.765
17、4321);()格式字符()格式字符(type)一鉴表一鉴表:字符字符说明说明d(或或i)以带符号的十进制形式输出整数,不输出以带符号的十进制形式输出整数,不输出(+)号号o以八进制无符号形式输出整数(不输出前导符数字以八进制无符号形式输出整数(不输出前导符数字O O)x(x(或或X)X)以十六进制无符号形式输出整数(不输出前导符以十六进制无符号形式输出整数(不输出前导符OxOx)u u以无符号十进制形式输出整数以无符号十进制形式输出整数c c输出一个字符输出一个字符s s输出字符串输出字符串f f以小数形式输出单、双精度数,隐含输出以小数形式输出单、双精度数,隐含输出6 6位小数位小数e(e
18、(或或E)E)以指数形式输出单、双精度数,小数位数为以指数形式输出单、双精度数,小数位数为6 6位位g(g(或或G)G)由给定的值和精度自动选用由给定的值和精度自动选用%f f或或%e e或或%E E格式格式%输出百分号(输出百分号(%)1.1.函数原型函数原型scanfscanf(formatformat ,argumentargument,.););2.2.函数功能函数功能按规定格式从键盘输入若干任何类型的数据给按规定格式从键盘输入若干任何类型的数据给argumentargument所指的单元所指的单元;可以有多个参数可以有多个参数4.3.2 4.3.2 格式输入函数格式输入函数3.3.函
19、数调用的一般形式:函数调用的一般形式:scanfscanf(格式控制字符串格式控制字符串,地址列表);,地址列表);必须用英文的双引号必须用英文的双引号括起来。括起来。由普通字符和格式说由普通字符和格式说明字符组成。明字符组成。由若干个地址组成的由若干个地址组成的列表列表。变量的地址、字符串变量的地址、字符串的首地址、指针变量等,的首地址、指针变量等,以逗号(,)间隔。以逗号(,)间隔。4.4.格式控制字符:格式控制字符:(1)组成:)组成:普通字符、格式说明。普通字符、格式说明。普通字符、格式说明。普通字符、格式说明。普通字符普通字符普通字符普通字符:格式说明格式说明格式说明格式说明:键盘输
20、入时,要按原样输入,一般起分隔或键盘输入时,要按原样输入,一般起分隔或键盘输入时,要按原样输入,一般起分隔或键盘输入时,要按原样输入,一般起分隔或提示作用。提示作用。提示作用。提示作用。%type type&:取地址运算符。:取地址运算符。表示将所输入后的表示将所输入后的数据放入对应地址数据放入对应地址的存储单元中。的存储单元中。scanf(“i=%d,&i);printf(“i=%d,i);scanf(%d%d%d,&a,&b,&c);i=3 0 输入入i=3 0输出123 或1 2 3 1,2,3 错错scanf(%d,%d,%d,&a,&b,&c);1,2,3 1:2:3 a=1,b=2
21、,c=3 scanf(%d:%d:%d,&a,&b,&c);scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);(4)注意事项注意事项:scanfscanf()()的格式控制字符串中没有转义字的格式控制字符串中没有转义字符。如符。如scanf(“%dn”,&a);是错误的。是错误的。scanfscanf()()的格式控制字符串中的普通字符的格式控制字符串中的普通字符不是用来显示的不是用来显示的,而是输入时要求照普通而是输入时要求照普通字符输入的。字符输入的。scanfscanf()()中参数的第二部分一定是地址列中参数的第二部分一定是地址列表,不能是表达式。表,不能是表达式。C
22、C语言提供三种结构化语句来控制程序的执语言提供三种结构化语句来控制程序的执行流程:行流程:顺序结构:顺序结构:选择结构:选择结构:循环结构:循环结构:一种按书写顺序执行的结构。一种按书写顺序执行的结构。根据运行时的情况自动选择根据运行时的情况自动选择要执行的语句要执行的语句。根据情况自动重复执行有关根据情况自动重复执行有关语句。语句。4.4 4.4 4.4 4.4 程序的三种基本结构程序的三种基本结构程序的三种基本结构程序的三种基本结构顺序结构即按照语句书写顺序执行的程序结构。顺序结构即按照语句书写顺序执行的程序结构。AB顺序结构顺序结构顺序结构顺序结构顺序结构顺序结构例:例:#include
23、 stdio.hmain()int a,b;printf(input a,b:);scanf(%d%d,&a,&b);printf(a=%d,b=%d,a,b);input a,b:7 8a=7,b=8顺序程序设计举例顺序程序设计举例例例:输入一个华氏温度,输出对应的摄氏温度。输出取输入一个华氏温度,输出对应的摄氏温度。输出取1 1位小数。转换公式为位小数。转换公式为#include stdio.hmain()float c,f;scanf(%f,&f);c=5.0/9*(f-32);printf(%.1fn,c);注意数学表达式注意数学表达式到到C C语言表达式语言表达式的转换的转换 例例:
24、从键盘输入圆半径,求圆的面积和周长,结果保留从键盘输入圆半径,求圆的面积和周长,结果保留两位小数两位小数 。#include stdio.h#includemath.h“#define PI 3.14 main()float r,area,L;scanf(%f,&r);area=PI*pow(r,2);/*函数函数pow(x,y)表示表示xy*/L=2*PI*r;printf(area=%.2f,L=%.2fn,area,L);第三章第三章 小结小结 小小 结结1 1、表达式与语句的区别、表达式与语句的区别2 2、格式化输入、格式化输入/输出语句的使用输出语句的使用3 3、简单顺序程序的编写、简单顺序程序的编写作业作业 、编写一个程序,输入任一字符,求出其、编写一个程序,输入任一字符,求出其ASCII码值码值 2、求、求100和和54的和,差,积,商的和,差,积,商(保留两位小数保留两位小数),求余,求余 、编写一个程序用于水果店售货员算帐:已、编写一个程序用于水果店售货员算帐:已知苹果每斤知苹果每斤2.50元,鸭梨每斤元,鸭梨每斤1.80元,香蕉每元,香蕉每斤斤2元,桔子每斤元,桔子每斤1.6元,要求输入顾客购买各元,要求输入顾客购买各类水果的重量,打印出应付钱数,再输入顾客类水果的重量,打印出应付钱数,再输入顾客付款数,打印出应找的钱数付款数,打印出应找的钱数