您的位置:首页 > 编程语言 > C语言/C++

c语言基础篇(一)

2015-11-29 16:00 316 查看

一: 基本数据类型

整型 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>

//宏的定义
#define PI 3.1415 输出 printf("PI = %.4f\n",PI);
#define MAXX 10 输出 printf("MAXX = %d\n",MAXX);

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);

}

}



//1到100包含6的数

int a = 0;

printf("以下是1到100含6的数:\n");

for(a = 0;a <= 100;a++)

{

if(a<10&&a%6==0)

{

printf("%d ",a);

}

else if (a>10&&a%10==6)

{

printf("%d ",a);

}

}

return 0;

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: