文章目录
integer
- the format character
%d
in theprintf
funtion indicates to output with integer format In decimal form. if the integer bases 8 which is octal or bases 16 which is hexadecimal,you should use the%o
or%x
.we can create the prefix such as0
or0X
when adding#
to those format character.
c
# include <stdio.h>
int main(void) {
int x = 9;
printf("%o,%#o,%d,%x,%#x",x,x,x,x,x);
}

-
the
char
type is a fantastic data type which take up 8 bits ,to occupy one byte memory of computer for achieving some tasks such as representing as a small integer less than 256,a set of binary explaining a instruction, a character for ASCII,a byte's slice of datas from a file and so on. -
In C, non-printing characters (also called control characters) are characters that do not represent a written symbol but instead control formatting, transmission, or other functions.
-
Common Non-Printing Characters in C
Escape Sequence | ASCII Value | Description |
---|---|---|
\a |
0x07 | Alert (bell) |
\b |
0x08 | Backspace |
\t |
0x09 | Horizontal tab |
\n |
0x0A | Newline (line feed) |
\v |
0x0B | Vertical tab |
\f |
0x0C | Form feed (page break) |
\r |
0x0D | Carriage return |
\0 |
0x00 | Null character (string terminator) |
\\ |
0x5C | Backslash (printing, but escaped) |
\' |
0x27 | Single quote |
\" |
0x22 | Double quote |
- Hexadecimal :
\x1B
(escape character) - Octal :
\033
(same escape character)
c
printf("Hello\tWorld!\n"); // Uses tab and newline
printf("Alert: \a\n"); // Triggers a beep (if supported)
printf("Back\bspace\n"); // Prints "Backspace" after backspace
printf("Null terminator: \0\n"); // Stops string at \0
printf("Hex: \x41\n"); // Prints 'A' (ASCII 0x41)
printf("Octal: \101\n"); // Also prints 'A' (octal 101)
_Bool
is a Boolean data type introduced in the C99 standard to represent true/false values. It can store either 1 (true) or 0 (false).
c
#include <stdio.h>
#include <stdbool.h> // For bool, true, false
int main() {
_Bool isTrue = 1; // Works, but not recommended (use bool instead)
bool isFalse = false; // Preferred (via <stdbool.h>)
printf("isTrue: %d\n", isTrue); // Output: 1
printf("isFalse: %d\n", isFalse); // Output: 0
return 0;
}
input
scanf
function used to receive user's input with character format such as %s,%d and so on,as similar as format character parameter ofprintf
function.
-
Common format specifiers for scanf:
%d - integer
%f - float
%lf - double
%c - single character
%s - string (whitespace delimited)
%x - hexadecimal integer
%o - octal integer
c
int age;
float height;
printf("Enter your age and height: ");
scanf("%d %f", &age, &height);
you also declare a char array ,50 bytes in size,for inputing a set of chars maximized 50 used in scanf function.
every char array substantially is a sequence consisted of a lot of chars,can be called as character string in C language,capacity of a char array is its length-1
because of ending with \0
(Null character) .
c
char name[50];
printf("Enter your name: ");
scanf("%49s", name); // limit input to prevent buffer overflow
string "a" and char 'a' are different that "a" include Null
and 'a' only occupy one byte.
- scanf return an integer indenfied the amount of reading chars sucessfully.
- The asterisk (*) in scanf has a special meaning - it's called an "assignment suppression character".
c
int x;
scanf("%*d %d", &x); // Reads but discards first integer, stores second in x
the format character flaged as *
will be omitted to input.
- In printf,
*
is used for dynamic field width and precision specification.
c
int width = 10;
int num = 42;
printf("%*d", width, num); // Prints num in 10-character width
int precision = 3;
float pi = 3.14159;
printf("%.*f", precision, pi); // Prints "3.142"
c
int width = 8;
int precision = 2;
float value = 123.4567;
printf("%*.*f", width, precision, value); // Prints " 123.46"
constant
- declare a constant can use
# define constantname value
,for example,#define x 0.001
. - const is a keyword used to declare variables as read-only (constant).
c
#include <stdio.h>
int main() {
const int c = 10; // 'c' is a constant integer
// c = 20; // ERROR: Cannot modify a const variable
printf("c = %d\n", c); // Output: c = 10
return 0;
}
-
Predefined Symbolic Constants,these come built-in with the C language or standard libraries:
Standard Library Constants (from headers like <limits.h>, <float.h>, <math.h> etc.):
c
NULL (null pointer)
EOF (end-of-file)
BUFSIZ (standard buffer size)
FLT_MAX (maximum float value)
INT_MAX (maximum integer value)
references
- deepseek