C Language Day02
本节内容
- 基本结构
- 基本语句
- 基本函数
- 顺序结构程序设计举例
1.基本结构
顺序结构、分支结构、循环结构
2.基本语句
表达式语句:表达式加上分号
函数调用语句:函数名、实际参数加上分号
控制语句:if语句、do while语句、while语句、break语句、goto语句
复合语句:多个语句用{}括起来组成的一个语句
空语句:只有分号
#include <stdio.h>
void main(){
while(getchar()!='\n'){
;
}
}
stdio是standard input&output的意思;由于printf和scanf函数使用频繁,可以不加#include <stdio.h>;
3.基本函数
putchar 函数(字符输出函数),其功能是在显示器上输出单个字符;
如putchar('A');putchar('\101');
getchar 函数(输入函数)
getchar();通常把输入的字符赋予一个字符变量,如char c;c=getchar();
#include <stdio.h>
void main(){
char c;
printf("input a char:");
c=getchar();
putchar(c);
}
printf 函数(格式输出函数)
printf("格式控制字符串",输出表列)
%d,十进制整型输出;
%ld,十进制长整型输出;
%c,字符型输出;
%o,八进制输出;
%f,小数形式输出单、双精度实数;
%s,输出字符串;
#include <stdio.h>
void main(){
int a=15;
float b=123.1234567;
double c=12345678.1234567;
char d='p';
printf("a=%d,%5d,%o,%x\n",a,a,a,a);
printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);
printf("c=%lf,%f,%8.4lf\n",c,c,c);
printf("d=%c,%8c\n",d,d);
}
scanf 函数(格式化输入函数)
scanf("格式控制字符串",地址列表);与printf函数不同的是不能显示非格式字符串,即不能显示提示字符串。
地址列表中给出各变量的地址,地址由地址运算符"&"后跟变量名组成。
如&a,&b 分别表示变量a和变量b的地址。这个地址就是编译系统在内存中给a,b变量分配的地址。
#include <stdio.h>
void main(){
int a,b,c;
printf("input a,b,c\n");
scanf("%d,%d,%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
scanf格式控制串"%c %c"之间有空格时,输入的数据之间可以有空格间隔。
#include <stdio.h>
void main(){
char a,b,c;
printf("input char a,b,c\n");
scanf("%c,%c,%c",&a,&b,&c);
printf("%d,%d,%d\n%c,%c,%c\n",a,b,c,a-32,b-32,c-32);
}
4.顺序程序设计举例
输入三角形三边长,求三角形的面积;
三角形三边长a,b,c,面积公式area=√s(s-a)(s-b)(s-c),s=(a+b+c)/2
#include <stdio.h>
#include <math.h>
void 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\n",a,b,c,s);
printf("area=%7.2f\n",area);
}
求一元二次方程的根,ax^2+bx+c=0,设b^2-4ac>0。
#include <stdio.h>
#include <math.h>
void main(){
double a,b,c,disc,x1,x2,p,q;
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
}