go n'est pas un mot-clé en langage C, goto est un mot-clé en langage C. L'instruction goto est appelée instruction de transfert inconditionnel, qui permet un transfert inconditionnel du contrôle vers une instruction étiquetée au sein de la même fonction ; la syntaxe est "goto label;...label: Statement;", où label peut être n'importe quelle instruction pure autre que le mot-clé C Text, qui peut être défini avant ou après l'instruction goto dans un programme C.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version c99, ordinateur Dell G3.
Il y a un total de 32 mots-clés en langage C :
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
si | autre | switch | cas | par défaut | pause | retour | aller à |
faire | pendant que | pour | continue | typedef | struct | enum | union |
char | short | int | long | flotteur | double | void | taillede |
signé | non signé | const | auto | register | statique | externe | volatile |
On voit que go n'est pas un mot-clé en langage C, mais goto est un mot-clé en langage C.
instruction goto en langage c
l'instruction goto, également connue sous le nom d'instruction de transfert inconditionnel en C, est dite inconditionnelle, mais en fait elle est toujours conditionnelle. La plage de saut est toujours limitée, permettant un transfert inconditionnel de contrôle vers. le même Une instruction marquée dans une fonction.
Grammar
La syntaxe de l'instruction goto en langage C :
goto label; .. . label: statement;
Ici, l'étiquette peut être n'importe quel texte brut à l'exception du mot-clé C, et elle peut être définie avant ou après l'instruction goto dans le programme C.
Organigramme
Utilisation
Tout d'abord, nous devons déterminer où nous voulons transférer, quel est le point final du transfert, et nous devons définir un identifiant, qui est une étiquette ( Je n'ai pas montré l'anglais, lorsqu'une erreur se produit dans l'instruction goto, ce mot est susceptible d'apparaître dans le contenu de l'erreur). En même temps, nous devons ajouter deux points (:) après l'étiquette. nous avons défini l'identifiant, puis nous avons défini le point de départ ——goto identifier ;. Nous devons d'abord dire à l'ordinateur que nous allons sauter, ce qui est le rôle de goto. Ensuite, nous devons lui dire où nous voulons sauter, qui est l'identifiant que nous venons de définir. Enfin, comme pour les autres instructions, nous ajoutons des points. à cela (;) signifie la fin de l'instruction. Voici à quoi ressemble la page de l'éditeur.
et les résultats en cours d'exécution
On voit que notre 5ème ligne de printf n'a pas été exécutée, et nous sommes passés directement à la 7ème ligne de printf.
Il peut passer à l'instruction suivante ou passer au premier plan.
De cette façon, cela devient une simple boucle sans condition de fin
Vous pouvez essayer d'exécuter ce code. Bien sûr, nous pouvons utiliser le compteur et ajouter un jugement pour lui donner une condition de fin et laisser. il a la capacité de pendant et de temps.
Malheureusement, nous ne pouvons pas utiliser goto dans toutes les fonctions. Il existe d'autres instructions qui peuvent être implémentées, nous n'entrerons donc pas dans les détails ici.
Ici, si la condition if est vraie, après l'avoir affichée, en regardant la longue chaîne de parenthèses inégales ci-dessous, je sais que je dois définir les conditions sur celles-ci, puis le faire encore et encore. pause, c'est ennuyeux d'y penser. Comment puis-je attendre sans y aller à ce moment-là ? Très bientôt ! Nous allons directement à
pour passer à l'étape suivante de notre processus.
Mais je me demande si vous avez remarqué que dans la dernière image, nous avons utilisé deux gotos, mais ils pointaient vers la même étiquette. Oui, nous pouvons faire passer le programme au même point final à partir de points de départ différents, mais cela devrait l'être. a noté que nous ne pouvons pas accéder à deux étiquettes sous le même goto. C'est facile à comprendre. Si c'était vous et que vous receviez un ordre vous demandant d'aller à deux endroits différents ou même plus, vous seriez confus, où devriez-vous le faire. J'y vais?
Une autre différence par rapport à avant est que j'ai ajouté un point-virgule (;) après l'identifiant xiayige :. Pourquoi est-ce ? L'identifiant doit être suivi d'une instruction, qui peut être une affectation ou une instruction. Mais s'il n'y a vraiment aucun moyen d'ajouter une instruction après, nous pouvons ajouter un point-virgule et le traiter comme une instruction vide pour faire fonctionner l'identifiant.
Ps : En fait, vous pouvez déclarer ici une variable poubelle, ou d'autres déclarations dénuées de sens, mais cela rendra le code difficile à comprendre, et il n'est pas recommandé de le faire.
C'est ce que tout le monde utilise goto pour faire le plus. Quant aux autres utilisations, cela dépend de votre imagination, comme le dit le vieil adage, de l'audace d'une personne et de la productivité de la terre.
Ce qui suit correspond au moment où j'utilise goto.
#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=='=') printf("**,你算**呢\n"); } loop: while(ysf!='=') { if (ysf=='-') { printf("请输入数字\n"); scanf("%d",&sz); jieguo-=sz; printf("请输入运算符\n"); fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数 scanf("%c",&ysf); if(ysf=='=') { goto jieshu; } else { goto loop; } } else if (ysf=='+') { printf("请输入数字\n"); scanf("%d",&sz); jieguo+=sz; printf("请输入运算符\n"); fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数 scanf("%c",&ysf); if(ysf=='=') { goto jieshu; } else { goto loop; } } else if(ysf=='*') { printf("请输入数字\n"); scanf("%d",&sz); jieguo*=sz; printf("请输入运算符\n"); fflush(stdin);//清空标准输入流(stdin) fflush是stdio.h中的函数 scanf("%c",&ysf); if(ysf=='=') { goto jieshu; } else { goto loop; } } else if(ysf=='/') { 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=='=') { 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
Recommandations associées : "Tutoriel vidéo C"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Pour démarrer le développement C # .NET, vous devez: 1. Comprendre la connaissance de base de C # et les concepts principaux du .NET Framework; 2. Maître les concepts de base des variables, des types de données, des structures de contrôle, des fonctions et des classes; 3. Apprenez les fonctionnalités avancées de C #, telles que LINQ et la programmation asynchrone; 4. Soyez familier avec les techniques de débogage et les méthodes d'optimisation des performances pour les erreurs courantes. Avec ces étapes, vous pouvez progressivement pénétrer le monde de C # .NET et écrire des applications efficaces.

