简单的C程序设计—顺序程序设计.ppt

上传人:wuy****n92 文档编号:54696190 上传时间:2022-10-29 格式:PPT 页数:22 大小:705.50KB
返回 下载 相关 举报
简单的C程序设计—顺序程序设计.ppt_第1页
第1页 / 共22页
简单的C程序设计—顺序程序设计.ppt_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《简单的C程序设计—顺序程序设计.ppt》由会员分享,可在线阅读,更多相关《简单的C程序设计—顺序程序设计.ppt(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院 第四章第四章 最简单的最简单的C程程序设计序设计顺序程序设计顺序程序设计C语句概述语句概述赋值语句赋值语句数据输入输出的概念及在数据输入输出的概念及在C语言中的实现语言中的实现字符数据的输入输出字符数据的输入输出 格式输入与输出格式输入与输出顺序结构程序设计举例顺序结构程序设计举例C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院表达式语句:表达式语句:表达式表达式;4.1 C 语句概述语句概述C语句包括语句包括:控制语句控制语句(9)种种 if()else;for();

2、while();do while;continue ;break;switch;goto;return控制语句控制语句 1 1函数调用函数调用语句语句 例如:例如:y=cos(0.5);y=sin(cos(0.5);printf(“Hello”);函数调用语句函数调用语句 2 2复合语句复合语句格式格式 语句语句1;语句语句 n;复合语句复合语句 5 5空语句:空语句:;C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院 4.2 赋值语句赋值语句 赋值语句由赋值表达式加上分号构成。赋值语句由赋值表达式加上分号构成。如:如:a=b;C语言中将赋值表达式和赋值语

3、句分开来,语言中将赋值表达式和赋值语句分开来,其目的是增加表达式的种类和使用范围。其目的是增加表达式的种类和使用范围。如:如:(1)if(x 0)(2)if(a=b)0)t=a;C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院4.4 字符数据的输入输出字符数据的输入输出 C C 程序的输入和输出完全依靠调用标准输入程序的输入和输出完全依靠调用标准输入和输出函数来完成。和输出函数来完成。常用的常用的 4 4个个I/OI/O 函数为函数为 :scanf()getchar()printf()putchar()C语语言言程程序序设设计计第第四四章章四川理工学院四川

4、理工学院四川理工学院四川理工学院输出单个字符输出单个字符输出转义字符输出转义字符3.4 字符数据的输入输出字符数据的输入输出 一、一、putchar 函数函数(字符输出函数字符输出函数)作用作用:向终端向终端(即系统隐含指定的输出设备,即系统隐含指定的输出设备,如如显示器,打印机显示器,打印机)输出一个字符。输出一个字符。格式格式:putchar(ch);其中其中:ch 代表一个代表一个字符型字符型或或整型变量整型变量,也可以是一个也可以是一个字符常量字符常量或或整型常量整型常量。输出单个字符输出单个字符#include /*包含包含I/O库有关变量定义和宏定义库有关变量定义和宏定义*/mai

5、n()char a,b,c;a=B;b=O;c=Y ;putchar(a);putchar(b);putchar(c);输出结果输出结果:BOY 例如例如例如例如输出单个转义字符输出单个转义字符#include main()putchar(101);putchar();putchar(n);输出结果输出结果:AA 示例示例示例示例C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院4.4 字符数据的输入输出字符数据的输入输出 二、二、getchar 函数函数(字符输入函数字符输入函数)作用作用:从从终端终端(即系统隐含指定的输入设备即系统隐含指定的输入设备 (

6、如键盘如键盘),输入,输入一个字符。说明说明:1.执行时,输入字符并按回车键后,才将其输入执行时,输入字符并按回车键后,才将其输入到缓冲区,只读取一个字符给变量。到缓冲区,只读取一个字符给变量。2.getchar 函数接收的一个字符,可以赋给函数接收的一个字符,可以赋给char型或型或 int 型变量,也可不赋给任何变量。型变量,也可不赋给任何变量。3.使用使用 putchar 和和 getchar 函数需用预编译命令函数需用预编译命令#include 将将“”包括进去。包括进去。例:从键盘输入一个字符再输出。例:从键盘输入一个字符再输出。#include “”main()char c;c=g

