scanlf:表示输入
#include<stdio.h>
int main(){
int a;
scanlf("a=%d",&a);// 输入格式 变量的地址
// &a 取地址符
//然后通过键盘的输入数据到变量地址对应的空间
//输入的时候必须严格按照输入格式输入
printf("a=%d\n",a);
return 0;
}
printf:print(打印),format(格式)
特例1:
#include<stdio.h>
int main(){
int a,b,c;
//输入数值 format:"%d%d%d"
//加:空格、回车、Tab
scanf("%d%d%d",&a,&b,%c);
printf("a=%d\n",a);
printf("b=%d\n",a);
printf("c=%d\n",a);
return 0;
}
运行结果:
特例2:
#include<stdio.h>
int main(){
char a,b,c;
//输入字符 format:"%c%c%c"
//字符和字符直接要紧紧的挨在一起输入
scanf("%c%c%c",&a,&b,&c);
printf("a=%c\n",a);
printf("b=%c\n",b);
printf("c=%c\n",c);
return 0;
}
运行结果:
可以看出,输出的结果是紧挨着输出的。
特例3:
#include<stdio.h>
int main(){
double a;
//输入格式 float--->%f
//输入格式 double--->%lf
scanf("%lf",&a);
printf("a=%f",a);
return 0;
}
运行结果:
特例4:
#include<stdio.h>
int main(){
int x,y;
scanf("%d%3d",&x,&y);//1234 56789
printf("x=%d,y=%d",x,y);
return 0;
}
运行结果:
这里%3d代表从左往右三位,即为:567
#include<stdio.h>
int main(){
int a='\101';
printf("a=%c\n",a);
putchar(a);
putchar('\n');
putchar('\x41');
putchar('a'+3);
return 0;
}
putchar作用是向终端输出一个字符。其格式为putchar(c),其中c可以是被单引号(英文状态下)引起来的一个字符,可以是介于0~127之间的一个十进制整型数,也可以是事先用char定义好的一个字符型变量。
#include<stdio.h>
int main(){
char a,b,c;
a=getchar();
b=getchar();
c=getchar();
printf("%c%c%c",a,b,c);
return 0;
}
可以看出不管输入多少字符,一个getchar只能写入一个字符,当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾(End-Of-File)则返回-1(EOF),且将用户输入的字符回显到屏幕。
1.输入三角形的三条边,求三角形的面积。
#include<stdio.h>
#include<math.h>
int main(){
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
double s=(a+b+c)/2;
double area;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%f",area);
return 0;
}
2.求解一元二次方程。
#include<stdio.h>
#include<math.h>
int main(){
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
float x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("x1=%f,x2=%f",x1,x2);
return 0;
}
3.输入一个大写字母,将大写字母转换为小写字母。
依据:A-->65 a-->97 'A'+32='a'
#include<stdio.h>
#include<math.h>
int main(){
char c1;//大写
char c2;//小写
c1=getchar();
c2=c1+32;
putchar(c2);
return 0;
}