当前位置:网站首页>C apprentissage des langues - jour 12.

C apprentissage des langues - jour 12.

2022-06-27 09:56:00 Bad Bad - 5


  • Référence d'apprentissageBVidéo du professeur Hao Bin debout,Le code source de l'article peut être contacté en privé si nécessaire.

Tableau

  • Action
    • Pour résoudre les problèmes de stockage et d'utilisation de grandes quantités de données du même type
      • Pour un grand nombre de données du même type,Il n'est pas nécessaire de redéfinir le nom de la variable
    • Pour simuler le monde réel
      • Un tableau unidimensionnel:a[x]Représente une ligne droite
      • Tableau bidimensionnel:a[x][y]Plan de représentation
      • Tableau 3D:a[x][y][z]Représente l'espace
      • Un tableau à quatre chiffres:a[x][y][z][h]Représente l'espace + Temps
  • Format
    • aEst le nom de la variable
    • nIndique qu'il y anVariables
    • Le premier esta[0],Le dernier esta[n-1]
a[n] = {
    1, 2, ...,n};

Exemple

/*Tableau*/
# include <stdio.h>

int main(void)
{
    
	int a[5] = {
    1, 2, 3, 4, 5};  //aReprésente le nom du tableau,5Indique qu'il y a cinq éléments
	int i;

	for (i = 0; i < 5; ++i)
	{
    
		printf("%d\n", a[i]);
	}

	return 0;
}
  • a[5] = {1, 2, 3, 4, 5}aReprésente le nom du tableau,5Indique qu'il y a cinq éléments, Chacun est a[0]、a[1]...a[4]
/*Résultats des opérations*/
1
2
3
4
5
Press any key to continue

Un tableau unidimensionnel

  • Format:
    • int a[3];
    • Indique qu'il y a un total de3Éléments
    • 3 Les noms des éléments sont
      • a[0]a[1]a[2]
  • Définition:
    • Pour n Les variables allouent continuellement de l'espace de stockage
    • Toutes les variables doivent avoir le même type de données
    • Toutes les variables doivent avoir la même taille d'octet
/*Mauvaise écriture1*/
    int a[5];
    a[5] = {
    1, 2, 3, 4, 5};
  • Vous ne pouvez assigner une valeur globale qu'en définissant le tableau
  • Après la définition a[5] Ce n'est pas un tableau , C'est le numéro 6Item (s)
  • Tableaua[5]Moyenne,Seulementa[0] - a[4]Item (s),Non.a[5]Item (s)

Exemple:a La valeur du tableau est copiée à bTableau

/*Mauvaise écriture2*/
    b = a;  //a、b Indique l'adresse du premier élément du tableau 
//Écrire correctement
    for (i = 0; i < 5; ++i)
        b[i] = a[i];

Fonctionnement du tableau

  • Initialisation
  • Affectation
  • Trier
  • Max./Petite valeur
  • Inversion
  • Trouver
  • Insérer
  • Supprimer

Initialisation

  • Initialisation complète
    • int a[5] = {1, 2, 3, 4, 5};
  • Initialisation incomplète
    • int a[5] = {1, 2, 3};
    • Les éléments non initialisés sont automatiquement 0
  • Ne pas initialiser
    • int a[5];
    • Tous les éléments sont des valeurs de déchets
  • Zéro.
    • int a[5] = 0
    • Tous les éléments sont: 0

Affectation

/*Assignation des tableaux*/
# include <stdio.h>

int main(void)
{
    
    int a[5];
    int i;
    
    printf("Veuillez entrera[0]Valeur de:");
    scanf("%d", &a[0]);
    printf("a[0] = %d\n", a[0]);

    printf("Veuillez entrera[3]Valeur de:");
    scanf("%d", &a[3]);
    printf("a[3] = %d\n", a[3]);
    printf("---------------\n");

    for (i = 0; i < 5; ++i)
        printf("a[%d] = %d\n", i, a[i]);  // Valeurs des éléments du tableau de sortie du cycle 

    return 0;
}
/*Résultats des opérations*/
Veuillez entrera[0]Valeur de: 1
a[0] = 1
Veuillez entrera[3]Valeur de:3
a[3] = 3
---------------
a[0] = 1
a[1] = -858993460  // Les éléments qui ne sont pas initialisés sont remplis de données inutiles 
a[2] = -858993460
a[3] = 3
a[4] = -858993460
Press any key to continue