7、etchar();putchar(c);若输入若输入:a 则输出则输出:a 实例实例实例实例C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院示例示例2示例示例1格式控制格式控制 输出表列输出表列4.5 格式输入与输出格式输入与输出 一、一、printf 函数函数(格式化输出函数格式化输出函数)1.格式格式:printf(,);作用作用:向系统终端(或隐含的输出设备向系统终端(或隐含的输出设备)输出输出若若干干 个指定类型个指定类型的数据。的数据。2.格式字符格式字符(共共 9 种种)作用:控制作用:控制不同类型数据的不同格式输出。不同类型数据的不同格式输出

8、。(1)d格式符:用于输出十进制整数格式符:用于输出十进制整数%d:按整型数的实际长度输出。按整型数的实际长度输出。%md:m为指定的输出数据宽度,若数据位为指定的输出数据宽度,若数据位 数数 m 时时,全部输出。反之则全部输出。反之则右右靠齐,靠齐,左左补补 空格或左靠齐,右补空格。空格或左靠齐,右补空格。%:规定输出字符串所占列宽,只取规定输出字符串所占列宽,只取 字符串中左端字符串中左端 n个字符。输出个字符。输出右右靠齐,靠齐,左左补空补空 格或左靠齐,右补空格。当格或左靠齐,右补空格。当 n m 时,时,则则 m 自动取自动取 n 的值以保证的值以保证 n 个字符正输出。个字符正输出

9、。%mc:指定输出数据宽度,:指定输出数据宽度,右右靠齐,靠齐,左左补空格补空格%mc:左靠齐左靠齐,右补空格右补空格。例例 格式符格式符 c 用于输出一个字符用于输出一个字符例例 4.3 void main()char c=a;int i=97;printf(“%c”,a);printf(“%c,%dn”,c,c);printf(“%c,%dn”,i,i);示例示例示例示例格式符格式符 c 用于域宽控制用于域宽控制main()char c=a;printf(“%3cn”,c);printf(“%3c%3c”,a,b);输出输出:aa b 示例示例示例示例格式符格式符 s 输出一个字符串输出一

10、个字符串void main()printf(“%3s,%7.2s,%.4s,%5.3s n”,“CHINA”“CHINA”,“CHINA”,“CHINA”);输出输出:CHINA,CH,CHIN,CHI 示例示例示例示例C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院域宽控制域宽控制(4)f 格式符格式符:用于输出实数用于输出实数(包括单,双精度包括单,双精度)%f系统自动指定宽度,整数部分全部输出系统自动指定宽度,整数部分全部输出 并输出并输出6位小数。但并非全部数字都是有效位小数。但并非全部数字都是有效 数字。一般数字。一般 单精度实数有效位为单精度实

11、数有效位为7 位。位。双精度实数为双精度实数为16位。位。%mf%规定输出实数占的列宽,且有规定输出实数占的列宽,且有n 位小数如果数值长度位小数如果数值长度 m,则输出右靠齐,则输出右靠齐,左补空格左补空格 或或左左靠齐,靠齐,右右补空格。补空格。例例 4.7 例例 4.5 111111.111+222222.222=?浮点数丢失浮点数丢失 精度精度浮点数丢失浮点数丢失 精度精度 void main()float x,y;x=111111.111;y=222222.22;printf(“%f”,x+y);输出输出:333333.328125实型数据域宽控制实型数据域宽控制 main()flo

12、at f=123.456;printf(“%f%10fn”,f,f);printf(“%10.2f%.2fn”,f,f);printf(%10.2f”,f);输出输出:C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院 例程执行及分析例程执行及分析例例 (5)u 格式符格式符:用于按十进制形式输出用于按十进制形式输出unsigned 型数据。型数据。说明说明:有符号有符号int 型与型与unsigned 型数据可以相互赋值,型数据可以相互赋值,故故 int 型可以用型可以用%u格式输出;格式输出;unsigned 型也可以用型也可以用%d 格式输出。格式输出

13、。unsigned 型还可以用型还可以用%o和和%x格式输出格式输出。u 格式符格式符用于按十进制形式用于按十进制形式输出输出unsigned型数据型数据例例 3.2 void main()unsigned int a=65535;int b=2;printf(“a=%d,%o,%x,%un”,a,a,a,a);printf(“b=%d,%o,%x,%un”,b,b,b,b);示例示例示例示例 例例 4.2 输出结果输出结果:a=1,177777,ffff,65535 b=2,177776,fffe,65534a=65535b=2示例示例示例示例111111111111111011111111

14、11111111C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院 (6)e 格式符格式符:用于按指数形式输出实数用于按指数形式输出实数%e 由系统自动指定给出由系统自动指定给出 6 位小数,指数位小数,指数部分占部分占5 位位(如如 e+002)。%m.ne 规定输出实数占的列宽,且有规定输出实数占的列宽,且有 n 位小数。位小数。如果数值长度如果数值长度 m,则输出,则输出右右靠齐,靠齐,左左补空补空格或格或左左靠齐,右补空格。靠齐,右补空格。例如例如e 格式符格式符:用于按指数形式用于按指数形式输出实数输出实数 main()float f=123.45

15、6;printf(“%e%10en”,f,f);printf(“%10.2e%.2e%10.2e”,f,f,f);输出输出:1.234560e+0021.234560e+0021.23e+0021.23e+0021.23e+002 示例示例示例示例C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院1.输出项与格式符必须按照从左至右的顺序在输出项与格式符必须按照从左至右的顺序在 类型上一一匹配。类型上一一匹配。2.格式字符要格式字符要小写小写。如。如:%f%F3.如果格式字符的个数如果格式字符的个数少于少于输出项数时,多余的输输出项数时,多余的输 出项不予输出

16、。反之若格式字符的个数大于输出出项不予输出。反之若格式字符的个数大于输出 项数时,各系统的处理不同。项数时,各系统的处理不同。printf函数使用的注意事项:函数使用的注意事项:4.注意常规注意常规 d e f o x u c s e g 等字符在等字符在“%”后面与一般情形的区别。后面与一般情形的区别。如如:print(“c=%c,f=%f,s=%s”,c,f,s);5.可以输出可以输出“%”号号 例如例如:printf(“%f%”,1.0/3);输出输出%了解了解格式字符的个数格式字符的个数少于少于输出项数输出项数例如:例如:Turbo C中对于缺少项输出不定值,中对于缺少项输出不定值,而

17、而VAX C则输出则输出 0 值。值。例如:例如:printf(“%d,%f,%un”,x,y,z,t);printf(“%d,%f,%u,%en”,x,y,z);请自行编程验证请自行编程验证!了解了解了解了解C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院二、二、scanf 函数函数(格式化输入函数格式化输入函数)作用作用:用于输入任何类型的多个数据用于输入任何类型的多个数据 1.格式格式:scanf(格式控制格式控制,地址表列地址表列);格式控制格式控制同同 printf 函数的格式控制含义一样。函数的格式控制含义一样。地址表列由多个输入项的地址表列由

18、多个输入项的地址地址构成。可以是构成。可以是变变 量量的地址或的地址或字符串字符串的首地址或的首地址或数组元素数组元素的地址等。的地址等。例例 void main()int a,b,c;scanf(“%d%d%d”,&a,&b,&c);/*/printf(“%d,%d,%d n”,a,b,c);输入输入:输出输出:3,4,5 345 关于关于&scanf函数函数注意注意(1)“&”是地址运算符是地址运算符,&a表示表示a在内存中的地址。在内存中的地址。初学者常犯的典型错误:初学者常犯的典型错误:void main()int a,b,c;scanf(“%d%d%d”,a,b,c);printf(

19、“%d,%d,%d n”,a,b,c);重点重点重点重点scanf函数注意函数注意(2)在输入数据时,两个数据之间可以用一在输入数据时,两个数据之间可以用一个或多个个或多个 空格,也可用回车键或跳格键空格,也可用回车键或跳格键 例如例如:scanf(“%d%d%d”,&a,&b,&c);对应的合法输入对应的合法输入 345 3 45 3(Tab键键)4 5 对应的对应的典型输入错误典型输入错误:3,4,5 若语句改为若语句改为:scanf(“%d,%d,%d”,&a,&b,&c);则输入数据时只有则输入数据时只有 3,4,5 合法。合法。重点重点重点重点scanf函数注意函数注意(3)回车确认

20、输入回车确认输入 输入数据,在键入一行字符并按输入数据,在键入一行字符并按回车键后,将该行字符输入到缓冲区回车键后,将该行字符输入到缓冲区中,然后中,然后scanf 函数从缓冲区按规定函数从缓冲区按规定格式要求,读取数据赋值给指定变量。格式要求,读取数据赋值给指定变量。重点重点重点重点C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院程序找错程序找错抑制字符抑制字符 指定输入数据宽度指定输入数据宽度 关于关于%u的说明的说明 2.格式说明格式说明 (1)标准标准C中中scanf 函数不使用函数不使用%u格式,格式,Turbo C中可用。中可用。(2)可以指定

21、整型变量输入数据宽度。可以指定整型变量输入数据宽度。(3)可以使用可以使用抑制字符抑制字符%*(4)不能规定输入数据的精度不能规定输入数据的精度(与与 printf 函数不同函数不同)scanf 函数函数格式说明格式说明 标准标准C中中scanf 函数不使用函数不使用%u格式。对格式。对 unsigned型数据以型数据以%d 或或%o,%x 格式输入。格式输入。而而 Turbo C中可以使用中可以使用%u 格式来输入格式来输入无符号数。无符号数。1 1scanf 函数函数指定输入数据宽度指定输入数据宽度 main()int a,b;scanf(“%3d%3d”,&a,&b);printf(“%

22、d,%d”,a,b);输入输入:123456 则则:a 是是 123,b 是是 456若有若有:scanf(“%3c”,&ch);输入输入:abc 则则ch得到字符得到字符a2 2scanf 函数函数使用使用抑制字符抑制字符%*如如:scanf(“%2d%*3d%2d”,&a,&b);输入输入:1234567 则则 a 是是 12 b 是是 673 3scanf 函数函数不能规定输入数据的精度不能规定输入数据的精度(与与 printf 函数不同函数不同)程序找错程序找错main()float x;double y;scanf(“%”,&x);(不合法不合法)scanf(“%f”,&y);(类型

23、类型 不匹配不匹配)不能输入不能输入 1234567 来使来使 x=2345.67;不能输入不能输入 123456789使使 y=123456789 4 4 C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院(5)注意包含头文件注意包含头文件(4)在输入数据时,遇到以下情况该数据认为结束。在输入数据时,遇到以下情况该数据认为结束。空格或回车或空格或回车或“Tab”键键 数据宽度结束数据宽度结束 如如:%3d 只取只取3列。列。非法输入非法输入(3)使用使用%c 格式时,空格字符,转义字符,回车格式时,空格字符,转义字符,回车 等都是有效字符。等都是有效字符。

24、3.注意的问题注意的问题:(1)scanf函数用变量的地址作参数。函数用变量的地址作参数。(2)格式字符中可以有其它字符但此时输入数据格式字符中可以有其它字符但此时输入数据应应 将这些字符原样输入。将这些字符原样输入。示例示例示例示例输入输入输入输入2输入输入1示例示例2 示例示例1错例错例scanf函数参数函数参数注意变量地址的作用注意变量地址的作用典型错误典型错误main()int a,b;scanf(“%d%d”,a,b);printf(“sum=%d”,a+b);1 1scanf函数参数函数参数注意的问题注意的问题(2)格式字符中可以有其它字符,但此时格式字符中可以有其它字符,但此时输

25、入数据应将这些字符原样输入。输入数据应将这些字符原样输入。main()int a,b;scanf(“%d,%d”,&a,&b);printf(“%d”,a+b);2 2scanf函数参数函数参数注意的问题注意的问题(2)格式字符中可以有其它字符,但此格式字符中可以有其它字符,但此时输入数据应将这些字符原样输入。时输入数据应将这些字符原样输入。main()int a,b;scanf(“a=%d,b=%d”,&a,&b);printf(“%d”,a+b);2 2scanf函数参数函数参数注意的问题注意的问题(3)使用使用%c 格式时,空格字符,转义字格式时,空格字符,转义字符,回车等都是有效字符。

26、符,回车等都是有效字符。main()char c1,c2,c3;scanf(“%c%c%c”,&c1,&c2,&c3);printf(“%c%c%c”,c1,c2,c3);重点重点重点重点注意的问题注意的问题(2)输入应为输入应为:3,4 若:输入若:输入 34 或或:3(Tab)4 都不合法!都不合法!重点重点重点重点注意的问题注意的问题(2)则输入应为则输入应为:a=12,b=13 重点重点重点重点若输入若输入:abc 则:则:c1=a,c2=,c3=b应输入应输入:abc 重点重点重点重点注意注意 在使用上述四个函数时,在使用上述四个函数时,getchar 和和 putchar函数需用预

27、编译命令函数需用预编译命令#include 将将“”包括进去。包括进去。而而printf 和和scanf 函数则不需要。函数则不需要。重点重点重点重点scanf函数参数函数参数注意的问题注意的问题(4)在输入数据时,遇到以下情况该数在输入数据时,遇到以下情况该数据认为结束。据认为结束。空格或回车或空格或回车或“Tab”键键 数据宽度结束数据宽度结束 如如:%3d 只取只取3列。列。非法输入非法输入如如:scanf(“%d%c%f”,&a,&b,&c);若输入若输入:1234a123o.36 则则:a=1234 b=a c=123重点重点重点重点C语语言言程程序序设设计计第第四四章章四川理工学院

28、四川理工学院四川理工学院四川理工学院4.6 程序举例程序举例例例4.10 已知三角形的三条边长,计算三角形的面积。已知三角形的三条边长,计算三角形的面积。数学公式:面积数学公式:面积=(s*(s a)*(s b)*(s c)1/2 其中:其中:s=1/2*(a+b+c)main()1.1.定义相关的变量定义相关的变量 3.3.计算计算s s和面积和面积 4.4.输出三边长和面积输出三边长和面积 2.2.输入三角形三边长输入三角形三边长float a,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);*(a+b+c);area=sqrt(s*(s a)*(s b)*(s

29、 c);printf(“”,a,b,c,area);C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院例例#include main()float a,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s a)*(s b)*(s c);printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area);C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院例

30、例#include void main()char c1,c2;c1=getchar();pritnf(“%c,%dn”,c1,c1);c2=c1+32;pritnf(“%c,%dn”,c2,c2);输出结果输出结果:A A,65 a ,97C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院例例#include “”main()float a,b,c ,disc,x1,x2,p,q;scanf(“a=%f,b=%f,c=%f”,&a,&b,&c);disc=b*b 4*a*c;p=b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p

31、q;printf(“nnx1=%5.2f nx2=%5.2f n”,x1,x2);结果结果:a=1,b=3,c=2 x2=2.0 0 C语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院 补充例子补充例子:1.#include “”void main()char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2)输入输入:A)ab B)a b C)ab D)a(Tab)b 答案:答案:CC语语言言程程序序设设计计第第四四章章四川理工学院四川理工学院四川理工学院四川理工学院2.下列输入是否合法下列输入是否合法.main()int a,b,c,d,e,f;scanf(“%d%d”,&a,&b);scanf(“%d%d”,&c,&d);scanf(“%d”,&e);scanf(“%d”,&f);输入输入:13579 1011

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com