您好,欢迎进入深圳市颖特新科技有限公司官方网站!

您现在的位置:首页 新闻资讯 >> 新闻头条 >> 说说必须掌握的关键字(转)
新闻资讯
NEWS INFORMATION

说说必须掌握的关键字(转)

发布时间:2019-05-22

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

 

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

C语言一共有32个关键字,如下表所示:

 

 

1数据类型关键字

A)基本数据类型(5个)

void:声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果

char:字符型类型数据,属于整型数据的一种

int:整型数据,通常为编译器指定的机器字长

float:单精度浮点型数据,属于浮点数据的一种

double:双精度浮点型数据,属于浮点数据的一种

B)类型修饰关键字(4个)

short:修饰int,短整型数据,可省略被修饰的int。

long:修饰int,长整形数据,可省略被修饰的int。

signed:修饰整型数据,有符号数据类型

unsigned:修饰整型数据,无符号数据类型

C)复杂类型关键字(5个)

struct:结构体声明

union:共用体声明

enum:枚举声明

typedef:声明类型别名

sizeof:得到特定类型或特定类型变量的大小

D)存储级别关键字(6个)

auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配

static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部

register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数

extern:指定对应变量为外部变量,即在另外的目标文件中定义,可以认为是约定由另外文件声明的对象的一个“引用“

const:与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)

volatile:与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值

 

2流程控制关键字

A)跳转结构(4个)

return:用在函数体中,返回特定值(或者是void值,即不返回值)

continue:结束当前循环,开始下一轮循环

break:跳出当前循环或switch结构

goto:无条件跳转语句

B)分支结构(5个)

if:条件语句

else:条件语句否定分支(与if连用)

switch:开关语句(多重分支语句)

case:开关语句中的分支标记

default:开关语句中的“其他”分治,可选。

C)循环结构(3个)

for:for循环结构,for(1;2;3)4;的执行顺序为1->2->4->3->2...循环,其中2为循环条件

do:do循环结构,do 1 while(2);的执行顺序是1->2->1...循环,2为循环条件

while:while循环结构,while(1) 2;的执行顺序是1->2->1...循环,1为循环条件

以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。

下面来详细介绍各个关键字:

基本数据类型(5个)

void

char

int

float

double

类型修饰关键字(4个)

short

long

signed

unsigned

1)在windows,32位系统中

char 1个字节

short 2个字节

int 4个字节

long 4个字节

double 8个字节

float 4个字节

2)数据类型和占位符之间的对应关系

char和unsingned char %c

short %hd

unsigned short %hu

long %ld

unsigned long %lu

int %d

unsigned int %u

float %f/%g

double %lf/%lg

%f和%lf会保留小数点后面多余的0 如 3.1400000 .2%f得 3.14

%g和%lg不会保留 如 3.14

规定整型值相互之间大小的规则:

长整型至少应该和整型一样长,而整型至少应该和短整型一样长。

3)signed、unsigned关键字

signed char取值范围是 -2^7 到 2^7-1

unsigned char取值范围是 0 到 2^8

signed int取值范围是 -2^31 到 2^31-1

unsigned int取值范围是 0 到 2^32

留两个问题思考:

1), int i = -20;

unsigned j = 10;

i+j 的值为多少?为什么?

-10 应该是按照有符号的来计算的

2), 下面的代码有什么问题?

unsigned i ;

for (i=9;i>=0;i--)

{

printf("%u ",i);

}

一直打印无法停止,到了0 后,变成-1。因为-1是有符号的了,再变成 4294967295一直又减下去了

4)void关键字:

复杂类型关键字(5个)

struct

union

enum

typedef

sizeof

存储级别关键字(6个)

auto

static

register

extern

const

volatile

2、流程控制关键字 A)跳转结构(4个)

return

continue

break

goto

B)分支结构(5个)

if

else

switch

case

default

 

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

C)循环结构(3个)

for

do

while

 

联系方式0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08