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

变量:是在计算机内存空间一种表示,声明变量将会向计算机内存申请存储空间,用于保存数据,计算机的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;

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

//交换num1和num2的值

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语言之变量和数据类型的更多相关文章

  1. OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章)

    OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章) 4.5精度和精度修饰符 4.5.1范围和精度 用于存储和展示浮点数.整数变量的范围和精度依赖于数值的源(varying,unifo ...

  2. OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)和varying,uniform,attribute修饰范围

    OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)   所有变量和函数在使用前必须声明.变量和函数名是标识符. 没有默认类型,所有变量和函数声明必须包含一个声明类型以及可选的修饰符. ...

  3. iOS开发环境C语言基础 变量 、 数据类型和变量赋值 、 其他 、 运算符

    1 变量使用常用错误汇总 1.1 问题 在我们使用变量的过程中,会遇到一些问题,在此将这些问题进行汇总,在今后使用的过程中,不出错.即使出现错误也可以很快地找到问题所在. 1.2 方案 变量在使用的过 ...

  4. C语言笔记变量与数据类型

    目录 1.转义字符 2.常量与变量 2.1 什么是常量和变量 2.2 内存 2.3 变量的内存机制 2.4 变量命名规则 2.5 变量的定义 2.6 常量的定义 2.7 计算机内存字节顺序 2.8 局 ...

  5. C#语言与变量、数据类型

    一.计算机语言 1.计算机语言包括:C\PHP\Ruby\JAVA\C#\Basi\JS\C++ 2.计算机语言发展史:机器语言——汇编语言——高级语言 二.代码 1.程序始终:Code(编码).Co ...

  6. Java语言基础---变量与数据类型

    变量的作用域 java用一对大括号“{}”作为语句块的范围,称为作用域.作用域中的变量不能重复定义:离开作用域,变量所分配的内存空间将被JVM所收回. 基本数据类型的包装类 java为基础数据类型提供 ...

  7. C语言基础学习基本数据类型-变量和常量

    变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...

  8. Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)

    初始 Java 语言 Java SE -- Java Platform, Standard Edition 是 Java 平台的基础 Java SE 以前称为 J2SE, 可以编写桌面应用和基于 we ...

  9. [C语言入门笔记]变量与数据类型

    变量与数据类型 什么是变量? 变量是一个变化的量 是内存中的一个空间 变量的定义方法是什么? 数据类型 变量名 = 值; 数据类型有哪些? 整型int 浮点型float double 字符型char ...

随机推荐

  1. c# 逆波兰式实现计算器

    语文不好,不太会组织语言,希望不要太在意. 如题,先简要介绍一下什么是逆波兰式  通常我们在写数学公式的时候  就是a+b+c这样,这种表达式称为中缀表达式,逆波兰式又称为后缀表达式,例如a+b 后缀 ...

  2. D3D Learning_01_CreateWindow

    // Learn_01_CreateWindow.cpp : Defines the entry point for the application. // #include "stdafx ...

  3. 【转载】stm32定时器-----珍藏版

    今天看到一个讲解定时器特别细致入微的文章,真是难得... 原文地址:http://www.cnblogs.com/zjvskn/p/5751591.html 一.STM32通用定时器原理 STM32  ...

  4. PMBOK 学习与实践分享视频

    本系列为自己在学习PMBOK时进行的总结与分享,每一节主要包括两部分: 对PMBOK本身的一个结构笔记和讲解. 对自己项目管理工作的一个总结和思考. PMBOK 学习与实践分享视频内容清单 人力资源管 ...

  5. (一)java多线程之Thread

    本人邮箱: kco1989@qq.com 欢迎转载,转载请注明网址 http://blog.csdn.net/tianshi_kco github: https://github.com/kco198 ...

  6. 一个只有99行代码的JS流程框架(二)

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 张镇圳,腾讯Web前端高级工程师,对内部系统前端建设有多年经验,喜欢钻研捣鼓各种前端组件和框架. 导语 前面写 ...

  7. HTML ——Flex弹性布局

    弹性盒布局的使用 1.为父容器添加display:flex或inline-flex属性 (Webkit内核的浏览器,必须加上-webkit前缀.) 容器默认存在两根轴:主轴(main axis)和交叉 ...

  8. Spring+SpringMVC+Mybaties整合之配置文件如何配置及内容解释--可直接拷贝使用--不定时更改之2017/4/27

    以下配置可直接使用,只需更改包名. 关于内部标签的解释及用法,都以注解形式在代码内部说明.个人原创,转载需注明出处. 1,web.xml.添加jar包后首先需要配置WEB-INF下的web.xml文件 ...

  9. Javascript中this关键字

    this 是谁调用的时候,指定的是谁,通俗一点讲就是,函数是谁执行是不是由其中一个对象点出来的那就是代表它, 比如执行对象a中b函数a.b();这个b函数中this代表a; 当换成var c=a.b; ...

  10. [KISSY5系列]KISSY5安装使用(二)

    上篇文章,我们遗留的一个问题就是,请求数量有点多,虽然现在的浏览器的请求资源都是并发的.但是我们还是尽量减少请求量. 但是KISSY里面这个问题我们怎么解决呢,其实还是从data-config=&qu ...