Professional Documents
Culture Documents
Utasitasok
Utasitasok
Programozás I.
Hatwágner F. Miklós
2013. október 9.
Utasítások típusai, blokkok
Utasítások típusai:
összetett
címkézett
kifejezés
szelekciós
iterációs
ugró
Kifejezés utasítás
#include<stdio.h>
int main(void) {
cimke1: printf("Kifejezés utasítás, amit meg is címkéztek\n");
return 0;
}
Hatwágner F. Miklós Utasítások
Szelekciós utasítások if
if(kifejezés) utasítás1
kifejezés
if(t=='n')
if(k=='b') printf("Nappali tagozat, BSc képzés\n");
else
printf("Levelez® tagozat\n");
Helyes kivitelezés
if(t=='n') {
if(k=='b') printf("Nappali tagozat, BSc képzés\n");
} else
printf("Levelez® tagozat\n");
if(t=='n') {
if(k=='b') printf("Nappali tagozat, BSc képzés\n");
else printf("Nappali tagozat, MSc képzés\n");
} else {
if(k=='b') printf("Levelez® tagozat, BSc képzés\n");
else printf("Levelez® tagozat, MSc képzés\n");
}
az algoritmus részletei
Visszaadja x indexét azn elem¶ t tömbben, vagy ha nincs benne, akkor annak
switch(kifejezés) utasítás
utasítás tartalmazhat
végrehajtás leáll:
#include<stdio.h>
void ordinal(unsigned num) {
if(!num) putchar('0');
else {
printf("%d", num);
if(num>10 && num<21) printf("th");
else switch(num%10) {
case 1: printf("st"); break;
case 2: printf("nd"); break;
case 3: printf("rd"); break;
default: printf("th");
}
}
}
while(kifejezés) utasítás
kilépés a ciklusból:
M¶ködés:
pelda17.c, részlet
do utasítás while(kifejezés);
1 végrehajtja az utasítás-t
#include <stdio.h>
#include <string.h>
#include <limits.h>
void itoa(int n, char s[]) {
int i=0, j=0, sign;
if((sign=n) < 0) {
if(n==INT_MIN) {++n; ++j;}
n=-n; }
do s[i++]=n%10+'0'; while((n/=10)>0);
s[0]+=j;
if(sign<0) s[i++]='-';
s[i]='\0';
strrv(s); }
pelda18.c
/* PELDA18.C -- Sorvégi fehér karakterek eltávolítása */
#include <stdio.h>
#define MAXLINE 128
int getline(char s[],int lim);
int main(void) {
int n; /* A sor hossza */
char line[MAXLINE+1]; /* A sor */
printf("Sorvégi fehér karakterek levágása.\n"
"Vége: EOF vagy üres sor!\n\n");
while(printf("Kérem a sort!\n"), (n=getline(line,MAXLINE))) {
while(--n>=0)
if(line[n]!=' ' && line[n]!='\t') break;
line[n+1] = '\0';
printf("|%s|\n\n", line);}
return 0; }
#include<stdio.h>
int main(void) {
int i;
for(i=0; i<10; i++) {
if(i%2) goto cimke;
{ int k='A';
cimke: k++;
putchar(k); }
}
return 0; }
#include<stdio.h>
int main(void) {
int i;
for(i=0; i<10; i++) {
if(i%2) goto cimke;
{ int k='A';
cimke: k++;
putchar(k); }
}
return 0; }
kimenet
BCBCBCBCBC
return <kifejezés>;
Jobbérték, balérték
#include<stdio.h>
int main(void) {
int i;
i=getchar(); i++; /* OK */
/* i++=getchar(); HIBA! A növelés/csökkentés
eredménye nem balérték! */
/* i=++getchar(); HIBA! A fv.-t hívó kifejezés
nem balérték! */
putchar(i); return 0; }