任务3-1、考试成绩绩点的计算_第1页
任务3-1、考试成绩绩点的计算_第2页
任务3-1、考试成绩绩点的计算_第3页
任务3-1、考试成绩绩点的计算_第4页
任务3-1、考试成绩绩点的计算_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计与项目实践清华大学出版社菜单程序的设计顺序程序设计项目3回顾与作业点评 常见的数据类型有哪些?常见的数据类型有哪些? 常见的运算符有哪些?常见的运算符有哪些?void main()int i,j,k,n;i=2;j=3;k=+i;n=j+;printf(%d.%d,%d,%d,i,j,k,n); 阅读程序,程序运行结果是什么?预习检查 scanf()、printf()函数的功能是什么? 什么是输入输出控制格式?项目任务 需求描述设计菜单程序。要求:(1)根据系统功能确定菜单内容(2)定义菜单的样式(3)菜单输入有效性效验处理本章目标掌握格式化输入函数与格式化输出函数。掌握字符数据

2、的输入输出函数。熟悉输入输出流的应用。理解宏定义、宏替换与文件包含项目任务任务任务3-1、考试成绩绩点的计算、考试成绩绩点的计算1、如何实现人与计算机的交互?2、如何根据输入的学生考试成绩计算并输出学生成绩绩点?数据输入输出 所谓输入输出是以计算机为主体而言的。在没有特别声明的情况下,标准输出设备为显示器在语言中,所有的数据输入输出都是由库函数完成的。在使用语言库函数时,要用预编译命令#include将有关“头文件”包括到源文件中。使用标准输入输出库函数时要用到“stdio.h”文件,#include /stdio.h在默认文件夹或#include“stdio.h” /stdio.h在指定文件

3、夹中stdio是standard input &outupt的意思。接受并显示字符字符型变量字符型数据字符型数据putchar函数 putchar 函数是字符输出函数,其功能是在显示器上输出单个字符。putchar(A); (输出大写字母A)putchar(x); (输出字符变量x的值)putchar(101); (也是输出字符A)putchar(n); (换行)其一般形式为:putchar(字符变量)对控制字符则执行控制功能,不在屏幕上显示。使用本函数前必须要用文件包含命令:#include或#include“stdio.h”getchar函数getchar函数的功能是从键盘上输入一

4、个字符。通常把输入的字符赋予一个字符变量,构成赋值语句,如:char c;c=getchar();其一般形式为:getchar()#include void main() char a,b; printf( 请输入两个字符:n); a=getchar(); fflush(stdin); b=getchar(); fflush(stdin); putchar(a); putchar(b); putchar(n);getchar()和putchar()示例内存内存abOK输出:请输入两个字符:OKOKPress any key to continue_案例【案例【案例3-1】输入单个字符并显示。】

5、输入单个字符并显示。#includevoid main() char c; printf(input a charactern); c=getchar(); putchar(c);程序最后两行可用下面两行的任意一行代替:putchar(getchar();printf(“%c”,getchar();输入/输出函数#include void main()int num;printf(请输入一个数:);scanf(%d,&num);printf( n%d 的平方为 %d n,num,num*num);输入/输出函数 (printf/scanf) 用于接受和显示数据或信息转换字符串转义序列p

6、rintf 函数7-1printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。其中:格式控制字符串用于指定输出格式。格式控制字符串用于指定输出格式。输出表列中给出了各个输出项,各输出项之间用逗号输出表列中给出了各个输出项,各输出项之间用逗号分隔,要求格式字符串和各输出项在数量和类型上应该分隔,要求格式字符串和各输出项在数量和类型上应该一一对应。一一对应。其一般形式为:printf(“格式控制字符串”,输出表列)printf 函数7-2 格式字符串格式字符串格式字符串的一般形式为:格式字符串的一般形式为: 标志标志输出

7、最小宽度输出最小宽度.精度精度长度长度类型类型其中方括号其中方括号中的项为可选项。中的项为可选项。标志字符为-、+、#、空格四种printf 函数7-3输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出printf 函数7-4int visitor_count =

