C study notes[2]

文章目录

integer

  1. the format character %d in the printf 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 as 0 or 0X 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);
}
  1. 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.

  2. 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.

  3. 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)
  1. _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

  1. scanf function used to receive user's input with character format such as %s,%d and so on,as similar as format character parameter of printf 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.

  1. scanf return an integer indenfied the amount of reading chars sucessfully.
  2. 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.

  1. 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

  1. declare a constant can use # define constantname value ,for example, #define x 0.001.
  2. 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;
}
  1. 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

  1. deepseek
相关推荐
2601_962885721 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里2 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑3 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl3 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_3 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
“AI国潮设计-小江”4 小时前
【AIGC实战】Python+SDXL打造“潮汕英歌舞IP”万能立牌插件,批量生成“发财元宝蛋糕”视觉营销方案(附源码)
开发语言·人工智能·python·prompt·aigc
lhbweilai5 小时前
分析FreeRTOS内核对象API的源码实现(八)
c语言·开发语言·stm32·单片机
努力努力再努力wz5 小时前
【C++高阶系列】C++20 协程底层原理:函数为什么能暂停?从状态机到 Task,彻底串起挂起、恢复与协程调度
开发语言·c++·c++20·1024程序员节
咩咩啃树皮5 小时前
JavaScript 中 this 指向为什么总在变?
开发语言·前端·javascript