大学C语言程序课件-第四章_第1页
大学C语言程序课件-第四章_第2页
大学C语言程序课件-第四章_第3页
大学C语言程序课件-第四章_第4页
大学C语言程序课件-第四章_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

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

文档简介

1、C程序设计第四章 顺序程序设计4.1 C语言概述4.2 赋值语句4.3 数据输入输出的概念4.4 字符数据的输入输出4.5 格式输入与输出4.6 简单的C程序设计梁飞蝶24.1 C语句概述语句的概念用来对数据进行加工(完成操作任务)。是构成程序的基本单位。通常一个C程序由若干个函数(系统、用户)组成,每一函数由若干条语句组成,每条语句总是以“;”结束。梁飞蝶34.1 C语句概述分类控制语句:控制程序的流程选择语句:ifelseswitch循环语句:for while dowhile转向语句:continuebreak gotoreturn函数调用语句:函数调用表达式后加上一个;号表达式语句:一

2、个表达式后加上一个;号。如赋值语句空语句:只有一个;号构成的语句(用于转向,或循环)例如: for (i=0; i=10; i+) ;复合语句:用一个 括起来的一组语句。(注意,大括号外不能有分号)例如:while (i0) t=a;赋值表达式赋值语句梁飞蝶54.3 数据输入输出的概念C语言本身不提供输入输出语句,输入输出的操作是由函数来完成的(系统,用户)。C语言函数库中的“标准输入输出函数”:putchar, getcharprintf, scanfputs, gets使用C语言函数库时,要用预编译命令#include将有关的“头文件”包括到用户源文件中,而且必须放在程序的开头部分。格式为

3、#include 或#include “头文件名.h”例如:#include 或 #include “stdio.h”梁飞蝶64.4 字符数据的输入输出putchargetchar注意:如果程序中使用到了这两个函数,那么在程序前面一定要有:#include 梁飞蝶7putchar函数形式:putchar(c);作用:向显示器输出一个字符,其中这个字符c可以是字符型的或整型的变量或常量。#include main() char c1,c2; c1=b; c2=98; putchar(c1); putchar(c2); putchar(b); putchar(98); bbbb#include m

4、ain() putchar(101); putchar(n); putchar(); A梁飞蝶8getchar函数形式:getchar();作用:从键盘缓冲区中读一个字符。#include main() int c; printf(“Enter a character:”); c=getchar(); printf(“%c: %dn”, c, c); Enter a character:aa: 97当输入多个字符时,多余的字符作废。(按回车后才开始接收字符)用getchar()得到的字符可以赋值给字符型变量、整型变量、或作为表达式的一部分。#include main() char c; c=g

5、etchar()+32; putchar(c); putchar(getchar()+32);printf(“%c”, getchar()+32);梁飞蝶94.5 格式输入输出printfscanf由于printf和scanf函数使用频繁,系统允许在使用这两个函数时可不加#include命令。梁飞蝶10printf函数作用:向终端输出若干个任意类型的数据。形式:printf(格式控制,输出列表);双引号括起来的字符串要输出的内容(常量、变量、表达式等)普通字符(控制字符)格式说明格式字符printf(“%d %d”, a,b);printf(“a=%d, b=%dn”, a, b);print

6、f是函数,因此格式控制和输出列表可以看做是函数的参数。即printf函数的一般形式可以为printf(参数1,参数2,参数3,参数n);功能是将参数2到参数n按照参数1指定的格式输出。梁飞蝶11格式说明的完整形式 0 m.n l/h 格式字符格式说明的引导符号指定左对齐输出指定空位填0指定输出域宽及精度输出长度的修正指定输出的数据类型梁飞蝶12格式字符整型d十进制整数o无符号八进制数x无符号十六进制数u不带符号的十进制整数main() unsigned int a=65535; int b=-2; printf(“a=%d, %o, %x, %un”, a,a,a,a); printf(“b=

7、%d, %o, %x, %un”, b,b,b,b); a=-1, 177777, ffff, 65535b=-2, 177776, fffe, 65534a=65535:1111 1111 1111 1111b=-2:1111 1111 1111 1110梁飞蝶13整型格式说明l /h输出长/短整型数据。%ld, %lo, %lx, %lu%hd, %ho, %hx, %hum指定整数字段的宽度。如果实际数据宽度m,则输出实际数据;如果实际数据宽度m,则输出实际数据;如果实际数据宽度m,则m自动取n值。-指定左对齐输出main() char c=a; printf(“%c,%3c,%-3cn

8、”, c, c, c); printf(“%3s,%7.2sn”,”china”,”china”); printf(“%.4s,%-5.3sn”,”china”,”china”); a,_a,a_china,_chchin,chi_梁飞蝶17格式字符实型f以小数形式输出实型数e以指数形式输出实型数g自动选择f格式或e格式输出实型数main() float x1,y1; double x2,y2; x1=111111.111; y1=222222.222; x2=1111111111111.111111111; y2=2222222222222.222222222; printf(“%fn”,

9、x1+y1); printf(“%fn”, x2+y2); printf(“%en”, 123.456); 333333.3281253333333333333.3330101.234560e+002以f输出实型数时,整数部分全部如数输出,并给出6位小数。如果输出的变量是单精度型,则有7位有效数字;如果是双精度型,则有16位有效数字。以e输出实型数时,按规范化指数形式输出,但位数不定。有些系统指定输出6位小数部分和5位指数部分。梁飞蝶18实型格式说明l 对实型指定双精度格式。%lfm.nm指定实型数据字段的宽度;n指定实型数的小数位数。如果实际数据宽度m,则输出实际数据;如果实际数据宽度m,则

