c语言n次方怎么输入_C语言程序设计——初探数据类型

946b0dcc285b74f829e908305e8133d0.png

很早以前,就有人称C语言为“中级语言”——“汇编语言”太接近底层,可以称为低级语言;而Java、Python、Go这些语言更接近我们的逻辑思维,可以称为高级语言;C语言既可用于底层操作,又兼顾我们的逻辑思维,因此被称为中级语言。

d8c589c891de4aaf74f0f0785efe432f.png

中级语言非常形象地描述了C语言的特点,学习C语言,可以让您领略与Java、Python、Go语言不同的风景。咱们先通过数据类型来感受一下吧!

本文的操作基于CygWin环境,使用gcc作为编译器,如果您对此没有概念,建议您参照这篇文档学习一下:《让我们开启C语言的征程》。

第1步:启动CygWin

30e798707ad6fa11fc7bc884c1c387ea.png

第2步:输入pwd命令,您可以看到当前的路径是/home/Administrator

7620a2bf0c0d7b9c1133fae976dec62b.png

第3步:输入mkdir DataType命令,建立DataType目录

580bfe6de63dbe90be9ce6894fdf703d.png

第4步:输入cd DataType命令,进入到DataType子目录

5fdbda3f0a5f926a26d0d837f3a33912.png

第5步:CygWin的/home/Administrator/DataType目录,也就是Windows的C:cygwinhomeAdministratorDataType目录,我们在这个目录中用记事本,建立DataType.c文件,内容如下:

#include <stdio.h>
#include <string.h>
#include <stdint.h>
int main()
{
    char    pcString[10];
    char    cChar;
    int8_t  i8Integer;
    int16_t i16Integer;
    int32_t i32Integer;
    
    strcpy(pcString, "ABCD");
    
    cChar       = *pcString;
    i8Integer   = *(int8_t*)pcString;
    i16Integer  = *(int16_t*)pcString;
    i32Integer  = *(int32_t*)pcString;
    
    printf("pcString is [%s]n", pcString);
    printf("cChar is [%c]n", cChar);
    printf("i8Integer is [%d]n", i8Integer);
    printf("i16Integer is [%d]n", i16Integer);
    printf("i32Integer is [%d]n", i32Integer);
    
    return 0;
}

33350974fee2b47a5268f02a897eb88b.png

第6步:在CygWin中输入gcc DataType.c -o DataType命令,编译自己编写的程序

f8a8018fbb32af9eb0b00f4e6a95424e.png

第7步:执行编译命令后,发现C:cygwinhomeAdministratorDataType目录中生成了DataType.exe文件

71604f6992da3a912eee97c12709069b.png

72f63440845a1e16207d96d882b4acb6.png

第8步:在CygWin中输入./DataType执行生成的可执行程序,得到下面的结果

$ ./DataType
pcString is [ABCD]
cChar is [A]
i8Integer is [65]
i16Integer is [16961]
i32Integer is [1145258561]

8b69e9bf7b27b587f4f0599902e1be31.png

至此,程序编写完毕,我们开始解释程序的含义:

(1)我们定义了一个字符串类型pcString,内容是“ABCD”;

(2)如果我们把pcString当成字符串,它就是“ABCD”;

(3)如果我们把pcString当成字符,它就是‘A’;

(4)如果我们把pcString当成-128~+127范围的整数,它就是65;

(5)如果我们把pcString当成-32768~+32767范围的整数,它就是16961;

(6)如果我们把pcString当成-2147483648~+-2147483648范围的整数,它就是1145258561。

说到这里,您可能弄糊涂了,字符串怎么变成忽大忽小的整数了?

67ba15532f1a658b79c436de6cea7623.png

前面说过,C语言是中级语言,可以直通计算机硬件层,在计算机的存储器中,根本就没有ABCD、65、16961这些东西,这些是我们调用C语言的函数,按我们的要求在屏幕上画出来的,存储器中pcString只有这样枯燥的二进制比特位:

217a6ad8e8d6ca85f58510539d8aab35.png

这些二进制的比特位,不仅可以表示字符串、字符、整数、小数,还可以表示图像、声音、视频等各种信息,而字符串、字符、整数、小数、图像、声音、视频都可以在广义概念上被称为数据类型。

咱们用自己的方式,对数据类型做一个总结吧:让计算机对一串二进制比特位进行解释和计算的方式。

写到这里,我们戛然而止吧,因为您现在最需要的是思索和消化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值