菜鸟提问,关于C的数据类型

作者&投稿:实标 (若有异议请与网页底部的电邮联系)
~ 你说的那些东西在谭浩强的C语言教程里讲的非常详细
我给出一个这本书的下载地址:
http://www.namipan.com/d/%e8%b0%ad%e6%b5%a9%e5%bc%baC%e8%af%ad%e8%a8%80.7z/b0fd76d2ca48312f3270930151f4f67dec12851a17890800
此书的第3章讲解了各种数据类型,包括你说的数据类型;第4章则详细讲解了printf()的各种说明符。
以下为转载,以上为原创
------------------------------------------------------------------------------
C语言的数据类型

一、常量和变量
1、常量和变量的区别在于变量的值在后续的代码中可以修改;
2、变量的类型,C可以通过变量类型关键字(int,float等)来识别;
3、常量的类型,C通过书写来识别,比如40是int,40.00是float。

二、变量类型
2.1 C的变量类型
C的变量类型使用 变量类型关键字 表示,比如(int,float等),变量类型关键字随着C的发展有所不同。
1、最早的K & R C有7个关键字:int short long float char double unsigned(注意没有signed)
2、C90新增了2个关键字:signed和void;
3、C99有增加了3个:_Bool,_Complex,_Imaginary

2.2 C的数据类型
C的数据类型总分为4种:整型、浮点、指针和结构体
1、int是C的基本整型,其他的:short,long,signed,char都是int的变种;(各种不同类型的整型它们之间的区别在于各自的取值范围不同,以及是否可以取负数)。整型的表现形式又有10进制,8进制、16进制和2进制,但是在计算机内部都以二进制存储。
2、浮点型包括:float、double、long以及_Complex(复数)和_Imaginary(虚数)

2.3 整型和浮点型区别
1、整型和浮点型在C中的区别主要在它们各自的存储方式不一样
1.1 整型不带小数点部分,在内存中以二进制数字存储,如7,表示为0000 0111
1.2 浮点数表示稍复杂一些,将数分成小数部分和整数部分 分别存储。因此尽管7和7.00有相同的值,但是它们的存储方式完全不一样。例如3.14159在内存中分为3部分:符合 + 整数(.314159的二进制格式)+10的一次方(二进制格式)

2.4 变量的声明和初始化
1、声明一个变量:int i; 声明一个变量就是为变量开辟存储空间(创建,标定);
2、初始化语句:i=10; 初始化就是为一个变量赋值。

三、数值范围
一般情况下,long long类型为64位,long为32位,short为16位、int为16或者32位(依机器的自然字大小而定)
可以在/usr/include/limits.h中看到。

四、类型选择
1、在诸多的整数类型中,应首先考虑unsigned类型,因为我们常常不需要负数;
2、当int类型不能表示一个数而long可以时,使用long。但是long类型大于int类型的系统中,使用long类型会减慢计算,所以没必要的时候不要使用long类型。但是当long类型等于int类型的时候,当确实需要32位整数时,应使用long,以便使程序移植到16位机器上仍然可以正常工作;
3、如果需要64为整数,使用long long;
4、在int为32位的机器上,如果需要16位的值,使用short会节省空间。使用short的另一个原因是计算机中的一些硬件寄存器是16位的;

记住每种数据类型和其长度,取值范围,这些都是编程时随时都要考虑的

数据类型应该从内存说起。

所有活动的程序及数据都是在内存中保存的。
数据类型是对几个字节的约定。

比如给16byte的内存定为 long[] 那么它就是一个4维的长整数数组。
如果是char[]那么就是16维。

·数据类型是让C编译器把一块内存当作什么。

具体说来,基本的数据类型大概有两大类。 一是数字。二是数据。
数字类:char、short int、int、long int、float、double。
数据类:bool、char[]。

自定义数据类型是把一块内存按你想要的方式组合成一个定义。

struct Color{
unsigned char Red;
unsigned char Green;
unsigned char Blue;
};
是定义了一个三字节的自定义数据类型。可以用来表示一个颜色。

·数据类型也可以看作是类。

致 8thunit - 秀才 三级 :
在一般的机器中,使用long 往往比short和int要快。因为内存边界。
short和int也是当作long来使用的,在处理时还是要转换成long。
如果说寄存器eax = 8字节。 你同意吗?寄存器上没有问题。

