Heim  >  Artikel  >  Backend-Entwicklung  >  Ist go ein Schlüsselwort in der C-Sprache?

Ist go ein Schlüsselwort in der C-Sprache?

青灯夜游
青灯夜游Original
2023-01-12 17:27:274675Durchsuche

go ist kein Schlüsselwort in der C-Sprache, goto ist ein Schlüsselwort in der C-Sprache. Die goto-Anweisung wird als bedingungslose Übertragungsanweisung bezeichnet, die eine bedingungslose Übertragung der Kontrolle an eine gekennzeichnete Anweisung innerhalb derselben Funktion ermöglicht. Die Syntax lautet „goto label;...label: Anweisung;“, wobei „label“ jede andere reine Anweisung als sein kann das C-Schlüsselwort Text, das vor oder nach der goto-Anweisung in einem C-Programm gesetzt werden kann.

Ist go ein Schlüsselwort in der C-Sprache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, c99-Version, Dell G3-Computer.

Es gibt insgesamt 32 Schlüsselwörter in der C-Sprache:

union
1 2 3 4 5 6 7 8
wenn ?? Pause Rückkehr Gehe zu do whilefor continue typedef struct enum
char shortint .long floatdoublevoid sizeof signedunsigned const
auto register statisch extern flüchtig

Es ist ersichtlich, dass go kein Schlüsselwort in der C-Sprache ist, goto jedoch ein Schlüsselwort in der C-Sprache.

c-Sprache goto-Anweisung

goto-Anweisung, in C auch als bedingungslose Übertragungsanweisung bekannt, wird als bedingungslos bezeichnet, ist aber tatsächlich immer noch bedingt und ermöglicht eine bedingungslose Übertragung der Kontrolle an das Gleiche Eine markierte Anweisung innerhalb einer Funktion.

Grammatik

Die Syntax der goto-Anweisung in der C-Sprache:

goto label;
..
.
label: statement;

Hier kann die Bezeichnung ein beliebiger einfacher Text außer dem C-Schlüsselwort sein und vor oder nach der goto-Anweisung im C-Programm gesetzt werden. „Flussdiagramm“ Ich habe kein Englisch angezeigt. Wenn in der goto-Anweisung ein Fehler auftritt, wird dieses Wort wahrscheinlich im Fehlerinhalt angezeigt. Gleichzeitig müssen wir nach der Bezeichnung einen Doppelpunkt (:) hinzufügen. Wir haben den Bezeichner festgelegt und dann den Startpunkt – goto bezeichner;. Zuerst müssen wir dem Computer mitteilen, dass wir springen werden, was die Rolle von „goto“ ist. Dann müssen wir ihm mitteilen, wohin wir springen möchten, was der Bezeichner ist, den wir gerade festgelegt haben. Schließlich fügen wir, wie bei anderen Anweisungen, Punkte hinzu dazu. (;) bedeutet das Ende der Aussage. So sieht die Editorseite aus.

Ist go ein Schlüsselwort in der C-Sprache?

und die laufenden Ergebnisse

Ist go ein Schlüsselwort in der C-Sprache?

Es ist ersichtlich, dass unsere 5. Zeile von printf nicht ausgeführt wurde und wir direkt zur 7. Zeile von printf kamen. Es kann zur nächsten Aussage oder nach vorne springen.

Ist go ein Schlüsselwort in der C-Sprache?Auf diese Weise wird es zu einer einfachen Schleife ohne Endbedingung

Ist go ein Schlüsselwort in der C-Sprache?Sie können natürlich versuchen, diesen Code auszuführen und ihm eine Endbedingung zu geben und ihn zu beurteilen Habe die Fähigkeit für und während.

Leider können wir goto nicht funktionsübergreifend verwenden. Es gibt andere Anweisungen, die implementiert werden können, daher werden wir hier nicht näher darauf eingehen.

Ist go ein Schlüsselwort in der C-Sprache?Wenn die if-Bedingung wahr ist, weiß ich nach der Ausgabe, wenn ich mir die lange Reihe ungerader Klammern unten ansehe, dass ich die Bedingungen dafür festlegen und es dann immer wieder tun muss. Pause, es ist nervig darüber nachzudenken. Wie kann ich zu diesem Zeitpunkt warten, ohne zu gehen? Sehr bald! Wir gehen direkt zu

Ist go ein Schlüsselwort in der C-Sprache? und springen zu

, um mit der nächsten Stufe unseres Prozesses fortzufahren.

Ist go ein Schlüsselwort in der C-Sprache?Aber ich frage mich, ob Ihnen auf dem letzten Bild aufgefallen ist, dass wir zwei Gotos verwendet haben, die aber auf die gleiche Bezeichnung zeigten. Ja, wir können das Programm von verschiedenen Startpunkten aus zum gleichen Endpunkt springen lassen, aber das sollte so sein Beachten Sie, dass wir nicht zu zwei Labels unter demselben Ziel springen können. Wenn Sie an Ihrer Stelle wären und Sie aufgefordert würden, zu zwei oder noch mehr verschiedenen Orten zu gehen, wären Sie verwirrt Ich gehe?

