Data Types
Integer Types
Integer variables store whole numbers. Wider integer types can hold larger values.
int
`int` is the everyday whole-number type.
long
`long` gives a wider whole-number type on many platforms.
Integer Types
integer_types.c
Replay: real traced execution (multi-file project)
#include <stdio.h>
int main(void) {
int count = 7;
long doubled = (long)count * 2;
printf("count=%d\n", count);
printf("doubled=%ld\n", doubled);
return 0;
}
#include <stdio.h>
int main(void) {
int count = 3;
long doubled = (long)count * 2;
printf("count=%d\n", count);
printf("doubled=%ld\n", doubled);
return 0;
}
#include <stdio.h>
int main(void) {
int count = 12;
long doubled = (long)count * 2;
printf("count=%d\n", count);
printf("doubled=%ld\n", doubled);
return 0;
}
count ← 7, doubled ← 14
3int main(void) {4 int count→ 7 = 7; //@count=3, 125 long doubled→ 14 = (long)count7 * 2;67 printf("count=%d\n", count7);8 printf("doubled=%ld\n", doubled14);9 return 0;10}outputcount=7 doubled=14
count ← 3, doubled ← 6
3int main(void) {4 int count→ 3 = 3;5 long doubled→ 6 = (long)count3 * 2;67 printf("count=%d\n", count3);8 printf("doubled=%ld\n", doubled6);9 return 0;10}outputcount=3 doubled=6
count ← 12, doubled ← 24
3int main(void) {4 int count→ 12 = 12;5 long doubled→ 24 = (long)count12 * 2;67 printf("count=%d\n", count12);8 printf("doubled=%ld\n", doubled24);9 return 0;10}outputcount=12 doubled=24
Follow the Values
countstarts at7.- The expression casts
counttolong. doubled = (long)count * 2.- The default result is
14. - The program prints
count=7anddoubled=14. | count | doubled | | --- | --- | | 3 | 6 | | 7 | 14 | | 12 | 24 |
Exercise: integer_types.c
Reproduce doubled=14, then use count 3 and 12 to predict each doubled value.