




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C 语 言 实 训 教 程 输入输出专项练习一、 实验目的1. 能够熟练并正确定义、输入、输出并使用常用数据类型: 整型、实型、字 符型2. 能够使用 scanf(),printf(),getchar(),putchar(),gets(),puts() 进行各种数据正确格式的输入输 出二、 实验内容及实验步骤一) 验证性试验,验证以下实验,并分析实验结果1. 用下面的seanf函数输入数据,使a=3, b=7, x=, y=, c仁/A c2=/ a,问在键盘上如何输入数据?#includeint main()int a,b;float x,y;char c1,c2;scanf( “a=%d
2、b=%”d ,&a,&b);scanf( “%f%e”,&x,&y);scanf( “%c%”c ,&c1,&c2);printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn,a,b,x,y,c1,c2);return 0;运行时分别按以下方式输入数据,观察输出结果,分析原因 a=3,b=7,x=,y=,A,a/Press any key to continue a=3 b=7 x= y= A a / a=3 b=7 A a / a=3 b=7/ 3 7/ a=3 b=7 /AZa/ a=3 b=7 /Aa/ a=3 b=7 /原因:“ ,”号、 enter 键都会被当做
3、值给输入进去。2. 字符输入#include main()int a;char b;float c;printf(Please input an integer:);scanf(%d, &a);printf(integer: %dn, a); printf(Please input a character:); scanf(%c, &b);printf(character: %cn, b);printf(Please input a float number:);scanf(%f, &c);printf(float: %fn, c);如果把seanf(%c, &b);改为scanf(%1s,
4、&b);观察运行结果原因:发3. 验证格式输入#include void main()int a, b;printf(Please input a and b:); scanf(%2d%*2d%2d, &a, &b); printf(a=%d, b=%d, a+b=%dn,a,b,a+b);(1) 输入 123456,验证上述实验结果(2) 输入 12345a, 验证上述实验结果4. 格式输入与输出#include main()int a=-1;printf (%d ,%o, %x ,a,a, a);printf (%8o, %12x,a, a);验证程序分析实验结果5. 无符号数据的输出#i
5、ncludevoid 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);验证程序分析实验结果6. 字符串的输出#includevoid main()CHINA”printf( “%3s,%,%.4s,%n ”, “CHINA”, “CHINA” “CHINA”);9. 输出实数时指定小数位数%3s,格式输出字符串,右对齐,超出3个长度的,就全部输出;%,输出字符串占7个位置,有对齐,左补空格,输出2个字符;%.4s,仅输出4个字符
6、,占位4个位置,右对齐;%:输出3个字符,占位5个位置,左对齐右补空格.7. 输出实数时的有效位数#in elude void main () float x,y ;3x=;y=;prinft(“ f ,x+y);验证程序分析实验结果8. 输出双精度数时的有效位数#in elude void mai n()double x,y;printf(“X+y);验证程序分析实验结果#include void main()float f=;printf(“ f%10f%.2f%”,f, f, f, f, f);验证程序分析实验结果10. 字符输出#include int main(void) int c
7、;for ( ; ; ) c = getchar();if (c = EOF) break;if (c =a) & (c =a) & (c ;= c += z )-A) a;这两句代码,应该如何修改?(5) 利用ctype函数修改上面代码,验证程序结果#include #include int main(void) int c;for ( ; ; ) c = getchar();if (c = EOF) break;if (islower(c)c = toupper(c);putchar(c);return 0;11. 转义符输出#include void main ( )printf(ab
8、ct derftgn);printf( “ htibbjkn ”);验证程序分析实验结果12. 字符串输入输出 , 连续输入三个单词,每个单词以空格分隔#include void main ( )char str15,str25,str35;scanf( ” %s%s%”s ,str1,str2,str3);printf(%s %s %s, str1,str2,str3);验证程序分析实验结果(二)编程题1. 编写 printf 函数调用下列格式来显示 float 型变量 x:a) 指数表示形式 : 最小为 8 的字段宽度内左对齐 ; 小数点后保留 1 位数 字.b) 指数表示形式 : 最小为
9、 10 的字段宽度内右对齐 ; 小数点后保留 6 位数 字c) 定点十进制表示形式 : 最小为 8 的字段宽度内左对齐 ; 小数点后保留 3 位数字d) 定点十进制表示形式 : 最小为 6 的字段宽度内右对齐 ; 小数点后无数 字.#include main()float x;x=;printf(%n,x,x,x);/printf(%n,x);/return 0;2. 设计程序使得用户可以以任意字符 (回车、空格、制表符、逗号、其它) 作为分隔符进行数据的输入#include main() int a,b;printf(please input a date:);scanf(%d%*c%d,&
10、a,&b);printf(%dt%d,a,b);return 0;3. 编写一个程序 , 接收用户录入的日期信息并且将其显示出来 . 其中 , 输入日期的形式为月/日/年(mm/dd/yy),输出日期的形式为年月日 (yymmdd)#include main() int year,month,day;printf(please input the date:month,day,yearn);scanf(%d%d%d,&month,&day,&year);printf(%d/%d/%dn,year,month,day);return 0;4. 有 3个字符串,要求找出其中最大者#include
11、#includemain() char str120,str220;int a;printf(please input the str1 and str2:n);gets(str1);gets(str2);if(strcmp(str1,str2)0)printf(str1str2);else printf(str1str2);return a;#include #include#includemain() char str120,str220,str320;int a;printf(please input the str1,str2 and str3:n);gets(str1);gets(s
12、tr2);gets(str3);a=strcmp(str1,str2);if(a0)if(strcmp(str1,str3)0)printf(str1str2,str1str3nstr1 is max stringn);elseprintf(str1str2,str10) printf(str21,str2str3,nstr2 is max stringn);else printf(str2str1,str3str2n str3 is max stringn);return a;5. 编写一个程序 , 对用户录入的产品信息进行格式化 , 程序运行后需要 有以下会话 :Enter item nu
13、mber: 583Enter unit price:Enter purchase date(mm/dd/yy): 10/24/95Item Unit Price Purchase Date583 $ 10/24/95其中 , 数字项和日期项左对齐 , 单位价格右对齐 , 美元数量最大取值为#include #include main() int num_ber;int mm,dd,yy;float Unitprice;printf( 请输入 itemnum_ber:number=583t);scanf(%d,&num_ber);printf( 请输入 Unitprice:Unit price=
14、t);scanf(%f,&Unitprice);printf( 请输入日期 mm/dd/yy=10/24/95);scanf(%d/%d/%dt,&mm,&dd,&yy);printf(ItemnumbertUnit PricetPurchase Date );printf(%4dt%ft%3d/%3d/%3d,num_ber,UnitPrice,mm,dd,yy );return 0;6. 计算若干整数的值,要求输入有若干行,每行第一个整数n,代表后面还有 n 个数据,如果 n=0 代表输入结束。输出:要求对于每一行都要在相应的行输出和。#include #include main() in
15、t m,n,i,j,sum=0;int a55;scanf(%d,&m);if(m=0)printf(e?岀? a 胃n);elsefor(i=0;im;i+)for(j=0;jm;j+)scanf(%d,&aij);a00=m;for(i=0;im;i+) for(j=0;jm;j+) printf(%dt,aij);printf(n);for(i=0;im;i+) for(j=0;jm;j+) sum=sum+aij;printf(sum=%dn,sum);sum=0;7. 编程实现如下程序,输入 Bb a=7b=6 并输出,每个数据以逗号分隔, 每个数据宽度为 10,浮点型数据小数后保留 2 位。8. 有如下结构体,编程实现n (n=10)名同学的数据输入与输出,n为通 过键盘输入, 成绩输出格式为左对齐, 总长度为 6,保留小数点后 2 位, 要求当所有数据输入后再输出。struct studentchar name20;char sex;long num;float score3;9. 通过键盘不断输入字符, 当输入到?号时停止输入将输入的字符转换为 整型输出到屏幕上, 数字之间以空格分隔, 要求每输出 5 个字符换一次 行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行客户观影活动方案
- 雪佛兰元旦活动方案
- 航空英文考试题及答案
- 工厂入门考试题及答案
- 幼儿园教学教案设计:不尝不明液体
- 钢琴作曲考试题及答案
- 辐射探伤考试题及答案
- (正式版)DB1501∕T 0008-2020 《水泥行业碳管理体系实施指南》
- (正式版)DB15∕T 3402-2024 《儿童福利机构入院离院管理规范》
- (正式版)DB15∕T 3361-2024 《甜菜幼苗水培技术规程》
- 铭记历史缅怀先烈-珍爱和平开创未来
- 2023-2024学年广东省深圳市红岭中学高一上学期第一次段考化学试题及答案
- 项目施工单位与当地政府及村民的协调措施
- 2024澳大利亚技术移民与留学服务协议
- 名著阅读《童年》导读课课件
- 《无人机测绘技术(微课版)》全套教学课件
- 国有企业战略使命评价制度
- 合规风险管理制度
- 2024年四川省成都市中考作文“赢”与“迎”写作指导
- GB/T 21220-2024软磁金属材料
- 2.1 地表形态变化的内外力作用-内力作用 中图版(2019)地理选择性必修一高二上学期
评论
0/150
提交评论