当前位置: 首页 > news >正文

C语言复习1_变量与数据类型

变量命名规则:

1、变量名的首字母或下划线(不能是其他特殊符号)

2、变量名的其他字母包含下划线、数字 和字母

3、不能使用关键字

基本数据类型

分为数值型和非数值型,其中数值型分为整型和非整型

整型分为int,short和long

非整型分为单精度float(小数点后位数少 )和双精度double(小数点后位数多)

非数值型有char

详细如下图:

声明变量:

int score totle;
short int studentNo;
long id_card

初始化变量:

score_totle = 590;
studentNo = 20;

举例:

#include <stdio.h>

int main()
{
    float height = 150.0f;
    float width = 25.0f;
    float s = height*width;
    printf("长方形的面积为:%.2f\n", s);
    return 0;
}

double

double是双精度浮点型变量,在声明时需要注意的有:

1、通常小数被存储为double类型,如2.0和9.0,

2、数字后使用L时,数字成为long double类型,如4.5L

#include <stdio.h>

void main()
{
    double radius=2.5;
    double area=3.141592633*radius*radius;
    printf("圆的半径为%lf,面积为%lf\n",radius,area);
}

double类型的占位符是lf

char类型的声明

#include <stdio.h>
int main()
{
    char ch=97;//字符
    printf("要打印的字符为:%c\n",ch);
    return 0;
}

注意占位符,输出结果是'a',再变化一下

#include <stdio.h>
int main()
{
    char ch='a';//字符
    printf("要打印的字符为:%d\n",ch);
    return 0;
}

输出结果是97

#include <stdio.h>
int main()
{
    char ch='a';//字符
    printf("要打印的字符为:%d\n",ch);
    return 0;
}

输出结果是97

说明char类型可以是ASCII码与字符之间互相转换

备注:32对应空格;65~90对应A~Z;97~122对应a~z

scanf函数

用来读取不同格式的数据

基本用法

int num;
printf("请输入数量:");
scanf("%d",&num);

注意:这里的&目的是把输入的值赋值给后面的num变量

运算符

int num 5/2;
double num = 5/2

输出结果:2, 2.000000

5/2的结果原本就是整型,而double的作用是自动类型转换

小练习

要求

某游戏中近战武器的实际伤害计算公式为:

武器实际最大伤害=武器最大伤害*(玩家力量+100)/ 100

现有如下武器,武器最大伤害256,要求输入玩家的力量,打印武器实际最大伤害

思考:

需要定义几个变量?--武器实际最大伤害,玩家的力量,武器最大伤害

对应什么数据类型?--double

 代码如下:

double actualHurt;
int strength;
double maxHurt = 256;
printf("请玩家输入当前角色的力量:");
scanf("%d",&strength);
actualHurt = maxHurt*(strength+100)/100;
printf("武器实际伤害是:%.2lf",actualHurt);
return 0;

变量命名规则

1、首字母:_和普通字母

2、其他字母:_、普通字母和数字

3、不能是关键字

自增

int num=10;
num++;//num = num +1;等价
printf("%d\n",num);

类型转换

short < int < long < float < double

double num = 6; //小类型转大类型-自动类型转换
int num1 = num; //大类型转小类型-强制类型转换

 

转载于:https://www.cnblogs.com/yqpy/p/10367494.html

相关文章:

  • linux操作文本三个命令awk、grep、sed
  • 【c#】RabbitMQ学习文档(三)Publish/Subscribe(发布/订阅)
  • 食用指南
  • ffmpeg 推送、保存rtmp 流命令
  • 记账软件——第三天
  • 通过域对象获取当前项目的文件路径
  • VBA中Option的四种用法
  • Mybatis获取Connection
  • WPF图形图像相关类
  • [清华集训2016]你的生命已如风中残烛——组合数学
  • MySQL--各版本DDL 操作总结
  • 将matlab数据保存为excel文件
  • 全程软件测试:软件测试的标准观点
  • 秋季学习总结
  • idou老师教你学Istio 23 : 如何用 Istio 实现速率限制
  • [译]Python中的类属性与实例属性的区别
  • 【笔记】你不知道的JS读书笔记——Promise
  • Debian下无root权限使用Python访问Oracle
  • Fabric架构演变之路
  • HTTP请求重发
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • React 快速上手 - 07 前端路由 react-router
  • ubuntu 下nginx安装 并支持https协议
  • Vue2.0 实现互斥
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 高度不固定时垂直居中
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 模型微调
  • 爬虫模拟登陆 SegmentFault
  • 排序(1):冒泡排序
  • 中文输入法与React文本输入框的问题与解决方案
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # 达梦数据库知识点
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #pragam once 和 #ifndef 预编译头
  • (02)vite环境变量配置
  • (2)(2.10) LTM telemetry
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (分布式缓存)Redis哨兵
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (接口自动化)Python3操作MySQL数据库
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)visual stdio 书签功能介绍
  • (转)创业家杂志:UCWEB天使第一步
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net Memory Profiler的使用举例