(kosta教育)9日目プログラミングの勉強


今日は塾に行くために家を出て、とても気持ちがいいです.今日も進行形!

再検査する内容

  • コンパイル言語、インタラクティブ言語
  • エンタープライズ言語(Python、JavaScript...)
  • 文字列定数
  • 、文字列変数
  • 最後に、ポインタを勉強すれば、C言語は終わります.
    以前は見送ったのがとても良くて、今1つ送って、心の中は寂しいです.
    いきなり一人ででたらめを言う.^^

    シナリオの理解と使用

  • アレイでは、アレイ要素間のレプリケーションが必要です.
  • #include<stdio.h>
    
    int main(void) 
    {
    	
    	int arr1[5] = { 1, 2, 3, 4, 5 };
    	int arr2[5];
    	
    	arr2 = arr1; // arr2는 배열의 주소값이다. // 에러가 발생한다.
    
    	return 0;
    }
    エラーを修正した結果
    #include<stdio.h>
    
    int main(void) 
    {
    	
    	int arr1[5] = { 1, 2, 3, 4, 5 };
    	int arr2[5];
    	
    	// 배열값 복사
    	for (int i = 0; i < sizeof(arr1) / sizeof(int); i++) {
    		arr2[i] = arr1[i];
    	}
    	 
        // 복사된 배열 확인하기
    	for (int i = 0; i < sizeof(arr1) / sizeof(int); i++) {
    		printf("%d\n", arr2[i]);
    	}
    
    	return 0;
    }
    配列の逆順で保存
    #include<stdio.h>
    
    int main(void) 
    {
    	
    	int arr1[5] = { 1, 2, 3, 4, 5};
    	int arr2[5];
    	
    	int length = sizeof(arr1) / sizeof(int);
    	for (int i = 0; i < sizeof(arr1) / sizeof(int); i++) {
    		arr2[i] = arr1[length - i - 1];
    	}
    	 
    	for (int i = 0; i < sizeof(arr1) / sizeof(int); i++) {
    		printf("%d\n", arr2[i]);
    	}
    
    	return 0;
    }

    文字列

  • 文字列は1バイト
  • 文字列にnullが最後に追加されます.
  • 文字列の長さが分からない場合は、配列の長さを省略できます.
  • 	char str[12] = "Hello World";
    
    int main(void) 
    {
    	
    	char str[] = "Hello World";
    	printf("** 문자열 변경 전 ** \n");
    	printf("%s \n\n", str);
    
    	str[6] = 'K';
    	str[7] = 'o';
    	str[8] = 'r';
    	str[9] = 'e';
    	str[10] = 'a';
    
    	printf(" ** 문자열 변경 후 ** \n");
    	printf("%s\n", str);
    
    	return 0;
    }
    配列の長さは100ですが、空の文字「0」に遭遇するまで出力されます.
    #include<stdio.h>
    
    int main(void) 
    {
    	
    	char str1[100] = "Beautiful";
    
    	for (int i = 0; i < 10; i++) {
    		printf("%c", str1[i]);
    	}
    	printf("\n");
    	printf("str1 = %s\n", str1);
    
    
    	return 0;
    }
    あなたの2番目の質問について
    #include<stdio.h>
    
    int main(void) 
    {
    	
    	char str1[] = "Hello\0World";
    	printf("str1 = %s\n", str1);
    
    	str1[3] = '\0';
    	printf("str1 = %s\n", str1);
    
    	str1[0] = '\0';
    	printf("str1 = %s\n", str1);
    
    	return 0;
    }
    chはアスキーコードで65を表す.
    #include<stdio.h>
    
    int main(void)
    {
    	char ch = 'A';
    
    	for (int i = 0; i <= 25; i++) {
    		printf("%c\n", ch + i);
    	}
    
    	return 0;
    }
    アレイには入力値が直接得られます.
    #include<stdio.h>
    
    
    void Max(int a, int b);
    
    int main(void)
    {
    	int arr[2];
    
    	printf("a를 입력하세요: ");
    	scanf_s("%d", &arr[0]);
    	printf("b를 입력하세요: ");
    	scanf_s("%d", &arr[1]);
    
    	Max(arr[0], arr[1]);
    
    	return 0;
    }
    
    
    void Max(int a, int b) {
    
    	if (a > b) {
    		printf("큰 수는 %d", a);
    	}
    	else if (a < b) {
    		printf("큰 수는 %d", b);
    	}
    	else {
    		printf("두 수는 같습니다.");
    	}
    }