执行 scanf 语句,则退出 TC 屏幕进入用户屏幕等待用户输
入。用户输入 7 8 9 后按下回车键,此时,系统又将返回 TC 屏幕。在 scanf 语句的格式
串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔,因此在输入时要用一个以上的
谭浩强 C 语言程序设计 2001 年 5 月 1 日
空格或回车键作为每两个输入数之间的间隔。如:
7 8 9
或
7
8
9
2. 格式字符串
格式字符串的一般形式为:
%[*][输入数据宽度][长度]类型
其中有方括号[]的项为任选项。各项的意义如下:
1) 类型:表示输入数据的类型,其格式符和意义如下表所示。
格式
d
o
x
u
f 或 e
c
s
字符意义
输入十进制整数
输入八进制整数
输入十六进制整数
输入无符号十进制整数
输入实型数(用小数形式或指数形式)
输入单个字符
输入字符串
2) “*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
如:
scanf("%d %*d %d",&a,&b);
当输入为:1 2 3 时,把 1 赋予 a,2 被跳过,3 赋予 b。
3) 宽度:用十进制整数指定输入的宽度(即字符数)。
例如:
scanf("%5d",&a);
输入:12345678
只把 12345 赋予变量 a,其余部分被截去。
又如:
scanf("%4d%4d",&a,&b);
输入:12345678
将把 1234 赋予 a,而把 5678 赋予 b。
4) 长度:长度格式符为 l 和 h,l 表示输入长整型数据(如%ld) 和双精度浮点数(如%lf)。h
表示输入短整型数据。
使用 scanf 函数还必须注意以下几点:
1) scanf 函数中没有精度控制,如:scanf("%5.2f",&a);是非法的。不能企图用此语
句输入小数为 2 位的实数。
2) scanf 中要求给出变量地址,如给出变量名则会出错。如 scanf("%d",a);是非法
的,应改为 scnaf("%d",&a);才是合法的。
3) 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则
可用空格,TAB 或回车作间隔。C 编译在碰到空格,TAB,回车或非法数据(如对“%d”
输入“12A”时,A 即为非法数据)时即认为该数据结束。
4) 在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有
效字符。
例如:
谭浩强 C 语言程序设计 2001 年 5 月 1 日
scanf("%c%c%c",&a,&b,&c);
输入为:
d e f
则把"d"赋予 a, " " 赋予 b,"e"赋予 c。
只有当输入为:
def
时,才能把"d"赋于 a,"e"赋予 b,"f"赋予 c。
如果在格式控制中加入空格作为间隔,
如:
scanf ("%c %c %c",&a,&b,&c);
则输入时各数据之间可加空格。
【例 4.8】
main(){
char a,b;
printf("input character a,b
");
scanf("%c%c",&a,&b);
printf("%c%c
",a,b);
}
由于 scanf 函数"%c%c"中没有空格,输入 M N,结果输出只有 M。而输入改为 MN 时则
可输出 MN 两字符。
【例 4.9】
main(){
char a,b;
printf("input character a,b
");
scanf("%c %c",&a,&b);
printf("
%c%c
",a,b);
}
本例表示 scanf 格式控制串"%c %c"之间有空格时,输入的数据之间可以有空格间隔。
5) 如果格式控制串中有非格式字符则输入时也要输入该非格式字符。
例如:
scanf("%d,%d,%d",&a,&b,&c);
其中用非格式符“ , ”作间隔符,故输入时应为:
5,6,7
又如:
scanf("a=%d,b=%d,c=%d",&a,&b,&c);
则输入应为:
a=5,b=6,c=7
6) 如输入的数据与输出的类型不一致时,虽然编译能够通过,但结果将不正确。
【例 4.10】
main(){
int a;
printf("input a number
");
scanf("%d",&a);
printf("%ld",a);
}
谭浩强 C 语言程序设计 2001 年 5 月 1 日
由于输入数据类型为整型,而输出语句的格式串中说明为长整型,因此输出结果和输入
数据不符。如改动程序如下:
【例 4.11】
main(){
long a;
printf("input a long integer
");
scanf("%ld",&a);
printf("%ld",a);
}
运行结果为:
input a long integer
1234567890
1234567890
当输入数据改为长整型后,输入输出数据相等。
【例 4.12】
main(){
char a,b,c;
printf("input character a,b,c
");
scanf("%c %c %c",&a,&b,&c);
printf("%d,%d,%d
%c,%c,%c
",a,b,c,a-32,b-32,c-32);
}
输入三个小写字母,输出其 ASCII 码和对应的大写字母。
【例 4.13】
main(){
int a;
long b;
float f;
double d;
char c;
printf("
int:%d
long:%d
float:%d
double:%d
char:%d
",sizeof(a),sizeof(b
),sizeof(f),sizeof(d),sizeof(c));
}
输出各种数据类型的字节长度。
谭浩强 C 语言程序设计 2001 年 5 月 1 日
4.6 顺序结构程序设计举例
【例 4.14】输入三角形的三边长,求三角形面积。
已知三角形的三边长 a,b,c,则该三角形的面积公式为:
area =
?
s(s ? a)(s ? b)(s c
) ,
其中 s = (a+b+c)/2
源程序如下:
#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.2f
”,a,b,c,s);
printf(“area=%7.2f
”,area);
}
【例 4.15】求ax2+bx+c=0 方程的根,a,b,c由键盘输入,设b2-4ac>0。
求根公式为:
= ? +
?
= ?
b
x
-240a
x?bb2 -2131
b b24ac
2
=?bba
p
2
a
=
a
=
q
2 ?4
b ac
2
2a
q =
x
b2? 4ac
2a
a
令
a
,
则x1=p+q
x2=p-q
源程序如下:
#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-q;
谭浩强 C 语言程序设计 2001 年 5 月 1 日
printf(“
x1=%5.2f
x2=%5.2f
”,x1,x2);
}
谭浩强 C 语言程序设计 2001 年 5 月 1 日
5 分支结构程序
5.1 关系运算符和表达式
在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。
小说推荐
- 星卡设计师:开局设计火伊布
- 苏洛花8700万拍下了限量青眼白龙卡牌,遭到了全网嘲讽,没想到,竟然真的召唤出了青眼白龙 这是个类似女武神的世界观,神族以圣战的方式,决定人族的去留 所谓圣战,便是在人类中挑选出九名最强星卡师,与诸神中的九位主神展开对决,若是人类能赢五场,便让人族延续千年 于是青眼白龙从各个星球中挑选有天赋的星卡师
- 玄幻小说箫锦鲤连载中
- 最新章:新书发了
- 亲爱的,你被我设计了!
- 作者所写的《亲爱的,你被我设计了》无弹窗免费全文阅读为转载作品,章节由网友发布
- 都市言情未知连载中
- 最新章:page 32
- 乌龙设计师
- 因为身边没有亲人,袁婉绿早就学会独立自主,也养成了凡事自己来、从不依靠别人的习惯!没想到这个才见第二次面的室内设计师,居然会这么关心她,不但陪着她到医院就诊,而且还因为担心她会发烧、家里没人照料,主动表示愿意让她到他家借住…天底下怎么会有这么好心的人啊?真是令人感动—见鬼了!她只是在向他道谢而已,他
- 都市言情未知连载中
- 最新章:第18章
- 亲爱的你被我设计了
- 原来我被他们联合起来设计了,正在我似梦非梦无法从惊奇中清醒过来时,只听到罗斌在耳边悄悄问:亲爱的,你喜不喜欢我的设计 作者:雨醉霜浓所写的《亲爱的你被我设计了》无弹窗免费全文阅读为转载作品,章节由网友发布
- 都市言情雨醉霜浓完本
- 最新章:尾声
- 人生设计在童年
- 人生设计在童年作者[美]高燕定广西师范大学出版社出版 序言 新东方教育集团文化研究院院长徐小平 我是在2003年5月底在美国休斯敦见到高燕定先生的。我去休斯敦看望一个多年不见的老友。朋友说有一个高燕定先生,在教育方面很有见地,希望我们能够见面认识 见到高燕定先生,真使我有相见恨晚之感。高先生在20世
- 现代文学未知连载中
- 最新章:第67章
- 冒牌设计师
- 新书《傲临都市》已经上传,望新老朋友多多支持,新书要冲个小榜,求收藏,求推荐 拜谢!新书书号3127811 作者:吾爱杨所写的《冒牌设计师》无弹窗免费全文阅读为转载作品,章节由网友发布
- 穿越架空吾爱杨完本
- 最新章:第二六零章 成就!黄粱一梦?(大结局)
- 王牌设计师
- 新书:神灵纪。书号:1365414【起点第二编辑组荣誉出品】他,天资平庸,然而一夜之间拥有王牌设计师的头脑,任何设计都难不倒他.建筑设计 服装设计?广告设计?这些通通都是小菜!但是他却有着一个改不过来的毛病,那就是一旦扯上和女人沾边的事儿,就会犯傻.比如说,有美女脱光衣服送上门来,他也不知道下手…群
- 都市言情爱上云的风完本
- 最新章:想说的话以及关于新书
- 超人气设计
- 《超人气设计》作者:沈娆(VIP手打完结)_TXT下载她只是个小裁缝的女儿,异能不多不少,刚够实现她的梦想,偶然的机遇让她闯进了光怪陆离五彩斑斓的时尚圈,成为一名新晋时装设计师。生存在白天鹅群中,她如何才能破茧成蝶,一飞冲天 作者:所写的《超人气设计》无弹窗免费全文阅读为转载作品,章节由网友发布
- 都市言情未知连载中
- 最新章:第125章
- 命运设计师
- [都市异能《命运设计师》作者:独爱金秋【第一部完结】一个想救出父母的少年,无意间拯救了世界~一面魂镜,控制无数人的命运。一位总师,设计着所有人的蓝图。你的命运其实早就被安排好了,不管你如何改变,都是我想让你改变的,某设计师如是说。第一卷:幻境奇缘第一章:魂镜之母上 公元前221年,秦始皇率军占领齐国
- 玄幻小说未知连载中
- 最新章:第141章