数据类型

来源:互联网 发布:手游直播下什么软件 编辑:程序博客网 时间:2024/06/05 13:18
          数据类型     
           

1. c语言有哪些数据类型(基本 复合)

      

    

2.所有数据类型字节长度(占内存空间的大小)

         

整型:4字节(32位)

浮点型:单精度 4字节 (32位)

双精度 8字节(64位)

字符型:1字节(8位)

3.Sizeof使用sizeof strlen区别

sizeof()是运算符,其值在编译时即计算好了

参数可以是数组、指针、类型、对象、函数等

它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。

 

strlen()是函数,在运行时才能计算

参数必须是字符型指针(char*)。

它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL。

4.所有数据类型取值范围如何计算(原码反码补码)

正数和负数原码、反码、补码区别

真值

将带符号位的机器数对应的真正数值称为机器数的真值

 

原码:

原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值.

 

反码:

正数的反码是其本身

负数的反码是在其原码的基础上,符号位不变,其余各个位取反.

 

补码:

正数的补码就是其本身

负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1.


5.所有数据类型指针长度或为什么是48字节

指针存放的都是下一个元素的内存地址,所以不论元素类型和大小,指针的大小都是固定的


6.变量的三大特点是什么

变量有三个属性——作用域、链接属性和存储类型

修改作用域关键字:extern  

变量(或标识符)的作用域就是在程序中该变量可以被使用的区域

修改链接属性关键字:static(代码块外的变量声明) 

 一个程序转换成可执行文件有4个过程——预处理,编译,汇编,连接。链接属性则是在连接这一步作用。 链接属性有三种——外部(external)、内部(internal和空(none

修改存储类型的关键字是autostatic(代码块内的变量声明)和register  

变量的存储类型是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保 持多久。存储变量的地方有三个——内存、堆栈、寄存器。


7.变量的存储区域划分方法(进程虚拟地址空间分布图)

8.声明与定义的区别

声明是告诉编译器存在这么一个标识符。

定义则是为程序申请一块内存。


引用性和定义性声明是什么

定义性声明(defining declaration),俗称定义建立了存储空间
引用性声明(referencing declaration),俗称声明没有建立存储空间,只是为了在定义之前使用



9.Unsigned signed数区别

有符号就是第一位是带代表正(0),负(1),无符号就是正常数值

带符号类型可以表示正数也可以表示负数(包括 0),而无符号型只能表示大于或等于0的数


10.输入函数的使用(scanf gets getchar)(如何获取所有数据类型)


scanf()函数是格式化输入函数,它从标准输入设备(键盘)读取输入的信息。
其调用格式为:
scanf(<格式化字符串>, <地址表>);
格式化字符串包括以下三类不同的字符;
1. 格式化说明符:格式化说明符与printf()函数中的格式说明符基本相同。
2. 空白字符:空白字符会使scanf()函数在读操作中略去输入中的一个或多
个空白字符。
3.非空白字符:一个非空白字符会使scanf()函数在读入时剔除掉与这个非
空白字符相同的字符。
地址表是需要读入的所有变量的地址,而不是变量本身。这与printf()函数
完全不同,要特别注意。各个变量的地址之间同“,”分开。

 

gets()函数
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束,但回车符
不属于这个字符串。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)
gets(s)函数与scanf(%s, &s)相似,但不完全相同,使用scanf(%s, &s)
函数输入字符串时存在一个问题,就是如果输入了空格会认为输入字符串结束,
空格后的字符将作为下一个输入项处理,gets()函数将接收输入的整个字符
串直到回车为止。

getchar()函数用于从标准输入控制台读取字符,原型如下:
    int getchar(void);
该函数没有参数。函数的返回值为用户输入的第一个字符的ASCII码,若出错返回-1,且将用户输入的字符回显 到屏幕。如果用户在按回车键之前输入了不只一个字符, 其他字符会保留在键盘缓冲区中,等待后续 getchar()调用读取。
getchar()非真正函数,而是getc(stdin)宏定义。


11.输出函数的使用(printf puts putchar(如何输出所有数据类型)

Printf()函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。printf函数调用的 一般形式为:
   printf(“格式控制字符串”,输出表列)
其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符 串是以%开头的字符串,在%后面跟有各种格式字符,以说 明输出数据的类型、形式、长度、小 数位数等。如:

%d”表示按十进制整型输出;

%ld”表示按十进制长整型输出;

%c”表示按字符型输出等。
非格式字符串原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出 项在数量和类型上应该一一对应。

 

 

putchar函数(单个字符输出函数)

函数的格式:putchar(ch) 

其中ch可以是一个字符变量或常量,也可以是一个转义字符。

函数的作用:向终端输出一个字符。

1putchar函数只能用于单个字符的输出,且一次只能输出一个字符。

2)在程序中使用putchar函数,务必牢记:在程序(或文件)的开头加上编译预处理命令(也称包含命令 ),即:#include "stdio.h"

 

puts()函数
puts()函数用来向标准输出设备(屏幕)写字符串并换行,其调用格式为:
puts(s);
其中s为字符串变量(字符串数组名或字符串指针)
puts()函数的作用与语printf(%s\n, s)相同。

 

 





0 0