一: 基本数据类型
整型 int
实型 float / double
字符型 char
// 这些数据类型是用来修饰 变量
程序运行过程中可以改变的量 //
二:变量的命名规则:
1.以字母丶下划线开头,中间可以包含数字,但不能以数字开头
2.可以使用美元符号开头($),但不建议
3.见名知意
4.不可使用系统保留字
三:赋值
1.直接赋值
int b;
b = 10;
2.通过其他变量赋值
int c = 10;
int d;
d = c;
printf("d = %d\n",d);
3.通过控制台赋值
printf("请输入一个整数:\n");
int e;
scanf("%d",&e);
printf("e = %d\n",e);
// main.c
// C_01
//
// Created by 8011 on 15/11/25.
// Copyright (c) 2015年 yong. All rights reserved.
//
#include <stdio.h>
#include <stdbool.h>
int main(int argc, const char * argv[]) {
//程序默认从上至下一步一步执行
printf("1\n");
printf("2\n");
printf("3\n");
printf("Hello, World!\n")
//表达式: 由变量和运算符组合而成的 叫做表达式
int a5 = 10;
int b5 = 8;
int d5 = a5 % b5;
printf("d5 = %d\n",d5);
a5++; //表示a5=a5+1;
a5--; //表示a5=a5-1;
++a5; //自加1;
--a5; //自减1;
int q = 10;
int p = q++; //先赋值,再运算 输出p=10;
//等价于
//p=q;
//q=q+1;
//int p = ++q; //先运算,再赋值 输出p=11;
//等价于
//q=q+1;
//p=q;
//算术运算符 + - * / % ++ --
//赋值运算符 = += -= *= /= %=
int z = 1+2;
int z1 = 5;
z1 += 5; 输出z1=10;
//等价于
//z1=z1+5;
/*
在C语言中有一个BOOL类型,此类型在stdbool.h(头文件)库中.
对于BOOL类型来说,它有两种取值 ture或false,其实布尔类型本质上也是整型
ture 1,false 0
对于由关系运算符组成的表达式来说,其结果为布尔类型
*/
bool flag = (5 >= 9-4);
printf("flag = %d\n",flag); 输出flag = 1(ture);
/*
对于逻辑于,前面的条件不满足,后面的条件不执行
对于逻辑或,前面的条件满足,后面的条件不执行
例 int m = 1;
int n;
int r = ((n=2)<5||(m=3)>2);
*/
//强制类型转换 隐式转换 显示转换
int n1 = 4;
int n2 = 3;
//隐式转换
int result1 =n1/n2;
printf("result1 = %d\n",result1);
//显示转换
float result2 = (int)(n1/n2);
printf("result2 = %f\n",result2);
//隐形例子
int m = 5;
float n = 10.0;
c = m+n;
printf("c = %f\n",c); 输出 c = 15.0;
float c ;
//算术运算符>关系运算符>逻辑运算符>赋值运算符
//求a b的+ - * /
int a = 5;
int b = 10;
int sum,dif,pro,quo;
sum = a+b;
dif = a-b;
pro = a*b;
quo = b/a;
printf("a+b = %d\n",sum);
printf("a-b = %d\n",dif);
printf("a*b = %d\n",pro);
printf("b/a = %d\n",quo);
//篮球队参加66场比赛,赢41场,输25场 计算胜率以及负率
int win = 41;
int lose = 25;
float Wrate,Lrate;
Wrate = 1.0*win/(win+lose);
Lrate = 1.0*lose/(win+lose);
printf("Wrate = %.2f\n",Wrate);
printf("Lrate = %.2f\n",Lrate);
//1到200的求和
int i,sum = 0;
for (i=1;i<=200 ; i++)
{
sum+=i;
}
printf("sum = %d\n",sum);
//国外买东西需要缴税,计算总价值,应付税额,应付款额;
公式: 总值=相数*每项价值 折扣后总值=总值-(折扣率*总值)
应付税额=总值*税率 应付款项=总值+应付税额
float jiazhi,xiangshu,zhekou,zongzhi,ZKHzhongzhi,suier,kuanxiang;
printf("请输入价值,项数,折扣,空格隔开:\n");
scanf("%f %f %f",&jiazhi,&xiangshu,&zhekou);
zongzhi = xiangshu*jiazhi;
ZKHzhongzhi = zongzhi - (zhekou*zongzhi);
suier = zongzhi*0.6;
kuanxiang = zongzhi + suier;
printf(" zongzhi: %.2f\n ZKHzongzhi: %.2f\n suier: %.2f\n kuanxiang: %.2f\n",zongzhi,ZKHzhongzhi,suier,kuanxiang);
//求中点
float x,x1,y,y1,x2,y2;
x1 = 10;
x2 = 20;
y1 = 5;
y2 = 10;
x = (x1+x2)/2;
y = (y1+y2)/2;
printf("x = %.2f\n,y = %.2f\n",x,y);
//年月日 输入一个年月日,求这天是这年的第几天
int year,mouth,day,i;
printf("请输入年月日(空格隔开):\n");
scanf("%d %d %d",&year,&mouth,&day);
if (year%400==0||year%4==0&&year%100!=0)
{
switch (i = mouth)
{
case 1:
i = day;
break;
case 2:
i = 30 + day;
break;
case 3:
i = 29+30 + day;
break;
case 4:
i = 31+29+30 + day;
break;
case 5:
i = 30+31+29+30+day;
break;
case 6:
i = 31+30+31+29+30+day;
break;
case 7:
i = 30+31+30+31+29+30+day;
break;
case 8:
i = 31+30+31+30+31+29+30+day;
break;
case 9:
i = 31+31+30+31+30+31+29+30+day;
break;
case 10:
i = 30+31+31+30+31+30+31+29+30+day;
break;
case 11:
i = 31+30+31+31+30+31+30+31+29+30+day;
break;
case 12:
i = 30+31+30+31+31+30+31+30+31+29+30+day;
break;
case 13:
i = 31+30+31+30+31+31+30+31+30+31+29+30+day;
break;
default:
printf("输入年月日不正确!");
break;
}
}
else
{
switch (i = mouth)
{
case 1:
i = day;
break;
case 2:
i = 30 + day;
break;
case 3:
i = 28+30 + day;
break;
case 4:
i = 31+28+30 + day;
break;
case 5:
i = 30+31+28+30+day;
break;
case 6:
i = 31+30+31+28+30+day;
break;
case 7:
i = 30+31+30+31+28+30+day;
break;
case 8:
i = 31+30+31+30+31+28+30+day;
break;
case 9:
i = 31+31+30+31+30+31+28+30+day;
break;
case 10:
i = 30+31+31+30+31+30+31+28+30+day;
break;
case 11:
i = 31+30+31+31+30+31+30+31+28+30+day;
break;
case 12:
i = 30+31+30+31+31+30+31+30+31+28+30+day;
break;
case 13:
i = 31+30+31+30+31+31+30+31+30+31+28+30+day;
break;
default:
printf("输入年月日不正确!");
break;
}
}
printf("这一天是这年的第 %d 天\n",i);
//整数从小到大输出
int x,y,z;
printf("输入三个数字(空格隔开):\n");
scanf("%d %d %d",&x,&y,&z);
if (x<y&&x<z)
{
printf("%d\n",x);
if (y<z)
{
printf("%d\n",y);
printf("%d\n",z);
}
else
{
printf("%d\n",z);
printf("%d\n",y);
}
}
else if (y<x&&y<z)
{
printf("%d\n",y);
if(x<z)
{
printf("%d\n",x);
printf("%d\n",z);
}
else
{
printf("%d\n",z);
printf("%d\n",x);
}
}
else if (z<x&&z<y)
{
printf("%d\n",z);
if(x<y)
{
printf("%d\n",x);
printf("%d\n",y);
}
else
{
printf("%d\n",y);
printf("%d\n",x);
}
}