不知道你用的是哪一本书,我看谭浩强的《C程序设计(第二版)》第三章。
一、基本类型
1 整型
常量与变量的区别,进制表示方法,着重10进制和2进制的转换,负数在内存中的2进制表示。基本/ 长 /短三种整型的定义及取值范围。
2 实型
实型数据在内存中的存放形式,3种变量的定义及它们的数值范围
3 字符型
字符变量与常量的区别,转义字符了解下能记最好,字符常量与字符串常量的区别。
float/ int /char 这三种数据在内存中占的字节分别是 4/ 2/ 1 .个人觉得前面三种掌握它们的定义和赋值,再在编程中注意他们的值的范围,输出的格式。
4 枚举
enum weekday{sun,mon,tue,wed,thu,fri,sat}workday ,week_end;workday 和week_end被定义为枚举变量,它们的值只能是sun 到sat 之一。
至于后面的构造类型(数组 结构体 共用体)要记的内容太多,指针更不好说,就不再一一道来。

既然是初学者就不要看 primer plus这本书,因为国外的书有个特点,就是要求你看一本书的时候必须要去查阅其他的资料,如果没有经验,可以结合国内的教材,比如唐浩强出的那本c,比较容易买

int
long int
short int
unsigned int
unsigned short int
unsigned long int
__int16
__int32
__int64
float
char
double
long double


菜鸟提问,关于C的数据类型
1、整型和浮点型在C中的区别主要在它们各自的存储方式不一样 1.1 整型不带小数点部分,在内存中以二进制数字存储,如7,表示为0000 0111 1.2 浮点数表示稍复杂一些,将数分成小数部分和整数部分 分别存储。因此尽管7和7.00有相同的值,但是它们的存储方式完全不一样。例如3.14159在内存中分为3部...

关于C的菜鸟问题
①单击“文件”-“新建”,弹出“新建”对话框。②单击“工程”选项卡;单击“Win32 Console plication”选项;“工程”文件框中输入项目名,如“gc1”和“位置”框输入或选择新项目所在位置,单击“确定”按钮。弹出“Win32 Console Application Step 1of 1”对话框。③单击“An empty project”按钮和...

菜鸟提问,关于getch()与ungetch()函数!
K&R 里的getch()和unget()函数其实是模拟了stdio.h里的getc() 和ungetc()数据在输入输出时 要经过一个叫做缓冲区(buffer)的地方 原来缓存那些数据 当调用getc()的时候 标准输入里的一个字符会被放入缓冲区中 再把缓冲区里的字符赋到变量里 当调用ungetc(c)的时候 作为程序参数的那个字符c会...

菜鸟提问:c语言要算的数超过double型了怎么办
可以用long double 128位的,应该够用了,不要专牛角尖 川大牛哥

关于C语言的菜鸟问题
楼上扯淡,small和big已经初始化了。1. 语法错误。i没有赋予初值。改发1:for(i>0; i<=10; i++)应为 for(i=0; i<=10; i++)这样实现11次循环;改法2:定义改成:int small, big, i=1;实现10次循环。2.inp=getchar();和putchar(inp);加在最后,去掉getch();前者表示从键盘读入...