Ein weiterer Unterschied zu zuvor besteht darin, dass ich nach der Kennung xiayige: ein Semikolon (;) hinzugefügt habe. Dem Bezeichner muss eine Anweisung folgen, die eine Zuweisung oder eine Anweisung sein kann. Wenn es jedoch wirklich keine Möglichkeit gibt, eine Anweisung danach hinzuzufügen, können wir ein Semikolon hinzufügen und es als leere Anweisung behandeln, damit der Bezeichner ausgeführt wird.

Ps: Tatsächlich können Sie hier eine Garbage-Variable oder andere bedeutungslose Anweisungen deklarieren, aber dadurch wird der Code schwer verständlich und es wird nicht empfohlen, dies zu tun. Ist go ein Schlüsselwort in der C-Sprache?

Das ist es, wofür jeder goto am häufigsten verwendet. Was andere Verwendungszwecke angeht, hängt es von der Vorstellungskraft ab, wie mutig ein Mensch ist und wie produktiv das Land ist.

Das Folgende ist, wenn ich goto verwende.

#include<stdio.h>
int main ()
{
    printf("请输入要计算的算式,四则运算优先级一样高,从左到右依次计算\n");
    int jieguo=0,sz,gongju=0,gongju2=1;
    char ysf;
    scanf("%d",&jieguo);
    if (jieguo==0)
//直接输入等号的话%d似乎是0,有待商榷!!!!!!!!
//二次修改,if语句中判断量时只有0为假,除此之外的数字都表真
    {
    printf("**,你算**呢\n");
    goto chaojijieshu;
    gongju=1;
    gongju2=0;
    }
    else if (gongju2)
    
    {
    printf("请输入运算符\n");
    
    scanf(" %c",&ysf);
    //enter包含两个命令,算是两个字符\r和\n,后面的一个会占据scanf的输入位,所以要清空,或者用空格占位
    if(ysf==&#39;=&#39;)
    printf("**,你算**呢\n");
    }
loop:
    while(ysf!=&#39;=&#39;)
    {
        if (ysf==&#39;-&#39;)
        {
            printf("请输入数字\n");
            scanf("%d",&sz);
            jieguo-=sz;
            printf("请输入运算符\n");
            fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数
            scanf("%c",&ysf);
            if(ysf==&#39;=&#39;)
            {
                goto jieshu;
            }
            else
            {
                goto loop;
            }
        }
        else if (ysf==&#39;+&#39;)
        {
            printf("请输入数字\n");
            scanf("%d",&sz);
            jieguo+=sz;
            printf("请输入运算符\n");
            fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数
            scanf("%c",&ysf);
            if(ysf==&#39;=&#39;)
            {
                goto jieshu;
            }
            else
            {
                goto loop;
            }
        }
        else if(ysf==&#39;*&#39;)
        {
            printf("请输入数字\n");
            scanf("%d",&sz);
            jieguo*=sz;
            printf("请输入运算符\n");
            fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数
            scanf("%c",&ysf);
            if(ysf==&#39;=&#39;)
            {
                goto jieshu;
            }
            else
            {
                goto loop;
            }        }
        else if(ysf==&#39;/&#39;)
        {
            printf("请输入数字\n");
            scanf("%d",&sz);
            while(sz==0)
            {
                printf("0能做分母吗?你算**呢\n");
            }
            jieguo/=sz;
            printf("请输入运算符\n");
            fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数
            scanf("%c",&ysf);
            if(ysf==&#39;=&#39;)
            {
                goto jieshu;
            }
            else
            {
                goto loop;
            }
        }
    }
jieshu:
    printf("结果是%d\n",jieguo);
chaojijieshu:
    if (gongju)
    printf("真无语,重开吧\n");
    return 0;
    
}
//注意注意!!!!!!!!!!!!
//enter算是两个命令,所以有两个字符,在进行上一次输入之后
//在来一个enter,会占据scanf的字符位
//所以要清空标准输入流
//可以利用下述语句
//fflush(stdin);
//清空标准输入流(stdin) fflush是stdio.h中的函数
//以上是最好的解决办法
//初次之外,还有被称作偏方的办法
//二次修改 除此之外,而不是初次之外,打错字了
//如
//scanf(“ %c”,&ysf”)
//在scanf中加一个空格,可以顶掉enter多出来的一个字符
//还有
//加一句
//getchar()
//用getchar来捕捉多出来的\n

Verwandte Empfehlungen: „

C Video Tutorial

Das obige ist der detaillierte Inhalt vonIst go ein Schlüsselwort in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn