美文网首页
3.C语言的变量、基本数据类型及运算符

3.C语言的变量、基本数据类型及运算符

作者: 爱吃馒头的二饼 | 来源:发表于2019-07-12 13:58 被阅读0次

内存如何存放数据

计算机执行程序时,组成程序的指令和程序所操作的数据都必须存放在某个地方

           ——**内存,也成为主存(main memory)或随机访问存储器(Random Access Memory,RAM)**

变量:计算机中一块特定的内存空间,由一个或多个连续的字节组成

变量命名规则:

首字母只能是字母或下划线

只能由字母、数字和下划线3中字符组成

不能使用关键字(32个保留字,如下图,也可查看 [http://www.jb51.net/article/39926.htm](http://www.jb51.net/article/39926.htm))
image.png image.png

C语言中的基本数据类型(六种)

按照不同的分类方式可以分为两类六种(整数类型和字符类型)或者三类六种(整型、浮点型和字符型)
编写代码来试验每种类型占多少字节:

#include <stdio.h>
main() {
    printf("short类型占%d个字节\n",sizeof(short));
    printf("int类型占%d个字节\n",sizeof(int));
    printf("long类型占%d个字节\n",sizeof(long));
    printf("float类型占%d个字节\n",sizeof(float));
    printf("double类型占%d个字节\n",sizeof(double));
    printf("char类型占%d个字节\n",sizeof(char));
    system("pause");
} 

其中:
%d为占位符,表示有符号的十进制整数。此种符号还有很多,如:

%a,%A     读入一个浮点值(仅C99有效)   
%c        读入一个字符   
%d        读入十进制整数   
%i        读入十进制,八进制,十六进制整数   
%o        读入八进制整数   
%x,%X     读入十六进制整数   
%s        读入一个字符串,遇空格、制表符或换行符结束。 但是C没有String,C中表示字符串使用字符数组表示的 
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。   %f会保留六位小数,可以写成类似如%.2f,代表显示时保留两位小数 
%p        读入一个指针   
%u        读入一个无符号十进制整数   
%n        至此已读入值的等价字符数   
%[]       扫描字符集合   
%%        读%符号

system("pause"); 是调用系统的暂停命令,按任意键后,可以继续执行后续的语句

结果:


image.png

在Java中:
byte类型占1个字节
short类型占2个字节
int类型占4个字节
long类型占8个字节
float类型占4个字节
double类型占8个字节
char类型占2个字节
boolean类型占1个字节

对比来看,C比Java少了byte类型和boolean类型,long类型和char类型不同,其他相同。


image.png

练习:


image.png
#include <stdio.h>
void main()
{
    double attach = 57.88;
    double attachAdd = 4.5;
    int attachRange = 172;
    printf("伤害:%.2f(+%.1lf)\t攻击距离%d\n",attach,attachAdd,attachRange);
}

常用ASCII码表:

记忆:大小写字母中间相差一个空格


image.png

练习:大小写转换

#include <stdio.h>
void main()
{
    char a = 'a';
    printf("a的大写字母:%c\n",a-' ');
    printf("a的大写字母:%c\n",a-32);
}
image.png

容易出的问题:char应写单引号而不是双引号

转义序列小结

image.png

scanf函数
C函数库包含了多个输入函数,scanf是最通用的一个
读取基本类型的值时,变量前要加&(代表取地址)

练习:


image.png
#include <stdio.h>
#include <stdlib.h>
int main()
{   //公式:武器实际最大伤害=武器最大伤害*(玩家力量+100)/100
    //现武器最大伤害为256
    double factShangHai;    //武器实际最大伤害
    int strength;           //玩家力量
    double maxShangHai = 256;   //武器最大伤害
    printf("请输入玩家力量:\n");
    scanf("%d",&strength);
    factShangHai = maxShangHai * (strength+100)/100;
    printf("实际伤害:%.2f\n",factShangHai);
    return 0;
}
image.png

取模运算:结果与第一个数的符号相同

如:
-5 % 3 = -2
5 % -3 = 2

随机函数

srand()就是给rand()提供种子seed。种子没有变化,每次调用rand()生成的伪随机数序列都是一样的。

 srand(time(NULL));    //使用时间作为种子,产生不一样的数字
 printf( " %6d/n", rand()); 

随机函数可以配合取模来取出一定范围的随机数

相关文章

  • 3.C语言的变量、基本数据类型及运算符

    内存如何存放数据: 变量:计算机中一块特定的内存空间,由一个或多个连续的字节组成 变量命名规则: C语言中的基本数...

  • 004_Java语言基础(a-变量)

    语言的基本特性,包括变量,基本数据类型,数组,运算符和控制流。 变量(Variables) 一个对象将状态存储在域...

  • python:变量

    编程的三个基本要素: 数据类型 变量 运算符 (1)数据类型 python基本数据类型...

  • Java语言基础

    Java主类结构基本数据类型变量与常量运算符数据类型转换

  • 原生js

    原生JS学习笔记1——基本数据类型和运算符 js的背景知识介绍,js的引入方式,js的变量及运算符 原生JS学习笔...

  • 变量及数据类型

    变量及数据类型学习要点 变量的含义 变量的使用方法 常见的数据类型 变量的命名规则 赋值运算符和“+” 占位符 接...

  • C/C++

    1. 目录 C语言入门 代码百度云盘 提取码: zyaf Hello World 基本数据类型、运算符和变量 控制...

  • Python学习记录

    变量、运算符与数据类型 注释: 运算符 变量和赋值 数据类型与转换

  • Java数据类型变量与运算符

    Java数据类型变量与运算符 数据类型的概述 分类 基本数据类型:byte/float/double/int/ch...

  • Java基础02_变量_数据类型_类型转换_运算符

    主要内容 变量 Java数据类型 Java数据类型转换 运算符 学习目标 掌握变量的定义、初始化、使用及注意事项 ...

网友评论

      本文标题:3.C语言的变量、基本数据类型及运算符

      本文链接:https://www.haomeiwen.com/subject/mmmekctx.html