码迷,mamicode.com
首页 > 编程语言 > 详细

C语言之变量和数据类型

时间:2017-05-12 00:00:51      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:字符   半径   兼容   需要   占位符   整数   语法   其他   大小写   

常量:程序在运行过程中无法对值进行更改。

变量:是在计算机内存空间一种表示,声明变量将会向计算机内存申请存储空间,用于保存数据,计算机的CPU会从内存中加载数据。

声明变量:

数据类型  变量名[=];

也可以一次性声明多个变量:  数据类型  变量名1,变量名2….变量名N;

变量的使用需要满足:先声明, 后赋值,在使用。

 比如:

int a;

a=10;

int a=10;

标示符的命名规范:见名知意

  1. 有字母,数字和下划线组成,不能有其他特殊字符,不能以数字开头。
  2. 不能使用预留关键字. 比如int
  3. 严格区分大小写。 City ,city是两个变量
  4. 建议采用驼峰命名法:首单词小写,其他单词的首字母大写(employeeName)

数据类型

1、分为数值型、非数值型(char)

2、数值型又分为整形和浮点型

3、整形又分为长整型(long)、整形(int)、短整型(short)

4、浮点型分为单精度浮点型(float)、双精度浮点型(double)

                                                             

printf()/scanf():输出和输入

常用的占位符:%d 十进制的整型int , %f:浮点型float,默认精确到小数点后6,

%lf:双精度浮点型double, %c:字符型char ,%s: 字符串

scanf(“%d”,&a);à &取地址符号

 

例一:

 

计算圆柱体积

 

float raduis,height,vol,pi=3.14;//声明两个变量分别用于保存半径和高

 

printf("请输入半径:\n");

 

scanf("%f",&raduis);

 

printf("请输入高:\n");

 

scanf("%f",&height);

 

vol = pi*raduis*raduis*height;

 

printf("圆柱的体积vol=%0.2f",vol);

 

例二:

 

   //打印购物小票

 

  float price=20,totalPrice,realPrice,disCount;//牙膏价格

 

    float total,change;//付款金额和找零

 

  int num;//要购买的牙膏的数量

 

printf("牙膏的价格为20元每只\n");

 

printf("请输入购买牙膏的数量:\n");

 

  scanf("%d",&num);//获取输入的数量

 

    printf("请输入折扣:\n");

 

    scanf("%f",&disCount);//获取输入的折扣

 

printf("请输入付款金额:\n");

 

scanf("%f",&total);//获取付款金额

 

    totalPrice = price*num;//计算总价(原价)

 

realPrice = (1- disCount)*totalPrice;//计算应付金额

 

change = total-realPrice;//计算找零

 

printf("***************购物小票**************\n");

 

printf("单价\t数量\t小计\n");

 

printf("%0.2f\t%d\t%0.2f\n",price,num,totalPrice);

 

  printf("折扣:%0.2f,折扣价:%0.2f\n",disCount,disCount*totalPrice);

 

printf("应付:%0.2f,实付:%0.2f,找零:%0.2f\n",realPrice,total,change);

 

  printf("************************************");

 

算术运算符:分为一元运算符和二元运算符

二元运算符(操作数有两个):+,-,*,/,%(求余或取模)

一元运算符(操作数只有1):++(自加1),--(自减1)

 

int num=5;

printf("%d\n",num++);//5

 

printf("%d\n",num);//6

 

printf("%d\n",++num);//7

 

printf("%d\n",num);//7

 

printf("*************************\n");

 

printf("%d\n",num--);//7

 

printf("%d\n",num);//6

 

printf("%d\n",--num);//5

 

  printf("%d\n",num);//5

 

类型转换: 自动转换和强制转换

 自动转换:

1.两种数据类型相互兼容

2.目标类型大于源类型--->范围小的可以向范围大的自动转化

short--->int--->long--->float--->double

强制转换:在强制转换的过程中有可能会发生进度的丢失

语法: (数据类型)变量或数值;

 

int a=3,b=2;

 

float c,d,e,f;

 

c=a/b;//1.000000

 

d=(float)(a/b);//1.000000

 

e=(float)a/b;//1.500000

 

f=(int)c%a;//1.000000

 

getchar()putchar()的函数

  1. getchar()获取用户输入的字符, 类似于scanf()
  2. putchar(char c):输入字符到显示器(控制台), 类似于printf()

示例:

   char c;

    c = getchar();//scanf("%c",&c);

   putchar(c); //printf("%c",c);

示例2

char a,b;

   printf("请输入两个字符:");

   a=getchar();

   fflush(stdin);

   b=getchar();

   fflush(stdin);

   putchar(a);

   putchar(b);

   putchar(‘\n‘);

 

作业1: 声明两个整型的变量用于接收用户输入的两个整数,完成交换用户输入的值。

 int a=10;

int b=5;

e a=5,b=10;

//1.获取用户输入的两个数值,并完成交换

int num1,num2,temp;

printf("请输入num1的值:\n");

scanf("%d",&num1);

printf("请输入num2的值:\n");

scanf("%d",&num2);

printf("交换前:num1=%d,num2=%d\n",num1,num2);

//交换num1num2的值

  temp=num1;

  num1=num2;

num2=temp;

printf("交换后:num1=%d,num2=%d\n",num1,num2);

 

 

作业2: 根据用户输入的上底,下底和高计算梯形的面积。

面积=(上底+下底)*/2;

//2.根据用户输入的上底,下底和高计算梯形的面积。

//面积=(上底+下底)*/2;

  float top,bottom,height,s;

  printf("请输入梯形的上底:\n");

scanf("%f",&top);

printf("请输入梯形的下底:\n");

scanf("%f",&bottom);

printf("请输入梯形的高:\n");

scanf("%f",&height);

  s=(top+bottom)*height/2;//计算面积

printf("梯形的面积为:%0.2f",s);

 

C语言之变量和数据类型

标签:字符   半径   兼容   需要   占位符   整数   语法   其他   大小写   

原文地址:http://www.cnblogs.com/duanrantao/p/6843033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!