Maison  >  Article  >  développement back-end  >  Le langage C lui-même a-t-il des instructions d'entrée et de sortie ?

Le langage C lui-même a-t-il des instructions d'entrée et de sortie ?

青灯夜游
青灯夜游original
2022-11-24 14:29:0513361parcourir

Non. Le langage C lui-même ne fournit pas d'instructions d'entrée et de sortie. Les opérations d'entrée et de sortie sont implémentées par des fonctions. Le but de ne pas traiter les entrées et les sorties comme des instructions fournies par le langage C est de simplifier le système de compilation du langage C, car les instructions de traduction des instructions en binaire sont complétées pendant la phase de compilation. L'absence d'instructions d'entrée et de sortie peut éviter de traiter. avec des problèmes liés au matériel pendant la phase de compilation, qui peut simplifier le système de compilation, a une grande polyvalence et une bonne portabilité, est applicable à différents types d'ordinateurs et est facile à mettre en œuvre sur différents ordinateurs.

Le langage C lui-même a-t-il des instructions d'entrée et de sortie ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, version c99, ordinateur Dell G3.

Le langage C lui-même n'a pas d'instructions d'entrée et de sortie. Le langage C lui-même ne fournit pas d'instructions d'entrée et de sortie. Les opérations d'entrée et de sortie sont implémentées par des fonctions, et la lecture et l'écriture de fichiers sont également implémentées à l'aide de fonctions de bibliothèque.

La bibliothèque de fonctions standard du langage C fournit certaines fonctions d'entrée et de sortie, telles que : la fonction printf et la fonction scanf. Cependant, les fonctions printf et scanf ne sont pas des mots-clés en langage C, juste des noms de fonctions.

Les fonctions fournies par C sont stockées dans le système sous forme de bibliothèques. Elles ne font pas partie du texte du langage C. Le but de ne pas utiliser les entrées et les sorties comme instructions fournies par le langage C est de simplifier le système de compilation du langage C, car les instructions de traduction des instructions en binaire sont complétées dans la phase de compilation. Aucune instruction d'entrée et de sortie ne peut éviter le traitement matériel. problèmes liés à la phase de compilation. Il peut simplifier le système de compilation, a une grande polyvalence et une bonne portabilité, et est applicable à différents types d'ordinateurs, ce qui le rend facile à mettre en œuvre sur divers ordinateurs.

Différentes versions des bibliothèques de fonctions du langage C sont écrites par divers fabricants d'ordinateurs pour un certain type d'ordinateur et ont été compilées en fichiers objets (fichiers .obj). Lors de la phase de liaison, ils sont connectés aux fichiers objets compilés à partir du programme source pour générer un programme objet exécutable. S'il existe une fonction printf dans le programme source, elle n'est pas traduite en instruction cible lors de la compilation. Au lieu de cela, la fonction printf dans la bibliothèque de fonctions connectée est appelée pendant la phase d'exécution.

Développer les connaissances :

Contrairement à d'autres langages de programmation informatique, la plupart des fonctions du langage C sont implémentées via des appels de fonction, de sorte que le nombre d'instructions dans le langage C lui-même est faible. Le langage C adopte une méthode qui rend l'extension des fonctions du langage très pratique. Si vous devez ajouter de nouvelles fonctions, il vous suffit d'ajouter les fonctions correspondantes dans la bibliothèque de fonctions ; et si la fonction d'une fonction doit être ajustée, il vous suffit de modifier le code de la fonction elle-même, mais ce n'est pas nécessaire. pour modifier d'autres programmes qui appellent la fonction.

Les fonctions en langage C sont appelées fonctions système. Les utilisateurs peuvent appeler directement ces fonctions pour compléter les fonctions correspondantes. Par exemple, printf, fabs, etc. sont toutes des fonctions système. Les fonctions système sont stockées dans des fichiers système appelés « bibliothèques de fonctions C ». Lorsqu'une fonction doit être utilisée, le système doit être informé de la bibliothèque de fonctions où se trouve la fonction. Ceci est réalisé en incluant un fichier d'en-tête. Par exemple, le cadre de base du programme C présenté ci-dessous :

