【C语言基础考研向】02 数据类型-常量-变量

简介: 本文介绍了编程中的基本概念,包括数据类型分类、常量与变量的定义及使用。首先概述了四大类数据类型:基本类型(整型、浮点、字符型)、构造类型(数组、结构体)、指针类型和空类型。接着阐述了常量与变量的区别及命名规则,并详细说明了整型、浮点型和字符型数据的特点与应用。最后总结了常见的易错点,如字符串与字符常量的区别及浮点数的默认输出格式。

文章目录:
一.数据类型
二.常量
三.变量
四. 整型数据
五.浮点型数据
六.字符型数据
七.字符串常量
八.易错点总结


一.数据类型

数据类型分为四大类:

  • 基本类型
    • 整型
    • 浮点
    • 字符型
  • 构造类型
    • 数组
    • 结构体
  • 指针类型
  • 空类型

二.常量

常量是指在程序运行过程中,其值不发生变化的量。常量又可分为整型、实型(也称浮点型)、字符型和字符串型。

整型常量、实型常量、字符型常量是在编译时可以直接编入代码段的常量;例如,在字符串"你好"中,双引号中间的汉字就是字符串型常量,无论双引号中间的内容是ASCII码字符,还是汉字或其他国家的文字等,都是字符串型常量(考研不会考汉字的字符串常量,无需掌握)。


三.变量

变量代表内存中具有特定属性的一个存储单元,世用来存放数据,即变量的值。这些值在程序的执行过程中是可以改变的。
变量名实际上以一个名字代表一个对应的存储单元地址。编译、链接程序时,由编译系统为每个变量名分配对应的内存地址(就是空间)。从变量中取值实际上是通过变量名找到内存中存储单元的地址,并从该存储单元中读取数据。

变量的命名规定如下:C语言规定标识符只能由字母、数字和下划线三种字符组成,并且第一个字符必须为字母或下画线。例如,

sum,_total,Student_name

image.png

编译系统认为大写字母和小写字母是不同的字符,因此C语言要求对所有用到的变量做强制定义,即“先定义,后使用”。同时在选择变量名和其他标识符时,应尽量做到“见名知意”,即选择具有含义的英文单词(或其缩写)作为标识符。注意,变量名不能与关键字同名!


四. 整型数据

4.1 符号常量

define + 关键字+

来看一个实际的例子:

#include <stdio.h>
#define PI 3+2
int main() {
   
    int i=PI*2;
    printf("i=%d\n",i);
    return 0;
}

注意输出是7,而不是10

4.2 整型变量

int i ;
i=10;
printf("%d",sizeof(i));

五.浮点型数据

5.1 浮点型常量

表示浮点型常量的形式有两种,如下表所示,其中e代表10的幂次,幂次可正可负。
image.png

注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数。
正确示例:le3、1.8e-3、-123e-6、-.le-3。
错误示例:e3、2.le3.5、.e3、e。

5.2 浮点型变量

通过float f来定义浮点变量,f占用4个字节的空间


六.字符型数据

6.1 字符型常量

用单引号括起来的一个字符是字符型常量,且只能包含一个字符!例如,'a'、'A'、'1'、' '是正确的字符型常量,而'abc'、"a"、""是错误的字符型常量。下表中给出了各种转义字符及其作用。以“\”开头的特殊字符称为转义字符,转义字符用来表示回车、退格等功能键。

6.2 字符数据在内存中的存储形式及其使用方法

字符型变量使用关键字char进行定义,一个字符型变量占用1字节大小的空间。一个字符常量存放到一个字符型变量中时,实际上并不是把该字符的字型放到内存中,而是把该字符的ASCII 码值放到存储单元中。打印字符型变量时,如果以字符形式打印,那么计算机会到ASCI码表中查找字符型变量的ASCII码值,查到对应的字符后会显示对应的字符,如下图所示。

这样,字符型数据和整型数据之间就可以通用。字符型数据既可以以字符形式输出,又可以以整数形式输出,还可以通过运算获取想要的各种字符,请看下面例子。

#include<stdio.h>
int main()
{
   
    char c='A';
    printf("%c\n",c+32);
    printf("%d\n",c);
}

对于字符型变量,无论是赋ASCII码值还是赋字符,使用%c打印输出时得到的都是字符,使用%d打印输出时得到的都是ASCII码值.将小写字母转换为大写字母时,由课件最后的ASCI码表发现小写字母与大写字母的差值为32,因此将c减去32就可以得到大写字母A,