10、左边补空格;-指定左对齐输出梁飞蝶19实型格式例子main() float f=123.456; printf(“%f,%10f,%10.2f,%.2f,%-10.2fn”, f,f,f,f,f); printf(%e,%10e,%10.2e,%.2e,%-10.2en”,f,f,f,f,f); 123.455994,123.455994,_123.46,123.46,123.46_1.234560e+002,1.234560e+002,_1.23e+002,1.23e+002,1.23e+002_梁飞蝶20几点说明编译程序只检查printf函数的调用形式,不分析格式控制字符串,如果格式字符与

11、输出项的类型不匹配,不进行类型转换。格式字符除X,E,G外都必须小写。格式控制字符串中可以包含转义字符。格式控制字符串中的普通字符原样输出。如果要输出,则在格式控制字符串中用连续两个表示。输出项的参数除了常数、变量外还可以是表达式、函数调用等。例如:printf(“max=%dti=%dn”, max(a,b),i+);梁飞蝶21例子main() int i=321; float f=123.456; printf(“%5d:”,i); printf(“%5.2fn”,i); printf(“%5d :”,f); printf(“%5.2fn”,f); _321:403072215031828

12、.06_0:123.46梁飞蝶22scanf函数形式:scanf(格式控制,地址表列);作用:按格式控制符的要求将数据从终端传送到变量地址所指定的内存空间。变量地址:变量的地址通过对变量名“求地址”运算得到形式:&变量名梁飞蝶23scanf例子main() int a; float b; scanf(“%d,%f”, &a, &b); printf(“%d, %fn”, a, b); a:2b:4&a:获得a在内存中的地址;&b:获得b在内存中的地址;23123.45输出a,b两个变量在内存中的值梁飞蝶24格式说明的完整形式 * m l/h 格式字符格式说明的引导符号附加说明符指定输入域宽长度

13、的修正说明符指定输入的数据类型梁飞蝶25输入数据的分隔采用隐含的分隔符:空格、回车键、Tab键;字符数据的输入,空格会作为有效字符输入的。根据格式中指定的域宽分隔数据项(不提倡)采用用户指定的分隔符(不提倡)main() int a,b; scanf(“%d%d”,&a,&b); printf(“a=%d,b=%dn”,a,b); scanf(“%3d%3d”,&a,&b); printf(“a=%d,b=%dn”,a,b); scanf(“%d,%d”,&a,&b); printf(“a=%d,b=%dn”,a,b); scanf(“a=%d b=%d”,&a,&b); printf(“a=

14、%d,b=%dn”,a,b); 12 1234a=12,b=123412 1234a=12,b=12312,1234a=12,b=1234a=12 b=1234a=12,b=1234梁飞蝶26注意scanf中不使用u说明符,对unsigned型数据,用d,o,x说明符输入;输入数据时不能规定数据的精度;错误例子:scanf(“%7.2f”,&a);在格式控制字符串中,若有格式说明以外的其它字符,输入时要原样输入;如:scanf(“a=%d,b=%f”,&a,&b);输入:a=12,b=123.456%c:一次接收一个字符,无需单引号,空格字符是个有效字符。如:scanf(“%c%c%c%c”,

15、&c1,&c2,&c3,&c4);假设输入:a b,c则实际是:c1=ac2= c3=bc4=,梁飞蝶274.6 顺序结构程序设计举例例1:输入一个小写字母,打印小写字母与其大写字母及其前导字母与后续字母。分析:小写字母的ASCII码比对应的大写字母大32;前导字母的ASCII码小1;后续字母的ASCII码大1;#include main() char c; printf(“Please input the character:”); c=getchar(); printf(“%c,%c,%cn”,c,c-1,c+1); printf(“%c,%c,%cn”,c-32,c-33,c-31); putchar(c);putchar(c-1);putchar(c+1);scanf(“%c”,&c);梁飞蝶28例2鸡兔同笼。已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?分析:设:鸡x只,兔y只则有x+yh;2x+4y=f。main() int x,y,h,f; printf(“Please input the number

温馨提示

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

评论

0/150

提交评论