8、150;printf ( %d , visitor_count);printf将一些信息按照指定的格式送到标准输出(显示器) %d visitor_count将按指定的格式显示该变量的值转换字符串转换字符串说说 明明%d将参数按整数形式转换输出,对应参数应是int 类型%ld将参数按长整数形式转换输出,对应参数应是long 类型%c输出一个字符,对应参数应该是一个字符%s输出一个字符串,对应参数应该是一个字符串%f将参数按带小数点数形式输出,对应参数应是double 类型,默认情况下精确到 6 位小数printf 函数7-5int visitor_count = 150;printf ( %d

9、 , visitor_count);输出结果:150printf 函数7-6float circumference = 78.53;printf ( %f , circumference);输出结果:78.530000默认情况下精确到六位小数9.4786789;printf 函数7-7double mercury_level = 168.2251074;printf (%7.2f , mercury_level);输出结果: 168.23宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。 %7.2f 精度(精确到小数点后多少位)转义序列输出结果:Name: Audrey HepburnM

10、ovie: Roman Holiday代码:printf(“Name: Audrey Hepburn n Movie: Roman Holiday”);转义序列允许在输出结果中包括特殊字符转义序列转义序列名称名称描述描述a 警告产生一则警告。b 退格将光标回退一格。f 换页将光标移到下一页的第一格。n 换行将光标移到下一行的第一格。r 回车将光标移到当前行的第一格。t 水平制表 将光标移到下一个水平制表位置。v 垂直制表将光标移到下一个垂直制表位置。 单引号产生一个单引号。 双引号产生一个双引号。? 问号产生一个问号。反斜线产生一条反斜线。0 空产生一个空字符。#include void ma

11、in()float radius=1.5, high=2.0; float pi=3.14159, vol;/*计算体积*/vol=pi*radius*radius*high; /*输出体积的值*/printf(vol=%7.2fn,vol);printf 函数使用示例内存radiushighvol1.52.014.14输出:vol= 14.14pi3.14159案例【案例案例3-2】数据的输出格式数据的输出格式#include void main() /1 /2 int a=15; /3 float b=123.1234567; /4 double c=12345678.1234567; /

12、5 char d=p; /6 printf(a=%d,%5d,%o,%xn,a,a,a,a); /7 printf(b=%f,%lf,%5.4lf,%en,b,b,b,b); /8 printf(c=%lf,%f,%8.4lfn,c,c,c); /9 printf(d=%c,%8cn,d,d); /10 #include void main() /1 /2 int a=15; /3 float b=123.1234567; /4 double c=12345678.1234567; /5 char d=p; /6 printf(a=%d,%5d,%o,%xn,a,a,a,a); /7 prin

13、tf(b=%f,%lf,%5.4lf,%en,b,b,b,b); /8 printf(c=%lf,%f,%8.4lfn,c,c,c); /9 printf(d=%c,%8cn,d,d); /10 scanf(%d,&num);scanf 函数scanf 函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据赋给指定的程序变量。 转换字符串&符号(附在读取的每个变量上)用于指明变量在内存中的位置变量的名称转换字符串转换字符串参数变量的类型参数变量的类型要求的实际输入要求的实际输入%dint 十进制数字序列 %ld long 十进制数字序列%

14、f float 十进制数,可以有小数点及指数部分 %lf double 十进制数,可以有小数点及指数部分scanf函数 scanf函数是一个标准库函数,称为格式输入函数,它的函数原型在头文件“stdio.h”中,功能:按用户指定的格式从键盘上把数据输入到指定的变量之中。其中格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址列表中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。一般形式为:scanf(“格式控制字符串”,地址列表);scanf函数格式字符串格式字符串格式字符串的一般形式为:格式字符串的一般形式为: %*输入数据宽

