Video: C Programming Tutorial for Beginners 2025
Av Dan Gookin
Den beste måten å lære programmering på, er å starte med et grunnleggende språk som C. Nesten alle andre populære språk låner i dag fra C. Uansett om du er nysgjerrig på programmering, trenger du å passere en høyskole kurs, eller ønsker å starte din egen app business, er læring C det rette stedet å begynne.
Forstå C Language Skeleton
Mest koding starter med en C-språkstruktur. Dette skjelettet inneholder de grunnleggende beinene som de fleste programmer er skrevet på. Bruk dette enkle skjelettet for å komme i gang:
#include int main () {return (0);}
Tradisjonelt starter programmet med preprocessor-direktiver pluss prototyper. #include-setningene inneholder headerfiler, for eksempel stdio. h, standardinngang / utgangshovedfilen.
Hovedfunksjonen i all C-koden er hoved (), som er den første funksjonen som kjører når programmet starter. Hovedfunksjonen () er en int-funksjon, så den må returnere et heltall. Alle funksjonens uttalelser er vedlagt i krøllede parenteser, eller braces.
C Språk Nøkkelord
C-søkeordene representerer kjernen i språket. Med C11-revisjonen til språket har flere nye søkeord blitt lagt til. De vises med ledende underskrifter i følgende tabell:
_Alignas | pause | float | signert |
_Alignof | sak | for | sizeof |
_Atomic > røye | goto | statisk | _Bool |
konst | hvis | struct | _Complex |
fortsette | inline | switch | _Generic |
standard~~POS=TRUNC | int | typedef | _Imaginary |
gjør | lang | union | _Noreturn |
dobbel | registrer | usignert | _Static_assert |
andre > begrense | void | _Thread_local | enum |
returnere | flyktig | auto | extern |
korte | mens |
|
Følg med på følgende punkter når du begynner programmering i C: |
Du bruker bare noen få av de C-søkeordene i koden din. Noen av dem vil du aldri bruke.
-
Det meste av arbeidet i koden din er gjort av funksjoner, ikke etter søkeord.
-
C Språkvarianttyper
-
I stedet for å gjøre alle variablene dine flyter, er det mer effektivt å undersøke hvilken type data som er lagret, og velg deretter en passende C-variabeltype.
Type
Verdiområde
_Bool | 0 til 1 |
---|---|
char | -28 til 127 |
usignert char | 0 til255 |
kort int | -32, 768 til 32, 767 |
usignert kort int | 0 til 65, 535 |
int | -2, 147, 483, 648 til 2, 147, 483, 647 |
usignert int > 0 til 4, 294, 967, 295 | lang int |
-2, 147, 483, 648 til 2, 147, 483, 647 | usignert lang int |
0 til 4, 294, 967, 295 | float |
1.17 × 10-38 til 3. 40 × 1038 | dobbelt |
2. 22 × 10-308 til 1. 79 × 10308 | Hold disse C-variabeltypene i tankene: |
Kontroller at du velger riktig variabeltype for verdiene du må lagre. | _Bool-typen lagrer bare to verdier, 0 og 1, som kan representere TRUE eller FALSE eller På eller Av eller en binær tilstand. |
Karaktervariabelen lagrer tegnverdier, men den kan også brukes til å lagre små heltall.
-
Heltall, eller hele tall, lagres i int variabler.
-
Enhver type verdi, fra det aller store til det aller minste, og eventuelle brøkverdier lagres i float- og dobbelttyper.
-
Husk å bruke int-verdier for funksjoner som genererer heltall, for eksempel getchar (). Det er lett å anta at funksjonen returnerer en char-verdi på grunn av funksjonens navn.
-
C mangler en strengvariable type. I stedet brukes en rekke char variabler.
-
Andre variable typer inkluderer strukturer og pekere.
-
Vanlige C Escape Sequences
-
Når du ikke kan skrive inn tegn i strengen, bruker du fluktsekvensene til å sette inn ikke-skrivbare tegn i tekststrenger, variabler og arrays. Her er vanlige C escape-sekvenser:
-
Tegn
Hva det representerer eller viser
a
Bell ("pip!") | b | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Backspace, ikke sletting | f < Formmat eller fjern skjermbildet | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
n | Newline | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
r | Vognretur | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t | Fane | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v | Vertikal fan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Backslash tegnet | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
? | Spørsmålstegn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
' | Enkelt sitat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
" | Vanlige C-konverteringspersoner | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funksjonene printf () og scanf () bruker konverteringsfigurer som plassholdere for ulike verdier. Konverteringspersoner brukes til å indikere en verdi når funksjonen kjører i det endelige programmet. | Konverterings tegn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Den viser |
% c | En enkelt tegn (kar) |
---|---|
% d | Integer verdi kort, int) |
% e | Flytpunktsverdien i vitenskapelig notasjon ved hjelp av en liten E |
(float, double) | % E |
Flytpunktsverdien i vitenskapelig notasjon ved hjelp av en stor E | % f
Substitusjoner% f eller% e, avhengig av hvilken som er kortere (flyt, dobbelt) |
% f | Flytpunktsverdien i desimalnotasjon)
% G |
Substitusjoner% f eller% E, avhengig av hvilken som er kortere (float, double) | % i |
Integerverdi (kort, int) | % ld |
Lang heltall (lang int) | % o |
Uten signert oktalverdi, ingen ledende null | % p |
Minneplassering i heksadesimal (* pointer) | % s |
String (char *) >% u | Unsigned integer (usignert kort, usignert int, usignert |
lang) | % x |
Uttegnet heksadesimal verdi, små bokstaver (kort, int, lang) | % X |
Unsigned hexadecimal verdi, store bokstaver (kort, int | lang)
Ordren av Pr ecedence i C |
Den | prioriteringsordre |
bestemmer hvilke operatører som har en verdi først. Når du utarbeider uttalelser, vet du prioritetsordningen for å sikre at programmet gjør det du har tenkt. | Operatør (er)
Kategori |
Beskrivelse
! Unary Logisk ikke; assosiativitet går rett til venstre
++ - | Unary | Økning, dekrement, les fra høyre til venstre |
---|---|---|
* /% | Math | Multiplikasjon, divisjon, modulo |
+ - | Matematikk | Addisjon, subtraksjon |
<> | Binær | Skift til venstre, skift til høyre |
= | Sammenligning | Mindre enn større enn mindre enn eller lik, større enn eller |
lik | ==! = | Sammenligning |
Er lik, ikke lik | & | Binær
Og |
^ | Binær | Eksklusiv eller (XOR) |
| | Binary | eller |
&& | Logisk | og |
|| | Logisk | eller |
?: | Sammenligning | Merkelig om ting; assosiativitet går rett til venstre |
= | Oppgave | Variabel oppdragsoperatør, inkludert + =, * = og alle |
oppdragsoperatører | , | (Ingen) |
Komma skiller elementer i en for | setning; forrang fra venstre til høyre | Forrangsordren kan overstyres ved hjelp av parenteser. Bare legg inn i et par parenteser delen av ligningen som du vil ha kjørt først. Den delen utføres først uansett hva prioriteten er.
![]() |