七.字符串常量

字符串型常量是由一对双引号括起来的字符序列。例如,"How do you do."、"CHINA"、"a"和"$123.45"是合法的字符串型常量,我们可用语句printf ("How do you do.")输出一个字符串。但要注意的是,'a'是字符型常量,而"a"是字符串型常量,二者是不同的。
例如,如果先用语句char c定义字符型变量c,后令 c="a"或c="CHINA ,那么这样的赋值都是非法的,原因是不可以将字符串型常量赋值给字符型变量。C语言中没有定义字符串型变量的关键字,介绍字符数组时我们将详细讲解如何存放字符串。
C语言规定,在每个字符串型常量的结尾加一个字符串结束标志,以便系统据此判断字符串是否结束。C语言规定以字符'\0'作为字符串结束标志。
例如,字符串型常量"CHINA"在内存中的存储结果如下图所示,它占用的内存单元不是5个字符,而是6个字符,即大小为6字节,最后一个字符为'\O'。然而,在输出时不输出'\0',因为'\0'无法显示。

八.易错点总结

:one:float和double默认输出都是6位

# include<stdio.h>
int main()
{
   
    float a=10;
    double b=20;
    printf("%f,%lf",a,b);
}

10.000000,20.000000

相关文章
|
12天前
|
存储 算法 C语言
通义灵码在考研C语言和数据结构中的应用实践 1-5
通义灵码在考研C语言和数据结构中的应用实践,体验通义灵码的强大思路。《趣学C语言和数据结构100例》精选了五个经典问题及其解决方案,包括求最大公约数和最小公倍数、统计字符类型、求特殊数列和、计算阶乘和双阶乘、以及求斐波那契数列的前20项和。通过这些实例,帮助读者掌握C语言的基本语法和常用算法,提升编程能力。
|
10天前
|
存储 C语言
【c语言】数据类型和变量
本文介绍了C语言中的数据类型和变量。数据类型分为内置类型和自定义类型,内置类型包括字符型、整型、浮点型等,每种类型有不同的内存大小和取值范围。变量分为全局变量和局部变量,它们在内存中的存储位置也有所不同,分别位于静态区和栈区。通过示例代码和图解,详细阐述了这些概念及其应用。
32 1
|
13天前
|
存储 C语言
C语言指针与指针变量的区别指针
指针是C语言中的重要概念,用于存储内存地址。指针变量是一种特殊的变量,用于存放其他变量的内存地址,通过指针可以间接访问和修改该变量的值。指针与指针变量的主要区别在于:指针是一个泛指的概念,而指针变量是具体的实现形式。
|
21天前
|
存储 C语言
C语言:设置地址为 0x67a9 的整型变量的值为 0xaa66
在C语言中,可以通过指针操作来实现对特定地址的访问和赋值。要将地址为 0x67a9 的整型变量值设为 0xaa66,可以先定义一个指向该地址的指针,并通过该指针对该内存位置进行赋值操作。需要注意的是,直接操作内存地址具有一定风险,必须确保地址合法且可写。代码示例应考虑字节序及内存对齐问题。
|
20天前
|
存储 C语言
初识C语言:常量与变量中寻找数据类型
初识C语言:常量与变量中寻找数据类型
|
25天前
|
C语言 C++
实现两个变量值的互换[C语言和C++的区别]
实现两个变量值的互换[C语言和C++的区别]
16 0
|
存储 固态存储 程序员
考研计算机组成原理总结(5)
考研计算机组成原理总结(5)
693 0
|
12月前
|
存储 算法 调度
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(下)
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)
|
5月前
|
存储 知识图谱
【计算机组成原理】指令系统&考研真题详解之拓展操作码!
也就是说 “其中三地址指令29”条这句话,完全可以翻译成“三地址这种类型的指令一共能有29种不同的可能性” 这样说就清晰多 因为这就意味着 我们需要用若干个字节 来表示这29种不同的可能性 然后又已知每一个字节位能表示的可能性是2种(0/1),那么我们想有多少个字节可以表示29种不同的可能呢?最少5种 (因为2的4次方=16<29),2^5=32>29,也就是说有32-29=3种可能性是不在三地址指令这种类型的指令集里面的,所以这3 种余出来的可能性要被利用 就在下一种 “二地址指令集”中利用到
53 0
|
5月前
计算机网络——物理层相关习题(计算机专业考研全国统考历年真题)
计算机网络——物理层相关习题(计算机专业考研全国统考历年真题)
44 0