15、度输入数据宽度长度长度类型类型其中有方括号的项为任选项。各项的意义如下:类型:表示输入数据的类型,其格式符和意义如下表3-3所示。格式输入与输出 “*”符: 用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。宽度:用十进制整数指定输入的宽度(即字符数)。 scanf(%d %*d %d,&a,&b);当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。例如: scanf(%5d,&a);输入:12345678只把12345赋予变量a,其余部分被截去长度:长度格式符为l和h,l表示输入长整型数据(如%ld) 和双精度浮点数(如%lf)。h表示输入短整型数据。内

16、存scanffloat tax_rate;scanf ( %f , &tax_rate);tax_rate 在内存中分配一块 32 位存储空间 存储空间使用名称“tax_rate”标识 提示用户输入一个值 输入的值存储在变量中(因为 scanf 提供此变量的地址)12.234#include void main() double radius,high,vol; printf(请输入圆柱体底面积的半径和圆柱体的高: ); scanf(%lf%lf,&radius,&high); vol=3.14*radius*radius*high; printf(radius=%7.

17、2f, high=%7.2f, vol=%7.2fn,radius,high,vol);scanf 函数使用示例内存内存radiushighvol510785请输入圆柱体底面积的半径和圆柱体的高高: 5 10radius= 5.00, high= 10.00, vol= 785.00案例【案例【案例3-4】数据输入格式与变量类型】数据输入格式与变量类型#include void main() float a; int b; printf(输入数据输入数据a,bn); scanf(%f,&a); scanf(%f,&b); printf(a=%ld,b=%dn,a,b);1)变量

18、a为浮点型,输入的数据格式类型为浮点型,但输出语句输出语句的格式串中说明为长整型,因此输出结果和输入数据不符。2)变量b为整型,输入的数据格式类型为浮点型,由于输入数据类型与变量类型不符,因此输出结果和输入数据不符输入输出流 输入/输出是一种数据传送操作,可以看作是字符序列在主机和外设之间的流动。C+中将数据从一个对象到另一个数据对象的流动抽象为中将数据从一个对象到另一个数据对象的流动抽象为“流流”。与输出设备相联系的流称为输出流输出流;与输入设备相联系的流称为输入流输入流。使用输入输出流必须使用包含文件#include /输入输出流或 #include /输出流#inlcude /输入流其源

19、程序的扩展名为源程序的扩展名为.cppcout与插入运算符 cout是与标准输出设备相连接的预定义的ostream类流对象,称为汇。当程序需要在屏幕上显示输出时,可以使用插入运算符“”向cout流中插入各种不同类型的数据。out流通常是传送到显示器输出。输出项可以是常量、变量、表达式。一般形式为:cout 表达式1表达式2.例如:cout”Hello! n”;将字符串”hello !”输出到屏幕上并换行。cout”a+b=” 当程序需要执行键盘输入时,可以使用提取运算符“”从cin输入流中提取不同数据类型的数据。提取运算符可以从同一个输入流中提取多个数据项给其后的多个变量赋值,要求输入流的数据

20、项用空格进行分隔。cin预先定义好的标识符,它代表控制台输入,缺省情况下,cin是和键盘绑定的,表示接收从键盘输入的数据。表示用户从键盘输入数据到程序中。流提取符“”从流中提取数据时通常跳过输入流中的空格、tab键、换行符等空白字符一般形式为:cin变量1变量2 .变量n;I/O流格式控制当使用cin和cout进行数据的输入、输出时,无论什么类型的数据,都能够自动按照正确的默认格式处理。如需进行特殊的格式设置,需要用I/O 流格式控制符对格式进行控制。这些格式控制符可以直接嵌入到输入/输出语句中来实现I/O流格式控制。控制符的定义在头文件iomanip.h中。 案例【案例【案例3.5】阅读程序,观察其输出结果】阅读程序,观察其输出结果#include#includevoid main() for(int n=0;n=5;+n)coutsetfill(M)setw(2*n+1)Mendl;setfill是设置填充填充字符,setw设置输出的宽度,它们的只作用表现在紧接着输入的字符串上。这个宽度是填充后的宽度。所以coutsetfill(M)setw(2*n+1)Mendl;中setfill(M)se

温馨提示

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

评论

0/150

提交评论