00001
00002 #include "UART0_stdio.h"
00003
00004 int main() {
00005
00006 char ent_char ;
00007 int ent_dec_pos ;
00008 int ent_dec_neg ;
00009 int ent_hex ;
00010 int ent_oct ;
00011 int ent_oct_hex ;
00012 long ent_slong ;
00013 unsigned short ent_ushort ;
00014 unsigned long ent_ulong ;
00015 char tab_char[3] ;
00016
00017
00018 char nom [50] ;
00019 char mois[50] ;
00020 int jour ;
00021 int annee ;
00022 int *ptr ;
00023 char tab[3] ;
00024 long double fld ;
00025 float flottant ;
00026 double f ;
00027 double f4 ;
00028 long double f1 ;
00029 float f2, f3 ;
00030
00031
00032 printf("Entrez un char:");
00033 scanf("%c" , &ent_char);
00034 printf("%c\n", ent_char);
00035
00036
00037
00038 printf("Entrez trois caracteres:\n");
00039 scanf("%3c" , tab_char);
00040 printf("1er char :%c\n", tab_char[0]);
00041 printf("2eme char :%c\n", tab_char[1]);
00042 printf("3eme char :%c\n", tab_char[2]);
00043
00044 printf("Entrez un nombre decimal positif: ");
00045 scanf("%d" , &ent_dec_pos);
00046 printf("%d\n", ent_dec_pos);
00047
00048 printf("Entrez un nombre decimal negatif: ");
00049 scanf("%d" , &ent_dec_neg);
00050 printf("%d\n", ent_dec_neg);
00051
00052 printf("Entrez un nombre decimal long: ");
00053 scanf("%ld" , &ent_slong);
00054 printf("%ld\n", ent_slong);
00055
00056 printf("Entrez un nombre decimal unsigned long: ");
00057 scanf("%lu" , &ent_ulong);
00058 printf("valeur entree: %lu\n", ent_ulong);
00059
00060 printf("Entrez un nombre decimal unsigned short: ");
00061 scanf("%hu" , &ent_ushort);
00062 printf("valeur entree: %lu\n", ent_ushort);
00063
00064
00065 printf("Entrez un nombre en hexa: ");
00066 scanf("%x" , &ent_hex);
00067 printf("%x\n", ent_hex);
00068
00069 printf("Entrez un nombre en octal: ");
00070 scanf("%o" , &ent_oct);
00071 printf("%o \n", ent_oct);
00072
00073 printf("Entrez un nombre en octal ou hexa (preceder de 0 pour octal et de 0x ou 0X pour hexa), ");
00074 scanf("%i" , &ent_oct_hex);
00075 printf("valeur entree en decimal : %i \n", ent_oct_hex);
00076
00077 printf("Entrez une chaine de caracteres: ");
00078 scanf("%s" , nom);
00079 printf("%s \n", nom);
00080
00081 printf("Entrez le jour,le mois et l'annee:\n");
00082
00083 scanf("%d%s%d", &jour, mois, &annee);
00084 printf("\njour:%d \n",jour);
00085 printf("mois:%s \n",mois);
00086 printf("annee:%d \n",annee);
00087
00088
00089
00090
00091
00092
00093
00094 printf("Entrez une chaine de caracteres en majuscules: ");
00095 scanf("%[A-Z]" , nom);
00096 printf("%s \n", nom);
00097
00098 printf("Entrez une chaine de caracteres sans majuscules pour terminer le scanf entrez une majuscule: ");
00099 scanf("%[^A-Z]" , nom);
00100 printf("%s \n", nom);
00101
00102 printf("Entrez une adresse memoire quelconque \n");
00103 scanf("%p",&ptr);
00104 printf("L'adresse %p contient la valeur %d ",ptr,*ptr);
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120 printf("Entrer un float:\n");
00121 scanf("%f",&flottant);
00122 printf("Le float entre est %f",flottant);
00123
00124 printf("Entrer un double float:\n");
00125 scanf("%Lf",&f);
00126 printf("Le float entre est %Lf\n",f);
00127
00128
00129 printf("Entrer un nombre avec exposant :\n");
00130 scanf("%le",&f);
00131 printf("Le float entre est %le\n",f);
00132
00133
00134
00135
00136
00137 printf("Entrer un nombre avec exposant :\n");
00138 scanf("%lg",&f);
00139 printf("Le float entre est %lg\n",f);
00140
00141 printf("Entrer un nombre avec exposant :\n");
00142 scanf("%Lg",&fld);
00143 printf("Le float entre est %Lg\n",fld);
00144
00145
00146 f1 = 48656568.256479123456789123456789;
00147 f = 48656568.256479123456789123456789;
00148 f2 = 456.45366;
00149 f3 = 456.45362;
00150 printf("Test for Floating points numbers printf\n");
00151
00152
00153 printf("double :%lf\n",f);
00154
00155
00156
00157
00158 printf("LONG DOUBLE :%Lf - %20.10Lf - %20.15Lf - %20.20Lf - %30.30Lf\n", f1, f1, f1, f1, f1);
00159 printf("float2 :%4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416);
00160
00161
00162
00163 printf("float3 :%7.3f\n", 1.2345);
00164 printf("float3bis :%7.3lf\n",4865.256479 );
00165 printf("float4 :%10.3f\n", 1.2345e3);
00166 printf("float5 :%10.3f\n", 1.2345e7);
00167 printf("float6 :%12.4e\n", 1.2345);
00168 printf("float7 :%12.4e\n", 123.456789e8);
00169 printf("float8 :%15.5lf\n",48656568.256479 );
00170 printf("float9 :%15.6lf\n",48656568.256479 - 48656568.256478 );
00171 printf("float9bis :%-15.6lf%7.4f\n",48656568.256479 - 48656568.256478,1.2345 );
00172 printf("float9ter :%15.2lf\n",f2*f3 );
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187 printf("float10 :01234567 \n" );
00188 printf("float11 :%8g|\n", 12.34 );
00189 printf("float12 :%8g|\n", 1234.5678 );
00190 printf("float13 :%8g|\n", 0.0478 );
00191 printf("float14 :%8g|\n", 422121.0 );
00192 printf("float15 :%8g|\n", 422121234.345345 );
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204 printf("float16 :%.0f|\n", 1000.123456789123456789 );
00205 printf("float17 :%.1f|\n", 2000.123456789123456789 );
00206 printf("float18 :%.2f|\n", 3000.123456789123456789 );
00207 printf("float19 :%.10f|\n", 4000.123456789123456789 );
00208 printf("float20 :%.30f|\n", 5000.123456789123456789 );
00209 printf("float21 :%f|\n", 6000.123456789123456789 );
00210 printf("float22 :%.f|\n", 7000.123456789123456789 );
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222 int a ;
00223 char c ;
00224 float ft ;
00225 int hex ;
00226 double db ;
00227 char stg[50]="chaine" ;
00228
00229 a=1;
00230
00231 printf("Test suite de int: \n a=%d\na+1=%d\na+2=%d\na+3=%d\na+4=%d\na+5=%d\na+6=%d\na+7=%d\na+8=%d\na=%d\n",a,a+1,a+2,a+3,a+4,a+5,a+6,a+7,a+8,a);
00232
00233
00234 ft=1.589634 ;
00235 printf("Test suite de floats: \nft=%f\nft+0.1=%f\nft+0.01=%f\nft+0.001=%f\nft+0.0001=%f\nft+0.00001=%f\n",ft,ft+0.1,ft+0.01,ft+0.001,ft+0.0001,ft+0.00001);
00236
00237
00238
00239 a = 1 ;
00240 c ='c' ;
00241 ft = 1.963214 ;
00242 db = 1.589e+15;
00243 hex = 0x0FA ;
00244
00245 printf("Test avec plusieurs formats:\na=%d\nc=%c\nstg=%s\nft=%6.5f\ndb=%10.2e\nhex=%x\n",a,c,stg,ft,db,hex);
00246 printf("Entrez dans l'ordre un int\n un char\n une chaine\nun float\nun float avec exposant\nun hexa \n");
00247 scanf("%d%c%s%f%le%x",&a,&c,stg,&ft,&db,&hex);
00248 printf("Test avec plusieurs formats apres un scanf:\n a=%d\nc=%c\nstg=%s\nft=%6.5f\ndb=%10.2le\nhex=0x%x\n",a,c,stg,ft,db,hex);
00249
00250 return 0;
00251
00252 }
00253
00254