1 数据的类型、常量、变量

1 数据类型

数据类型的分类

C语言中的关键字

auto

const

double

float

int

short

struct

unsigned

break

continue

else

for

long

signed

switch

void

case

default

enum

goto

register

sizeof

typedef

volatile

char

do

extern

if

return

static

union

while

2 常量

整型常量、实型常量、字符型常量是在编译时可以直接编入代码段的常量;

在字符串"你好"中,双引号中间的汉字就是字符串型常量,无论双引号中间的内容是ASCII码字符,还是汉字或其他国家的文字等,都是字符串型常量。

3 变量

变量名实际上以一个名字代表一个对应的存储单元地址。编译、链接程序时,由编译系统为每个变量名分配对应的内存地址(就是空间)。从变量中取值实际上是通过变量名找到内存中存储单元的地址,并从该存储单元中读取数据。

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

编译系统认为大写字母和小写字母是不同的字符,因此C语言要求对所有用到的变量做强制定义,即“先定义,后使用”。注意,变量名不能与关键字同名!

4 整型数据

4.1 符号常量

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

输出结果为7,符号常量PI是直接替换的效果。

4.2 整型变量

int i,变量i是4个字节。

5 浮点型数据

5.1 浮点型常量

分为两种,小数型和指数型。指数型中e代表10的幂次,幂次可正可负。字母e(或E)之前必须有数字,且e后面的指数必须为整数。

5.2 浮点型变量

float f,f占用4个字节。

6 字符型数据

6.1 字符型常量

单引号括起来的一个字符是字符型常量。

转义字符:\n,换行;\b,退格;\\,反斜杠。

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

字符型变量使用关键字char进行定义,一个字符型变量占用1字节大小的空间。一个字符常量存放到一个字符型变量中时,实际上并不是把该字符的字型放到内存中,而是把该字符的ASCII码值放到存储单元中。打印字符型变量时,那么计算机会到ASCII码表中查找字符型变量的ASCII码值,查到对应的字符后会显示对应的字符,这样,字符型数据和整型数据之间就可以通用。字符型数据既可以以字符形式输出,又可以以整数形式输出,还可以通过运算获取想要的各种字符。

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

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

7 字符串型常量

字符串型常量是由一对双引号括起来的字符序列。例如,"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语言规定以字符'\O'作为字符串结束标志。

例如,字符串型常量"CHINA"在内存中的存储结果如下图所示,它占用的内存单元不是5个字符,而是6个字符,即大小为6字节,最后一个字符为\0'。然而,在输出时不输出'\0',因为\0'无法显示。

8 ASCⅡ表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值