기계는 바이너리만 이해합니다. 사람이 읽을 수 있는 컴퓨터 명령 목록을 작성할 때 기계는 현재 기계 코드라고 부르는 것만 이해합니다. 이 기계어는 1과 0으로만 구성되어 있습니다.
컴파일러
라는 특별한 프로그램을 이용하면 소스 코드를 기계어 코드로 바꿀 수 있습니다.
좋은 코드는 3가지 기준으로 판단할 수 있습니다.
정확성(
#include <stdio.h> int main(void) { printf("salom, dunyo\n") }
텍스트를 인쇄합니다. 그 안의 특수 문자는 컴파일러에게 다음 문자가 특수 명령어임을 알려줍니다. 그리고 그 뒤의 기호 n은 "새 줄"(새 줄)을 의미합니다.
코드의 첫 번째 줄에 있는 표현식은 stdio.h라는 라이브러리의 기능을 사용하겠다고 말하는 매우 특별한 명령입니다. 이 라이브러리를 사용하면 printf 함수를 사용할 수 있습니다.
라이브러리
는 코드에서 사용할 수 있는 미리 만들어진 함수 모음입니다.
변수
#include <cs50.h> #include <stdio.h> int main(void) { string answer = get_string("Ismingiz nima? "); printf("Assalomu alaykum, %s\n", answer); }
문자열
유형입니다. 그 밖에도 int, bool, char 등 다양한 데이터 유형이 있습니다.
%s는 printf 함수가 문자열 변수를 받아들일 준비를 하도록 지시하는 형식 코드
라는 자리 표시자입니다.
다른 데이터 유형에 대한 형식 코드도 있습니다. 예를 들면 다음과 같습니다.
%i -
int
(정수).
조건부 연산자
#include <cs50.h> #include <stdio.h> int main(void) { int x = get_int("x ni kiriting: "); int y = get_int("y ni kiriting: "); if (x < y) { printf("x soni y sonidan kichik\n"); } }
)의 두 변수, 변수 x와 y를 생성합니다. 해당 값은 cs50.h 라이브러리의 get_int 함수를 사용하여 채워집니다. 조건 연산자를 이용하여 x와 y의 값을 비교하고 그 결과에 따라 화면에 메시지를 표시해 줍니다.
블록 다이어그램은 컴퓨터 프로그램이 어떻게 작동하는지 확인할 수 있는 방법입니다. 이 방법을 사용하면 코드의 효율성을 확인할 수 있습니다.
위 코드의 블록 다이어그램을 살펴보겠습니다.
다음과 같이 코딩하면 프로그램을 개선할 수 있습니다.
#include <cs50.h> #include <stdio.h> int main(void) { int x = get_int("x ni kiriting: "); int y = get_int("y ni kiriting: "); if (x < y) { printf("x soni y sonidan kichik\n"); } else if (x > y) { printf("x soni y sonidan katta\n"); } else { printf("x soni y soniga teng\n"); } }
반복 연산자
를 화면에 3번 출력해 보겠습니다.
#include <stdio.h> int main(void) { printf("meow\n"); printf("meow\n"); printf("meow\n"); }
#include <stdio.h> int main(void) { int i = 0; while (i < 3) { printf("meow\n"); i++; } }
#include <stdio.h> int main(void) { for (int i = 0; i < 3; i++) { printf("meow\n"); } }
두 번째 인수: i < 3 - 상태를 확인했습니다.
마지막으로 i++ 인수는 숫자 i가 1씩 증가할 때마다 의미합니다.
우리는 또한 우리만의 함수를 만들 수도 있습니다:
void meow(void) { printf("meow\n"); }
#includevoid meow(void); int main(void) { for (int i = 0; i < 3; i++) { meow(); } } void meow(void) { printf("meow\n"); }
meow funksiyasini asosiy funksiya ichida chaqira olishimiz uchun funksiya prototipi kodning yuqori qismida void meow(void) sifatida berilgan.
Keling, C tilida kalkulyator yasaymiz:
#include <cs50.h> #include <stdio.h> int main(void) { // x qiymati kiritilsin int x = get_int("x: "); // y qiymati kiritilsin int y = get_int("y: "); // Qo'shish amalini bajarish printf("%i\n", x + y); }
get_int funktsiyasi yordamida foydalanuvchidan butun son bo'lgan x va y o'zgaruvchilariga qiymat berishi so'ralyabdi. Keyin printf funksiyasi butun son uchun format kodi - %i belgisi yordamida x + y qiymatini chop etadi.
Arifmetik operatorlar kompilyator tomonidan qo'llab-quvvatlanadigan matematik operatsiyalardir. C tilida arifmetik operatorlarga quyidagilar kiradi:
Abstraksiya - bu muammoni kichik-kichik bo'laklarga bo'lib hal qilish orqali kodimizni soddalashtirish san'ati.
Biz yuqoridagi kodimizni quyidagicha abstraktlashimiz mumkin:
#include <cs50.h> #include <stdio.h> int add(int a, int b); int main(void) { // x qiymati kiritilsin int x = get_int("x: "); // y qiymati kiritilsin int y = get_int("y: "); // Qo'shish amalini bajarish printf("%i\n", add(x, y)); } int add(int a, int b) { return a + b; }
Bunda parametr sifatida a va b butun sonlarini qabul qilib oladigan va ularning yig'indisini qaytaradigan alohida add funksiyasi e'lon qilingan va asosiy funksiya ichida argument sifatida x va y butun sonlarini olib add(x, y) funksiyamiz chaqirilyabdi.
Kommentlar - kompyuter dasturining asosiy qismlari bo'lib, yozgan kodimiz nima vazifa bajarayotganini ifodalovchi, boshqa dasturchilarga, shuningdek o'zimizga tushunarli hamda qisqa qilib qoldirgan izohlarimizdir. Kommentni yozish uchun shunchaki ikkita // beligisidan foydalanamiz:
#include <cs50.h> #include <stdio.h> int main(void) { // Musbat butun son kiritilsin int n; do { n = get_int("Musbat butun son kiriting: "); } while (n < 1); }
Ma'lumotlar turlari o'zgaruvchida saqlanishi mumkin bo'lgan ma'lumotlar turini belgilaydi. Misol uchun, o'zgaruvchilar raqamlar, belgilar yoki mantiqiy qiymatlarni saqlashi mumkin. O'zgaruvchining turi kompyuterga ushbu ma'lumotlarni qanday boshqarishni aytadi.
C tilidagi umumiy maʼlumotlar turlari:
Har bir turning o'ziga xos chegaralari bor. Misol uchun, xotiradagi cheklovlar tufayli int ning eng yuqori qiymati 4294967295 bo'lishi mumkin. Agar biz int ni uning eng yuqori qiymatidan o'tkazib sanashga harakat qilsak, bu o'zgaruvchida noto'g'ri qiymat saqlanishiga (integer overflow) olib keladi.
Xotirani noto'g'ri ishlatish kodimizdagi xatolar yoki muammolarga olib kelishi mumkin. Muammolarni oldini olish uchun biz to'g'ri ma'lumot turidan foydalanayotganimizga ishonch hosil qilishimiz kerak.
Ushbu maqolada CS50x 2024 manbasidan foydalanilgan.
위 내용은 CS- 1주차의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!