博文
【转帖】c语言scanf函数详解(2009-09-04 21:50:00)
摘要:函数名: scanf
功 能: 执行格式化输入
用 法: int scanf(char *format[,argument,...]);
scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。
其调用格式为: scanf("<格式化字符串>",<地址表>);
scanf()函数返回成功赋值的数据项数,出错时则返回EOF。
其控制串由三类字符构成:
1。格式化说明符;
2。空白符;
3。非空白符;(A) 格式化说明符格式字符 说明
%a 读入一个浮点值(仅C99有效)
求三角形面积(2009-09-04 16:58:00)
摘要:/*-----村长学习c之路-----*/
/*应用海伦定理求三角形的面积*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int judge(float a,float b,float c);
int main()
{
float a,b,c,s,area=0;//定义三角形三条边和面积、周长1/2
char ch;
int id1=0;
while(!id1)
{
printf("请输入三角形的第一条边边长\n"); //分别对三角形的三边进行验证
while((scanf("%f",&a))!=1)
{
while((ch=getchar())!='\n')
putchar(ch);
printf(" 不是数字.\n请输入一个类似 2.5,-1.78E8,或者 3的数字:");
}
printf("请输入三角形的第二条边边长\n");
while((scanf("%f",&b))!=1)
{
&nb......
【转载】深入了解scanf()/getchar()和gets()等函数(2009-09-03 21:51:00)
摘要:----------------------------------------------------
| 问题描述一:(分析scanf()和getchar()读取字符) |
----------------------------------------------------
scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因。下面先看一个很简单的程序:
程序1:
#include <stdio.h>
int main()
{
char ch1, ch2;
scanf("%c", &ch1);
scanf("%c", &ch2);
printf("%d %d\n", ch1, ch2);
return 0;
}
或者是:
#include <stdio.h>
int main()
{
char ch1, ch2;
ch1 = getchar();
ch2 = getchar();
printf("%d %d\n", ch1, ch2);
return 0;
}
程序的本意很简单,就是从键盘读入两个字符,然后打印出这两个字符的ASCII码值。可是执行程序后会发现除了问题:当从键盘输入一个字符后,就打印出了结果,根本就没有输入第二个字符程序就结束了。例如用户输入字符'a', 打印结果是97,10......
不要浮躁(2009-09-03 16:33:00)
摘要:1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想
出来再参考别人的提示,你就知道自己和别人思路的差异。
2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久
都是只对部分功能熟悉而已,不系统还是不够的。
3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,
虽然帮助的文字有时候很难看懂,总觉得不够直观。
4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。
5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸
出很多知识点;不会举一反三你就永远学不会。
6.知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。
7.学脚本并不难,JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览
群书;
8.看再多的书是学不全脚本的,要多实践
9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
10.学习脚本最好的方法之一就是多练习;
11.在任何时刻都不要认为自己手中的书已经足够了;
12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件;
15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中;
16.不要漏掉书中任何一个练习——请全部做完并记录下思路;
17.当你用脚本到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余
下的部分粗略的完成以保证这个代码的完整性,然后分析自己的错误并重新编写和工
作。
18.别心急,写脚本确实不容易;水平是在不断的实践中完善和发展的;
19.每学到一个脚本难点的时候,尝试着对别人讲解这个知识点并让他理解----你能
讲清楚才说明你真的理解了;
20.记录下在和别人交流时发现的自己忽视或不理解的知识点;
21.保存好你做过的所有的源文件----那是你最好的积累之一;
22.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先
你要学会自己找答案,比如goo......
标准输出学习(2009-09-03 16:29:00)
摘要:/*--村长学习c之路 工具dev c++ 4.9.9.2---*/ #include <stdio.h>int main(){ /* 测试字符串输出格式*/ printf("%-8s\n","china"); printf("%s\n","christan"); printf("-------------------------------------------\n"); /*测试制表符格式*/ printf("*\t*\t*\t*\n"); printf("*\t*\t*\t*\n");printf("*\t*\t*\t*\n");printf("*\t*\t*\t*\n");printf("*\t*\t*\t*\n"); printf("*\t*\t*\t*\n");printf("*\t*\t*\t*\n");printf("*\t*\t*\t*\n");printf("*\t*\t*\t*\n"); printf("-------------------------------------------\n"); /*测试单精度和双精度数据类型取得的有效数字位数之间的差别*/ double x1,y1; float x2,y2; x1=111111.111;y1=222222.222;x2=111111.111;y2=222222.222; printf("%f\n",x1+y1); printf("%8.8f\n",x2+y2); printf("%f\n",(x1+y1)-(x2+y2));/*两者之差为0......