La relation entre C # et .NET est inséparable, mais ce ne sont pas la même chose. C # est un langage de programmation, tandis que .NET est une plate-forme de développement. C # est utilisé pour écrire du code, compiler dans le langage intermédiaire de .NET (IL) et exécuté par .NET Runtime (CLR).

C # .NET est toujours important car il fournit des outils et des bibliothèques puissants qui prennent en charge le développement d'applications multiples. 1) C # combine .NET Framework pour rendre le développement efficace et pratique. 2) Le mécanisme de collecte de la sécurité et des ordures de C # améliore ses avantages. 3) .NET fournit un environnement de course multiplateforme et des API riches, améliorant la flexibilité du développement.

C # .NETtisversatileforbothwebandDeskTopDevelopment.1) forweb, useasp.netfordynamicapplications.2) fordesktop, employwindowsformSorwpfforrichInterfaces.3) usexamarinforcross-plateformDevelopment, permanant les codéescosswindows, macos, linux, etmobiledevices.

C # et .NET s'adaptent aux besoins des technologies émergentes à travers des mises à jour et des optimisations continues. 1) C # 9.0 et .NET5 introduire le type d'enregistrement et l'optimisation des performances. 2) .netcore améliore le support natif et conteneurisé cloud. 3) ASP.Netcore s'intègre aux technologies Web modernes. 4) ML.NET prend en charge l'apprentissage automatique et l'intelligence artificielle. 5) La programmation asynchrone et les meilleures pratiques améliorent les performances.

C # .NeTissuitableFormenterprise-LevelApplications withithemicrosofosystématetoitsstrongThpyping, RichLibrary, androbustperformance.wowever, itmayNotBeidealForcross-PlatformDevelopmentorwhenRawpeediscritical, whileLanguageSlikerUstorGomightBeferable.

Le processus de programmation de C # dans .NET comprend les étapes suivantes: 1) l'écriture de code C #, 2) la compilation dans un langage intermédiaire (IL) et 3) l'exécution par .NET Runtime (CLR). Les avantages de C # dans .NET sont sa syntaxe moderne, son système de type puissant et son intégration serrée avec le Framework .NET, adapté à divers scénarios de développement des applications de bureau aux services Web.

C # est un langage de programmation moderne et orienté objet développé par Microsoft et dans le cadre du .NET Framework. 1.C # prend en charge la programmation orientée objet (POO), y compris l'encapsulation, l'héritage et le polymorphisme. 2. La programmation asynchrone en C # est implémentée via Async et attend des mots clés pour améliorer la réactivité des applications. 3. Utilisez LINQ pour traiter les collections de données concisement. 4. Les erreurs courantes incluent les exceptions de référence NULL et les exceptions indexes hors gamme. Les compétences de débogage comprennent l'utilisation d'un débogueur et une gestion des exceptions. 5. L'optimisation des performances comprend l'utilisation de StringBuilder et d'éviter l'emballage et le déballage inutiles.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit