写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友。
目录
C语言基本语句
1.固定格式
#include<stdio.h>
int main()
{
return 0;
}
2.printf语句
(1/4)
#include<stdio.h>
int main()
{
printf("我是");
printf("天下");
printf("第一");
printf("帅猴");
return 0;
}
运行结果:
我是天下第一帅猴
(2/4)
#include<stdio.h>
int main()
{
printf("我是天下第一帅猴");
return 0;
}
运行结果:
我是天下第一帅猴
(3/4) "\n"表示换号;
#include<stdio.h>
int main()
{
printf("我是\n");
printf("天下\n");
printf("第一\n");
printf("帅猴\n");
return 0;
}
运行结果:
我是
天下
第一
帅猴
(4/4)"\t"表示空格;
#include<stdio.h>
int main()
{
printf("我是\t");
printf("天下\t");
printf("第一\t");
printf("帅猴\n");
return 0;
}
运行结果:
我是 天下 第一 帅猴
小结:
1.printf(" "); 括号中的双引号" "
2.printf(" "); 最后的分号;
3.
#include<stdio.h>
int main()
{
printf("我是\t");
printf("天下\t");
printf("第一\t");
printf("帅猴\n"); //最后一行需要加 \n,换号
return 0;
}
练习:
#include<stdio.h>
int main()
{
printf("************\n");
printf("猴博士贼溜!\n");
printf("************\n");
return 0;
}
运行结果:
3.int、float、double、char型数据
int a=3;
float a=3.14; //允许小数点后面的语句相对少一点
double a=3.14; //允许小数点后面的语句相对多一点,占一点空间
char a='A';
int a=3,b,c=5; //就相当于下边这两种情况
int b; int a=3; int c=5;
int a,b,c; a=3; b=5;
例1
#include<stdio.h>
int main()
{
int a=5,b,c,d,e,f;
b=a+2; //b=5+2=7
c=b-a; //c=7-5=2
d=a*c; //d=5*2=10
e=a/d; //e=5/10=0.5=0 e为整数型
f=a%d; //f=5%10=5 %取余 0个10,余数为5
return 0;
}
例2
#include<stdio.h>
int main()
{
double a,b,c,s;
a=3.67;
b=5.43;
c=6.21;
s=(a+b+c)/2;
return 0;
}
例3
#include<stdio.h>
int main()
{
char a='B',b='O',c='Y';
a=a+32; //a+=32; a='b'
b=b+32; //b+=32; b='o'
c=c+32; //c+=32; c='y'
return 0;
}
a=a+32; 等价于 a+=32;
x*=y+8; 等价于 x=x*(y+8);
z%=3 等价于 z=z%3;
4.用printf语句输出int、float、double、char型数据
例1 用printf语句输出int型数据
#include<stdio.h>
int main()
{
int a=5,b,c,d,e,f;
b=a+2;
c=b-a;
d=a*c;
e=a/d;
f=a%d;
printf("a=%d,b=%d,c=%d\n",a,b,c);
printf("e=%d,f=%d\n",e,f);
return 0;
}
运行结果:
a=5,b=7,c=2
e=0,f=5
练习
求123与456的和。
#include<stdio.h>
int main()
{
int a,b,sum;
a=123;
b=456;
sum=a+b;
printf("和是%d\n",sum);
return 0;
}
运行结果:
和是579
例2 用printf语句输出double型数据
#include<stdio.h>
int main()
{
double a,b,c,s;
a=3.67;
b=5.43;
c=6.21;
s=(a+b+c)/2;
printf("设定的a是%.2f,b是%.2f,c是%.2f\n",a,b,c);
printf("求得的s是%f\n",s);
return 0;
}
运行结果:
设定的a是3.67,b是5.43,c是6.21
求得的s是5.103333
例3 用printf语句输出char型数据
#include<stdio.h>
int main()
{
char a='B',b='O',c='Y';
a=a+32;
b=b+32;
c=c+32;
printf("小写字母依次是%c%c%c\n",a,b,c);
return 0;
}
运行结果:
小写字母依次是boy
小结:
%d 输出为整数;
%f 输出为小数;
%c 输出为字符;
练习:
自己尝试
#include<stdio.h>
int main()
{
char a='o',b='y',c='r',d='a';
a=a+1;
b=b+1;
c=c+1;
d=d+1;
printf("猴博士同事傻狍子加密后的英文名是%c%c%c%c\n",a,b,c,d);
return 0;
}
运行结果:
猴博士同事傻狍子加密后的英文名是pzsb
猴博士给出的参考:
#include<stdio.h>
int main()
{
char c1='o',c2='y',c3='r',c4='a';
c1=c1+1;
c2=c2+1;
c3=c3+1;
c4=c4+1;
printf("加密后的英文名是%c%c%c%c\n",c1,c2,c3,c4);
return 0;
}
运行结果:
加密后的英文名是pzsb
5.用scanf语句输出int、float、double、char型数据
例1 int型
int a,b;
scanf("%d,%d",&a,&b);
#include<stdio.h>
int main()
{
int a,b,s;
scanf("%d,%d",&a,&b);
s=(a+b)/2;
printf("%d和%d的平均数为%d\n",a,b,s);
return 0;
}
运行结果:
(键盘键入)23,45
23和45的平均数为34
例2
float型
float a,b;
scanf("%f,%f",&a,&b);
double型
double a,b;
scanf("%lf,%lf",&a,&b);
char型
char a,b;
scanf("%c,%c",&a,&b);
练习
#include<stdio.h>
int main()
{
char a,b;
printf("请输入大写字母:\n");
scanf("%c",&a);
b=a+32;
printf("%c的小写字母为%c\n",a,b);
return 0;
}
6.putchar()语句、getchar()语句
putchar()向终端输出一个字符;
getchar()用于读取用户从键盘输入的单个字符。
#include<stdio.h>
int main()
{
char a,b,c;
a=getchar();
b=getchar();
c=getchar();
a=a+32;
b=b+32;
c=c+32;
putchar(a);
putchar(b);
putchar(c);
putchar('\n');
return 0;
}
运行结果:
(键盘键入)BOY
boy
7.e^x、log等数学运算
#include<stdio.h>
#include<math.h> //数学运算需要添加
int main()
{
...
return 0;
}
练习
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,s,area;
scanf("%lf,%lf,%lf",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%f\t b=%f\t c=%f\n",a,b,c);
printf("area=%f\n",area);
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,d,x1,x2;
scanf("%lf,%lf,%lf",&a,&b,&c);
d=sqrt(b*b-4*a*c);
x1=(-b+d)/(2*a);
x2=(-b-d)/(2*a);
printf("x1=%f\n",x1);
printf("x2=%f\n",x2);
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
double r,n,p;
r=-0.1;
n=10;
p=pow(1+r,n);
printf("p=%f\n",p);
return 0;
}
三个小知识点
(1)%m.nf
#include<stdio.h>
int main()
{
double a,b,c;
a=3.67;
b=5.43;
c=6.21;
printf("设定的a是%5.2f,b是%-5.2f,c是%7.4f\n",a,b,c);
return 0;
}
运行结果:
设定的a是 3.67,b是5.43 ,c是 6.2100
% 5.2f 输出占5个格,小数点后2位,数字位数不够,前面补空格;
%-5.2f 输出占5个格,小数点后2位,数字位数不够,后面补空格;
% 7.4f 输出占7个格,小数点后4位,数字位数不够,前面补空格;
(2)%e :以科学计数法来表现
例1: %e
#include<stdio.h>
int main()
{
printf("傻狍子的身高是%e厘米\n",123.456);
return 0;
}
运行结果:
傻狍子的身高是1.234560e+002厘米
123.456=1.23456*10^2
1.234560e+002
e一般小数点后是6位,e+002一共占5个格
例2: %10.2e
#include<stdio.h>
int main()
{
printf("傻狍子的身高是%10.2e厘米\n",123.456);
return 0;
}
运行结果:
傻狍子的身高是 1.23e+002厘米
例3: %-10.2e
#include<stdio.h>
int main()
{
printf("傻狍子的身高是%-10.2e厘米\n",123.456);
return 0;
}
运行结果:
傻狍子的身高是1.23e+002 厘米
(3)(int)(表达式) 将表达式结果强制转成整型(即抹去表达式结果中的小数点)
float a=9999.999;
int b;
b=(int)(a/1000); //千位数
练习
#include<stdio.h>
int main()
{
double a;
int ge,shi,bai;
scanf("lf%",&a);
bai=(int)(a/100);
shi=(int)((a-bai*100)/10);
ge=(int)(a-bai*100-shi*10);
printf("个位数字%d\n",ge);
printf("十位数字%d\n",shi);
printf("百位数字%d\n",bai);
return 0;
}
以上是自己通过学习整理所得,大家有相关问题,可以留言,一起交流学习!
转载或者引用本文内容请注明来源及原作者