C语言之变量和数据类型
常量:程序在运行过程中无法对值进行更改。
变量:是在计算机内存空间一种表示,声明变量将会向计算机内存申请存储空间,用于保存数据,计算机的CPU会从内存中加载数据。
声明变量:
数据类型 变量名[=值];
也可以一次性声明多个变量: 数据类型 变量名1,变量名2….变量名N;
变量的使用需要满足:先声明, 后赋值,在使用。
比如:
int a;
a=10;
int a=10;
标示符的命名规范:见名知意
- 有字母,数字和下划线组成,不能有其他特殊字符,不能以数字开头。
- 不能使用预留关键字. 比如int
- 严格区分大小写。 City ,city是两个变量
- 建议采用驼峰命名法:首单词小写,其他单词的首字母大写(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()的函数
- getchar()获取用户输入的字符, 类似于scanf()
- 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语言之变量和数据类型的更多相关文章
- OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章)
OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章) 4.5精度和精度修饰符 4.5.1范围和精度 用于存储和展示浮点数.整数变量的范围和精度依赖于数值的源(varying,unifo ...
- OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)和varying,uniform,attribute修饰范围
OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章) 所有变量和函数在使用前必须声明.变量和函数名是标识符. 没有默认类型,所有变量和函数声明必须包含一个声明类型以及可选的修饰符. ...
- iOS开发环境C语言基础 变量 、 数据类型和变量赋值 、 其他 、 运算符
1 变量使用常用错误汇总 1.1 问题 在我们使用变量的过程中,会遇到一些问题,在此将这些问题进行汇总,在今后使用的过程中,不出错.即使出现错误也可以很快地找到问题所在. 1.2 方案 变量在使用的过 ...
- C语言笔记变量与数据类型
目录 1.转义字符 2.常量与变量 2.1 什么是常量和变量 2.2 内存 2.3 变量的内存机制 2.4 变量命名规则 2.5 变量的定义 2.6 常量的定义 2.7 计算机内存字节顺序 2.8 局 ...
- C#语言与变量、数据类型
一.计算机语言 1.计算机语言包括:C\PHP\Ruby\JAVA\C#\Basi\JS\C++ 2.计算机语言发展史:机器语言——汇编语言——高级语言 二.代码 1.程序始终:Code(编码).Co ...
- Java语言基础---变量与数据类型
变量的作用域 java用一对大括号“{}”作为语句块的范围,称为作用域.作用域中的变量不能重复定义:离开作用域,变量所分配的内存空间将被JVM所收回. 基本数据类型的包装类 java为基础数据类型提供 ...
- C语言基础学习基本数据类型-变量和常量
变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...
- Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)
初始 Java 语言 Java SE -- Java Platform, Standard Edition 是 Java 平台的基础 Java SE 以前称为 J2SE, 可以编写桌面应用和基于 we ...
- [C语言入门笔记]变量与数据类型
变量与数据类型 什么是变量? 变量是一个变化的量 是内存中的一个空间 变量的定义方法是什么? 数据类型 变量名 = 值; 数据类型有哪些? 整型int 浮点型float double 字符型char ...
随机推荐
- 《Python自然语言处理》第二章-习题解答-练习6
问题描述:在比较词表的讨论中,创建一个对象叫做translate,通过它你可以使用德语和意大利语词汇查找对应的英语词汇.这种方法可能会出现什么问题,你能提出一个办法来避免这个问题吗? 虽然这是一道初级 ...
- C++模板--实现容器适配器
STL源码初接触 STL = Standard Template Library,直译过来是:标准模板库,是惠普实验室开发的一系列软件的统称.从根本上说,STL是一些"容器"的集合 ...
- 使用Dockerfile制作自己的Docker镜像
一.背景 一直以来的开发流程都是先从Docker Hub中获取到基础镜像,之后在这个镜像的基础上做开发,以满足一定的需求或者提供某种服务,并由此产生新的镜像,然后就可以push到Docker Hub中 ...
- socket.io的编程实现
socket.io实例 一.环境要求 客户端需要引用socket.io.js文件 服务端需要按照node环境,以及npm install socket.io用来安装服务端的socket.io 二.客户 ...
- 使用nodejs进行WEB开发
这里,准备从零开始用nodejs实现一个微博系统.功能包括路由控制.页面模板.数据库访问.用户注册.登录.用户会话等内容. 将会介绍Express框架.MVC设计模式.ejs模板引擎以及MongoDB ...
- mui开发app之js将base64转图片文件
之前我已经做过一个利用cropper裁剪并且制作头像的功能.如何在mui app中实现相册或相机获取图片后裁剪做头像请看另一篇博客:mui开发app之cropper裁剪后上传头像的实现 但是当时裁剪后 ...
- 什么是体数据可视化(Volume data visualization)?及体绘制的各种算法和技术的特点?
该文对体数据进行综述,并介绍了体数据的各种算法和技术的特点. 前言 由于3D数据采集领域的高速发展,以及在具有交互式帧率的现代化工作站上执行高级可视化的可能性,体数据的重要性将继续迅速增长. 数据集可 ...
- java线程(二)
线程范围变量 我们知道线程在cpu上的使用权并不是长时间的,因为计算机的cpu只有一个,而在计算上运行的进程有很多,线程就更不用说了,所以cpu只能通过调度来上多个线程轮流占用cpu资源运行,且为了保 ...
- 详解MySQL存储过程的“异常处理”
阅读目录:存储过程的异常处理 定义异常处理 单一异常处理程序 continue exit 多个异常处理程序 关于错误编号和SQLSTATE码 使用3个处理程序 忽略某一异常的处理 异常处理的命名 异常 ...
- Linux的正则表达式grep,egrep
一.概念 正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一组特殊字符,组成一个"规则字符集合",根据用户指定的文本模式对目标文件进行逐行搜索匹配,显示能被模式匹配到的结果. ...