Fiches C8 et un peu de C9.
This commit is contained in:
parent
2bdd497313
commit
5abd592b3d
78
C8.6.c
Normal file
78
C8.6.c
Normal file
@ -0,0 +1,78 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#define NC ((int)sizeof(int)*8-1)
|
||||
|
||||
unsigned int mi(unsigned int i){
|
||||
return 1<<i;
|
||||
}
|
||||
|
||||
void printtt(unsigned int i){
|
||||
printf("%d = 0x%x = 0b",i,i);
|
||||
int k=0;
|
||||
while(i>>k!=0)k++;
|
||||
k--;
|
||||
while(k>=0){
|
||||
printf("%d",((i&(1<<k))>>k));
|
||||
k--;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
int main(){
|
||||
for(int i=0;i<=5;i++)
|
||||
printtt(mi(i));
|
||||
printf("Votre nombre : ");
|
||||
unsigned int n;
|
||||
scanf("%d", &n);
|
||||
|
||||
printf("Votre nombre est ");
|
||||
printtt(n);
|
||||
|
||||
// (a)
|
||||
printf("Votre nombre est ");
|
||||
printf(((n & mi(0)) == 0)?"pair":"impair");
|
||||
printf("\n");
|
||||
|
||||
// (a')
|
||||
printf("Votre nombre est ");
|
||||
printf((n%2 == 0)?"pair":"impair");
|
||||
printf("\n");
|
||||
|
||||
// (b)
|
||||
printf("Votre 3e bit est ");
|
||||
printf(((n & mi(3)) == 0)?"0":"1");
|
||||
printf("\n");
|
||||
|
||||
// (c)
|
||||
printf("Votre octet de poids faible est ");
|
||||
printf(((n & (mi(0)|mi(1)|mi(2)|mi(3)|mi(4)|mi(5)|mi(6)|mi(7))) == 7)?"égal à 7":"différent de 7");
|
||||
printf("\n");
|
||||
|
||||
// (c')
|
||||
printf("Votre octet de poids faible est ");
|
||||
printf(((n & 0xFF) == 7)?"égal à 7":"différent de 7");
|
||||
printf("\n");
|
||||
|
||||
// (d)
|
||||
printf("Votre nombre avec le bit de pos 1 à 1 est ");
|
||||
printtt(n | mi(1));
|
||||
|
||||
// (e)
|
||||
printf("Votre nombre avec le bit de pos 1 et 4 à 1 est ");
|
||||
printtt(n | mi(1) | mi(4));
|
||||
|
||||
// (f)
|
||||
printf("Votre nombre avec le bit de pos 1 et 2 à 0 est ");
|
||||
printtt(n & (~(mi(1) | mi(2))));
|
||||
|
||||
// (g)
|
||||
printf("L'octet de poids faible de votre nombre est ");
|
||||
printtt(n & 0xFF);
|
||||
|
||||
// (h)
|
||||
printf("Votre nombre en changeant la valeur du 4e bit est ");
|
||||
printtt((n ^ mi(4)));
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
90
C8.md
Normal file
90
C8.md
Normal file
@ -0,0 +1,90 @@
|
||||
C8
|
||||
=
|
||||
|
||||
### Exercice 1
|
||||
|
||||
```
|
||||
#include <stdio.h>
|
||||
|
||||
int main(){
|
||||
printf("Taille de char : %d\n", sizeof(char));
|
||||
printf("Taille de short : %d\n", sizeof(short));
|
||||
printf("Taille de int : %d\n", sizeof(int));
|
||||
printf("Taille de unsigned : %d\n", sizeof(unsigned));
|
||||
printf("Taille de long long int : %d\n", sizeof(long long int));
|
||||
printf("Taille de float : %d\n", sizeof(float));
|
||||
printf("Taille de double : %d\n", sizeof(double));
|
||||
printf("Taille de char[3] : %d\n", sizeof(char[3]));
|
||||
printf("Taille de int[7] : %d\n", sizeof(int[7]));
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
#include <float.h>
|
||||
int main(){
|
||||
|
||||
printf("Valeur minimale de char : %hhd\n",CHAR_MIN);
|
||||
printf("Valeur maximale de char : %hhd\n",CHAR_MAX);
|
||||
printf("Valeur minimale de short : %hd\n",SHRT_MIN);
|
||||
printf("Valeur maximale de short : %hd\n",SHRT_MAX);
|
||||
printf("Valeur minimale de int : %d\n",INT_MIN);
|
||||
printf("Valeur maximale de int : %d\n",INT_MAX);
|
||||
printf("Valeur minimale de unsigned : %u\n",0);
|
||||
printf("Valeur maximale de unsigned : %u\n",UINT_MAX);
|
||||
printf("Valeur minimale de long long int : %lld\n",LLONG_MIN);
|
||||
printf("Valeur maximale de long long int : %lld\n",LLONG_MAX);
|
||||
printf("Valeur minimale de float : %e\n",FLT_MIN);
|
||||
printf("Valeur maximale de float : %e\n",FLT_MAX);
|
||||
printf("Précision de float : %e\n",FLT_EPSILON);
|
||||
printf("Valeur minimale de double : %e\n",DBL_MIN);
|
||||
printf("Valeur maximale de double : %e\n",DBL_MAX);
|
||||
printf("Précision de double : %e\n",DBL_EPSILON);
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
Pour les types entiers signés, leur valeur maximale est le nombre correspondant à `011111..111` (avec n-1 `1` avec n le nombre de bits sur lequel est codé le type, donc 2^(n-1)-1. La valeur minimale est elle `1000...000` avec n-1 `0` où le premier bit a un poids négatif, donc -2^(n-1).
|
||||
|
||||
Pour les entiers signés la valeur maximale est `11111.111` avec n `1`, donc 2^n-1.
|
||||
|
||||
Pour les flottants, le nombre minimal correspond la valeur la plus basse que peut prendre la mantisse (et 0 pour la valeur), donc 1,0 * 2^(-2^(m-1)) avec m le nombre de bits de la mantisse. Le nombre maximal est l'inverse, valeur la plus haute de la mantisse et de la valeur, donc environ 2.0*2^(2^(m-1)-1).
|
||||
La précision est le plus petit nombre encodable strictement au dessus de 1. Il s'agit de 1.00000000..001 avec (n-1) zéros, avec n le nombre de bits de la valeur. La précision est donc de 2^(-n+1).
|
||||
|
||||
|
||||
### Exercice 2
|
||||
- Pour coder le nombre `2 147 412 111`, une variable de type `int` est suffisante.
|
||||
|
||||
- Pour coder le nombre `3 294 957 194`, une variable de type `unsigned int` suffit. Si on veut toujours supporter les négatifs, il faut alors se tourner vers de variables plus grandes, comme `long` (a.k.a. `long int`).
|
||||
|
||||
- Pour coder le nombre `2 000 000 000`, une variable de type `int` suffit.
|
||||
|
||||
|
||||
### Exercice 3
|
||||
1. 13 (`int`)
|
||||
2. 'B' (`int`)
|
||||
3. 75 (`int`)
|
||||
4. 160 (`int`)
|
||||
5. 132 (`long int`)
|
||||
6. 32.5 (`double`)
|
||||
7. 0 (`int`)
|
||||
|
||||
### Exercice 4
|
||||
Le `(int)` pertmet de convertin (*cast*) le flottant `` en entier, de la manière souhaitée par le compilateur. `y` est ensuite remit dans un flottant mais garde sa «valeur» entière. `z` vaut donc `round(y) + 4.5`.
|
||||
|
||||
### Exercice 5
|
||||
```
|
||||
int a = 0b0110100010100101;
|
||||
int b = 0b0111101001100001;
|
||||
int c = a ^ b;
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
873
C9.md
Normal file
873
C9.md
Normal file
@ -0,0 +1,873 @@
|
||||
C 9
|
||||
=
|
||||
|
||||
### Exercice 1
|
||||
Une directive préprocesseur commence par le caractère *croisillon* (`#`).
|
||||
|
||||
|
||||
### Exercice 2
|
||||
|
||||
1.
|
||||
```
|
||||
|
||||
|
||||
extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
# 800 "/usr/include/stdio.h" 3 4
|
||||
extern FILE *popen (const char *__command, const char *__modes) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int pclose (FILE *__stream);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__));
|
||||
# 840 "/usr/include/stdio.h" 3 4
|
||||
extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
|
||||
|
||||
extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
|
||||
extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
|
||||
# 868 "/usr/include/stdio.h" 3 4
|
||||
|
||||
# 2 "test.c" 2
|
||||
|
||||
|
||||
# 3 "test.c"
|
||||
int main()
|
||||
{
|
||||
int tmp = val +1,
|
||||
char c = 'VAL';
|
||||
|
||||
printf("VAL %i %c", tmp, c);
|
||||
|
||||
return 0;
|
||||
}
|
||||
savrillo@slsu1-07:/tmp$ clean
|
||||
bash: clean : commande introuvable
|
||||
savrillo@slsu1-07:/tmp$ clear
|
||||
|
||||
savrillo@slsu1-07:/tmp$ gcc -E test.c
|
||||
# 1 "test.c"
|
||||
# 1 "<built-in>"
|
||||
# 1 "<command-line>"
|
||||
# 31 "<command-line>"
|
||||
# 1 "/usr/include/stdc-predef.h" 1 3 4
|
||||
# 32 "<command-line>" 2
|
||||
# 1 "test.c"
|
||||
# 1 "/usr/include/stdio.h" 1 3 4
|
||||
# 27 "/usr/include/stdio.h" 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4
|
||||
# 33 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4
|
||||
# 1 "/usr/include/features.h" 1 3 4
|
||||
# 424 "/usr/include/features.h" 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4
|
||||
# 427 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
|
||||
# 428 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4
|
||||
# 429 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4
|
||||
# 425 "/usr/include/features.h" 2 3 4
|
||||
# 448 "/usr/include/features.h" 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4
|
||||
# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4
|
||||
# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4
|
||||
# 449 "/usr/include/features.h" 2 3 4
|
||||
# 34 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 2 3 4
|
||||
# 28 "/usr/include/stdio.h" 2 3 4
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 1 "/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h" 1 3 4
|
||||
# 216 "/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h" 3 4
|
||||
|
||||
# 216 "/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h" 3 4
|
||||
typedef long unsigned int size_t;
|
||||
# 34 "/usr/include/stdio.h" 2 3 4
|
||||
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4
|
||||
# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
|
||||
# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
|
||||
|
||||
|
||||
typedef unsigned char __u_char;
|
||||
typedef unsigned short int __u_short;
|
||||
typedef unsigned int __u_int;
|
||||
typedef unsigned long int __u_long;
|
||||
|
||||
|
||||
typedef signed char __int8_t;
|
||||
typedef unsigned char __uint8_t;
|
||||
typedef signed short int __int16_t;
|
||||
typedef unsigned short int __uint16_t;
|
||||
typedef signed int __int32_t;
|
||||
typedef unsigned int __uint32_t;
|
||||
|
||||
typedef signed long int __int64_t;
|
||||
typedef unsigned long int __uint64_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef long int __quad_t;
|
||||
typedef unsigned long int __u_quad_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef long int __intmax_t;
|
||||
typedef unsigned long int __uintmax_t;
|
||||
# 130 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4
|
||||
# 131 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
|
||||
|
||||
|
||||
typedef unsigned long int __dev_t;
|
||||
typedef unsigned int __uid_t;
|
||||
typedef unsigned int __gid_t;
|
||||
typedef unsigned long int __ino_t;
|
||||
typedef unsigned long int __ino64_t;
|
||||
typedef unsigned int __mode_t;
|
||||
typedef unsigned long int __nlink_t;
|
||||
typedef long int __off_t;
|
||||
typedef long int __off64_t;
|
||||
typedef int __pid_t;
|
||||
typedef struct { int __val[2]; } __fsid_t;
|
||||
typedef long int __clock_t;
|
||||
typedef unsigned long int __rlim_t;
|
||||
typedef unsigned long int __rlim64_t;
|
||||
typedef unsigned int __id_t;
|
||||
typedef long int __time_t;
|
||||
typedef unsigned int __useconds_t;
|
||||
typedef long int __suseconds_t;
|
||||
|
||||
typedef int __daddr_t;
|
||||
typedef int __key_t;
|
||||
|
||||
|
||||
typedef int __clockid_t;
|
||||
|
||||
|
||||
typedef void * __timer_t;
|
||||
|
||||
|
||||
typedef long int __blksize_t;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef long int __blkcnt_t;
|
||||
typedef long int __blkcnt64_t;
|
||||
|
||||
|
||||
typedef unsigned long int __fsblkcnt_t;
|
||||
typedef unsigned long int __fsblkcnt64_t;
|
||||
|
||||
|
||||
typedef unsigned long int __fsfilcnt_t;
|
||||
typedef unsigned long int __fsfilcnt64_t;
|
||||
|
||||
|
||||
typedef long int __fsword_t;
|
||||
|
||||
typedef long int __ssize_t;
|
||||
|
||||
|
||||
typedef long int __syscall_slong_t;
|
||||
|
||||
typedef unsigned long int __syscall_ulong_t;
|
||||
|
||||
|
||||
|
||||
typedef __off64_t __loff_t;
|
||||
typedef char *__caddr_t;
|
||||
|
||||
|
||||
typedef long int __intptr_t;
|
||||
|
||||
|
||||
typedef unsigned int __socklen_t;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef int __sig_atomic_t;
|
||||
# 36 "/usr/include/stdio.h" 2 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4
|
||||
|
||||
|
||||
|
||||
struct _IO_FILE;
|
||||
typedef struct _IO_FILE __FILE;
|
||||
# 37 "/usr/include/stdio.h" 2 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4
|
||||
|
||||
|
||||
|
||||
struct _IO_FILE;
|
||||
|
||||
|
||||
typedef struct _IO_FILE FILE;
|
||||
# 38 "/usr/include/stdio.h" 2 3 4
|
||||
|
||||
|
||||
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/libio.h" 1 3 4
|
||||
# 35 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/_G_config.h" 1 3 4
|
||||
# 19 "/usr/include/x86_64-linux-gnu/bits/_G_config.h" 3 4
|
||||
# 1 "/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h" 1 3 4
|
||||
# 20 "/usr/include/x86_64-linux-gnu/bits/_G_config.h" 2 3 4
|
||||
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4
|
||||
# 13 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4
|
||||
typedef struct
|
||||
{
|
||||
int __count;
|
||||
union
|
||||
{
|
||||
unsigned int __wch;
|
||||
char __wchb[4];
|
||||
} __value;
|
||||
} __mbstate_t;
|
||||
# 22 "/usr/include/x86_64-linux-gnu/bits/_G_config.h" 2 3 4
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
__off_t __pos;
|
||||
__mbstate_t __state;
|
||||
} _G_fpos_t;
|
||||
typedef struct
|
||||
{
|
||||
__off64_t __pos;
|
||||
__mbstate_t __state;
|
||||
} _G_fpos64_t;
|
||||
# 36 "/usr/include/x86_64-linux-gnu/bits/libio.h" 2 3 4
|
||||
# 53 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
# 1 "/usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h" 1 3 4
|
||||
# 40 "/usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h" 3 4
|
||||
typedef __builtin_va_list __gnuc_va_list;
|
||||
# 54 "/usr/include/x86_64-linux-gnu/bits/libio.h" 2 3 4
|
||||
# 149 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
struct _IO_jump_t; struct _IO_FILE;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef void _IO_lock_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
struct _IO_marker {
|
||||
struct _IO_marker *_next;
|
||||
struct _IO_FILE *_sbuf;
|
||||
|
||||
|
||||
|
||||
int _pos;
|
||||
# 177 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
};
|
||||
|
||||
|
||||
enum __codecvt_result
|
||||
{
|
||||
__codecvt_ok,
|
||||
__codecvt_partial,
|
||||
__codecvt_error,
|
||||
__codecvt_noconv
|
||||
};
|
||||
# 245 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
struct _IO_FILE {
|
||||
int _flags;
|
||||
|
||||
|
||||
|
||||
|
||||
char* _IO_read_ptr;
|
||||
char* _IO_read_end;
|
||||
char* _IO_read_base;
|
||||
char* _IO_write_base;
|
||||
char* _IO_write_ptr;
|
||||
char* _IO_write_end;
|
||||
char* _IO_buf_base;
|
||||
char* _IO_buf_end;
|
||||
|
||||
char *_IO_save_base;
|
||||
char *_IO_backup_base;
|
||||
char *_IO_save_end;
|
||||
|
||||
struct _IO_marker *_markers;
|
||||
|
||||
struct _IO_FILE *_chain;
|
||||
|
||||
int _fileno;
|
||||
|
||||
|
||||
|
||||
int _flags2;
|
||||
|
||||
__off_t _old_offset;
|
||||
|
||||
|
||||
|
||||
unsigned short _cur_column;
|
||||
signed char _vtable_offset;
|
||||
char _shortbuf[1];
|
||||
|
||||
|
||||
|
||||
_IO_lock_t *_lock;
|
||||
# 293 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
__off64_t _offset;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void *__pad1;
|
||||
void *__pad2;
|
||||
void *__pad3;
|
||||
void *__pad4;
|
||||
|
||||
size_t __pad5;
|
||||
int _mode;
|
||||
|
||||
char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
|
||||
|
||||
};
|
||||
|
||||
|
||||
typedef struct _IO_FILE _IO_FILE;
|
||||
|
||||
|
||||
struct _IO_FILE_plus;
|
||||
|
||||
extern struct _IO_FILE_plus _IO_2_1_stdin_;
|
||||
extern struct _IO_FILE_plus _IO_2_1_stdout_;
|
||||
extern struct _IO_FILE_plus _IO_2_1_stderr_;
|
||||
# 337 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf,
|
||||
size_t __n);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
|
||||
|
||||
|
||||
typedef int __io_close_fn (void *__cookie);
|
||||
# 389 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
extern int __underflow (_IO_FILE *);
|
||||
extern int __uflow (_IO_FILE *);
|
||||
extern int __overflow (_IO_FILE *, int);
|
||||
# 433 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
extern int _IO_getc (_IO_FILE *__fp);
|
||||
extern int _IO_putc (int __c, _IO_FILE *__fp);
|
||||
extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__));
|
||||
extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
extern int _IO_peekc_locked (_IO_FILE *__fp);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
|
||||
extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
|
||||
extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
|
||||
# 462 "/usr/include/x86_64-linux-gnu/bits/libio.h" 3 4
|
||||
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
|
||||
__gnuc_va_list, int *__restrict);
|
||||
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
|
||||
__gnuc_va_list);
|
||||
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
|
||||
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
|
||||
|
||||
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
|
||||
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
|
||||
|
||||
extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
|
||||
# 42 "/usr/include/stdio.h" 2 3 4
|
||||
|
||||
|
||||
|
||||
|
||||
typedef __gnuc_va_list va_list;
|
||||
# 57 "/usr/include/stdio.h" 3 4
|
||||
typedef __off_t off_t;
|
||||
# 71 "/usr/include/stdio.h" 3 4
|
||||
typedef __ssize_t ssize_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef _G_fpos_t fpos_t;
|
||||
# 131 "/usr/include/stdio.h" 3 4
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4
|
||||
# 132 "/usr/include/stdio.h" 2 3 4
|
||||
|
||||
|
||||
|
||||
extern struct _IO_FILE *stdin;
|
||||
extern struct _IO_FILE *stdout;
|
||||
extern struct _IO_FILE *stderr;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
|
||||
|
||||
extern int renameat (int __oldfd, const char *__old, int __newfd,
|
||||
const char *__new) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern FILE *tmpfile (void) ;
|
||||
# 173 "/usr/include/stdio.h" 3 4
|
||||
extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
|
||||
|
||||
|
||||
extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
# 190 "/usr/include/stdio.h" 3 4
|
||||
extern char *tempnam (const char *__dir, const char *__pfx)
|
||||
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fclose (FILE *__stream);
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fflush (FILE *__stream);
|
||||
# 213 "/usr/include/stdio.h" 3 4
|
||||
extern int fflush_unlocked (FILE *__stream);
|
||||
# 232 "/usr/include/stdio.h" 3 4
|
||||
extern FILE *fopen (const char *__restrict __filename,
|
||||
const char *__restrict __modes) ;
|
||||
|
||||
|
||||
|
||||
|
||||
extern FILE *freopen (const char *__restrict __filename,
|
||||
const char *__restrict __modes,
|
||||
FILE *__restrict __stream) ;
|
||||
# 265 "/usr/include/stdio.h" 3 4
|
||||
extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
# 278 "/usr/include/stdio.h" 3 4
|
||||
extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
|
||||
__attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
|
||||
|
||||
|
||||
extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
|
||||
|
||||
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
|
||||
int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
|
||||
|
||||
|
||||
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
|
||||
size_t __size) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
|
||||
extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fprintf (FILE *__restrict __stream,
|
||||
const char *__restrict __format, ...);
|
||||
|
||||
|
||||
|
||||
|
||||
extern int printf (const char *__restrict __format, ...);
|
||||
|
||||
extern int sprintf (char *__restrict __s,
|
||||
const char *__restrict __format, ...) __attribute__ ((__nothrow__));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
|
||||
__gnuc_va_list __arg);
|
||||
|
||||
|
||||
|
||||
|
||||
extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
|
||||
|
||||
extern int vsprintf (char *__restrict __s, const char *__restrict __format,
|
||||
__gnuc_va_list __arg) __attribute__ ((__nothrow__));
|
||||
|
||||
|
||||
|
||||
extern int snprintf (char *__restrict __s, size_t __maxlen,
|
||||
const char *__restrict __format, ...)
|
||||
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
|
||||
|
||||
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
|
||||
const char *__restrict __format, __gnuc_va_list __arg)
|
||||
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
|
||||
# 365 "/usr/include/stdio.h" 3 4
|
||||
extern int vdprintf (int __fd, const char *__restrict __fmt,
|
||||
__gnuc_va_list __arg)
|
||||
__attribute__ ((__format__ (__printf__, 2, 0)));
|
||||
extern int dprintf (int __fd, const char *__restrict __fmt, ...)
|
||||
__attribute__ ((__format__ (__printf__, 2, 3)));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fscanf (FILE *__restrict __stream,
|
||||
const char *__restrict __format, ...) ;
|
||||
|
||||
|
||||
|
||||
|
||||
extern int scanf (const char *__restrict __format, ...) ;
|
||||
|
||||
extern int sscanf (const char *__restrict __s,
|
||||
const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__));
|
||||
# 395 "/usr/include/stdio.h" 3 4
|
||||
extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
|
||||
|
||||
;
|
||||
extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
|
||||
;
|
||||
extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__))
|
||||
|
||||
;
|
||||
# 420 "/usr/include/stdio.h" 3 4
|
||||
extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
|
||||
__gnuc_va_list __arg)
|
||||
__attribute__ ((__format__ (__scanf__, 2, 0))) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
|
||||
__attribute__ ((__format__ (__scanf__, 1, 0))) ;
|
||||
|
||||
|
||||
extern int vsscanf (const char *__restrict __s,
|
||||
const char *__restrict __format, __gnuc_va_list __arg)
|
||||
__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
|
||||
# 443 "/usr/include/stdio.h" 3 4
|
||||
extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
|
||||
|
||||
|
||||
|
||||
__attribute__ ((__format__ (__scanf__, 2, 0))) ;
|
||||
extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
|
||||
|
||||
__attribute__ ((__format__ (__scanf__, 1, 0))) ;
|
||||
extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__))
|
||||
|
||||
|
||||
|
||||
__attribute__ ((__format__ (__scanf__, 2, 0)));
|
||||
# 477 "/usr/include/stdio.h" 3 4
|
||||
extern int fgetc (FILE *__stream);
|
||||
extern int getc (FILE *__stream);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int getchar (void);
|
||||
# 495 "/usr/include/stdio.h" 3 4
|
||||
extern int getc_unlocked (FILE *__stream);
|
||||
extern int getchar_unlocked (void);
|
||||
# 506 "/usr/include/stdio.h" 3 4
|
||||
extern int fgetc_unlocked (FILE *__stream);
|
||||
# 517 "/usr/include/stdio.h" 3 4
|
||||
extern int fputc (int __c, FILE *__stream);
|
||||
extern int putc (int __c, FILE *__stream);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int putchar (int __c);
|
||||
# 537 "/usr/include/stdio.h" 3 4
|
||||
extern int fputc_unlocked (int __c, FILE *__stream);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int putc_unlocked (int __c, FILE *__stream);
|
||||
extern int putchar_unlocked (int __c);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int getw (FILE *__stream);
|
||||
|
||||
|
||||
extern int putw (int __w, FILE *__stream);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
|
||||
;
|
||||
# 603 "/usr/include/stdio.h" 3 4
|
||||
extern __ssize_t __getdelim (char **__restrict __lineptr,
|
||||
size_t *__restrict __n, int __delimiter,
|
||||
FILE *__restrict __stream) ;
|
||||
extern __ssize_t getdelim (char **__restrict __lineptr,
|
||||
size_t *__restrict __n, int __delimiter,
|
||||
FILE *__restrict __stream) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern __ssize_t getline (char **__restrict __lineptr,
|
||||
size_t *__restrict __n,
|
||||
FILE *__restrict __stream) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int puts (const char *__s);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int ungetc (int __c, FILE *__stream);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern size_t fread (void *__restrict __ptr, size_t __size,
|
||||
size_t __n, FILE *__restrict __stream) ;
|
||||
|
||||
|
||||
|
||||
|
||||
extern size_t fwrite (const void *__restrict __ptr, size_t __size,
|
||||
size_t __n, FILE *__restrict __s);
|
||||
# 673 "/usr/include/stdio.h" 3 4
|
||||
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
|
||||
size_t __n, FILE *__restrict __stream) ;
|
||||
extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
|
||||
size_t __n, FILE *__restrict __stream);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fseek (FILE *__stream, long int __off, int __whence);
|
||||
|
||||
|
||||
|
||||
|
||||
extern long int ftell (FILE *__stream) ;
|
||||
|
||||
|
||||
|
||||
|
||||
extern void rewind (FILE *__stream);
|
||||
# 707 "/usr/include/stdio.h" 3 4
|
||||
extern int fseeko (FILE *__stream, __off_t __off, int __whence);
|
||||
|
||||
|
||||
|
||||
|
||||
extern __off_t ftello (FILE *__stream) ;
|
||||
# 731 "/usr/include/stdio.h" 3 4
|
||||
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fsetpos (FILE *__stream, const fpos_t *__pos);
|
||||
# 757 "/usr/include/stdio.h" 3 4
|
||||
extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
|
||||
|
||||
extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
|
||||
extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern void perror (const char *__s);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 1 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" 1 3 4
|
||||
# 26 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" 3 4
|
||||
extern int sys_nerr;
|
||||
extern const char *const sys_errlist[];
|
||||
# 782 "/usr/include/stdio.h" 2 3 4
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
|
||||
|
||||
|
||||
extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
# 800 "/usr/include/stdio.h" 3 4
|
||||
extern FILE *popen (const char *__command, const char *__modes) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int pclose (FILE *__stream);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__));
|
||||
# 840 "/usr/include/stdio.h" 3 4
|
||||
extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
|
||||
|
||||
|
||||
|
||||
extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
|
||||
|
||||
|
||||
extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
|
||||
# 868 "/usr/include/stdio.h" 3 4
|
||||
|
||||
# 2 "test.c" 2
|
||||
|
||||
|
||||
# 3 "test.c"
|
||||
int main()
|
||||
{
|
||||
int tmp = val +1,
|
||||
char c = 'VAL';
|
||||
|
||||
printf("VAL %i %c", tmp, c);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
```
|
||||
La directive `#include` indique au préprocesseur de lire le fichier spécifé. Cela correspond à l'inclure texto à l'endroit de l'appel de la directive.
|
||||
|
||||
La directive `#define` crée une nouvelle «variable préprocesseur» qui peut être utilisée par le préprocesseur mais aussi dans le code.
|
||||
|
||||
Les directives `#if` et `#endif` délimitent une section de code qui sera préservée si la condition du if est vérifiée, éffacée sinon.
|
||||
Loading…
x
Reference in New Issue
Block a user