#include "stdio.h"
#include "conio.h"
int main(void)
{
     /* 此处添加你自己的代码 */
     getch();
     return 0;
}

L'instruction de prétraitement #include "stdio.h" indique au système d'inclure le fichier d'en-tête stdio.h dans ce fichier programme, Vous pouvez donc utiliser les fonctions système qui ont été définies. #include "stdio.h"预处理语句就是通知系统将stdio.h头文件包含到本程序文件中,这样就可以使用其中已经定义的系统函数。

C语言中的基本输入功能通过使用函数scanf函数实现,基本输出功能通过使用函数printf实现。这两个函数的头文件是stdio.h,但由于这是两个非常常用的函数,C语言中规定在使用这两个函数时可以省略相应的#include命令。

#include叫做文件包含命令,用来引入对应的头文件(.h文件)。#include 也是C语言预处理命令的一种。

#include 的处理过程很简单,就是将头文件的内容插入到该命令所在的位置,从而把头文件和当前源文件连接成一个源文件,这与复制粘贴的效果相同。

#include 的用法有两种,如下所示:

#include <stdHeader.h>
#include "myHeader.h"

使用尖括号6d267e5fab17ea8bc578f9e7e5e1570b和双引号" "的区别在于头文件的搜索路径不同:

  • 使用尖括号6d267e5fab17ea8bc578f9e7e5e1570b,编译器会到系统路径下查找头文件;

  • 而使用双引号" "

    La fonction d'entrée de base en langage C est réalisée en utilisant la fonction scanf, et la fonction de sortie de base est réalisée en utilisant la fonction printf. Le fichier d'en-tête de ces deux fonctions est stdio.h, mais comme ce sont deux fonctions très couramment utilisées, le langage C stipule que le #include correspondant peut être omis lors de l'utilisation de ces deux fonctions. Commande .

#include est appelée la commande d'inclusion de fichier, qui est utilisée pour introduire le fichier d'en-tête correspondant (fichier .h). #include est également un type de commande de prétraitement en langage C.

#include Le processus de traitement est très simple, qui consiste à insérer le contenu du fichier d'en-tête à l'emplacement de la commande, connectant ainsi le fichier d'en-tête et le fichier source actuel en un seul fichier source, ce qui est le même que l'effet du copier-coller.

    #include peut être utilisé de deux manières, comme indiqué ci-dessous :
  • rrreee

    La différence entre l'utilisation des crochets angulaires 6d267e5fab17ea8bc578f9e7e5e1570b et des guillemets doubles " " réside dans le rechercher les fichiers d'en-tête Les chemins sont différents :

  • Utilisez des crochets 6d267e5fab17ea8bc578f9e7e5e1570b, le compilateur recherchera le fichier d'en-tête dans le chemin système ;

    🎜🎜🎜Utilisez des guillemets doubles " " , le compilateur recherche d'abord le fichier d'en-tête dans le répertoire courant. S'il n'est pas trouvé, il recherche ensuite dans le chemin système. 🎜🎜🎜🎜En d'autres termes, l'utilisation de guillemets doubles a un chemin de recherche de plus que l'utilisation de crochets angulaires, et sa fonction est plus puissante. 🎜🎜Remarques sur l'utilisation de #include : 🎜🎜🎜🎜Une commande #include ne peut inclure qu'un seul fichier d'en-tête, et plusieurs fichiers d'en-tête nécessitent plusieurs commandes #include. 🎜🎜🎜🎜Le même fichier d'en-tête peut être introduit plusieurs fois. L'effet de plusieurs introductions est le même que l'effet d'une seule introduction, car les fichiers d'en-tête ont un mécanisme pour empêcher une introduction répétée au niveau du code. dans « Empêcher l'introduction des fichiers d'en-tête du langage C. Ceci est discuté en profondeur dans l'article « Double inclusion ». 🎜
  • L'inclusion de fichiers permet l'imbrication, ce qui signifie qu'un fichier inclus peut contenir un autre fichier.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn