You are on page 1of 5

/*

printf - format conversions:


Conversion character: %d, %i - int, %u - unsigned int, %f - float or double, %c - char
Length modifier: %h - short, %l - long

*/

#include <stdio.h>

void main(){

int int_var;
short short_var;
long long_var;

unsigned short u_short_var;

float float_var;
double double_var;

char char_var;

int_var = 12345678;
short_var = -598;
long_var = 12345678987654321;
printf("Int value: %d, int size %ld bytes.\n",int_var,sizeof(int_var));
printf("Short int value: %hd, short int size %ld bytes.\n",short_var,sizeof(short_var));
printf("Long int value: %ld, long int size %ld bytes.\n",long_var,sizeof(long_var));

u_short_var = 40000;
printf("Unsigned short int value (fomated as short int): %hd, unsigned short size %ld bytes.\n",u_>
printf("Unsigned short int value: %hu, unsigned short size %ld bytes.\n",u_short_var,sizeof(u_shor>

float_var = 1.61803398875;
double_var = 1E7;

printf("Float value: %f, float size %ld bytes.\n",float_var,sizeof(float_var));


printf("Double value: %f, double size %ld bytes.\n",double_var,sizeof(double_var));

char_var = 'A';
printf("Char value: %c, char size %ld bytes.\n", char_var, sizeof(char_var));

----------------------------------------------------------------------------------------------------------------------------------------
GNU nano 5.2 /home/hepek/git/mmas1/2020_21/Vezbe 1/primer2/main.c
/*
library <stdint.h>
signed --> int8_t, int16_t, int32_t, int64_t
unsigned --> uint8_t, uint16_t, uint32_t, uint64_t
*/

#include <stdio.h>
#include <stdint.h>

void main(){

int8_t int8_var;
int16_t int16_var;
int32_t int32_var;
int64_t int64_var;

uint8_t uint8_var;

printf("Int8 size %ld bytes.\n",sizeof(int8_var));


printf("Int16 size %ld bytes.\n",sizeof(int16_var));
printf("Int32 size %ld bytes.\n",sizeof(int32_var));
printf("Int64 size %ld bytes.\n",sizeof(int64_var));

printf("Uint8 size %ld bytes.\n",sizeof(uint8_var));

------------------------------------------------------------------------------------------------------------------------------------------
//#define FOR

#include <stdio.h>
#include <stdint.h>

void main(){
uint8_t i=33;

printf("-------------ASCII table-------------\n");

#ifdef FOR
for(i=33; i<128; i++){
printf("Character position: %hu, charachter: %c\n",i,i);
}
#endif

#ifdef WHILE
while(i<128){
if(i%2 == 0){
i++;
continue;
}
else
printf("Character position: %hu, charachter: %c\n",i,i);
i++;
}
#endif

#ifdef DO_WHILE
do{
if(i == 'w')
break;
printf("Character position: %hu, charachter: %c\n",i,i);
i++;
}while(i<128);
#endif

}
-------------------------------------------------------------------------------------------------------------------------------------------
GNU nano 5.2 /home/hepek/git/mmas1/2020_21/Vezbe 1/primer4/main.c
#define DO_WHILE

#include <stdio.h>

typedef enum {MON=1, TUE, WED, THU, FRI, SAT, SUN} day_t;

void main(){
day_t today = MON;

switch(today){
case MON:
printf("Monday\n");
break;
case TUE:
printf("Tuesday\n");
//break;
case WED:
printf("Wednesday\n");
break;
case THU:
printf("Thursday\n");
break;
case FRI:
printf("Friday\n");
break;
case SAT:
printf("Saturday\n");
break;
case SUN:
printf("Sunday\n");
break;
default:
printf("Error\n");

}
}
-------------------------------------------------------------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdint.h>

void main(){

uint8_t reg_l;
uint8_t reg_h;
uint16_t reg;

reg_h = 170;
reg_l = 85;

printf("reg_h --> decimal %hhu, hexadecimal 0x%hhX \n",reg_h, reg_h);


printf("reg_l --> decimal %hhu, hexadecimal 0x%hhX \n\n",reg_l, reg_l);

printf("reg_h | reg_l -> hexadecimal 0x%hhX\n", reg_h|reg_l);


printf("reg_h || reg_l -> hexadecimal 0x%hhX\n\n", reg_h||reg_l);

printf("reg_h & reg_l -> hexadecimal 0x%hhX\n", reg_h&reg_l);


printf("reg_h && reg_l -> hexadecimal 0x%hhX\n\n", reg_h&&reg_l);

printf("reg_h ^ reg_l -> hexadecimal 0x%hhX\n\n", reg_h^reg_l);

printf("~reg_h -> hexadecimal 0x%hhX\n", ~reg_h);


printf("!reg_h -> hexadecimal 0x%hhX\n", !reg_h);
printf("~reg_l -> hexadecimal 0x%hhX\n", ~reg_l);
printf("!reg_l -> hexadecimal 0x%hhX\n\n", !reg_l);

printf("reg_h<<8 -> hexadecimal 0x%hhX\n", reg_h<<8);


printf("reg_h<<8 -> hexadecimal 0x%hX\n\n", reg_h<<8);

reg = (reg_h<<8)|reg_l;
printf("reg = reg_h reg_l --> hexadecimal 0x%hX\n",reg);

uint32_t long_reg = 0xDEDABABA;


printf("long_reg --> hexadecimal 0x%X\n",long_reg);
printf("BABA --> hexadecimal 0x%X\n",long_reg&0x0000FFFF);
printf("DEDA --> hexadecimal 0x%X\n",(long_reg&0xFFFF0000)>>16);
}
-------------------------------------------------------------------------------------------------------------------------------------------

You might also like