C语言输入输专项训练已保存截图.docx
- 文档编号:2949708
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:14
- 大小:284.35KB
C语言输入输专项训练已保存截图.docx
《C语言输入输专项训练已保存截图.docx》由会员分享,可在线阅读,更多相关《C语言输入输专项训练已保存截图.docx(14页珍藏版)》请在冰豆网上搜索。
C语言输入输专项训练已保存截图
C语言实训教程
----输入输出专项练习
1、实验目的
1.能够熟练并正确定义、输入、输出并使用常用数据类型:
整型、实型、字符型
2.能够使用scanf(),printf(),getchar(),putchar(),gets(),puts()进行各种数据正确格式的输入输出
2、实验内容及实验步骤
(一)验证性试验,验证以下实验,并分析实验结果
1.用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=
ˊAˊ,c2=ˊaˊ,问在键盘上如何输入数据?
#include
{inta,b;flaotx,y;charc1,c2;scanf(“a=%db=%d”,&,&b);scanf(“%f%e”,&x&y);scanf(“%c%c”,&c1,&c2);
printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return0;
}
运行时分别按以下方式输入数据,观察输出结果,分析原因。
1a=3,b=7,x=8.5,y=71.82,A,a↙
2a=3b=7x=8.5y=71.82Aa↙
3a=3b=78.571.82Aa↙
4a=3b=78.571.82Aa↙
5378.571.82Aa↙
6a=3b=7↙
8.571.82↙A↙a↙
7a=3b=7↙
8.571.82↙
Aa↙
8a=3b=7↙
8.571.82Aa↙
2.字符输入
#include
printf("Pleaseinputaninteger:
");scanf("%d",&a);printf("integer:
%d\n",a);printf("Pleaseinputacharacter:
");scanf("%c",&b);printf("character:
%c\n",b);printf("Pleaseinputafloatnumber:
");scanf("%f",&c);printf("float:
%f\n",c);
}
如果把scanf("%c",&b);改为scanf("%1s",&b);观察运行结果
3.验证格式输入
#include
voidmain()
{
inta,b;
printf("Pleaseinputaandb:
");scanf("%2d%*2d%2d",&a,&b);
printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);
}
(1)输入123456,验证上述实验结果
(2)输入12345a
4.格式输入与输出
#include
printf("%d,%o,%x",a,a,a);
printf("%8o,%12x",a,a);
}
5.无符号数据的输出
#include
unsignedinta=65535;intb=-2;printf(“a=%d,%o,%x,%u\n”,a,a,a,a);printf(“b=%d,%o,%x,%u\n”,b,b,b,b);
}
6.字符串的输出
#include
{
printf(“%3s,%7.2s,%.4s,%-5.3s\n”,“CHINA”,“CHINA”,“CHINA”,
“CHINA”);
}
7.输出实数时的有效位数
#include
prinft(“%f”,x+y);
}
8.输出双精度数时的有效位数
#include
printf(“%f”,x+y);
}
9.输出实数时指定小数位数
#include
voidmain()
{
floatf=123.456;
printf(“%f%10f%10.2f%.2f%-10.2f\n”,f,f,f,f,f);
}
10.字符输出
#include
for(;;){c=getchar();if(c==EOF)break;
if((c>=’a’)&&(c<=’z’))c+=’A’-’a’;putchar(c);}return0;
}
(1)对比下列五种代码,将4-7、10行代码替换如下,程序应该如何修改才能保持输出结果相同?
for(c=getchar();c!
=EOF;c=getchar())putchar(c);
无需改正
#include
intmain(void)
{
intc;
for(c=getchar();c!
=EOF;c=getchar()){
if((c>='a')&&(c<='z'))c+='A'-'a';
putchar(c);
}
return0;
}
(2)将4-7、10行代码替换如下,程序应该如何修改才能保持输出结果相同?
while((c=getchar())!
=EOF)putchar(c);
无需改正
#include
intmain(void)
{
intc;
while((c=getchar())!
=EOF){
if((c>='a')&&(c<='z'))c+='A'-'a';
putchar(c);
}
return0;
}
(3)将4-7、10行代码替换如下,程序应该如何修改才能保持输出结果相同?
c=getchar();while(c!
=EOF)
{putchar(c);c=getchar();}
#include
intmain(void)
{
intc;
while(c!
=EOF)
{
c=getchar();
if((c>='a')&&(c<='z'))c+='A'-'a';
putchar(c);
}
return0;
}
(4)如果用ASCII码修改if((c>=’a’)&&(c<=’z’));c+=’A’-’a’;
这两句代码,应该如何修改?
if((c>=’97’)&&(c<=’122’));c+=-32;
(5)利用ctype函数修改上面代码,验证程序结果
#include
for(;;){c=getchar();if(c==EOF)break;if(islower(c))c=toupper(c);putchar(c);}return0;
}
11.转义符输出,并解释为什么是这样的输出结果
#include
voidmain()
{
printf("a\nb\tc\bd\fef");
}
转义符
作用
\n
换行
\t
制表符
\b
退格
\f
换页
12.字符串输入输出,连续输入三个单词,每个单词以空格分隔
#include
voidmain()
{
charstr1[5],str2[5],str3[5];scanf(”%s%s%s”,str1,str2,str3);
printf("%s%s%s",str1,str2,str3);
}
(二)编程题
1.编写printf函数调用下列格式来显示float型变量x:
a)指数表示形式:
最小为8的字段宽度内左对齐;小数点后保留1位数
字.
b)指数表示形式:
最小为10的字段宽度内右对齐;小数点后保留6位数字
c)定点十进制表示形式:
最小为8的字段宽度内左对齐;小数点后保留3位数字
d)定点十进制表示形式:
最小为6的字段宽度内右对齐;小数点后无数
字.
#include
intmain()
{
floatx=12.345678;
printf("%-8.1e\n",x);
printf("%10.6e\n",x);
printf("%-8.3f\n",x);
printf("%6.0f\n",x);
}
2.设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其它)作为分隔符进行数据的输入
#include
intmain()
{
inta,b;
printf("可以以任意字符(回车空格制表符逗号其它)作为分隔符进行数据的输入两个数据:
\n");
scanf("%d",&a);
getchar();
scanf("%d",&b);
printf("输入的数据为:
%d%d",a,b);
}
3.编写一个程序,接收用户录入的日期信息并且将其显示出来.其中,输入日期的形式为月/日/年(mm/dd/yy),输出日期的形式为年月日
(yymmdd)
#include
intmain()
{
intmm,dd,yy;
printf("输入日期(月/日/年):
\n");
scanf("%d%*c%d%*c%d",&mm,&dd,&yy);
printf("输入的日期为(年/月/日)\n%d/%d/%d:
",yy,mm,dd);
return0;
}
4.有3个字符串,要求找出其中最大者
#include
#include
intmain()
{
chara[]="we";
charb[]="are";
charc[]="young";
char*max=a;
if(strcmp(a,b)<0)max=b;
if(strcmp(max,c)<0)max=c;
printf("三个字符串:
\n%s\n%s\n%s\n",a,b,c);
printf("最大者是:
\n%s",max);
}
5.编写一个程序,对用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 输入 专项 训练 保存 截图
![提示](https://static.bdocx.com/images/bang_tan.gif)