= vs. == v logičnih izrazih
== znak je problem v C, ker vsak zdaj in potem si lahko pozabi in vpišite le = v Boolean izražanja. To je preprost napako, da bi, ampak prevajalnik je zelo pomembna razlika. C bo sprejel bodisi = in == v Boolean izražanja - obnašanje programa spreminja izredno med njima pa
Logični izrazi oceniti za celih C, in cela števila, se lahko uporablja znotraj logičnih izrazov. . Celo število vrednost 0 v C je False, medtem ko se katera koli druga celo vrednost je True. V nadaljevanju je pravno v C:
Če je kaj drugega kot 0, izkaz printf dobi izvrši
V C, izjava, kot če (a = b) pomeni, " Določi. b k, nato pa so test za njegovo Boolove vrednosti. " Torej, če postane 0, če je izjava False; sicer pa je res. Je vrednost sprememb v procesu. To ni predvideno obnašanje, če ste mislili, da tip == (čeprav je ta funkcija uporabna ob pravilni uporabi), zato bodite previdni z vašimi = in == Uporaba
zanka: a. Real Primer
Poglejmo pravijo, da bi radi ustvarili program, ki ga je mogoče natisniti s pretvorbe tabelo Fahrenheit-to-Celzija. To je enostavno doseči z zanko ali while:
#include < stdio.h > int main () {int A; a = 0; medtem (a < = 100) {printf ("% 4d stopinj F =% 4d stopinje C \\ n ", A, (a - 32) * 5/9); a = a + 10; } Vrne 0;}Če zaženete ta program, bo pripravila tabelo vrednosti se začne pri 0 stopinj F in konča pri 100 stopinjah F. Rezultat bo videti takole:
0 stopinj F = -17 ° C 10 stopinj F = -12 stopinj C do 20 stopinj F = -6 ° C 30 stopinj F = -1 ° C 40 stopinj F = 4 stopinje C 50 stopinj F = 10 stopinj C 60 stopinj F = 15 stopinj C 70 stopinj F = 21 stopinj C 80 stopinj F = 26 stopinj C 90 stopinj F = 32 stopinj C 100 stopinj F = 37 stopinj CVrednosti v tabeli so v korakih po 10 stopinj. Lahko vidite, da lahko preprosto spremenite vžig, ki se konča ali prirastek vrednosti v tabeli, da program proizvaja
Če bi želeli svoje vrednote biti bolj natančen, lahko uporabite namesto s plavajočo vejico.
#include < stdio.h > int main () {float A; a = 0; medtem (a < = 100) {printf ("% 6.2f stopinj F =% 6.2f stopinje C \\ n ", A, (a - 32,0) * 5,0 /9,0); a = a + 10; } Vrnitev 0;}Lahko vidite, da je bila deklaracija za spremenjeno s plovcem in simbol% f nadomešča d simbol% v izkazu printf. Poleg tega, simbol% f ima nekaj oblikovanje obrnila n