精华内容
下载资源
问答
  • C语言保留字

    千次阅读 2018-10-22 14:52:34
    C语言保留字 一共有32个 auto :声明自动变量 double :声明双精度变量或函数 int: 声明整型变量或函数 struct:声明结构体变量或函数 break:跳出当前循环 else :条件语句否定分支(与 if 连用) long :声明长...

    C语言的保留字
    一共有32个

    auto :声明自动变量
    double :声明双精度变量或函数
    int: 声明整型变量或函数
    struct:声明结构体变量或函数
    break:跳出当前循环
    else :条件语句否定分支(与 if 连用)
    long :声明长整型变量或函数
    switch :用于开关语句
    case:开关语句分支
    enum :声明枚举类型
    register:声明寄存器变量
    typedef:用以给数据类型取别名
    char :声明字符型变量或函数
    extern:声明变量是在其他文件正声明
    return :子程序返回语句(可以带参数,也可不带参数)
    union:声明共用数据类型
    const :声明只读变量
    float:声明浮点型变量或函数
    short :声明短整型变量或函数
    unsigned:声明无符号类型变量或函数
    continue:结束当前循环,开始下一轮循环
    for:一种循环语句
    signed:声明有符号类型变量或函数
    void :声明函数无返回值或无参数,声明无类型指针
    default:开关语句中的“其他”分支
    goto:无条件跳转语句
    sizeof:计算数据类型长度
    volatile:说明变量在程序执行中可被隐含地改变
    do :循环语句的循环体
    while :循环语句的循环条件
    static :声明静态变量
    if:条件语句

    展开全文
  • 标识符(Identifier)标识符就是程序员自己起的名字,符号常量(宏)、变量名、...不能与C语言保留字相同,但可以包含保留字不能包含# - * /区分大小写长度受编译器和操作系统的限制,在做到“见名知义”的情况下尽量短...

    标识符(Identifier)

    标识符就是程序员自己起的名字,符号常量(宏)、变量名、函数名、宏名、结构体名等,它们都是标识符。

    遵守规范;C语言规定,标识符只能由字母(A~Z, a~z)、数字(0~9)和下划线(_)组成,并且第一个字符必须是字母或下划线,不能是数字。

    不能与C语言保留字相同,但可以包含保留字

    不能包含# - * /

    区分大小写

    长度受编译器和操作系统的限制,在做到“见名知义”的情况下尽量短

    关键字(Keywords)是由C语言规定的具有特定意义的字符串,通常也称为保留字,

    例如 int、char、long、float、unsigned 等。我们定义的标识符不能与关键字相同,否则会出现错误。

    也可以将关键字理解为具有特殊含义的标识符,它们已经被系统使用,我们不能再使用了

    表达式(Expression)和语句(Statement)

    表达式可以看做一个计算的公式,往往由数据、变量、运算符等组成,例如3*4+5、a=c=d等,表达式的结果必定是一个值;

    语句的范围更加广泛,不一定是计算,不一定有值,可以是某个操作、某个函数、选择结构、循环等。

    表达式必须有一个执行结果,这个结果必须是一个值,例如3*4+5的结果 17,a=c=d=10的结果是 10,printf("hello")的结果是 5(printf 的返回值是成功打印的字符的个数)。

    以分号;结束的往往称为语句,而不是表达式,例如3*4+5;、a=c=d;等。

    标签:语句,C语言,关键字,保留字,标识符,表达式

    来源: https://www.cnblogs.com/xkdn/p/14692202.html

    展开全文
  • c语言保留字(关键字)汇总

    万次阅读 多人点赞 2019-02-03 09:12:47
    c语言保留字(关键字)汇总
                   

    由于是温习笔记,写的内容比较杂,比较基础。主要是写给自己看的,方便以后查阅。

    今天来讲讲c中的保留字。

    保留字(reserved word)

      保留字又称关键字。

      指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。

      每种程序设计语言都规定了自己的一套保留字。

      例如:BASIC语言规定不能使用LIST作为变量名或过程名,因为LIST是一个BASIC语言专用于显示内存程序的命令。

      C有22+10 = 32个关键字

      C++ 有22+10+11+20 = 63 个关键字

      JAVA 有22+ 9+ 17 = 48 个关键字

    ps:以上内容来自百科。


    其中,C89中,(C语言标准)中,

    类型说明保留字:int,long,short,float,double,char,unsigned,signed,const,void,volatile,enum,struct,union
    语句定义保留字:if,else,goto,switch,case,do,while,for,continue,break,return,default,typedef
    存储类说明保留字:auto,register,extern,static
    长度运算符保留字:sizeof

    具体含义如下:

    auto

    指定变量的存储类型,是默认值

    break

    跳出循环或switch语句

    case

    定义switch中的case子句

    char

    定义字符型变量或指针

    const

    定义常量或参数

    continue

    在循环语句中,回到循环体的开始处重新执行循环

    default

    定义switch中的default子句

    do

    定义do-while语句

    double

    定义双精度浮点数变量

    else

    定义枚举类型

    enum

    声明外部变量或函数

    extern

    声明外部变量或函数

    float

    定义浮点型变量或指针

    for

    定义for语句

    goto

    定义goto语句

    if

    定义if语句或if-else语句

    int

    定义整型变量或指针

    long

    定义长整型变量或指针

    register

    指定变量的存储类型是寄存器变量,Turbo c中用自动变量代替

    return

    从函数返回

    short

    定义短整型变量或指针

    signed

    定义有符号的整型变量或指针

    sizeof

    获取某种类型的变量或数据所占内存的大小,是运算符

    static

    指定变量的存储类型是静态变量,或指定函数是静态函数

    struct

    定义结构体类型

    switch

    定义switch语句

    typedef

    为数据类型定义别名

    union

    定义无符号的整型或字符型变量或指针

    unsigned

    定义无符号的整型变量或数据

    void

    定义空类型变量或空类型指针,或指定函数没有返回值

    volatile

    变量的值可能在程序的外部被改变

    while

    定义while或do-while语句


    下面,就几个我认为比较容易用错的保留字进行分析,主要包括 return, void, const, break, continue

    至于存储类说明保留字,也是难点之一,在之前博客已经描述过了,这里就不在重复了。

    以下内容参阅《c程序设计竞赛实训教程》和一些大牛博客结合自己看法写的。


    1.return

    return:结束一个函数并返回其后面表达式中的值。

    初学的时候,有些不理解main 函数中return 0;有什么用,在写程序的时候老是忘记带上了。其实,带上return 0;是很有必要的。

    main函数的返回值用于说明程序的退出状态,如果返回0,表示程序正常退出,否则表示程序异常退出。返回值传递给程序的激活者(操作系统)。

    如果没有写return语句的话,c99(c语言标准)规定编译器自动在生成的目标文件中加入return 0;表示正常退出。

    所以,为了代码规范,我们一般都必须带上return 0;


    具体操作-----            return (表达式);

    其中,括号是可以省略的。 一般不省略,如果返回值为表示式的时候容易造成混淆。

    return返回值的类型,一般是函数定义的类型,如果return后表示式的值类型和函数值的类型不一致,则以函数函数类型为准,即:函数类型决定返回值类型。

    需要注意的一点,也是易错的一点是:return不能返回指向局部变量的类型。----因为在函数结束时局部变量被自动销毁(上篇博客提及的局部变量的生存周期),则返回的指针为指向已释放的空间,再通过此指针进行操作就会产生错误。

    下面通过程序具体说明:

    #include<stdio.h>int *test(){    int num=3,*ptr; //num为局部变量    ptr = #    return ptr;  //这里,返回了指向局部变量的指针}int main ( ){    int i=4,*p;    p = test();    printf("%d,%d\n",i,*p);    return 0;}

    看下输出结果   4,3

    程序中,函数test的返回值为指向局部变量num的指针,当主函数调用test函数的时候,返回ptr指针并且赋值给p指针变量,即num变量的地址赋给了p,但是必须明白,在test函数结束的时候,局部变量num的空间被释放了,这样用p来引用这个空间就会出错。

    乍一看,和预期的一样,但是实际上,这样的程序是存在隐患的。

    下面改改这个程序,就知道错在哪了。

    #include<stdio.h>int *test(){    int num=3,*ptr; //num为局部变量    ptr = #    return ptr;  //这里,返回了指向局部变量的指针}int test2(){    int x = 9,y=7;    return (x+y);}int main ( ){    int i=4,*p;    p = test();    i = test2();    printf("%d,%d\n",i,*p);    return 0;}
    运行结果:  15,7(也可能是15,9视具体环境而定。)
    在这里,多了个test2函数。发现结果并不是我们预料的15,3 。 p指向空间的数据不是之前num所赋值的3.

    这正印证了我们之前说过了,这样的返回存在隐患。 在test函数调用完后,系统释放之前给num分配的空间,但是p指针仍然指向那块区域。

    在调用test2的时候,系统要为x,y分配空间。这时候就会把之前释放的那块空间给x,y再次分配使用,使用在赋值语句后,该空间的值发现了改变,使得*p发生了改变。


    所以,切记 return不能返回指向局部变量的类型。


    2.void

    void :void为空类型。 void *为空类型指针。

    其中,void a;是不允许的。  每次定义一个变量,系统都会为其分配空间,而void类型无法确定,系统就不知道该为它分配多大的空间,显然是不合理的。

    void *p;是允许的,  因为这是一个指针变量,系统都是默认分配四个字节的空间,至于具体指向的空间总存放的数据类型,就由用户自行操作。

    并且,在操作的时候,要把该void指针强制转换为相应类型的指针后才可进行操作。

    如:

    void *p;int a=5,b;p = &a;b = *(int *)p;//强转为int型指针。

    即:在使用void类型指针变量时,其他类型的地址可以直接赋值给void类型的指针变量,但反过来,void类型的指针变量赋值给其他类型的指针变量或取其所指空间数据时必须进行强转。


    3.const

    const:constant的缩写,意为不变。 即用const修饰的变量的不允许改变的。也可称为只读变量。

    例如:  int const m = 10;   const int m = 10;  (二者可以认为等价,const定义一般的变量比较简单。例如该例中都是限定m为10)

    但是要注意一点,只读变量虽然值不能改变,但它还是变量,不是常量。

    如 int const M = 10;  int a[M];  这样定义数组是错误的。我们知道,定义数组时,数组元素个数必须是常量(这样系统才知道要分配多大的空间),而M的本质是变量,只是值不改变的变量而已。

    所以,一般我们定义数组采用这样的操作:    #define M 10            int a[M];


    下面讨论下const定义指针,这就比较复杂了。

    const int *p;//const修饰的是*p,表示p可变(地址可变),p所指空间的内容不可变(数据不变)int const *p;//const修饰的是*p,表示p可变(地址可变),p所指空间的内容不可变(数据不变)int* const p;//const修饰的是p,表示p不可变(地址),p所指空间内容可变(数据可变)const int* const p; //表示p和p所指的空间内容均不可变
    至于地址,数据,拿const int *p;举例。   此时,p=&a;操作是允许的,(修改地址)。而*p=10;是允许的(试图改变数据造成错误)。


    在判读是修饰*p还是p时,我们可以先将定义中的类型标识符去掉(int),再观察const后面修饰的内容。


    4,break,continue

    至于break和continue,二者关系比较密切,结合探讨。  break退出当前循环,continue退出当次循环

    continue
    1、结束本次循环(不执行本次循环中continue后面的语句),继续下次循环条件判断;
    2、不可作用于switch语句。当在switch中使用,这个continue实际是作用于其所属的循环结构;若它不属于任何一个循环,程序将因此报错!
    break
    1、结束整个循环,并停止下次循环条件判断;
    2、可以作用于switch语句。
    具体区别如下:

    break和continue的区别如下: 
    1. break可用于switch语句,表示跳出整个switch块,而continue则不能用于switch语句 
    2. 它们都可用于循环语句的循环体,所谓的区别也应该是它们对循环次数的影响不同。break用于立即退出当前循环,而continue仅跳过当次循环(本次循环体内不执行continue语句后的其它语句,但下次循环还会执行)。举例说明。 

    int i; int s = 0; for (int i = 1; i <= 10; i++) { if (i == 6) break; s += i; } 



    上面的循环会因为break语句而在i=6时提前终止,这样s的最终值就是1+2+3+4+5 
    如将break换成continue 

    int i; int s = 0; for (int i = 1; i <= 10; i++) { if (i == 6) continue; s += i; } 



    当i=6时就不会将i累加到s中,s的最终值是1+2+3+4+5+7+8+9+10,唯独少一个6


    今天就写这么多吧。 再次给《c程序设计竞赛实训教程》打个小广告,确实是本不错的书,让我学到了很多。


    水平有限,如有错误,欢迎指正。



               

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • c语言中的关键字和保留字的区别?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!c语言中的关键字和保留字的区别?在C语言中,关键字与保留字表示同一...

    c语言中的关键字和保留字的区别?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    0688b1db50c10ffade0ca80e3a553b68.png

    c语言中的关键字和保留字的区别?

    在C语言中,关键字与保留字表示同一个概念,都是表示C语言提供的特殊识别符号,不能用作变数名。

    C语言一共有32个关键字(或称保留字),各关键字及其含义如下:

    auto:指定变数的储存型别,是预设值

    break:跳出回圈或switch语句

    case:定义switch中的case子句

    char:定义字元型变数或指标

    const:定义常量或引数

    continue:在回圈语句中,回到回圈体的开始处重新执行回圈

    default:定义switch中的default子句

    do:定义do-while语句

    double:定义双精度浮点数变数

    else:与if连用

    enum:定义列举型别

    extern:宣告外部变数或函式

    float:定义浮点型变数或指标

    for:定义for语句

    goto:定义goto语句

    if:定义if语句或if-else语句

    int:定义整型变数或指标

    long:定义长整型变数或指标

    register:指定变数的储存型别是暂存器变数,Turbo c中用自动变数代替

    return:从函式返回

    short:定义短整型变数或指标

    signed:定义有符号的整型变数或指标

    sizeof:获取某种型别的变数或资料所占记忆体的大小,是运算子

    static:指定变数的储存型别是静态变数,或指定函式是静态函式

    struct:定义结构体型别

    switch:定义switch语句

    typedef:为资料型别定义别名

    union:定义联合体型别

    unsigned:定义无符号的整型变数或资料

    void:定义空型别变数或空型别指标,或指定函式没有返回值

    volatile:变数的值可能在程式的外部被改变

    while:定义while或do-while语句

    oracle的关键字和保留字的区别

    Reserved Words

    Oracle SQL Reserved Words

    如果不加转移字元是无法用作定义符的,比如说表名,列名,trigger名称等。

    KeyWord

    Oracle SQL keyword 为非保留字,oracle内部使用, 是可以用作定义符的,但是不推荐,因为可读性差,维护体验差。

    不建议过分纠结这个问题,多看官方文件就好了。

    V$RESERVED_WORDS

    这个视图里面详细介绍了Oracle资料库里面的保留字相关资讯,根据场景不同,限制条件也不同。记住一些常用的即可。

    保留字是关键字,关键字不一定是保留字。保留字是指在Oracle的新版本已经弃用,但还是会出现在Oracle的新版本中。

    mysql关键字和保留字的区别

    但是这里要提一下的是mysql是支援使用关键字做栏位名的,但是针对保留关键字是必须要加引用。mysql官网提供了三个例子是可以很好的说明这些的。

    interval begin、end都是关键字,interval是保留关键字,因此会报错

    mysql> CREATE TABLE interval (begin INT, end INT);

    ERROR 1064 (42000): You have an error in your SQL syntax ...

    near 'interval (begin INT, end INT)'

    当给interval加上引用''后便可以正确执行该sql语句,也不会报begin、end的错,因为这是mysql允许的,但是不推荐这个用法,谁知道升级之后会不会变成保留字。。。。。。

    mysql> CREATE TABLE `interval` (begin INT, end INT);

    Query OK, 0 rows affected (0.01 sec)

    (这个可以略过,,,,,反正不推荐使用关键字做这些事,)还有一种情况——内建函式的名字,官网是这样说的:

    Names of built-in functions are permitted as identifiers but may require care to be used as such

    mysql> CREATE TABLE mydb.interval (begin INT, end INT);

    Query OK, 0 rows affected (0.01 sec)

    JAVA中的关键字和保留字

    找本书 看看 太多了

    请问,c语言中,关键字和保留字是一个意思么?

    c语言中的关键字和保留字含义是一样的,共有 32 个保留字或关键字,这些保留字或关键字是不能用来作为c程式中的识别符号的。

    由ANSI标准定义的C语言关键字共32个 : auto double int struct break else long switchcase enum register typedef char extern return unionconst float short unsigned continue for signed voiddefault goto sizeof volatile do if while static

    Java中保留字和关键字的区别

    Java的关键字对java的编译器有特殊的意义,他们用来表示一种资料型别,或者表示程式的结构等。保留字是为java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。

    Java 关键字列表 (依字母排序 共50组):

    abstract, assert,boolean, break, byte, case, catch, char, class, continue, default, do, double, else, enum,extends, final, finally, float, for, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while

    Java 保留字列表 (依字母排序 共14组) : Java保留字是指现有Java版本尚未使用 但以后版本可能会作为关键字使用。

    byValue, cast, false, future, generic, inner, operator, outer, rest, true, var,goto,const, null

    C++保留字 关键字区别

    两者其实差不了多少,可以当一个概念理解

    “保留字”和“ 关键字”的区别与联络?

    保留字: 系统留用(可能永远也不会用, 但是你不能用)。

    关键字: 系统规定有特殊意义的词。

    关键字, 一定是保留字。

    保留字一般是等同于关键字的。

    从字面含义上理解,保留字是语言中已经定义过的字,使用者不能再将这些字作为变数名或过程名使用。而关键字则指在语言中有特定含义,成为语法中一部分的那些字。在一些语言中,一些保留字可能并没有应用于当前的语法中,这就成了保留字与关键字的区别。

    分页:123

    展开全文
  • C语言保留字(关键字)详解

    千次阅读 2020-02-03 13:29:41
    保留字(reserved word) 保留字又称关键字。  指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。  每种程序设计语言都规定了自己的一套保留字。  例如:BASIC语言规定不能使用LIST作为...
  • 基本符号(字符集) 满足C语言文法要求的字符集如下: (1)英文字母 a~z,A~Z;...保留字和标识符 标识符是起标识作用的一类符号,C语言的标识符主要用来表示常量、变量、函数和类型等的名字。C语.
  • 本节内容:C语言程序设计的入门知识——标识符与保留字
  • C语言图书管理系统

    万次阅读 多人点赞 2016-05-02 10:11:02
    目前为止跟着学校进度学习C语言大概半年左右,基础学习只学到了指针,学得非常浅。...ok,废话不多说了,下面是我第二节课的作品————C语言的图书管理系统。一个简单的小程序。并非纯原创,是基于网络搜索到的...
  • c语言简单实现数字雨黑客特效

    千次阅读 多人点赞 2020-02-15 02:34:16
    首先欢迎大家读此文章 实现数字雨首先我们搭建相应环境。...对差点忘啦,该备windows系统 程序思路 我先屏幕最上方随机打印一行字符集,然后把它用截取函数截取,然后把他往下移动一个像素,就这么简单,具体...
  • C语言题库

    万次阅读 多人点赞 2019-07-01 16:14:45
    1.(A)是构成C语言程序的基本单位。 A、函数B、过程C、子程序D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下...
  • C语言

    2020-06-26 20:21:38
    C语言 C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言...
  • c语言常用系统函数

    千次阅读 2016-07-01 16:39:59
    转:... 常用系统函数 ...常用系统函数.......................................................................................1 附录B...............
  • 简易银行管理系统(C语言)

    千次阅读 多人点赞 2020-11-08 06:12:32
    简易银行管理系统(C语言)
  • C语言基础知识梳理总结

    万次阅读 多人点赞 2017-03-06 09:54:48
    C语言是当代人学习及生活中的必备基础知识,应用十分广泛,下面为大家带来C语言基础知识梳理总结,C语言零基础入门绝对不是天方夜谭!
  • C语言标识符

    千次阅读 2019-07-22 10:47:28
    C语言标识符 C语言规定,合法的标识符必须由英文字母或下划线开头,是字母、数字和下划线的序列。 在C语言中,大写字母和小写... 关键字又称为保留字,是C语言中用来表示特殊含义的标识符,由系统提供。 auto brea...
  • C语言班主任管家系统

    千次阅读 多人点赞 2017-02-20 17:17:49
    1系统分析 1.1功能需求 软件工程(移动互联网方向)专业学生的班主任管家系统分别涵盖2015~2016、2016~2017、2017~2018、2018~2019四个学年,八个学期。 1.1.1功能划分 每个学期可进行的操作功能有录入、修改、...
  • c语言

    千次阅读 2008-06-16 11:26:00
    c语言 目录• 定义 • C语言的发展历史 • C语言的优点 • C语言的缺点 • C源程序的结构特点 • 学习C语言 • 新标准 • C程序实例(以TC2.0环境为例) 定义C语言是一种计算机程序设计语言。它既有高级语言的特点,又...
  • ❤️五万字《C语言动漫教程》❤️

    万次阅读 多人点赞 2021-07-01 13:44:49
    六万字最全C语言动漫式教程,本文连载直到卡死
  • C语言

    2009-07-25 17:17:00
    定义 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的...
  • C语言课设——学生体测系统

    千次阅读 多人点赞 2020-01-11 21:04:24
    刚刚考完试我十分的兴奋,再一想到就要过年回家了,就感觉我应该造福人类啊,所以就把我搞了接近两个星期的课设贴出来了,...大家用windows系统的话可以像我同学一样清屏,然后搞界面,还可以搞背景颜色(Windows的...
  • C语言 课程设计——职工信息管理系统

    千次阅读 多人点赞 2020-12-26 21:14:39
    C语言 课程设计——职工信息管理系统 提示:该课程设计是本人第一次制作,有诸多不足之处,希望王对你有些许帮助!!! 文章目录C语言 课程设计——职工信息管理系统前言一、首先定义一个结构体数组二、定义主函数...
  • C语言基础 C语言标识符

    千次阅读 2018-07-20 18:34:44
     C语言规定,合法的标识符必须由英文字母或下划线开头,是字母、数字和下划线的序列。  在C语言中,大写字母和小写字母被认为是两个不同的字符,如SUM和sum是不同的标识符。习惯上符号常量名用大写字母表示,变量...
  • 初识C语言

    2020-01-19 16:29:20
    为什么学习C语言 介于高级语言和低级语言之间,运行高效,透过c语言可以窥探计算机底层原理 很多流行语言都借鉴了c的思想和语法,...关键字: 也称保留字,是C语言中预先定义的、具有特殊意义的单词 标识符: 大小...
  • Linux系统下的c语言编程

    千次阅读 2016-02-10 11:32:46
    Linux操作系统支持多种高级语言,其中就包括c语言,linux系统的内核的绝大多数代码就是用c编写的,另外Linux平台上的许多应用程序也是用c完成的。Liinux系统拥有许多用于用于程序的生成以及分析的软件工具。其中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,421
精华内容 20,168
关键字:

c语言系统保留字

c语言 订阅