Wikipedia kabwiki https://kab.wikipedia.org/wiki/Asebter_agejdan MediaWiki 1.47.0-wmf.15 first-letter Media Uslig Mmeslay Amseqdac Amyannan umsqedac Wikipedia Amyannan n Wikipedia Tugna Amyannan n tugna MediaWiki Amyannan n MediaWiki Talɣa Amyannan n talɣa Tallat Amyannan n tallat Taggayt Amyannan n taggayt Awwur Amyannan uwwur Asenfaṛ Amyannan usenfaṛ TimedText TimedText talk Module Discussion module Event Event talk Sujet C (tutlayt) 0 252 117095 117092 2026-08-17T13:05:29Z Gurzil90x 14292 arniɣ ayen ilaqen 117095 wikitext text/x-wiki {{Infobox programming language | name = C | logo = File:C1stEdition.svg | logo size = 140px | logo alt = Text in light blue serif capital letters on white background and very large light blue sans-serif letter C. | logo caption = ''[[The C Programming Language]]''<ref name="k&r1e" /> (often referred to as "K&R"), the seminal book on C | paradigm = [[Imperative programming|Imperative]] ([[Procedural programming|procedural]]), [[structured programming|structured]] | designer = [[Dennis Ritchie]] | developer = [[Dennis Ritchie]] & [[Bell Labs]] (creators); ANSI X3J11 ([[ANSI C]]); {{nobr|ISO/IEC JTC1/SC22/WG14}} (ISO C) | latest release version = [[C18 (C standard revision)|C18]] | latest release date = {{start date and age|2018|06}} | typing = [[Type system|Static]], [[Weak typing|weak]], [[manifest typing|manifest]], [[Nominal type system|nominal]] | implementations = K&R, [[GNU Compiler Collection|GCC]], [[Clang]], {{nowrap|[[Intel C++ Compiler|Intel C]],}} [[Microsoft Visual C++]], {{nowrap|[[Watcom C/C++ compiler|Watcom C]]}} | dialects = [[Cyclone (programming language)|Cyclone]], [[Unified Parallel C]], [[Split-C]], [[Cilk]], [[C*]] | influenced = [[:Category:C programming language family|Numerous]]: [[AMPL]], [[AWK]], [[C shell|csh]], [[C++]], [[C--]], [[C Sharp (programming language)|C#]], [[Objective-C]], [[D (programming language)|D]], [[Go (programming language)|Go]], [[Java (programming language)|Java]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Limbo (programming language)|Limbo]], [[LPC (programming language)|LPC]], [[Perl]], [[PHP]], [[Pike (programming language)|Pike]], [[Processing (programming language)|Processing]], [[Python (programming language)|Python]], [[Ring (programming language)|Ring]],<ref name="Ring language and other languages">{{cite web |url=http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |title=Ring language and other languages |author=Ring Team |date=5 December 2017 |work=ring-lang.net |publisher=[[ring-lang]] |access-date=20 April 2019 |archive-date=25 December 2018 |archive-url=https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |url-status=dead }}</ref> [[Rust (programming language)|Rust]], [[Seed7]], [[Vala (programming language)|Vala]], [[Verilog]] (HDL),<ref name="vinsp">{{cite web|title=Verilog HDL (and C)|url=http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|date=2010-06-03|accessdate=2013-08-19|publisher=The Research School of Computer Science at the Australian National University|quote=1980s: ; Verilog first introduced ; Verilog inspired by the C programming language|deadurl=yes|archiveurl=https://web.archive.org/web/20131106064022/http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|archivedate=2013-11-06|df=}}</ref> [[Nim (programming language)|Nim]] | operating system = [[Cross-platform]] | year = 1972<ref name="dottcl_2" /> | turing-complete = Yes | influenced_by = [[B (programming language)|B]] ([[BCPL]], [[CPL (programming language)|CPL]]), [[ALGOL 68]],<ref name="dottcl" /> [[Assembly language|Assembly]], [[PL/I]], [[FORTRAN]] | file ext = {{Mono|.c}}, {{Mono|.h}} | wikibooks = C Programming }} '''Tutlayt n usihel C''' d yiwet seg tutlayin n usihel i yesɛan azal ameqran deg umezruy n uselkim. Seg mi d-tlul deg useggas n 1972, teqqim d ttawil agejdan i usnulfu n inagrawen n wammud, isnasen, imikṛuselkimen, d waṭas n yisenfaren nniḍen. C d tutlayt i d-yettaken afus i umessihel ad yeḥkem mliḥ deg wayen i d-yettxelliṣ neɣ iselḥu uselkim: takatut, asekkar, d tiddin n wahil. Deg yiwet n tama, C tqrib ɣer usekkar; deg tama nniḍen, tesɛa taseddast fessusen i yettɛawanen amdan ad yaru tangalt yettwafhamen. == Amezruy n C == Tutlayt C yesnulfu-tt-id Dennis Ritchie deg Bell Labs gar useggas n 1969 d 1973. Yella yesra tutlayt i yesɛan tazmert n usnulfu n unagraw Unix s wudem fessusen, arurad, yettwasnen. Send C, llan tutlayin am B d BCPL, maca C tessaweḍ ad tili d ttawil ufrin, acku tella: '''fessuset i uselmed''', '''teqreb ɣer usekka'''r, '''tesɛa tiseddi deg usenker n wahil''', '''yettwasfsu s umsefsay''', '''tezmer ad tili ɣef waṭas n yiselkimen(tiɣeṛɣaṛt tanmidagt)'''. Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis d axatar: ''The C Programming Language''. Adlis-a yuɣal d tamselɣut tagejdant i yimsihlen. Sin akin, C tettwaslugen s wuṭṭunen n ilugan: '''C89 / C90''': alugen ANSI d ISO amezwaru. '''C99''': yerna-d ddeqs n tmerniyin am //, for (int i = 0; ...), d tawsatin nniḍen. '''C11''': yerna-d ttawilat i uselḥu amaynut d tɣellist. '''C17''': d aṣeggem n C11. '''C23''': d alugen atrar i d-yernan ddeqs n temsal timaynutin. === Tazwara: acu i d-yeǧǧan C ad tlul? === Deg taggara n iseggasen n 1960, deg Bell Labs (Merraw n Bell) di Marikan, llan imussnawen n tsenselkimt ttnadin ad snulfun anagraw n wammud amaynut, fessusen, yerna yettazzalen s tɣawla. Deg tallit-nni, Ken Thompson yella yettekki deg usenfar n Multics, maca asenfar-nni yuɣal d azuran, yerna yettwaḥseb d aẓayan i uselkim n tallit-nni. Thompson yeǧǧa Multics, yebɣa ad yexdem anagraw amecṭuḥ, s unasiw amecṭuḥ, ɣef uselkim PDP-7. I wakken ad yessuffeɣ anagraw-a, yesnulfu-d tutlayt i wumi isemma B (seg 1969 ar 1970). B tella d tutlayt i d-yekkan seg BCPL (Basic Combined Programming Language), maca tesɛa tilas meqqren: ur tesɛi ara tiwsatin n isefka, u txeddem kan s wawalen n tkatut n tiddi yiwet (mots), ur tezmir ara ad tessenker imuttiyen n tewsatin yemgaraden, arnu ur telli ara d tafessast i usenker n tkatut s wudem uslig. Imiren, yella-d uselkim amaynut PDP-11, i yesɛan tiddi n tkatut n 8 n ibiten (octets). Tutlayt B ur telli ara tezmer ad tessenker anagraw ɣef uselkim-a. Dɣa dagi i d-yekka wugur i yessefken ad yettwafru s tutlayt tamaynut. === Dennis Ritchie d tlalit n C (1972) === Deg useggas n 1971–1972, Dennis Ritchie (i yettwassnen daɣen s yisem dmr) yedda-d ɣer Ken Thompson. Ritchie yebda yettbeddil tutlayt B: yerna-d tiwsatin n isefka (int, char, float...), yerna-d timṣukin i wakken ad yessdukel isefka, yerra tutlayt tezmer ad tessenker tkatut s wudem i yiqerben ɣer usekkar, syin yefka-yas isem C, acku tella d tanernit n B (C d asekkil i d-iteddun deffir B). Ihi, deg useggas n 1972, tlul-d tutlayt C. Ritchie yura amsefsay amezwaru n C ɣef uselkim PDP-11. Deg tallit-nni, C tella tettwaseqdec kan deg Bell Labs, gar imussnawen i yettxeddimen ɣef unagraw amaynut. === Unix yuɣal yettwaru s C (1973) — tagrawla tameqqrant === Deg useggas n 1973, Ken Thompson d Dennis Ritchie gezmen-tt di ṛṛay ad arun anagraw Unix s tutlayt C. Aya yella d tagrawla tameqqrant deg umezruy n uselkim, acku: send 1973, inagrawen n wammud llan ttwarun s tutlayin n usuddes (assembly), i yiqerben mliḥ ɣer usekkar, maca ur zmiren ara ad ttwasnekren seg uselkim ɣer wayeḍ. s C, Unix yuɣal s wudem n uzgay: nezmer ad t-nesselkem ɣef waṭas n yiselkimen yemgaraden, s ubeddel amecṭuḥ kan. C tessken-d belli tutlayt n uswir ameqran tezmer ad tili d ttawil i usnulfu n unagraw n wammud s tɣawla, war ma nesṛuḥ asenker n tkatut. Seg imiren, Unix d C uɣalen d tayuga yettwaqqnen. Yal taneqqiṭ n umezruy n C tezda d umenzu n Unix. === Asuffeɣ seg Bell Labs d udlis n K&R (1978) === Deg iseggasen n 1970, C tebda ad tazzal beṛṛa n Bell Labs: imussnawen nniḍen bdan ttissinen-tt, snulfan-d imsefsayen nniḍen, C tebda tettwaseqdec deg isenfaren n iseɣẓanen d inagrawen. Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis i yettwassnen aṭas: "The C Programming Language". Adlis-a yettwasemma s umata "K&R" (seg yismawen n yimura-s). Yuɣal d tamselɣut tagejdant i yimsihlen n umaḍal meṛṛa, yerna yefka-d "alugen" amezwaru n C, i yettwassnen ass-a s yisem "K&R C". Deg tallit-a, llan aṭas n yimsefsayen n C i d-yeffɣen, maca yal yiwen yesɛa kra n umgired. Ayagi yessefk ad yettwafru s uslugen (tizeɣt). == Aslugen n C == === Alugen amezwaru: ANSI C / C89 (1983–1989) === Deg useggas n 1983, ANSI (American National Standards Institute) tesbedd-d tamagrawt i wumi isemma X3J11, i wakken ad tessenker alugen n C. Sdeffir n 6 n yiseggasen n leqdic, deg useggas n 1989, ssuffɣen-d alugen amezwaru unṣib: ANSI X3.159-1989, i yettwassnen s yisem "C89" neɣ "ANSI C". Deg useggas n 1990, ISO teqbel alugen-a s ubeddel amecṭuḥ, tessuffeɣ-d ISO/IEC 9899:1990, i yettwassnen s yisem "C90". C89 d C90 qrib d yiwen. C89/C90 rnan-d ddeqs n tɣawsiwin i yessersen C ɣef llsas iḥersen: * tinaḍin n tesɣanin (prototypes de fonctions) * tamkarḍit talugant am stdio.h, stdlib.h, string.h * aslugen n uzarsekkar (préprocesseur) * aslugen n tewsatin d tseddast Seg imiren, C tuɣal d tutlayt yettwassnen deg umaḍal meṛṛa, yettwasqedcen deg uselkim, deg usnas (deg uḥric temguri) d uselmed. === C99 (1999): anerni ameqqran === Sdeffir n mraw n yiseggasen, deg useggas n 1999, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:1999, i yettwassnen s yisem "C99". C99 yerna-d ddeqs n tmerniyin i yettɛawanen imessihlen: * iwenniten s // (am C++ d Java); * tawuriwin inline i arurad deg tidin n useɣwen; * isirawen(neɣ Tifelwiyin) n teɣzi yettbeddilen (tableaux à longueur variable, VLA); * tawsit _Bool (abulan) d stdbool.h; * tawsit long long i yemḍanen meqqren mliḥ; * stdint.h i tewsatin n tiddi yettwafren; * initialisation s yisem (designated initializers), am: struct point p = { .x = 1, .y = 2 }; * tanaṭ "for" s ubeddu amaynut: for (int i = 0; i < n; i++). C99 yettwaqbel s lemɣawla deg waṭas n yimsefsayen am GCC, maca kra n yimsefsayen nniḍen (am MSVC n Microsoft) ɣef llsas-nni ur t-ṭṭifen ara s timmad. === C11 (2011): C tuɣal ɣer tallit tatrant === Deg useggas n 2011, ISO tessuffeɣ-d ISO/IEC 9899:2011, i yettwassnen s yisem "C11" (neɣ C1X send ad d-yeffeɣ). C11 yerna-d ttawilat i yeqqnen ɣer uselkim atrar: aselkem s waṭas n yiskaren (ugut n ikalan ifessasen) s threads.h; timhalin tibelkamin s stdatomic.h, i yeqqnen ɣer uselkem yettwaqqnen; _Generic i tefranin s tewsit; timṣukin d tiddukliwin war isem (anonymous structs/unions); static_assert i uselken deg wakud n usefsu; yettwakkes gets() acku yella d aɣbalu n tuccḍiwin n tɣellist (tafuli n tkatut n weḥraz). C11 tessken-d belli C tezmer ad teddu d tallit n uselkem s waṭas n yiskaren (iskaren yesɛan uget n wulawen) d tɣellist. === C17 / C18 (2018): aseggem kan === Deg useggas n 2018, ISO tessuffeɣ-d ISO/IEC 9899:2018, i yettwassnen s yisem "C17" neɣ "C18". Alugen-a ur yerni ara tamahilt tamaynut; yeṣeggam kan tuccḍiwin yellan deg C11, yerna yessufeɣ-d kra n usegzi. Ihi C17 yella d lqem n "aṣeggem", ur yelli ara d lqem n "tmerniyin". === C23 (2024): lqem atrar === Deg useggas n 2024, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:2024, i yettwassnen s yisem "C23" (neɣ C2X send ad d-yeffeɣ). C23 yerna-d ddeqs n tɣawsiwin i yebɣan imessihlen seg zik: * awalen yettwaṭṭfen bool, true, false (ur yesra ara ad nsekcem stdbool.h) * nullptr i usewwaṛ ilem (pointeur nul), s wudem iḥersen * auto i ubuddu n tewsit s wudem awurman * imḍanen s talɣa tamisint: 0b1010 (binaire) * isekkilen n uɣawas (attributes) s talɣa... <nowiki>[[...]]</nowiki> * typeof i wakken ad d-nawi tawsit n tengalt * #embed i wakken ad nsekcem ifuyla imisinen * yettwakkes ukayad n tewsatin (variable-length arrays) d kra n tɣawsiwin tiqburin. C23 yesskan-d belli C mazal-itt tettbeddil, tettmerni, yerna tezmer ad teqqim d tutlayt tatrant. == Aseqdec n C ass-a == Ass-a, C mazal-itt d tutlayt yettwasqedcen aṭas, ladɣa deg yinagrawen ideg arurad d tkatut d lḥaǧa tagejdant: '''Inagrawen n wammud:''' anagraw Linux yettwaru s C (akked kra n C++ d assembly); iferdisen n Windows d macOS daɣen. '''Imikṛuselkimen d IoT:''' Arduino, STM32, ESP32, d yimikṛuselkimen n tkeṛṛusin, n tɣawsiwin, d tsenselkimt tadamsant. '''Taffiwin n isefka''': PostgreSQL, MySQL, SQLite ttwarun s C. '''Imsefsayen''': GCC, iferdisen n Clang/LLVM, d waṭas n yimsefsayen nniḍen. '''Taɣellist tasenselkamt''' (cybersécurité): aṭas n yifecka n tɣellist ttwarun s C, acku zemren ad kecmen ɣer tkatut s wudem uslig. '''Tigzi taragmawant''': aṭas n temkarḍiyin n AI am TensorFlow d PyTorch sɛant llsas n C/C++ ddaw n Python. == Ayɣer C teqqim armi d ass-a? == Aṭas n tutlayin i d-yeffɣen seg 1972, maca C teqqim. Ayagi yella s kra n ssebbat: '''Tussda d ururad''': tangalt C tettwasfsu ɣer tengalt n usekkar s wudem i yeffɣen, war aselkem n waṭas n yiferdisen nnig-s. '''Azgay''': C tezmer ad tettwaseqdec ɣef qrib yal aselkim. '''Asefrek n tkatut''': C yettak-d afus i umessihel ad yesenker takatut s wudem uslig, ayen ilaqen deg yinagrawen d imikṛuselkimen. '''Alugen iḥersen''': seg C89 armi d C23, C tesɛa alugen yettwassnen, yettwaḥerzen. '''Tamkarḍit d yimsefsayen''': llan aṭas n yimsefsayen (GCC, Clang, MSVC...) d temkarḍiyin i C. '''Taseddast fessusen''': C ur tesɛi ara aṭas n wawalen yettwaṭṭfen, dɣa fessus i uselmed d usnulfu. == Taseddast n C == Taseddast n C d taseddast yesɛan ilugan iḥersen. Kra n yiferdisen agejdanen: === 1. Tanaṭ === Yal tanaṭ deg C ttfaṛu s usekkil n unegzum: ; Amedya:<syntaxhighlight lang="c"> int x = 5; x = x + 1; </syntaxhighlight> === 2. Iḥder n tinaḍin === Tinaḍin yettwagrunen deg yiwen n uḥder ttilint gar } d {. Amedya: <syntaxhighlight lang="c"> if (x > 0) { printf("x d ufrir\n"); } </syntaxhighlight> === 3. Iwenniten === Deg C, nezmer ad naru iwenniten i wakken ad nsegzi tangalt.<syntaxhighlight lang="c"> /* Aya d awennit aɣezfan. Yezmer ad yili ɣef deqs n izirigen. */ // Aya d awennit ɣef izirig amaynut (seg C99). </syntaxhighlight> === 4. Asekkil ameqran d umeẓyan === C yemgarrad gar isekkilen imeqqranen d imeẓyanen. Amedya:<syntaxhighlight lang="c"> int azal = 3; int Azal = 5; // d amutti nniḍen </syntaxhighlight>Deg C, azal d Azal mačči d yiwen. == Ahil amezwaru s C == Amedya amezwaru i yettwaɛerḍen deg yal tutlayt n usihel d “Azul, i umaḍal meṛṛa!”.<syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Azul, i umaḍal meṛṛa!\n"); return 0; } </syntaxhighlight>'''''Asegzi n wahil''''' ''#include <stdio.h>'': tanaṭ n uzarsekkar i d-yewwin tasenṭeḍ stdio.h, yesɛan tisɣanin n unekcum d tuffɣa am printf. ''int main(void)'': d tasɣent tagejdant. Deg C, ahil yettbeddu seg main. ''printf(...)'': tasɣent i d-yessuffuɣen aḍris ɣer tuffɣa talugant. ''\n'': azamul i izirig amaynut. ''return 0;'': yemmal i unagraw belli ahil yemmed bla tuccḍa. Ma nefsa-d tangalt-a s umsefsay, ad d-nawi afaylu yettwaselkemen. Mi ara neselkam-it, ad d-yeffeɣ: Azul, i umaḍal meṛṛa! == Imuttiyen d tawsatin n isefka == Deg C, amutti d amkan i yettḥerzen azal. Yal amutti yesɛa isem d tawsit. === 1. Tawsatin agejdanen === {| class="wikitable" |+ !Tawsit C !Anamek |- |int |amḍan ummid |- |float |amḍan s ticcert yettifliwen |- |double |amḍan s ticcert yettifliwen s tneẓẓi meqqren |- |char |asekkil |- |void |ur yesɛi ara azal / ur d-yettara ara azal |- |_Bool |abulan, seg C99 |} Amedya:<syntaxhighlight lang="c"> int amdan = 25; float azal = 3.14; double azal_d = 2.71828; char asekkil = 'A'; </syntaxhighlight> === 2. Isem n umutti === Isem n umutti yezmer ad yesɛu: isekkilen, izwilen, azamul _. Maca ur yezmir ara: ad yebdu s uzwil, neɣ ad yili d awal yettwaṭṭfen n C, neɣad yesɛu imeslayen ur nelli ara ASCII. Amedya yelhan:<syntaxhighlight lang="c"> int age; int user_name; int total2; </syntaxhighlight> === 3. Timezgiyin === Timezgiyin d azalen ur yettbeddilen ara. Deg C, nezmer ad nseqdec const neɣ #define.<syntaxhighlight lang="c"> const int aseggas = 2026; #define PI 3.14159 </syntaxhighlight> == Tisɣanin deg C == Tasɣent d aḥric n tangalt yixeddmen ccɣel neɣ tawuri yettwafrnen. Deg C, tasɣent tesɛa: tawsit n tririt, isem, iɣewwaren ma llan, iḥder n tinaḍin. === 1. Tisɣanin timeẓliwin === Amedya n tasɣent i yesnernayen sin imḍanen:<syntaxhighlight lang="c"> int smernu(int a, int b) { return a + b; } </syntaxhighlight>Deg "main":<syntaxhighlight lang="c"> #include <stdio.h> int smernu(int a, int b) { return a + b; } int main(void) { int ugmi = smernu(4, 6); printf("Ugmi = %d\n", ugmi); return 0; } </syntaxhighlight>Tuffɣa:<syntaxhighlight lang="c"> Ugmi = 10 </syntaxhighlight> === 2. Tasɣent ur d-yettaran ara azal === Ma yella tasɣent ur d-yettara ara azal, nseqdec "void".<syntaxhighlight lang="c"> void azul(void) { printf("Azul!\n"); } </syntaxhighlight> === 3. Tasɣent main === "main" d tasɣent tagejdant. Anagraw yettbeddu ahil seg-s. Yezmer ad tili s snat n talɣiwin:<syntaxhighlight lang="c"> int main(void) </syntaxhighlight>neɣ:<syntaxhighlight lang="c"> int main(int argc, char *argv[]) </syntaxhighlight>Talɣa tis snat tettwasqdec mi ara nesɛa iɣewwaren seg izirig n unezḍay. == Asenqed n usuddem == Deg C, llan ttawilat i usenqed n tiddin n wahil: tiwtilin, allus, d tefranin. === 1. if / else === <syntaxhighlight lang="c"> if (azal > 0) { printf("ufrir\n"); } else if (azal < 0) { printf("uzdir\n"); } else { printf("ilem\n"); } </syntaxhighlight> === 2. switch === <syntaxhighlight lang="c"> switch (ass) { case 1: printf("Aram\n"); break; case 2: printf("Aram s sin\n"); break; default: printf("Ass nniḍen\n"); break; } </syntaxhighlight> === 3. for === "for" yettwaseqdec aṭas i wallus yettwassnen.<syntaxhighlight lang="c"> for (int i = 0; i < 5; i++) { printf("%d\n", i); } 8.4. while int i = 0; while (i < 5) { printf("%d\n", i); i++; } </syntaxhighlight> === 5. do while === "do while" yettwaxdem tikkelt tamezwaru send ad yessefqed tawtilt.<syntaxhighlight lang="c"> int i = 0; do { printf("%d\n", i); i++; } while (i < 5); </syntaxhighlight> === 6. break d continue === break: yessuffeɣ seg wallus neɣ seg switch. continue: yettazzal ɣer tallut n wallus. == Isirawen d isewwaṛen == === 1. Isirawen === Isirew d agraw n imuttiyen n yiwen n tewsit. Deg C, isirew yettbeddu seg umatar 0.<syntaxhighlight lang="c"> int u[3] = {10, 20, 30}; printf("%d\n", u[0]); // 10 printf("%d\n", u[1]); // 20 printf("%d\n", u[2]); // 30 </syntaxhighlight>Ma yella nebɣa ad naru ɣef isirew: u[1] = 55;<syntaxhighlight lang="c"> u[1] = 55; </syntaxhighlight> === 2. Azrar n isekkilen === C ur yesɛi ara tawsit tagejdant i uzrar n isekkilen am string deg tutlayin nniḍen. Azrar n isekkilen deg C d isirew n char yettfakku s usekkil '\0'.<syntaxhighlight lang="c"> char isem[] = "Kabylia"; printf("%s\n", isem); </syntaxhighlight> === 3. Iswwaṛen === Asewwaṛ d amutti i yettḥerzen tansa n umutti nniḍen. Deg C, asewwaṛ yettwammel s *.<syntaxhighlight lang="c"> int x = 7; int *p = &x; </syntaxhighlight>Deg-s: '''x''' d amutti yesɛan azal '''7'''. '''&x''' d tansa n '''x'''. '''p''' d asewwaṛ i yesɛan tansa n '''x'''. Ma nebɣa ad nbeddel azal s usewwaṛ:<syntaxhighlight lang="c"> *p = 10; </syntaxhighlight>Tura '''x''' yuɣal '''10'''. Iswwaṛen d aferdis ameqran deg C. S ttawil-nsen nezmer ad nseqdec takatut s wudem afessas, maca daɣen zemren ad d-awin tuccḍiwin ma ur ttwaḥerzen ara mliḥ. == Tamselyut == * [http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx www.imyura.net] {{Webarchive|url=https://web.archive.org/web/20130520191734/http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx |date=2013-05-20 }} == Tiwelhiwin == {{Reflist|refs= <ref name="k&r1e">{{cite book |last1=Kernighan |first1=Brian W. |authorlink1=Brian Kernighan |last2=Ritchie |first2=Dennis M. |authorlink2=Dennis Ritchie | title=The C Programming Language | edition=1st |publisher=[[Prentice Hall]] |date=February 1978 |location=[[Englewood Cliffs, NJ]] |isbn=978-0-13-110163-0|title-link=The C Programming Language (book) }} </ref> <ref name="dottcl_2">{{harvtxt|Ritchie|1993}}: "Thompson had made a brief attempt to produce a system coded in an early version of C—before structures—in 1972, but gave up the effort."</ref> <ref name="dottcl">{{harvtxt|Ritchie|1993}}: "The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of."</ref> }} [[Taggayt:Tutlayt n usihel]] agp84t63ojfu4jb8o9p4wrfc23dz380 117098 117095 2026-08-18T10:53:47Z Gurzil90x 14292 arniɣ ayen ilaqen 117098 wikitext text/x-wiki {{Infobox programming language | name = C | logo = File:C1stEdition.svg | logo size = 140px | logo alt = Text in light blue serif capital letters on white background and very large light blue sans-serif letter C. | logo caption = ''[[The C Programming Language]]''<ref name="k&r1e" /> (often referred to as "K&R"), the seminal book on C | paradigm = [[Imperative programming|Imperative]] ([[Procedural programming|procedural]]), [[structured programming|structured]] | designer = [[Dennis Ritchie]] | developer = [[Dennis Ritchie]] & [[Bell Labs]] (creators); ANSI X3J11 ([[ANSI C]]); {{nobr|ISO/IEC JTC1/SC22/WG14}} (ISO C) | latest release version = [[C18 (C standard revision)|C18]] | latest release date = {{start date and age|2018|06}} | typing = [[Type system|Static]], [[Weak typing|weak]], [[manifest typing|manifest]], [[Nominal type system|nominal]] | implementations = K&R, [[GNU Compiler Collection|GCC]], [[Clang]], {{nowrap|[[Intel C++ Compiler|Intel C]],}} [[Microsoft Visual C++]], {{nowrap|[[Watcom C/C++ compiler|Watcom C]]}} | dialects = [[Cyclone (programming language)|Cyclone]], [[Unified Parallel C]], [[Split-C]], [[Cilk]], [[C*]] | influenced = [[:Category:C programming language family|Numerous]]: [[AMPL]], [[AWK]], [[C shell|csh]], [[C++]], [[C--]], [[C Sharp (programming language)|C#]], [[Objective-C]], [[D (programming language)|D]], [[Go (programming language)|Go]], [[Java (programming language)|Java]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Limbo (programming language)|Limbo]], [[LPC (programming language)|LPC]], [[Perl]], [[PHP]], [[Pike (programming language)|Pike]], [[Processing (programming language)|Processing]], [[Python (programming language)|Python]], [[Ring (programming language)|Ring]],<ref name="Ring language and other languages">{{cite web |url=http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |title=Ring language and other languages |author=Ring Team |date=5 December 2017 |work=ring-lang.net |publisher=[[ring-lang]] |access-date=20 April 2019 |archive-date=25 December 2018 |archive-url=https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |url-status=dead }}</ref> [[Rust (programming language)|Rust]], [[Seed7]], [[Vala (programming language)|Vala]], [[Verilog]] (HDL),<ref name="vinsp">{{cite web|title=Verilog HDL (and C)|url=http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|date=2010-06-03|accessdate=2013-08-19|publisher=The Research School of Computer Science at the Australian National University|quote=1980s: ; Verilog first introduced ; Verilog inspired by the C programming language|deadurl=yes|archiveurl=https://web.archive.org/web/20131106064022/http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|archivedate=2013-11-06|df=}}</ref> [[Nim (programming language)|Nim]] | operating system = [[Cross-platform]] | year = 1972<ref name="dottcl_2" /> | turing-complete = Yes | influenced_by = [[B (programming language)|B]] ([[BCPL]], [[CPL (programming language)|CPL]]), [[ALGOL 68]],<ref name="dottcl" /> [[Assembly language|Assembly]], [[PL/I]], [[FORTRAN]] | file ext = {{Mono|.c}}, {{Mono|.h}} | wikibooks = C Programming }} '''Tutlayt n usihel C''' d yiwet seg tutlayin n usihel i yesɛan azal ameqran deg umezruy n uselkim. Seg mi d-tlul deg useggas n 1972, teqqim d ttawil agejdan i usnulfu n inagrawen n wammud, isnasen, imikṛuselkimen, d waṭas n yisenfaren nniḍen. C d tutlayt i d-yettaken afus i umessihel ad yeḥkem mliḥ deg wayen i d-yettxelliṣ neɣ iselḥu uselkim: takatut, asekkar, d tiddin n wahil. Deg yiwet n tama, C tqrib ɣer usekkar; deg tama nniḍen, tesɛa taseddast fessusen i yettɛawanen amdan ad yaru tangalt yettwafhamen. == Amezruy n C == Tutlayt C yesnulfu-tt-id Dennis Ritchie deg Bell Labs gar useggas n 1969 d 1973. Yella yesra tutlayt i yesɛan tazmert n usnulfu n unagraw Unix s wudem fessusen, arurad, yettwasnen. Send C, llan tutlayin am B d BCPL, maca C tessaweḍ ad tili d ttawil ufrin, acku tella: '''fessuset i uselmed''', '''teqreb ɣer usekka'''r, '''tesɛa tiseddi deg usenker n wahil''', '''yettwasfsu s umsefsay''', '''tezmer ad tili ɣef waṭas n yiselkimen(tiɣeṛɣaṛt tanmidagt)'''. Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis d axatar: ''The C Programming Language''. Adlis-a yuɣal d tamselɣut tagejdant i yimsihlen. Sin akin, C tettwaslugen s wuṭṭunen n ilugan: '''C89 / C90''': alugen ANSI d ISO amezwaru. '''C99''': yerna-d ddeqs n tmerniyin am //, for (int i = 0; ...), d tawsatin nniḍen. '''C11''': yerna-d ttawilat i uselḥu amaynut d tɣellist. '''C17''': d aṣeggem n C11. '''C23''': d alugen atrar i d-yernan ddeqs n temsal timaynutin. === Tazwara: acu i d-yeǧǧan C ad tlul? === Deg taggara n iseggasen n 1960, deg Bell Labs (Merraw n Bell) di Marikan, llan imussnawen n tsenselkimt ttnadin ad snulfun anagraw n wammud amaynut, fessusen, yerna yettazzalen s tɣawla. Deg tallit-nni, Ken Thompson yella yettekki deg usenfar n Multics, maca asenfar-nni yuɣal d azuran, yerna yettwaḥseb d aẓayan i uselkim n tallit-nni. Thompson yeǧǧa Multics, yebɣa ad yexdem anagraw amecṭuḥ, s unasiw amecṭuḥ, ɣef uselkim PDP-7. I wakken ad yessuffeɣ anagraw-a, yesnulfu-d tutlayt i wumi isemma B (seg 1969 ar 1970). B tella d tutlayt i d-yekkan seg BCPL (Basic Combined Programming Language), maca tesɛa tilas meqqren: ur tesɛi ara tiwsatin n isefka, u txeddem kan s wawalen n tkatut n tiddi yiwet (mots), ur tezmir ara ad tessenker imuttiyen n tewsatin yemgaraden, arnu ur telli ara d tafessast i usenker n tkatut s wudem uslig. Imiren, yella-d uselkim amaynut PDP-11, i yesɛan tiddi n tkatut n 8 n ibiten (octets). Tutlayt B ur telli ara tezmer ad tessenker anagraw ɣef uselkim-a. Dɣa dagi i d-yekka wugur i yessefken ad yettwafru s tutlayt tamaynut. === Dennis Ritchie d tlalit n C (1972) === Deg useggas n 1971–1972, Dennis Ritchie (i yettwassnen daɣen s yisem dmr) yedda-d ɣer Ken Thompson. Ritchie yebda yettbeddil tutlayt B: yerna-d tiwsatin n isefka (int, char, float...), yerna-d timṣukin i wakken ad yessdukel isefka, yerra tutlayt tezmer ad tessenker tkatut s wudem i yiqerben ɣer usekkar, syin yefka-yas isem C, acku tella d tanernit n B (C d asekkil i d-iteddun deffir B). Ihi, deg useggas n 1972, tlul-d tutlayt C. Ritchie yura amsefsay amezwaru n C ɣef uselkim PDP-11. Deg tallit-nni, C tella tettwaseqdec kan deg Bell Labs, gar imussnawen i yettxeddimen ɣef unagraw amaynut. === Unix yuɣal yettwaru s C (1973) — tagrawla tameqqrant === Deg useggas n 1973, Ken Thompson d Dennis Ritchie gezmen-tt di ṛṛay ad arun anagraw Unix s tutlayt C. Aya yella d tagrawla tameqqrant deg umezruy n uselkim, acku: send 1973, inagrawen n wammud llan ttwarun s tutlayin n usuddes (assembly), i yiqerben mliḥ ɣer usekkar, maca ur zmiren ara ad ttwasnekren seg uselkim ɣer wayeḍ. s C, Unix yuɣal s wudem n uzgay: nezmer ad t-nesselkem ɣef waṭas n yiselkimen yemgaraden, s ubeddel amecṭuḥ kan. C tessken-d belli tutlayt n uswir ameqran tezmer ad tili d ttawil i usnulfu n unagraw n wammud s tɣawla, war ma nesṛuḥ asenker n tkatut. Seg imiren, Unix d C uɣalen d tayuga yettwaqqnen. Yal taneqqiṭ n umezruy n C tezda d umenzu n Unix. === Asuffeɣ seg Bell Labs d udlis n K&R (1978) === Deg iseggasen n 1970, C tebda ad tazzal beṛṛa n Bell Labs: imussnawen nniḍen bdan ttissinen-tt, snulfan-d imsefsayen nniḍen, C tebda tettwaseqdec deg isenfaren n iseɣẓanen d inagrawen. Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis i yettwassnen aṭas: "The C Programming Language". Adlis-a yettwasemma s umata "K&R" (seg yismawen n yimura-s). Yuɣal d tamselɣut tagejdant i yimsihlen n umaḍal meṛṛa, yerna yefka-d "alugen" amezwaru n C, i yettwassnen ass-a s yisem "K&R C". Deg tallit-a, llan aṭas n yimsefsayen n C i d-yeffɣen, maca yal yiwen yesɛa kra n umgired. Ayagi yessefk ad yettwafru s uslugen (tizeɣt). == Aslugen n C == === Alugen amezwaru: ANSI C / C89 (1983–1989) === Deg useggas n 1983, ANSI (American National Standards Institute) tesbedd-d tamagrawt i wumi isemma X3J11, i wakken ad tessenker alugen n C. Sdeffir n 6 n yiseggasen n leqdic, deg useggas n 1989, ssuffɣen-d alugen amezwaru unṣib: ANSI X3.159-1989, i yettwassnen s yisem "C89" neɣ "ANSI C". Deg useggas n 1990, ISO teqbel alugen-a s ubeddel amecṭuḥ, tessuffeɣ-d ISO/IEC 9899:1990, i yettwassnen s yisem "C90". C89 d C90 qrib d yiwen. C89/C90 rnan-d ddeqs n tɣawsiwin i yessersen C ɣef llsas iḥersen: * tinaḍin n tesɣanin (prototypes de fonctions) * tamkarḍit talugant am stdio.h, stdlib.h, string.h * aslugen n uzarsekkar (préprocesseur) * aslugen n tewsatin d tseddast Seg imiren, C tuɣal d tutlayt yettwassnen deg umaḍal meṛṛa, yettwasqedcen deg uselkim, deg usnas (deg uḥric temguri) d uselmed. === C99 (1999): anerni ameqqran === Sdeffir n mraw n yiseggasen, deg useggas n 1999, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:1999, i yettwassnen s yisem "C99". C99 yerna-d ddeqs n tmerniyin i yettɛawanen imessihlen: * iwenniten s // (am C++ d Java); * tawuriwin inline i arurad deg tidin n useɣwen; * isirawen(neɣ Tifelwiyin) n teɣzi yettbeddilen (tableaux à longueur variable, VLA); * tawsit _Bool (abulan) d stdbool.h; * tawsit long long i yemḍanen meqqren mliḥ; * stdint.h i tewsatin n tiddi yettwafren; * initialisation s yisem (designated initializers), am: struct point p = { .x = 1, .y = 2 }; * tanaṭ "for" s ubeddu amaynut: for (int i = 0; i < n; i++). C99 yettwaqbel s lemɣawla deg waṭas n yimsefsayen am GCC, maca kra n yimsefsayen nniḍen (am MSVC n Microsoft) ɣef llsas-nni ur t-ṭṭifen ara s timmad. === C11 (2011): C tuɣal ɣer tallit tatrant === Deg useggas n 2011, ISO tessuffeɣ-d ISO/IEC 9899:2011, i yettwassnen s yisem "C11" (neɣ C1X send ad d-yeffeɣ). C11 yerna-d ttawilat i yeqqnen ɣer uselkim atrar: aselkem s waṭas n yiskaren (ugut n ikalan ifessasen) s threads.h; timhalin tibelkamin s stdatomic.h, i yeqqnen ɣer uselkem yettwaqqnen; _Generic i tefranin s tewsit; timṣukin d tiddukliwin war isem (anonymous structs/unions); static_assert i uselken deg wakud n usefsu; yettwakkes gets() acku yella d aɣbalu n tuccḍiwin n tɣellist (tafuli n tkatut n weḥraz). C11 tessken-d belli C tezmer ad teddu d tallit n uselkem s waṭas n yiskaren (iskaren yesɛan uget n wulawen) d tɣellist. === C17 / C18 (2018): aseggem kan === Deg useggas n 2018, ISO tessuffeɣ-d ISO/IEC 9899:2018, i yettwassnen s yisem "C17" neɣ "C18". Alugen-a ur yerni ara tamahilt tamaynut; yeṣeggam kan tuccḍiwin yellan deg C11, yerna yessufeɣ-d kra n usegzi. Ihi C17 yella d lqem n "aṣeggem", ur yelli ara d lqem n "tmerniyin". === C23 (2024): lqem atrar === Deg useggas n 2024, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:2024, i yettwassnen s yisem "C23" (neɣ C2X send ad d-yeffeɣ). C23 yerna-d ddeqs n tɣawsiwin i yebɣan imessihlen seg zik: * awalen yettwaṭṭfen bool, true, false (ur yesra ara ad nsekcem stdbool.h) * nullptr i usewwaṛ ilem (pointeur nul), s wudem iḥersen * auto i ubuddu n tewsit s wudem awurman * imḍanen s talɣa tamisint: 0b1010 (binaire) * isekkilen n uɣawas (attributes) s talɣa... <nowiki>[[...]]</nowiki> * typeof i wakken ad d-nawi tawsit n tengalt * #embed i wakken ad nsekcem ifuyla imisinen * yettwakkes ukayad n tewsatin (variable-length arrays) d kra n tɣawsiwin tiqburin. C23 yesskan-d belli C mazal-itt tettbeddil, tettmerni, yerna tezmer ad teqqim d tutlayt tatrant. == Aseqdec n C ass-a == Ass-a, C mazal-itt d tutlayt yettwasqedcen aṭas, ladɣa deg yinagrawen ideg arurad d tkatut d lḥaǧa tagejdant: '''Inagrawen n wammud:''' anagraw Linux yettwaru s C (akked kra n C++ d assembly); iferdisen n Windows d macOS daɣen. '''Imikṛuselkimen d IoT:''' Arduino, STM32, ESP32, d yimikṛuselkimen n tkeṛṛusin, n tɣawsiwin, d tsenselkimt tadamsant. '''Taffiwin n isefka''': PostgreSQL, MySQL, SQLite ttwarun s C. '''Imsefsayen''': GCC, iferdisen n Clang/LLVM, d waṭas n yimsefsayen nniḍen. '''Taɣellist tasenselkamt''' (cybersécurité): aṭas n yifecka n tɣellist ttwarun s C, acku zemren ad kecmen ɣer tkatut s wudem uslig. '''Tigzi taragmawant''': aṭas n temkarḍiyin n AI am TensorFlow d PyTorch sɛant llsas n C/C++ ddaw n Python. == Ayɣer C teqqim armi d ass-a? == Aṭas n tutlayin i d-yeffɣen seg 1972, maca C teqqim. Ayagi yella s kra n ssebbat: '''Tussda d ururad''': tangalt C tettwasfsu ɣer tengalt n usekkar s wudem i yeffɣen, war aselkem n waṭas n yiferdisen nnig-s. '''Azgay''': C tezmer ad tettwaseqdec ɣef qrib yal aselkim. '''Asefrek n tkatut''': C yettak-d afus i umessihel ad yesenker takatut s wudem uslig, ayen ilaqen deg yinagrawen d imikṛuselkimen. '''Alugen iḥersen''': seg C89 armi d C23, C tesɛa alugen yettwassnen, yettwaḥerzen. '''Tamkarḍit d yimsefsayen''': llan aṭas n yimsefsayen (GCC, Clang, MSVC...) d temkarḍiyin i C. '''Taseddast fessusen''': C ur tesɛi ara aṭas n wawalen yettwaṭṭfen, dɣa fessus i uselmed d usnulfu. == Taseddast n C == Taseddast n C d taseddast yesɛan ilugan iḥersen. Kra n yiferdisen agejdanen: === 1. Tanaṭ === Yal tanaṭ deg C ttfaṛu s usekkil n unegzum: ; Amedya:<syntaxhighlight lang="c"> int x = 5; x = x + 1; </syntaxhighlight> === 2. Iḥder n tinaḍin === Tinaḍin yettwagrunen deg yiwen n uḥder ttilint gar } d {. Amedya: <syntaxhighlight lang="c"> if (x > 0) { printf("x d ufrir\n"); } </syntaxhighlight> === 3. Iwenniten === Deg C, nezmer ad naru iwenniten i wakken ad nsegzi tangalt.<syntaxhighlight lang="c"> /* Aya d awennit aɣezfan. Yezmer ad yili ɣef deqs n izirigen. */ // Aya d awennit ɣef izirig amaynut (seg C99). </syntaxhighlight> === 4. Asekkil ameqran d umeẓyan === C yemgarrad gar isekkilen imeqqranen d imeẓyanen. Amedya:<syntaxhighlight lang="c"> int azal = 3; int Azal = 5; // d amutti nniḍen </syntaxhighlight>Deg C, azal d Azal mačči d yiwen. == Ahil amezwaru s C == Amedya amezwaru i yettwaɛerḍen deg yal tutlayt n usihel d “Azul, i umaḍal meṛṛa!”.<syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Azul, i umaḍal meṛṛa!\n"); return 0; } </syntaxhighlight>'''''Asegzi n wahil''''' ''#include <stdio.h>'': tanaṭ n uzarsekkar i d-yewwin tasenṭeḍ stdio.h, yesɛan tisɣanin n unekcum d tuffɣa am printf. ''int main(void)'': d tasɣent tagejdant. Deg C, ahil yettbeddu seg main. ''printf(...)'': tasɣent i d-yessuffuɣen aḍris ɣer tuffɣa talugant. ''\n'': azamul i izirig amaynut. ''return 0;'': yemmal i unagraw belli ahil yemmed bla tuccḍa. Ma nefsa-d tangalt-a s umsefsay, ad d-nawi afaylu yettwaselkemen. Mi ara neselkam-it, ad d-yeffeɣ: Azul, i umaḍal meṛṛa! == Imuttiyen d tawsatin n isefka == Deg C, amutti d amkan i yettḥerzen azal. Yal amutti yesɛa isem d tawsit. === 1. Tawsatin agejdanen === {| class="wikitable" |+ !Tawsit C !Anamek |- |int |amḍan ummid |- |float |amḍan s ticcert yettifliwen |- |double |amḍan s ticcert yettifliwen s tneẓẓi meqqren |- |char |asekkil |- |void |ur yesɛi ara azal / ur d-yettara ara azal |- |_Bool |abulan, seg C99 |} Amedya:<syntaxhighlight lang="c"> int amdan = 25; float azal = 3.14; double azal_d = 2.71828; char asekkil = 'A'; </syntaxhighlight> === 2. Isem n umutti === Isem n umutti yezmer ad yesɛu: isekkilen, izwilen, azamul _. Maca ur yezmir ara: ad yebdu s uzwil, neɣ ad yili d awal yettwaṭṭfen n C, neɣad yesɛu imeslayen ur nelli ara ASCII. Amedya yelhan:<syntaxhighlight lang="c"> int age; int user_name; int total2; </syntaxhighlight> === 3. Timezgiyin === Timezgiyin d azalen ur yettbeddilen ara. Deg C, nezmer ad nseqdec const neɣ #define.<syntaxhighlight lang="c"> const int aseggas = 2026; #define PI 3.14159 </syntaxhighlight> == Tisɣanin deg C == Tasɣent d aḥric n tangalt yixeddmen ccɣel neɣ tawuri yettwafrnen. Deg C, tasɣent tesɛa: tawsit n tririt, isem, iɣewwaren ma llan, iḥder n tinaḍin. === 1. Tisɣanin timeẓliwin === Amedya n tasɣent i yesnernayen sin imḍanen:<syntaxhighlight lang="c"> int smernu(int a, int b) { return a + b; } </syntaxhighlight>Deg "main":<syntaxhighlight lang="c"> #include <stdio.h> int smernu(int a, int b) { return a + b; } int main(void) { int ugmi = smernu(4, 6); printf("Ugmi = %d\n", ugmi); return 0; } </syntaxhighlight>Tuffɣa:<syntaxhighlight lang="c"> Ugmi = 10 </syntaxhighlight> === 2. Tasɣent ur d-yettaran ara azal === Ma yella tasɣent ur d-yettara ara azal, nseqdec "void".<syntaxhighlight lang="c"> void azul(void) { printf("Azul!\n"); } </syntaxhighlight> === 3. Tasɣent main === "main" d tasɣent tagejdant. Anagraw yettbeddu ahil seg-s. Yezmer ad tili s snat n talɣiwin:<syntaxhighlight lang="c"> int main(void) </syntaxhighlight>neɣ:<syntaxhighlight lang="c"> int main(int argc, char *argv[]) </syntaxhighlight>Talɣa tis snat tettwasqdec mi ara nesɛa iɣewwaren seg izirig n unezḍay. == Asenqed n usuddem == Deg C, llan ttawilat i usenqed n tiddin n wahil: tiwtilin, allus, d tefranin. === 1. if / else === <syntaxhighlight lang="c"> if (azal > 0) { printf("ufrir\n"); } else if (azal < 0) { printf("uzdir\n"); } else { printf("ilem\n"); } </syntaxhighlight> === 2. switch === <syntaxhighlight lang="c"> switch (ass) { case 1: printf("Aram\n"); break; case 2: printf("Aram s sin\n"); break; default: printf("Ass nniḍen\n"); break; } </syntaxhighlight> === 3. for === "for" yettwaseqdec aṭas i wallus yettwassnen.<syntaxhighlight lang="c"> for (int i = 0; i < 5; i++) { printf("%d\n", i); } 8.4. while int i = 0; while (i < 5) { printf("%d\n", i); i++; } </syntaxhighlight> === 5. do while === "do while" yettwaxdem tikkelt tamezwaru send ad yessefqed tawtilt.<syntaxhighlight lang="c"> int i = 0; do { printf("%d\n", i); i++; } while (i < 5); </syntaxhighlight> === 6. break d continue === break: yessuffeɣ seg wallus neɣ seg switch. continue: yettazzal ɣer tallut n wallus. == Isirawen d isewwaṛen == === 1. Isirawen === Isirew d agraw n imuttiyen n yiwen n tewsit. Deg C, isirew yettbeddu seg umatar 0.<syntaxhighlight lang="c"> int u[3] = {10, 20, 30}; printf("%d\n", u[0]); // 10 printf("%d\n", u[1]); // 20 printf("%d\n", u[2]); // 30 </syntaxhighlight>Ma yella nebɣa ad naru ɣef isirew: u[1] = 55;<syntaxhighlight lang="c"> u[1] = 55; </syntaxhighlight> === 2. Azrar n isekkilen === C ur yesɛi ara tawsit tagejdant i uzrar n isekkilen am string deg tutlayin nniḍen. Azrar n isekkilen deg C d isirew n char yettfakku s usekkil '\0'.<syntaxhighlight lang="c"> char isem[] = "Kabylia"; printf("%s\n", isem); </syntaxhighlight> === 3. Iswwaṛen === Asewwaṛ d amutti i yettḥerzen tansa n umutti nniḍen. Deg C, asewwaṛ yettwammel s *.<syntaxhighlight lang="c"> int x = 7; int *p = &x; </syntaxhighlight>Deg-s: '''x''' d amutti yesɛan azal '''7'''. '''&x''' d tansa n '''x'''. '''p''' d asewwaṛ i yesɛan tansa n '''x'''. Ma nebɣa ad nbeddel azal s usewwaṛ:<syntaxhighlight lang="c"> *p = 10; </syntaxhighlight>Tura '''x''' yuɣal '''10'''. Iswwaṛen d aferdis ameqran deg C. S ttawil-nsen nezmer ad nseqdec takatut s wudem afessas, maca daɣen zemren ad d-awin tuccḍiwin ma ur ttwaḥerzen ara mliḥ. == Timṣukin: struct, union, enum, typedef == === 1. struct === "struct" yettwaseqdec i usnulfu n tewsit yesɛan ddeqs n yiferdisen.<syntaxhighlight lang="c"> struct amdan { int leɛmeṛ; char isem[20]; }; </syntaxhighlight>Aseqdec:<syntaxhighlight lang="c"> struct amdan a1; a1.leɛmeṛ = 30; a1.isem[0] = 'A'; </syntaxhighlight> === 2. typedef === "typedef" yettak isem amaynut i tewsit.<syntaxhighlight lang="c"> typedef struct amdan Amdan; Amdan a2; a2.leɛmeṛ = 25; </syntaxhighlight> === 3. enum === "enum" yettwaseqdec i wazalen yettwafernen.<syntaxhighlight lang="c"> enum ass { SED, ACER, ARIM, ARAM, AHAD, AMHAD, SEM }; </syntaxhighlight> === 4. union === "union" am struct, maca iferdisen-is ttwaḥerzen deg yiwen n umkan n tkatut. Mačči akk iferdisen zemren ad ḥerzen azal deg yiwen n wakud. == Tamselyut == * [http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx www.imyura.net] {{Webarchive|url=https://web.archive.org/web/20130520191734/http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx |date=2013-05-20 }} == Tiwelhiwin == {{Reflist|refs= <ref name="k&r1e">{{cite book |last1=Kernighan |first1=Brian W. |authorlink1=Brian Kernighan |last2=Ritchie |first2=Dennis M. |authorlink2=Dennis Ritchie | title=The C Programming Language | edition=1st |publisher=[[Prentice Hall]] |date=February 1978 |location=[[Englewood Cliffs, NJ]] |isbn=978-0-13-110163-0|title-link=The C Programming Language (book) }} </ref> <ref name="dottcl_2">{{harvtxt|Ritchie|1993}}: "Thompson had made a brief attempt to produce a system coded in an early version of C—before structures—in 1972, but gave up the effort."</ref> <ref name="dottcl">{{harvtxt|Ritchie|1993}}: "The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of."</ref> }} [[Taggayt:Tutlayt n usihel]] ajuhjti8p0vf96mog8jdqiy5zcu18co 117100 117098 2026-08-18T11:14:43Z Gurzil90x 14292 arniɣ ayen ilaqen 117100 wikitext text/x-wiki {{Infobox programming language | name = C | logo = File:C1stEdition.svg | logo size = 140px | logo alt = Text in light blue serif capital letters on white background and very large light blue sans-serif letter C. | logo caption = ''[[The C Programming Language]]''<ref name="k&r1e" /> (often referred to as "K&R"), the seminal book on C | paradigm = [[Imperative programming|Imperative]] ([[Procedural programming|procedural]]), [[structured programming|structured]] | designer = [[Dennis Ritchie]] | developer = [[Dennis Ritchie]] & [[Bell Labs]] (creators); ANSI X3J11 ([[ANSI C]]); {{nobr|ISO/IEC JTC1/SC22/WG14}} (ISO C) | latest release version = [[C18 (C standard revision)|C18]] | latest release date = {{start date and age|2018|06}} | typing = [[Type system|Static]], [[Weak typing|weak]], [[manifest typing|manifest]], [[Nominal type system|nominal]] | implementations = K&R, [[GNU Compiler Collection|GCC]], [[Clang]], {{nowrap|[[Intel C++ Compiler|Intel C]],}} [[Microsoft Visual C++]], {{nowrap|[[Watcom C/C++ compiler|Watcom C]]}} | dialects = [[Cyclone (programming language)|Cyclone]], [[Unified Parallel C]], [[Split-C]], [[Cilk]], [[C*]] | influenced = [[:Category:C programming language family|Numerous]]: [[AMPL]], [[AWK]], [[C shell|csh]], [[C++]], [[C--]], [[C Sharp (programming language)|C#]], [[Objective-C]], [[D (programming language)|D]], [[Go (programming language)|Go]], [[Java (programming language)|Java]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Limbo (programming language)|Limbo]], [[LPC (programming language)|LPC]], [[Perl]], [[PHP]], [[Pike (programming language)|Pike]], [[Processing (programming language)|Processing]], [[Python (programming language)|Python]], [[Ring (programming language)|Ring]],<ref name="Ring language and other languages">{{cite web |url=http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |title=Ring language and other languages |author=Ring Team |date=5 December 2017 |work=ring-lang.net |publisher=[[ring-lang]] |access-date=20 April 2019 |archive-date=25 December 2018 |archive-url=https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |url-status=dead }}</ref> [[Rust (programming language)|Rust]], [[Seed7]], [[Vala (programming language)|Vala]], [[Verilog]] (HDL),<ref name="vinsp">{{cite web|title=Verilog HDL (and C)|url=http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|date=2010-06-03|accessdate=2013-08-19|publisher=The Research School of Computer Science at the Australian National University|quote=1980s: ; Verilog first introduced ; Verilog inspired by the C programming language|deadurl=yes|archiveurl=https://web.archive.org/web/20131106064022/http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|archivedate=2013-11-06|df=}}</ref> [[Nim (programming language)|Nim]] | operating system = [[Cross-platform]] | year = 1972<ref name="dottcl_2" /> | turing-complete = Yes | influenced_by = [[B (programming language)|B]] ([[BCPL]], [[CPL (programming language)|CPL]]), [[ALGOL 68]],<ref name="dottcl" /> [[Assembly language|Assembly]], [[PL/I]], [[FORTRAN]] | file ext = {{Mono|.c}}, {{Mono|.h}} | wikibooks = C Programming }} '''Tutlayt n usihel C''' d yiwet seg tutlayin n usihel i yesɛan azal ameqran deg umezruy n uselkim. Seg mi d-tlul deg useggas n 1972, teqqim d ttawil agejdan i usnulfu n inagrawen n wammud, isnasen, imikṛuselkimen, d waṭas n yisenfaren nniḍen. C d tutlayt i d-yettaken afus i umessihel ad yeḥkem mliḥ deg wayen i d-yettxelliṣ neɣ iselḥu uselkim: takatut, asekkar, d tiddin n wahil. Deg yiwet n tama, C tqrib ɣer usekkar; deg tama nniḍen, tesɛa taseddast fessusen i yettɛawanen amdan ad yaru tangalt yettwafhamen. == Amezruy n C == Tutlayt C yesnulfu-tt-id Dennis Ritchie deg Bell Labs gar useggas n 1969 d 1973. Yella yesra tutlayt i yesɛan tazmert n usnulfu n unagraw Unix s wudem fessusen, arurad, yettwasnen. Send C, llan tutlayin am B d BCPL, maca C tessaweḍ ad tili d ttawil ufrin, acku tella: '''fessuset i uselmed''', '''teqreb ɣer usekka'''r, '''tesɛa tiseddi deg usenker n wahil''', '''yettwasfsu s umsefsay''', '''tezmer ad tili ɣef waṭas n yiselkimen(tiɣeṛɣaṛt tanmidagt)'''. Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis d axatar: ''The C Programming Language''. Adlis-a yuɣal d tamselɣut tagejdant i yimsihlen. Sin akin, C tettwaslugen s wuṭṭunen n ilugan: '''C89 / C90''': alugen ANSI d ISO amezwaru. '''C99''': yerna-d ddeqs n tmerniyin am //, for (int i = 0; ...), d tawsatin nniḍen. '''C11''': yerna-d ttawilat i uselḥu amaynut d tɣellist. '''C17''': d aṣeggem n C11. '''C23''': d alugen atrar i d-yernan ddeqs n temsal timaynutin. === Tazwara: acu i d-yeǧǧan C ad tlul? === Deg taggara n iseggasen n 1960, deg Bell Labs (Merraw n Bell) di Marikan, llan imussnawen n tsenselkimt ttnadin ad snulfun anagraw n wammud amaynut, fessusen, yerna yettazzalen s tɣawla. Deg tallit-nni, Ken Thompson yella yettekki deg usenfar n Multics, maca asenfar-nni yuɣal d azuran, yerna yettwaḥseb d aẓayan i uselkim n tallit-nni. Thompson yeǧǧa Multics, yebɣa ad yexdem anagraw amecṭuḥ, s unasiw amecṭuḥ, ɣef uselkim PDP-7. I wakken ad yessuffeɣ anagraw-a, yesnulfu-d tutlayt i wumi isemma B (seg 1969 ar 1970). B tella d tutlayt i d-yekkan seg BCPL (Basic Combined Programming Language), maca tesɛa tilas meqqren: ur tesɛi ara tiwsatin n isefka, u txeddem kan s wawalen n tkatut n tiddi yiwet (mots), ur tezmir ara ad tessenker imuttiyen n tewsatin yemgaraden, arnu ur telli ara d tafessast i usenker n tkatut s wudem uslig. Imiren, yella-d uselkim amaynut PDP-11, i yesɛan tiddi n tkatut n 8 n ibiten (octets). Tutlayt B ur telli ara tezmer ad tessenker anagraw ɣef uselkim-a. Dɣa dagi i d-yekka wugur i yessefken ad yettwafru s tutlayt tamaynut. === Dennis Ritchie d tlalit n C (1972) === Deg useggas n 1971–1972, Dennis Ritchie (i yettwassnen daɣen s yisem dmr) yedda-d ɣer Ken Thompson. Ritchie yebda yettbeddil tutlayt B: yerna-d tiwsatin n isefka (int, char, float...), yerna-d timṣukin i wakken ad yessdukel isefka, yerra tutlayt tezmer ad tessenker tkatut s wudem i yiqerben ɣer usekkar, syin yefka-yas isem C, acku tella d tanernit n B (C d asekkil i d-iteddun deffir B). Ihi, deg useggas n 1972, tlul-d tutlayt C. Ritchie yura amsefsay amezwaru n C ɣef uselkim PDP-11. Deg tallit-nni, C tella tettwaseqdec kan deg Bell Labs, gar imussnawen i yettxeddimen ɣef unagraw amaynut. === Unix yuɣal yettwaru s C (1973) — tagrawla tameqqrant === Deg useggas n 1973, Ken Thompson d Dennis Ritchie gezmen-tt di ṛṛay ad arun anagraw Unix s tutlayt C. Aya yella d tagrawla tameqqrant deg umezruy n uselkim, acku: send 1973, inagrawen n wammud llan ttwarun s tutlayin n usuddes (assembly), i yiqerben mliḥ ɣer usekkar, maca ur zmiren ara ad ttwasnekren seg uselkim ɣer wayeḍ. s C, Unix yuɣal s wudem n uzgay: nezmer ad t-nesselkem ɣef waṭas n yiselkimen yemgaraden, s ubeddel amecṭuḥ kan. C tessken-d belli tutlayt n uswir ameqran tezmer ad tili d ttawil i usnulfu n unagraw n wammud s tɣawla, war ma nesṛuḥ asenker n tkatut. Seg imiren, Unix d C uɣalen d tayuga yettwaqqnen. Yal taneqqiṭ n umezruy n C tezda d umenzu n Unix. === Asuffeɣ seg Bell Labs d udlis n K&R (1978) === Deg iseggasen n 1970, C tebda ad tazzal beṛṛa n Bell Labs: imussnawen nniḍen bdan ttissinen-tt, snulfan-d imsefsayen nniḍen, C tebda tettwaseqdec deg isenfaren n iseɣẓanen d inagrawen. Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis i yettwassnen aṭas: "The C Programming Language". Adlis-a yettwasemma s umata "K&R" (seg yismawen n yimura-s). Yuɣal d tamselɣut tagejdant i yimsihlen n umaḍal meṛṛa, yerna yefka-d "alugen" amezwaru n C, i yettwassnen ass-a s yisem "K&R C". Deg tallit-a, llan aṭas n yimsefsayen n C i d-yeffɣen, maca yal yiwen yesɛa kra n umgired. Ayagi yessefk ad yettwafru s uslugen (tizeɣt). == Aslugen n C == === Alugen amezwaru: ANSI C / C89 (1983–1989) === Deg useggas n 1983, ANSI (American National Standards Institute) tesbedd-d tamagrawt i wumi isemma X3J11, i wakken ad tessenker alugen n C. Sdeffir n 6 n yiseggasen n leqdic, deg useggas n 1989, ssuffɣen-d alugen amezwaru unṣib: ANSI X3.159-1989, i yettwassnen s yisem "C89" neɣ "ANSI C". Deg useggas n 1990, ISO teqbel alugen-a s ubeddel amecṭuḥ, tessuffeɣ-d ISO/IEC 9899:1990, i yettwassnen s yisem "C90". C89 d C90 qrib d yiwen. C89/C90 rnan-d ddeqs n tɣawsiwin i yessersen C ɣef llsas iḥersen: * tinaḍin n tesɣanin (prototypes de fonctions) * tamkarḍit talugant am stdio.h, stdlib.h, string.h * aslugen n uzarsekkar (préprocesseur) * aslugen n tewsatin d tseddast Seg imiren, C tuɣal d tutlayt yettwassnen deg umaḍal meṛṛa, yettwasqedcen deg uselkim, deg usnas (deg uḥric temguri) d uselmed. === C99 (1999): anerni ameqqran === Sdeffir n mraw n yiseggasen, deg useggas n 1999, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:1999, i yettwassnen s yisem "C99". C99 yerna-d ddeqs n tmerniyin i yettɛawanen imessihlen: * iwenniten s // (am C++ d Java); * tawuriwin inline i arurad deg tidin n useɣwen; * isirawen(neɣ Tifelwiyin) n teɣzi yettbeddilen (tableaux à longueur variable, VLA); * tawsit _Bool (abulan) d stdbool.h; * tawsit long long i yemḍanen meqqren mliḥ; * stdint.h i tewsatin n tiddi yettwafren; * initialisation s yisem (designated initializers), am: struct point p = { .x = 1, .y = 2 }; * tanaṭ "for" s ubeddu amaynut: for (int i = 0; i < n; i++). C99 yettwaqbel s lemɣawla deg waṭas n yimsefsayen am GCC, maca kra n yimsefsayen nniḍen (am MSVC n Microsoft) ɣef llsas-nni ur t-ṭṭifen ara s timmad. === C11 (2011): C tuɣal ɣer tallit tatrant === Deg useggas n 2011, ISO tessuffeɣ-d ISO/IEC 9899:2011, i yettwassnen s yisem "C11" (neɣ C1X send ad d-yeffeɣ). C11 yerna-d ttawilat i yeqqnen ɣer uselkim atrar: aselkem s waṭas n yiskaren (ugut n ikalan ifessasen) s threads.h; timhalin tibelkamin s stdatomic.h, i yeqqnen ɣer uselkem yettwaqqnen; _Generic i tefranin s tewsit; timṣukin d tiddukliwin war isem (anonymous structs/unions); static_assert i uselken deg wakud n usefsu; yettwakkes gets() acku yella d aɣbalu n tuccḍiwin n tɣellist (tafuli n tkatut n weḥraz). C11 tessken-d belli C tezmer ad teddu d tallit n uselkem s waṭas n yiskaren (iskaren yesɛan uget n wulawen) d tɣellist. === C17 / C18 (2018): aseggem kan === Deg useggas n 2018, ISO tessuffeɣ-d ISO/IEC 9899:2018, i yettwassnen s yisem "C17" neɣ "C18". Alugen-a ur yerni ara tamahilt tamaynut; yeṣeggam kan tuccḍiwin yellan deg C11, yerna yessufeɣ-d kra n usegzi. Ihi C17 yella d lqem n "aṣeggem", ur yelli ara d lqem n "tmerniyin". === C23 (2024): lqem atrar === Deg useggas n 2024, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:2024, i yettwassnen s yisem "C23" (neɣ C2X send ad d-yeffeɣ). C23 yerna-d ddeqs n tɣawsiwin i yebɣan imessihlen seg zik: * awalen yettwaṭṭfen bool, true, false (ur yesra ara ad nsekcem stdbool.h) * nullptr i usewwaṛ ilem (pointeur nul), s wudem iḥersen * auto i ubuddu n tewsit s wudem awurman * imḍanen s talɣa tamisint: 0b1010 (binaire) * isekkilen n uɣawas (attributes) s talɣa... <nowiki>[[...]]</nowiki> * typeof i wakken ad d-nawi tawsit n tengalt * #embed i wakken ad nsekcem ifuyla imisinen * yettwakkes ukayad n tewsatin (variable-length arrays) d kra n tɣawsiwin tiqburin. C23 yesskan-d belli C mazal-itt tettbeddil, tettmerni, yerna tezmer ad teqqim d tutlayt tatrant. == Aseqdec n C ass-a == Ass-a, C mazal-itt d tutlayt yettwasqedcen aṭas, ladɣa deg yinagrawen ideg arurad d tkatut d lḥaǧa tagejdant: '''Inagrawen n wammud:''' anagraw Linux yettwaru s C (akked kra n C++ d assembly); iferdisen n Windows d macOS daɣen. '''Imikṛuselkimen d IoT:''' Arduino, STM32, ESP32, d yimikṛuselkimen n tkeṛṛusin, n tɣawsiwin, d tsenselkimt tadamsant. '''Taffiwin n isefka''': PostgreSQL, MySQL, SQLite ttwarun s C. '''Imsefsayen''': GCC, iferdisen n Clang/LLVM, d waṭas n yimsefsayen nniḍen. '''Taɣellist tasenselkamt''' (cybersécurité): aṭas n yifecka n tɣellist ttwarun s C, acku zemren ad kecmen ɣer tkatut s wudem uslig. '''Tigzi taragmawant''': aṭas n temkarḍiyin n AI am TensorFlow d PyTorch sɛant llsas n C/C++ ddaw n Python. == Ayɣer C teqqim armi d ass-a? == Aṭas n tutlayin i d-yeffɣen seg 1972, maca C teqqim. Ayagi yella s kra n ssebbat: '''Tussda d ururad''': tangalt C tettwasfsu ɣer tengalt n usekkar s wudem i yeffɣen, war aselkem n waṭas n yiferdisen nnig-s. '''Azgay''': C tezmer ad tettwaseqdec ɣef qrib yal aselkim. '''Asefrek n tkatut''': C yettak-d afus i umessihel ad yesenker takatut s wudem uslig, ayen ilaqen deg yinagrawen d imikṛuselkimen. '''Alugen iḥersen''': seg C89 armi d C23, C tesɛa alugen yettwassnen, yettwaḥerzen. '''Tamkarḍit d yimsefsayen''': llan aṭas n yimsefsayen (GCC, Clang, MSVC...) d temkarḍiyin i C. '''Taseddast fessusen''': C ur tesɛi ara aṭas n wawalen yettwaṭṭfen, dɣa fessus i uselmed d usnulfu. == Taseddast n C == Taseddast n C d taseddast yesɛan ilugan iḥersen. Kra n yiferdisen agejdanen: === 1. Tanaṭ === Yal tanaṭ deg C ttfaṛu s usekkil n unegzum: ; Amedya:<syntaxhighlight lang="c"> int x = 5; x = x + 1; </syntaxhighlight> === 2. Iḥder n tinaḍin === Tinaḍin yettwagrunen deg yiwen n uḥder ttilint gar } d {. Amedya: <syntaxhighlight lang="c"> if (x > 0) { printf("x d ufrir\n"); } </syntaxhighlight> === 3. Iwenniten === Deg C, nezmer ad naru iwenniten i wakken ad nsegzi tangalt.<syntaxhighlight lang="c"> /* Aya d awennit aɣezfan. Yezmer ad yili ɣef deqs n izirigen. */ // Aya d awennit ɣef izirig amaynut (seg C99). </syntaxhighlight> === 4. Asekkil ameqran d umeẓyan === C yemgarrad gar isekkilen imeqqranen d imeẓyanen. Amedya:<syntaxhighlight lang="c"> int azal = 3; int Azal = 5; // d amutti nniḍen </syntaxhighlight>Deg C, azal d Azal mačči d yiwen. == Ahil amezwaru s C == Amedya amezwaru i yettwaɛerḍen deg yal tutlayt n usihel d “Azul, i umaḍal meṛṛa!”.<syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Azul, i umaḍal meṛṛa!\n"); return 0; } </syntaxhighlight>'''''Asegzi n wahil''''' ''#include <stdio.h>'': tanaṭ n uzarsekkar i d-yewwin tasenṭeḍ stdio.h, yesɛan tisɣanin n unekcum d tuffɣa am printf. ''int main(void)'': d tasɣent tagejdant. Deg C, ahil yettbeddu seg main. ''printf(...)'': tasɣent i d-yessuffuɣen aḍris ɣer tuffɣa talugant. ''\n'': azamul i izirig amaynut. ''return 0;'': yemmal i unagraw belli ahil yemmed bla tuccḍa. Ma nefsa-d tangalt-a s umsefsay, ad d-nawi afaylu yettwaselkemen. Mi ara neselkam-it, ad d-yeffeɣ: Azul, i umaḍal meṛṛa! == Imuttiyen d tawsatin n isefka == Deg C, amutti d amkan i yettḥerzen azal. Yal amutti yesɛa isem d tawsit. === 1. Tawsatin agejdanen === {| class="wikitable" |+ !Tawsit C !Anamek |- |int |amḍan ummid |- |float |amḍan s ticcert yettifliwen |- |double |amḍan s ticcert yettifliwen s tneẓẓi meqqren |- |char |asekkil |- |void |ur yesɛi ara azal / ur d-yettara ara azal |- |_Bool |abulan, seg C99 |} Amedya:<syntaxhighlight lang="c"> int amdan = 25; float azal = 3.14; double azal_d = 2.71828; char asekkil = 'A'; </syntaxhighlight> === 2. Isem n umutti === Isem n umutti yezmer ad yesɛu: isekkilen, izwilen, azamul _. Maca ur yezmir ara: ad yebdu s uzwil, neɣ ad yili d awal yettwaṭṭfen n C, neɣad yesɛu imeslayen ur nelli ara ASCII. Amedya yelhan:<syntaxhighlight lang="c"> int age; int user_name; int total2; </syntaxhighlight> === 3. Timezgiyin === Timezgiyin d azalen ur yettbeddilen ara. Deg C, nezmer ad nseqdec const neɣ #define.<syntaxhighlight lang="c"> const int aseggas = 2026; #define PI 3.14159 </syntaxhighlight> == Tisɣanin deg C == Tasɣent d aḥric n tangalt yixeddmen ccɣel neɣ tawuri yettwafrnen. Deg C, tasɣent tesɛa: tawsit n tririt, isem, iɣewwaren ma llan, iḥder n tinaḍin. === 1. Tisɣanin timeẓliwin === Amedya n tasɣent i yesnernayen sin imḍanen:<syntaxhighlight lang="c"> int smernu(int a, int b) { return a + b; } </syntaxhighlight>Deg "main":<syntaxhighlight lang="c"> #include <stdio.h> int smernu(int a, int b) { return a + b; } int main(void) { int ugmi = smernu(4, 6); printf("Ugmi = %d\n", ugmi); return 0; } </syntaxhighlight>Tuffɣa:<syntaxhighlight lang="c"> Ugmi = 10 </syntaxhighlight> === 2. Tasɣent ur d-yettaran ara azal === Ma yella tasɣent ur d-yettara ara azal, nseqdec "void".<syntaxhighlight lang="c"> void azul(void) { printf("Azul!\n"); } </syntaxhighlight> === 3. Tasɣent main === "main" d tasɣent tagejdant. Anagraw yettbeddu ahil seg-s. Yezmer ad tili s snat n talɣiwin:<syntaxhighlight lang="c"> int main(void) </syntaxhighlight>neɣ:<syntaxhighlight lang="c"> int main(int argc, char *argv[]) </syntaxhighlight>Talɣa tis snat tettwasqdec mi ara nesɛa iɣewwaren seg izirig n unezḍay. == Asenqed n usuddem == Deg C, llan ttawilat i usenqed n tiddin n wahil: tiwtilin, allus, d tefranin. === 1. if / else === <syntaxhighlight lang="c"> if (azal > 0) { printf("ufrir\n"); } else if (azal < 0) { printf("uzdir\n"); } else { printf("ilem\n"); } </syntaxhighlight> === 2. switch === <syntaxhighlight lang="c"> switch (ass) { case 1: printf("Aram\n"); break; case 2: printf("Aram s sin\n"); break; default: printf("Ass nniḍen\n"); break; } </syntaxhighlight> === 3. for === "for" yettwaseqdec aṭas i wallus yettwassnen.<syntaxhighlight lang="c"> for (int i = 0; i < 5; i++) { printf("%d\n", i); } 8.4. while int i = 0; while (i < 5) { printf("%d\n", i); i++; } </syntaxhighlight> === 5. do while === "do while" yettwaxdem tikkelt tamezwaru send ad yessefqed tawtilt.<syntaxhighlight lang="c"> int i = 0; do { printf("%d\n", i); i++; } while (i < 5); </syntaxhighlight> === 6. break d continue === break: yessuffeɣ seg wallus neɣ seg switch. continue: yettazzal ɣer tallut n wallus. == Isirawen d isewwaṛen == === 1. Isirawen === Isirew d agraw n imuttiyen n yiwen n tewsit. Deg C, isirew yettbeddu seg umatar 0.<syntaxhighlight lang="c"> int u[3] = {10, 20, 30}; printf("%d\n", u[0]); // 10 printf("%d\n", u[1]); // 20 printf("%d\n", u[2]); // 30 </syntaxhighlight>Ma yella nebɣa ad naru ɣef isirew: u[1] = 55;<syntaxhighlight lang="c"> u[1] = 55; </syntaxhighlight> === 2. Azrar n isekkilen === C ur yesɛi ara tawsit tagejdant i uzrar n isekkilen am string deg tutlayin nniḍen. Azrar n isekkilen deg C d isirew n char yettfakku s usekkil '\0'.<syntaxhighlight lang="c"> char isem[] = "Kabylia"; printf("%s\n", isem); </syntaxhighlight> === 3. Iswwaṛen === Asewwaṛ d amutti i yettḥerzen tansa n umutti nniḍen. Deg C, asewwaṛ yettwammel s *.<syntaxhighlight lang="c"> int x = 7; int *p = &x; </syntaxhighlight>Deg-s: '''x''' d amutti yesɛan azal '''7'''. '''&x''' d tansa n '''x'''. '''p''' d asewwaṛ i yesɛan tansa n '''x'''. Ma nebɣa ad nbeddel azal s usewwaṛ:<syntaxhighlight lang="c"> *p = 10; </syntaxhighlight>Tura '''x''' yuɣal '''10'''. Iswwaṛen d aferdis ameqran deg C. S ttawil-nsen nezmer ad nseqdec takatut s wudem afessas, maca daɣen zemren ad d-awin tuccḍiwin ma ur ttwaḥerzen ara mliḥ. == Timṣukin: struct, union, enum, typedef == === 1. struct === "struct" yettwaseqdec i usnulfu n tewsit yesɛan ddeqs n yiferdisen.<syntaxhighlight lang="c"> struct amdan { int leɛmeṛ; char isem[20]; }; </syntaxhighlight>Aseqdec:<syntaxhighlight lang="c"> struct amdan a1; a1.leɛmeṛ = 30; a1.isem[0] = 'A'; </syntaxhighlight> === 2. typedef === "typedef" yettak isem amaynut i tewsit.<syntaxhighlight lang="c"> typedef struct amdan Amdan; Amdan a2; a2.leɛmeṛ = 25; </syntaxhighlight> === 3. enum === "enum" yettwaseqdec i wazalen yettwafernen.<syntaxhighlight lang="c"> enum ass { SED, ACER, ARIM, ARAM, AHAD, AMHAD, SEM }; </syntaxhighlight> === 4. union === "union" am "struct", maca iferdisen-is ttwaḥerzen deg yiwen n umkan n tkatut. Yernu mačči akk iferdisen zemren ad ḥerzen azal deg yiwen n wakud.<syntaxhighlight lang="c"> union azal { int i; float f; }; </syntaxhighlight> == Tamselyut == * [http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx www.imyura.net] {{Webarchive|url=https://web.archive.org/web/20130520191734/http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx |date=2013-05-20 }} == Tiwelhiwin == {{Reflist|refs= <ref name="k&r1e">{{cite book |last1=Kernighan |first1=Brian W. |authorlink1=Brian Kernighan |last2=Ritchie |first2=Dennis M. |authorlink2=Dennis Ritchie | title=The C Programming Language | edition=1st |publisher=[[Prentice Hall]] |date=February 1978 |location=[[Englewood Cliffs, NJ]] |isbn=978-0-13-110163-0|title-link=The C Programming Language (book) }} </ref> <ref name="dottcl_2">{{harvtxt|Ritchie|1993}}: "Thompson had made a brief attempt to produce a system coded in an early version of C—before structures—in 1972, but gave up the effort."</ref> <ref name="dottcl">{{harvtxt|Ritchie|1993}}: "The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of."</ref> }} [[Taggayt:Tutlayt n usihel]] duvmo7b7t2ltqxx4jmmzj3i0fke64gx Karl Marks 0 1785 117099 117093 2026-08-18T11:12:22Z Gurzil90x 14292 Arniɣ-d ayen ilaqen 117099 wikitext text/x-wiki [[Tugna:Karl Marx by John Jabez Edwin Mayall 1875 - Restored.png|vignette|Karl Marks deg useggas 1857.]] '''Karl Heinrich Marks''', ilul deg 5 si [[Mayyu]] deg usseggas 1818 di tmurt n [[Trier]] yezdeɣ di Rheinland tamurt n [[Lalman]] yemmut di 14 di [[Meɣres]] 1883 di teɣremt n [[London]]. Marks yella d argaz n tfelsafit d tsertit u d ameẓṛay ameqṛan deg tdamsa, tasnametti u d netta i d-isnulfan ayen i wumi neqqar [[Tazdukla]], i d-yeqqaren belli ulac amgarad ger imdanen ɣas ulamma yella deg ixeddim-nsen n yal ass. Yella d afelsafi, amezruyan, d amassan n tdamsa almani. Yetttwaḥesben d yiwen seg yimassanen imeqranen akk i yesbedden tasnakta(tidyulujit) n tzdukla d tnemla. Axeddim-is akked umeddakel-is Fridrik Angils, yefka-d tamuɣli tamaynut ɣef umzruy, timetti, d tdamsa. Tikti-ines tagejdant teqqen ɣer umennuɣ n tiserkam. ==1. Tudert-is== Ilul ''Karl Heinrich Marx'' di Trier aseggas n 1818. Yella d wis sin ger 8 Tam watmaten-is. Baba-s, ''Heinrich Marx'' (1782–1838), d abugaṭu, yefrurid deg yiwet twacult twudayt Ackenaz. Jedd-nsen Meier Halevi Marx yella d uday, ma d mmi-s d warraw n mmi-s uɣalen d imasiḥiyen, ẓẓiẓrgen isem-nsen ɣer Heinrich iwakken ad izmiren ad xedmen, yemma-s n Karl, Henriette Pressburg (20 [[Yulyu]] 1788-30 [[Wamber]] 1863), d tudayt n [[Timura n Wadda|tmura n wadda]]. === Temẓi-is === Twacult-is tella deg tserkemt talemmast. Baba-s, ''Hanrix Marks'', yellan d abugaṭu, yuɣal d amasiḥi ɣas ma yella yekka-d seg yiwet n twacult n wudayen, i wakken ad yerwel i useḥqer amettiyan d usɣan i yellan deg tallit-nni. Marks yekka temẓi-ines deg tmuɣli n tfelsafit n teftilin, anda i yelmed azal n tilelli, n tussna, d umtawa gar yemdanen. === Tizrawin d Tfelsafit === Marks yedda ɣer tesdawit n Bonn, syin ɣer tin n Berlin i wakken ad yezrew tussna n usaḍuf d tfelsafit. Deg Berlin, yemɣi deg wallaɣ-is unadi ɣef tfelsafit n [[Hegel|Higl]]. Higl yella yessefham-d belli amzruy yettbeddal s tarrayt n wallaɣ d tikta. Marks yeddem terrayt-a n Higl, maca yerra-tt s wudem n tmetti. Yenna-d belli mačči d tikta i d-ixelqen tilawt, maca d tilawt n tmetti, am usfares d tdamsa, i d-iffaren tikta d tmuɣli n wemdan. Da i yebda useggem n tmuɣli-ines ɣef umzruy, yuɣal yettwali belli anagraw n usfares d netta i d lsas n tmetti. == 2. Asatal amzrayan d waddad n tmetti == Marks yedder deg tallit ideg tella tagrawla tamgurant di Turuft. Tallit-nni teddem-d asnulfu ameqran deg usfares, maca ternu-yas tawaɣit i yixeddamen. Tamsihrit tebna ɣef ufraq n ihri gar yimawlanen n yimukan n usfares, imɣiden ur nesɛi ara ula d ayla, ala tazmert-nsen n uxeddim i wakken ad idiren. Deg tallit-nni, Marks iwala belli anagraw amaynut n tdamsa ur yessaweḍ ara ad yefk tilelli i yemdanen meṛṛa, maca yerna kan aqhaṛ d twaɣit. D ayen i t-yessawḍen ad inadi ɣef yiẓuran n umgired n tiserkam yellan deg unagraw-a. == 3. Amhaz Icudden Ɣer Wangaw: Lsas n Tfelsafit-is == Afelsafi almani Hegel yesbedd tikti n umhaz, maca s tmuɣli i yurzen ɣer wallaɣ kan, yella yettḥulfu belli tikta d tmuɣliwin n wallaɣ d nitenti i d-ixelqen tilawt. Marks yerra tamsalt-a, yenna-d: "Tikta n yemdanen ur d-ttekken ara seg igenni, maca ttekken-d seg tilawt tangawat, seg usfares d wassaɣen n tdamsa." S wawal n Marks, mačči d allaɣ n wemdan i d-yettaken tilawt, maca d tilawt tangawat i d-yettaken allaɣ d tikta. Amhaz s wudem n tangawa yessefham-d belli kullci deg umaḍal yettbeddal, yettemhaz, yerna amhaz-a yettili-d s umgired, s temsal yettemgaraden i yettmyelkafen i wakken ad d-snulfunt tamsalt tamaynut. === Tangeẓṛi Tamezrayt === Lsas amenzu n tfelsafit n Marks d tangeẓṛi tamezrayt. Ɣer-s, maççi d tikta, asɣan, neɣ d iziɣren i d-yessuddusen amezruy n talsa, maca d tignatin n waddad adamsan d wamek i d-tettili tfarest. Timetti tebna ɣef sin n yeḥricen igejdanen. Aḥric amezwaru d "adda" i d-immalen allalen n ufares akked wassaɣen n ufares (tadamsa, lxedma, tawuri). Aḥric wis sin d "taɣessa" (la superstructure) i d-ijemɛen tasnakta, izerfan, d tsertit. Adda adamsan d netta i d-isbaduyen taɣessa n tmetti. Ihi, yal tuttya neɣ abeddel lqayen deg umezruy yettas-d mi ara yili umennuɣ gar wallalen n ufares d wassaɣen n ufares n tallit-nni. Amezruy ur iteddu ara s tẓeṛiyin timadwanin, maca s tmentilin yellan s wudem n tengeẓri. == 4. Amzruy d Umennuɣ n Tserkam == [[Tugna:Communist-manifesto.png|vignette|Ulɣu n ukabar n tzdukla s tutlayt talalmanit.]] Deg udlis-is "Ulɣu n Ukabar Azduklan", Marks yura belli amzruy n tmettiyin akk i yellan d amzruy n umennuɣ n tserkam. Yal tawada n tmetti tettili-d s umgired gar sin n yidisan: wid iṭṭfen adabu d ihri, d wid ur nesɛi ara ayla. Deg tallit n temsihrit, amennuɣ-a yella gar taserkemt n yimawlanen n ihri d taserkemt n yimɣiden. Imawlanen ttnadin ɣef tanfa d wazal amernay, ma d imɣiden ttnadin ɣef tuddert, tazmert, d tilelli. Umennuɣ-a ur yezmir ara ad yili d amnekni, imi anagraw n tamsihrit yettidir ɣef usfaydu seg uxeddim n yimɣiden baṭel. Marks yenna-d belli amezruy n tmettiyin meṛṛa d amezruy n umennuɣ n tserkam. Deg unagraw n usihri, amennuɣ-a yettili-d s telqayt gar snat n tserkamin tigejdanin. Taserkemt tamenzut d "imsihranen", i yesɛan allalen n ufares am tneɣrafin (luzinat), akal, d yihri. Taserkemt tis snat d "tameɣda", d ixeddamen neɣ imɣad ur nesɛi acemma anagar iɣallen-nsen i zenzun iwakken ad idiren. Imsihranen sfaydayen ɣef imɣad s wammud n tfarest-nsen, d ayen i d-igellun s tlufa n ddel akked lḥif ɣef yixeddamen. Amennuɣ-a ur yezmir ara ad iḥbes alamma tewweḍ-d tagrawla ara ibeddlen llsas n tmetti. == 5. Tasertit n Tdamsa d Wazal Amernay == Deg udlis-is ameqran "Ihri", Marks yesleḍ amek tteddun idrimen d usfares. Yufa-d tamsalt n wazal amernay. Amedya: Axeddam ixeddem 8 n yisragen. Deg 4 n yisragen imezwura, ixeddem i wakken ad d-yawi azal n uxeddim-is, ayen akken ad yečč, ad yels, ad yidir. Ma deg 4 n yisragen ineggura, ixeddem i umawlan n ihri baṭel. Azal-nni amernay i d-yettwafarsen deg yisragen-nni ineggura, imawlanen n ihri i t-ttawin. D ayen i d-issefhamen belli tamsihrit mačči d anagraw n umtawa, maca d anagraw n uqher, anda wid iṭṭfen idrimen ttawin ayla n wid ixeddmen. === Tasleḍt n Usihri d Wazal Amernay === Deg udlis-is ameqqran "Ihri", Marks yesleḍ s telqayt amek i iteddu unagraw n usihri. Yufa-d belli llsas n rrbeḥ n umsihran d "iazal amernay". Azal-a amernay d azal i d-yerna uxeddam s lǧehd-is yugar azal n uɣrad-is. Amsihran yettawi azal-a ameqqran i yiman-is mebla ma yexdem, ma d axeddam yettaṭṭaf kan ayen ara t-id-isidren akken ad yili d amuddir. Tanabda-ya(ammud-a) d nettat i d amsedday(amutur) n wesnerni n yihri. Maca d nettat daɣen ara d-yeglun s twaɣit d uɣelluy n unagraw-a, acku asihri s timmad-is d asaraw n tenmegliwin ur yezmir ad tent-yefru. Lḥif n temeɣda ad yettnerni alamma tewweḍ tmetti ɣer tqacuct n truẓi. === Takufḍa === Yiwen seg yiferdisen imuqranen deg tfelsafit n Marks d tamiḍrant n tkufḍa. Axeddam deg tmetti tamsihrit yettwaḥṣeb am wakken d taɣawsa neɣ d allal kan n ufares, ur yesɛi ara azal alsan. Takufḍa-ya tebḍa ɣef kuẓ n yeḥricen: axeddam ittwakfeḍ (est aliéné) ɣef ufaris-is imi ayen i d-yexdem ur t-yeksib ara; ittwakfeḍ ɣef tigawt n ufares s timmad-is imi lxedma-s d lḥif maççi d usnulfu neɣ d lfeṛḥ; ittwakfeḍ ɣef ugama n talsa-s imi ur yexdim ara s tlelli; yerna ittwakfeḍ ɣef yixeddamen-nniḍen imi timetti tamsihrit tessekcem-d Tamsezwert deg umkan n tdukli d tegmat gar yimɣad. == 6. Tanekra d Imal n Tmetti == Marks yumen belli tamsihrit ad temmet s yiman-is, acku teǧǧur d iɣeblan imeqranen. Imɣiden, mi ara ukin s tilawt-nsen, ad xedmen tanekra. Tanekra ad tawi ɣer udabu n yimɣiden, anda ara ttwakksen yimukan n usfares i yimawlanen n ihri ad uɣalen d ayla n tmetti meṛṛa. Deg taggara, ad d-tili tzdukla: d tmetti anda ulac tiserkam, ulac adabu, ulac aqhaṛ. Yal yiwen ad ixeddem almend n tezmert-is, ad yečč almend n wayen i t-ilaqen. === Tazdukla d Taggara n Uwanak === Tafelsafit n Marks maççi d asenmel(tabadut) n tmetti kan s wawal, maca d abrid ɣer tigawt d ubeddel. Iswi aneggaru d akkes n tmetti tamsihrit s tegrawla n temeɣda. Tagrawla-ya ad d-tessiweḍ ɣer yiwet n tmetti tamaynut iwumi isemma "tazdukla" (communisme). Deg tmetti-ya, allalen n ufares ad ilin d ayla n tmetti s umata, ur yettili ara umennuɣ n tserkam, ur tettili tenabda. Awanak, i yellan d allal n udabu n yimsihranen, ad yenger s yiman-is imi ur t-teḥwaǧ ara tmetti war tiserkam. Talsa ad tidir deg tlelli tameqqrant anda yal yiwen ad yexdem s tzemmar-is, yerna ad yaɣ ayen yeḥwaǧ. [[Category:Tameddurt]] 2if29dz7xotc54jehdbc47f8we61jdd Anagraw n wammud 0 2139 117096 117091 2026-08-17T16:54:50Z Gurzil90x 14292 arniɣ ayen ilaqen 117096 wikitext text/x-wiki '''Anagraw n wammud''' (s teglizit: ''Operating System'') d aseɣẓan adasilan ameqqran i yessefreken arrum n uselkim, yerna yettakken tallalt i yiseɣẓanen d isnasen nniḍen akken ad xedmen. D netta i d agrudem gar useqdac d tmacint. Mebla anagraw n wammud, aselkim ur yezmir ara ad yeg taɣawsa, acku netta i d amehhal i yesdukkulen igmanen akk n uselkim. Deg Ctembeṛ 2024, Android d anagraw n wammad yettwassnen akk s umur n wulzuz n 46%, yeḍfer-it Microsoft Windows ɣef 26%, iOS ed iPadOS ɣef 18%, macOS ɣef 5%, ed Linux ɣef 1%. Android, iOS, akked iPadOS d inagrawen n wammud aziraz, ma d Windows, macOS, akked Linux d inagrawen n wammud n tnarit. Azuzer Linux d win yesɛan aɣmar deg unnar n iqeddacen d iselkimen n unnig. Tiggayin-nniḍen yemmuzzgen n yinagrawen n wammud ( inagrawen n wammad s wudem uzzig), am yinagrawen yettwaselɣen d inagrawen n wammud n wakud ilaw, llant i waṭas n yisnasen. Llan daɣen yinagrawen n wammad yettwagen ɣef tɣellist. Kra n yinagrawen n wammud sɛan isutren n warum d imeẓyanen(amedya, afraq n Linux afessas). Wiyaḍ zemren ad sɛun isutren n warum d imeqqranen. == Asefrek n Usekkar d Yikalan == Agejdi n unagraw n wammud netta d asefrek n usekkar. Aselkim yesɛa aṭas n yiseɣẓanen i yebɣan ad xedmen deg yiwen n wakud. Anagraw n wammud yesseqdac tuddsa i waken ad yefk akud i yal akala. '''Agetsihel / Agetmahil''': Anagraw n wammud yezmer ad yesselkem aṭas n yikalan deg yiwen n wakud, s useqdec n tunt n wakud (time slice) i yal akala. '''Amyezwer''': Anagraw yettextiri anwa akala i ilaqen ad yekcem s usekkar s useqdec n tazwart. Llan yikalan i yebɣan akud ilaw d wid i yebɣan kan aselkem n tmahilin. == Asefrek n Tkatut == Takatut d amkan anda ttmagaren isefka d yiseɣẓanen i usefrek s usekkar. Anagraw n wammud yessefrak: '''Takatut tuddirt''' (RAM): Anagraw yettheyyi tallunt i yal akala. Mi ara yekfu ukala, anagraw n wammud yessafaḍ tallunt-nni i yikalan nniḍen. '''Takatut tuhlist''': Mi ara teččar takatut tuddirt, anagraw n wammud yesseqdac aḍebsi am wakken d takatut, s useqdec n tissubtert. Aya yettaǧǧa iselkimen ad xedmen s yiseɣẓanen imeqwranen ɣas ma takatut tuddirt d tameẓyant. == 3. Anagraw n Ifuyla d Tallunt n Weḥraz == Isefka akk i yuran ɣef yiḍebsiyen ttwassnen s yisem n Ifuyla. Anagraw n wammud yesɛa anagraw n ifuyla i yessefreken: '''Tuddsa n yifuyla''': Asefrek n Yikaramen akken ad yili usefrek n yifuyla s s wudem n tuddsa d telqayt. '''Izerfan n wadduf''': Anagraw isbadu anwa aseqdac i yezmiren ad yali, ad yaru, neɣ ad yesselkem afaylu. '''Tallunt tilellit''': Anagraw yettɛassa tallunt i d-yegran deg uḍebsi, yerna yettaǧǧa aseqdac ad yeg tissubtert (fragmentation/défragmentation) i useɣti n tmellit. == 4. Asefrek n Yibenken d Inuḍaf == Aselkim yesɛa aṭas n yibenken am unasiw, taɣerdayt, tasaggazt, d yibenken n uzeṭṭa (am tkarḍiwt n uẓeṭṭa). '''Inuḍaf''': I yal ibenk, anagraw n wammud yesra anuḍaf. Anuḍaf d aseɣẓan ameẓyan i yessuqlen tiludna n unagraw n wammud ɣer tutlayt i yefhem warrum n yibenk. '''Anekcum / Tuffɣa''': Anagraw n wammud yessefrak tuzzna n yisefka gar usekkar d yibenken s useqdec n yikalan n wadduf neɣ DMA (Addaf usrid ɣer tkatut). == 5. Taɣellist Tasenselkamt d Tinekkit == Deg umaḍal n wass-a, taɣellist d aḥric ameqqran deg unagraw n wammud: '''Asefrek n Yimiḍanen''': Yal aseqdac yesɛa tinekkit tumḍint d awal uffir. '''Amesten''': Anagraw n wammud yettḥaza anagraw mgel ivirusen, atɛeddi, d yiseɣẓanen araɣelsanen (malwares). '''Asesteb''': Aseqdec n tsekkiwin tibiyumitriyin am uḍad neɣ udem i waken ad yeldi aseqdac amiḍan-is. == 6. Azeṭṭa d Teɣwalt == Imi aselkim yeqqen ɣer uzeṭṭa am Internet, anagraw n wammud yesɛa igmanen n teɣwalt: '''Ineggafen''': Anagraw yesseqdac ineggafen am TCP/IP i waken ad yili umyifham gar yiselkimen d yiqeddacen. '''Timellit n Uzeṭṭa''': Asefrek n wazrug yesezgaren, asagen, d tansa IP i yal amkan i yeqqnen ɣer uzeṭṭa. == Tamselyut == [http://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation#Notes| Anagraw n wammud s tefransist] [[Taggayt:Anagraw n wammud]] [[Taggayt:Tasenselkimt]] tao2uhz7bmurdzstp6ftxrzxhkpwosj 117097 117096 2026-08-18T10:34:09Z Gurzil90x 14292 Arniɣ-d ayen ilaqen 117097 wikitext text/x-wiki '''Anagraw n wammud''' (s teglizit: ''Operating System'') d aseɣẓan adasilan ameqqran i yessefreken arrum n uselkim, yerna yettakken tallalt i yiseɣẓanen d isnasen nniḍen akken ad xedmen. D netta i d agrudem gar useqdac d tmacint. Mebla anagraw n wammud, aselkim ur yezmir ara ad yeg taɣawsa, acku netta i d amehhal i yesdukkulen igmanen akk n uselkim. Deg Ctembeṛ 2024, Android d anagraw n wammad yettwassnen akk s umur n wulzuz n 46%, yeḍfer-it Microsoft Windows ɣef 26%, iOS ed iPadOS ɣef 18%, macOS ɣef 5%, ed Linux ɣef 1%. Android, iOS, akked iPadOS d inagrawen n wammud aziraz, ma d Windows, macOS, akked Linux d inagrawen n wammud n tnarit. Azuzer Linux d win yesɛan aɣmar deg unnar n iqeddacen d iselkimen n unnig. Tiggayin-nniḍen yemmuzzgen n yinagrawen n wammud ( inagrawen n wammad s wudem uzzig), am yinagrawen yettwaselɣen d inagrawen n wammud n wakud ilaw, llant i waṭas n yisnasen. Llan daɣen yinagrawen n wammad yettwagen ɣef tɣellist. Kra n yinagrawen n wammud sɛan isutren n warum d imeẓyanen(amedya, afraq n Linux afessas). Wiyaḍ zemren ad sɛun isutren n warum d imeqqranen. == Asefrek n Usekkar d Yikalan == Agejdi n unagraw n wammud netta d asefrek n usekkar. Aselkim yesɛa aṭas n yiseɣẓanen i yebɣan ad xedmen deg yiwen n wakud. Anagraw n wammud yesseqdac tuddsa i waken ad yefk akud i yal akala. '''Agetsihel / Agetmahil''': Anagraw n wammud yezmer ad yesselkem aṭas n yikalan deg yiwen n wakud, s useqdec n tunt n wakud (time slice) i yal akala. '''Amyezwer''': Anagraw yettextiri anwa akala i ilaqen ad yekcem s usekkar s useqdec n tazwart. Llan yikalan i yebɣan akud ilaw d wid i yebɣan kan aselkem n tmahilin. == Asefrek n Tkatut == Takatut d amkan anda ttmagaren isefka d yiseɣẓanen i usefrek s usekkar. Anagraw n wammud yessefrak: '''Takatut tuddirt''' (RAM): Anagraw yettheyyi tallunt i yal akala. Mi ara yekfu ukala, anagraw n wammud yessafaḍ tallunt-nni i yikalan nniḍen. '''Takatut tuhlist''': Mi ara teččar takatut tuddirt, anagraw n wammud yesseqdac aḍebsi am wakken d takatut, s useqdec n tissubtert. Aya yettaǧǧa iselkimen ad xedmen s yiseɣẓanen imeqwranen ɣas ma takatut tuddirt d tameẓyant. == 3. Anagraw n Ifuyla d Tallunt n Weḥraz == Isefka akk i yuran ɣef yiḍebsiyen ttwassnen s yisem n Ifuyla. Anagraw n wammud yesɛa anagraw n ifuyla i yessefreken: '''Tuddsa n yifuyla''': Asefrek n Yikaramen akken ad yili usefrek n yifuyla s s wudem n tuddsa d telqayt. '''Izerfan n wadduf''': Anagraw isbadu anwa aseqdac i yezmiren ad yali, ad yaru, neɣ ad yesselkem afaylu. '''Tallunt tilellit''': Anagraw yettɛassa tallunt i d-yegran deg uḍebsi, yerna yettaǧǧa aseqdac ad yeg tissubtert (fragmentation/défragmentation) i useɣti n tmellit. == 4. Asefrek n Yibenken d Inuḍaf == Aselkim yesɛa aṭas n yibenken am unasiw, taɣerdayt, tasaggazt, d yibenken n uzeṭṭa (am tkarḍiwt n uẓeṭṭa). '''Inuḍaf''': I yal ibenk, anagraw n wammud yesra anuḍaf. Anuḍaf d aseɣẓan ameẓyan i yessuqlen tiludna n unagraw n wammud ɣer tutlayt i yefhem warrum n yibenk. '''Anekcum / Tuffɣa''': Anagraw n wammud yessefrak tuzzna n yisefka gar usekkar d yibenken s useqdec n yikalan n wadduf neɣ DMA (Addaf usrid ɣer tkatut). == 5. Taɣellist Tasenselkamt d Tinekkit == Deg umaḍal n wass-a, taɣellist d aḥric ameqqran deg unagraw n wammud: '''Asefrek n Yimiḍanen''': Yal aseqdac yesɛa tinekkit tumḍint d awal uffir. '''Amesten''': Anagraw n wammud yettḥaza anagraw mgel ivirusen, atɛeddi, d yiseɣẓanen araɣelsanen (malwares). '''Asesteb''': Aseqdec n tsekkiwin tibiyumitriyin am uḍad neɣ udem i waken ad yeldi aseqdac amiḍan-is. == 6. Azeṭṭa d Teɣwalt == Imi aselkim yeqqen ɣer uzeṭṭa am Internet, anagraw n wammud yesɛa igmanen n teɣwalt: '''Ineggafen''': Anagraw yesseqdac ineggafen am TCP/IP i waken ad yili umyifham gar yiselkimen d yiqeddacen. '''Timellit n Uzeṭṭa''': Asefrek n wazrug yesezgaren, asagen, d tansa IP i yal amkan i yeqqnen ɣer uzeṭṭa. == Tawsatin n Yinagrawen n Wammud == Llan aṭas n tewsatin n yinagrawen n wammud, yal yiwen yettwaxdem i uḥric mus: '''I yiselkimen n ufellaru''' (PC): Am Windows, macOS, d [[Linux]]. Ttwaxedmen i tmahilin n yal ass, asihel, d urar. '''I yiqeddacen''': Am Linux Server neɣ Windows Server. Ttwaxedmen i waken ad qablen aṭas n yimsaɣen deg uzeṭṭa, ad ḥerzen taffa n isefka, yerna ad xedmen 7/7 d 24/24 mebla taruẓi. '''I Yibenken Izirazen''': Am Android d iOS i yitilifunen, neɣ inagrawen i tkeṛwas d tmacinin n usafag. '''Akud Ilaw''': Yinagrawen i yebɣan tiririt s wakud ugani iqerben ɣer yilem(ziṛu)nam deg yisafaren n usafag neɣ deg tasenselkimt tamgurant. == Anagraw n Wammud d Tigzi Taragmawant == Ass-a, tasenselkimt tetteddu s ururad ameqqran. Tigzi taragmawant tuɣal d aḥric daxel n yinagrawen n wammud. Ass-a, anagraw n wammud yezmer ad yissin amek yettextiṛi useqdac, ad yili s wudem ittcaren deg tira, ad yessenqes asekkey n tkatut s yilguritmen n welmad awurman, yerna ad yaf tuccḍiwin send ad d-yili wugur. Anagraw n wammud mačči kan d aseɣẓan, maca d tamudemt i yessawaḍen aselkim ad yili d amehhal uḥdiq, yerna d amsaɣ ameqwran deg tudert-nneɣ n yal ass. == Tamselyut == [http://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation#Notes| Anagraw n wammud s tefransist] [[Taggayt:Anagraw n wammud]] [[Taggayt:Tasenselkimt]] q86l6vwyed6b9fraoroj1pma9jxygl1 Tazdukla 0 25535 117101 117094 2026-08-18T11:21:53Z Gurzil90x 14292 Arniɣ-d ayen ilaqen 117101 wikitext text/x-wiki [[Tugna:Hammer and Sickle and Star.svg|vignette|Tafḍist d umger d asentel amiran n uzamul azduklan. Wa d amedya n tefḍist d wemger d yitri azewwaɣ i d-yekkan seg wannay n tdukla tasuvyatit.]] Tasnakta n '''tzdukla''', d yiwet n tiẓri tasertit, tadamsant, akked tmettit i d-yeflalin i wakken ad d-teglu s ubeddel aẓaran deg unagraw ametti. Iswi-ines agejdan d asali n tmetti war tiserkm, anda ayla uslig n wallalen n ufares ad yettwakkes, ad yuɣal d ayla amagraw (ayla amazday) iwumi ara d-tezzizdig tmetti s timmad-is. Deg unagraw-a, yal yiwen ad yefk ilmend n tezmert-is, yal yiwen ad yaweḍ ilmend n tesri-ines. == Aẓar d Laṣel == Aẓar n tiẓri-a yettarra ɣer lqern wis XIX, sɣur sin n yigaggen ilmaniyen: '''[[Karl Marks]]''' akked '''Friedrich Engels'''. Deg useggas n 1848, ssufɣen-d adlis-nsen yettwassnen aṭas, i wumi semman ''Ameskan n Ukabar Azduklan'' (neɣ ulɣu n ukabar azduklan). Deg tallit-nni, timura n Turuft llant ddrent tallit n tgrawla temguranit. Annect-a yegla-d s unagraw amsihran, anda inesbaɣuren, neɣ ''tiburjwazit'', ttqemmiren imɣidan (aprolitari), wid ur nesɛi ara ayla, ssexdamen-ten s rxa d leɛtab ameqqran i wakken ad snernin ayla-nsen. D lḥif-a n yimahilen d tɣara n tudert-nsen i d-yeǧǧan Marks d Engels ad d-sbedden tasnakta i d-yessawalen ɣer tnekra mgal anagraw-a asihri i d-yeglan s miḥyaf d lbaṭel. ifdlhkmqijkvoeu8pawypkntr6796vq