**********************************************************************************
//一些简单的输入输出
-------------------------------------------------------------------------------
**
键盘和显示设备作为每个C程序自动打开的文件来对待。键盘输入由一个被
称为stdin的流表示,而到屏幕(电传打印机或其他输出设备)上的输出由
一个被称为stdout的流表示。getchar(),putchar(),printf()和
scanf()函数都是标准的I/O包成员,这些函数同这两个流打交道。C输入
函数装备有内置的文件尾检测器来终止键盘输入。现今,一些OS使用一个内嵌
的Ctrl+Z字符来表示文件结尾。也可以根据存储文件大小的信息来判断文件尾。
而C的处理方法是让getchar()在到达文件尾时返回一特殊值EOF(End OfFile)
通常EOF在stdio.h中定义:#define EOF (-1)
*******************************************************
用文件实现输入输出:
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
说明:input.txt和output.txt和程序放在同一个目录下
*******************************************************
**
//#include<stdio.h>
//#include<string.h>
//#define STR "What is your name?\n"
//int main()
//{
**
printf(STRSTR);
printf("---------\n");//区别
printf(STR,STR);//只打印了一个STR
**
-------------------------------------------------------------------------------
**
charname[20];
intx=100;
printf("Please"
"input your""name:\n");//=printf("Please input your name:\n");
printf("%d\n",strlen(name));
//name还未输入strlen(name)长度不定
scanf("%5s",name);
//直接收5个字符
intsize=strlen(name);
printf("Youname has %d characters\n",sizeof name); //name所在字符串总的宽度
printf("Youname has %dcharacters\n",size);
//输入的name所占的宽度
printf("%%%d\n",x);
//打印一个百分号
printf("%d%o %x\n",x,x,x);
printf("%d%#o %#x\n",x,x,x);//以十进制,八进制,十六进制形式输出x
intt=printf("%c %s %ho\n",'$',"abcde",x);
printf("%d\n",t);
//显示上句printf打印的字符个数
printf("Please enter three intrgers:\n");
scanf("%*d%*d%d",&x);
//跳过输入的头两个数
printf("Thelast integer was %d\n",x);
**
-------------------------------------------------------------------------------
**
inta=1,b=1;
intaplus=a++;//后缀:使用a的值之后改变a
intplusb=++b;//前缀:使用b的值之前改变b
printf("%d%d %d %d\n",a,aplus,b,plusb);
intd=1;
intc=1+2*d++;//c=3,d=2
printf("%d%d\n",c,d);
intresult=2*(c+(d=5));//=2*(3+(5))=16
result=(2+3)*10.5;//=52.5-->52
printf("%d\n",result);
**
-------------------------------------------------------------------------------
/*
类型级别高到低 long double <--double
<--float <--unsigned long long<--long long
<--unsigned long <--long<--unsigned int <--int
例外:当int和long具有相同大小时,unsigned int比long的级别更高
当作为函数的参数传递时,char和short会被转换成int,float会被转换成double
指派运算符:eg:mice=(int)1.6+(int)1.7;
**
**
printf("Enter afigure\n");
while(scanf("%d",&a)==1)
;
//单独的分号代表空语句,scanf()只要读入一个整数就会返回1,循环就会继续
//当输入字母或小数时,循环结束。
500;//这是一个什么都不做的语句
**
************************************************************************************
//一些简单的输入输出
-------------------------------------------------------------------------------
*******************************************************
用文件实现输入输出:
*******************************************************
**
//#include<stdio.h>
//#include<string.h>
//#define STR "What is your name?\n"
//int main()
//{
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
************************************************************************************