Inversion

Exemple: Inverser la sortie des éléments d'un tableau

/* Inverser la sortie des éléments d'un tableau */
# include <stdio.h>

int main(void)
{
    
	int a[5] = {
    1, 2, 3, 4, 5};
	int i, j;
	int t;  //Utilisé pour stocker des données temporaires

	i = 0;
	j = 4;
	while (i < j)
	{
    
		t = a[i];
		a[i] = a[j];
		a[j] = t;

		++i;  // Aucune valeur globale n'est utilisée pour l'auto - augmentation ou l'auto - diminution de la variable ,Alors...i++Et++iPeut être utilisé
		--j;
	}
		
	printf(" La sortie du tableau inversé est :");

	for (i = 0; i < 5; ++i)
		printf("%d, ", a[i]);
	printf("\n");	

	return 0;
}
/*Analyse*/
i = 0
j = 4

0 < 4Fondé,En boucle

t = a0 = 1
a0 = a4 = 5
a4 = t = 1

i = 1
j = 3

1 < 3Fondé,En boucle

t = a1 = 2
a1 = a3 = 4
a3 = t = 2

i = 2
j = 2

2 < 2C'est faux.,Cycle de sortie

a[5] ={
    5, 4, 3, 2, 1}  //a[2]La valeur ne change pas
/*Résultats des opérations*/
 La sortie du tableau inversé est :5, 4, 3, 2, 1,
Press any key to continue
  • Vérifier si le nombre pair est toujours valide

Tableau bidimensionnel

  • Format:
    • int a[3][4];
    • Indique qu'il y a un total de12Éléments,Peut être considéré comme3D'accord4 Voir colonne
    • 12 Les noms des éléments sont :
a[0][0]  a[0][1]  a[0][2]  a[0][3]
a[1][0]  a[1][1]  a[1][2]  a[1][3]
a[2][0]  a[2][1]  a[2][2]  a[2][3]
  • a[i][j]Indique le paragraphei + 1D'accord,Noj + 1Colonnes

Initialisation du tableau 2D

  • Les deux méthodes sont équivalentes
/*Initialisation du tableau 2D*/
    int a[3][4] = {
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
    int a[3][4] = {
    
        {
    1, 2, 3, 4},
        {
    5, 6, 7, 8},
        {
    9, 10, 11, 12}
    };

Fonctionnement d'un tableau bidimensionnel

  • Sortie sur un tableau 2D
  • Trier un tableau 2D
  • Trouvez le maximum pour chaque ligne
  • Déterminer si la matrice est symétrique
  • Multiplication des matrices
/* Représentation et sortie d'un tableau bidimensionnel */
# include <stdio.h>

int main(void)
{
    
    int a[3][4] = {
    
        {
    1, 2, 3, 4},
        {
    5, 6, 7, 8},
        {
    9, 10, 11, 12}
    };

    // Vous pouvez également saisir un tableau bidimensionnel comme suit 
    //int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

    int i,j;

    for (i = 0; i < 3; ++i)
    {
    
        printf("No %d D'accord:", i + 1);
        for (j = 0; j < 4; ++j)
        {
    
            printf("%-3d", a[i][j]);  //-3d%Indique l'alignement à gauche, Milieu de 3 Position du curseur 
        }
        printf("\n");
    }

    return 0;
}
/*Résultats des opérations*/
No 1 D'accord:1  2  3  4
No 2 D'accord:5  6  7  8
No 3 D'accord:9  10 11 12
Press any key to continue

Existe - t - il un tableau multidimensionnel

  • Il n'y a pas de tableau multidimensionnel
    • Parce que la mémoire est linéaire unidimensionnelle
  • n Les groupes de dimensions peuvent être considérés comme n - 1Un tableau unidimensionnel de tableaux de dimensions
    • int a[3][4];
      • Le tableau contient 3Un tableau unidimensionnel d'éléments
      • Chaque tableau unidimensionnel peut également contenir 4Éléments

【 Article Source référence GitHub】


Tout ce qui précède est original,En cas d'incertitude ou d'erreur,Veuillez noter que.
原网站

版权声明
本文为[Bad Bad - 5]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/178/202206270944549610.html