菜鸟求问关于C语言二维数组
代码如下:include<stdio.h>int main(){ char weak_data[7][4] = { { "MON" }, { "TUE" }, { "WED" }, { "THU" }, { "FRI" }, { "SAT" }, { "SUN" } }; printf("%s\\n", weak_data[0]); printf("%s\\n", weak_data[5]); ...

(菜鸟提问)c语言问题
a=1,b=2,c=3输入后,是把整型数1,2,3赋值a,b,c。而scanf("a=%f,b=%f,c=%f",&a,&b,&c);要求接收实型,这是不允许的。可以输入a=1.0,b=2.0,c=3.0

菜鸟提问一个vc6.0的数据类型问题
也就是说,add函数必须在complex的作用域中,否则编译add函数时,编译器会报“未声明的标识符:complex”错误。严格来说,complex跟int、double不一样。因为它们是编译器内置的数据类型,其作用域是全局的,不需要任何多余的定义代码即可使用。但complex是自定义数据类型,在引用它的地方必须要有适当的代码...

c语言 菜鸟提问 strcmp和数组指针相关
直接用gets(input[i]);之前你没有给input[i]指针一个明确的指向,程序有可能会崩溃。所以,先用input[i] = buffer;给它一个指向,这就不会有问题了。另外:你的buffer字符串只含有一个元素,你输入的字符串只能是包含一个元素,那就不是原题的要求了。你将buffer的空间加大,例如可以改为:buffe...

C语言菜鸟2个问题,送分!!!送分!!!
问题1:首先说明,char中存放的是字符的ASCII码值.浮点数赋给字符型时,先把浮点数变成整型在赋值给字符型.若该浮点数的整数部分没有超过字符型的最大值(对字符型来说没有溢出),则相当于字符中存放了该整数.用%c输出时是输出该整数对应的字符,如53(ASCII值)对应字符'5'.另外 不同的系统对char的...

兴安盟13799049242: C语言的数据类型包括? -
郦琰氯解: 这道题选B:基本数据类型、构造类型、指针类型、空值类型. 其中基本数据类型、指针类型、空值类型是自带的. 构造类型是自己定义的.

兴安盟13799049242: c语言简单数据类型有哪些? -
郦琰氯解: C语言的基本数据类型为:整型、字符型、实数型. 这些类型按其在计算机中的存储方式可被分为两个系列,即整数(integer)类型和浮点数(floating-point)类型. 这三种类型之下分别是:short、int、long、char、float、double 这六个关键字...

兴安盟13799049242: 菜鸟提问,关于C的数据类型 -
郦琰氯解: 你说的那些东西在谭浩强的C语言教程里讲的非常详细 我给出一个这本书的下载地址: http://www.namipan.com/d/%e8%b0%ad%e6%b5%a9%e5%bc%baC%e8%af%ad%e8%a8%80.7z/b0fd76d2ca48312f3270930151f4f67dec12851a...

兴安盟13799049242: C语言中最简单的三种数据类型 -
郦琰氯解: 1、整(数)型(长、短)2、实(数)型(长、短)3、字符型 这三种应该是最常用的并且应该是最简单的了

兴安盟13799049242: C语言的数据类型? -
郦琰氯解: C语言的类型转换和运算都是对一个具体运算符而言的 (float)c=5.0/2 一共有3个运算: 第一步计算5.0/2 ,得到2.5; 第二步计算c=2.5,因为c是整型,得到2 第三步类型转换,得到2.000000

兴安盟13799049242: 关于C程序的数据类型.我是初学者 一头的雾水..... -
郦琰氯解: 数据类型 储存空间 大小(单位:字节) 范围 Byte 1 0 - 255 Boolean 2 True 或 False Integer 2 -32,768 ~ 32767 Long(长整形)4 -2,147,483,648 ~ 2,147,483,647 Single(单精度浮点型)4 负数范围:-3.402823E38 ~ -1.401298E-45 正数范围:...

兴安盟13799049242: C语言中包含基本的数据类型有什么,及各自的函数名称 -
郦琰氯解: 你刚学吗?数据类型指的是整形 长整形 浮点型 字符型 布尔型 日期型等等.这些类型决定了你变量或常量占用内存的大小.函数指你自己编写的或编译器内置的具有特定功能的程序代码集合.比如 输出函数 printf 包含在头文件stdio.h里面.你可以直接调用来输出 再比如快排函数qsort包含在math.h里面 你可以直接调用用来对数组数据进行“快速排序” 你还可以自己编写小函数 ,以方便后面程序的多次调用.当然在使用内置函数时候必须要知道他的头文件.而且在程序开始时先这样#include <stdio.h>#include <math.h>

兴安盟13799049242: c语言有哪些数据类型,在你的计算机中,它们分别占用多少字节? -
郦琰氯解: 总的来说有整形,浮点型,字符型,无值型 整形int 4;//和你平台有关,16位为2,,32位为4 long:8; 浮点型float:8 字符型char:1 无值型;void 还有各种数值,指针,结构体等相互结合的类型,任何类型都可以通过sizeof()函数得出结果.

兴安盟13799049242: 关于c语言的数据类型的问题
郦琰氯解: 我只学过C、C++和Java,他们的基本数据类型有一样分别是:整形——byte(java)、short(c/c++)、int、long、double 字符型:char 布尔型:boolean(Java),bool(c/c++) 指 针:int *、long *、double *、char *、 c/c++中还有特殊类型string(字符串...

兴安盟13799049242: C语言中定义数据类型的有哪些词啊,应该在什么情 -
郦琰氯解: 当需要为变量、常量以及函数定义并分配存储空间时,要定义数据类型.C/C++ 数据类型C语言包含5个基本数据类型: void, integer, float, double, 和 char. 类型 描述 void 空类型 int 整型 float 浮点类型 double 双精度浮点类型 char 字符类型 C++...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网