C language starts from 0
It may be a bit difficult to get started with C language learning, but after mastering the correct method, you will quickly master the basics and gradually master them. This guide will guide you step by step to learn the core concepts of C language, from basics to advanced topics.
Table of contents
- Basics and data types of C language
- User input
- Abbreviation of conditional expressions
- Switch statement
- C language array
- Nested loops
- C language functions
- Structure
- pointer
Basics and data types of C language
The C program follows a standard structure and defines variables using multiple data types. The basic program structure is as follows:
<code class="c">#include <stdio.h> int main() { printf("hello, world!"); return 0; }</stdio.h></code>
Core concept:
- Data type:
-
int
: integer (e.g.int x = 10;
). -
float
anddouble
: single-precision and double-precision floating point numbers (e.g.float pi = 3.14;
). -
char
: a single character or ASCII code (e.g.,char letter = 'a';
). -
bool
: Boolean value (true
orfalse
, it must include the<stdbool.h></stdbool.h>
header file).
-
<code class="c">// 数据类型示例: int a = 40; // 整数(4字节) short int b = 32767; // 短整型(2字节,范围:-32768到32767) unsigned int c = 4294967295; // 无符号整数(4字节,范围:0到4294967295) float d = 9.81; // 单精度浮点数(4字节,精度6-7位,格式:%f) double e = 3.141592653589793; // 双精度浮点数(8字节,精度15-16位,格式:%lf) bool f = true; // 布尔值(1字节,true/false,格式:%d,其中1=true,0=false) char g = 'e'; // 字符(1字节,可用于字符或数字) char h = 100; // 字符(1字节,格式:%d表示数字,%c表示ASCII码,范围:-128到127) char name[] = "example"; // 字符串// 变量声明和初始化int age; // 声明age = 5; // 初始化char language = 'c'; // 声明和初始化// 显示变量printf("你%d岁了", age); // 整数printf("你好%s", name); // 字符串printf("你现在正在学习%c", language); // 字符// 格式说明符:%d -> int, %s -> string, %c -> char, %f -> float, %.(numberofdecimals)f -> 带指定小数位的浮点数</code>
- Operator:
<code class="c">/* = 加法- = 减法* = 乘法/ = 除法% = 取模= 自增1 -- = 自减1 */ // 结果需要存储在与结果类型匹配的变量中// 数据类型转换: int x = 5; int y = 2; float z = 5/2; // 错误结果,因为x和y是整数float z = 5 / (float)2; // 正确方法// 单变量自增: int x = 4; x = 2; // x = 6 x -= 2; // x = 4 x *= 2; // x = 8 x /= 2; // x = 4</code>
User input
In VS Code, you need to switch from "Output" to "Terminal" window to run the program because the terminal receives user input.
<code class="c">int age; char name[25]; // 用户输入整数: printf("你几岁了?\n"); // 显示提示信息scanf("%d", &age); // 指定数据类型和变量名printf("你%d岁了", age); // 用户输入字符串(字符数组): printf("你的名字是?"); scanf("%s", name); printf("你好%s,你好吗?", name); /* scanf() 不读取空格,如果需要输入姓名和姓氏,可以使用fgets函数:结构: fgets(变量名, 大小, stdin) */ fgets(name, 25, stdin); // fgets 也包含结尾的'\n'</code>
C language is case sensitive If capitalization values are required, you can modify the user input to get the correct value. For example:
<code class="c">#include <ctype.h> // 我们要求用户输入大写F或大写C char unit; printf("温度是摄氏度(c)还是华氏度(f)?"); scanf(" %c", &unit); // 注意%c前的空格,用于去除前导空格// 修改用户输入: unit = toupper(unit); // 现在,即使用户输入小写c或f,我们也保存大写值到unit if(unit == 'C'){ printf("温度目前是摄氏度。"); } else if (unit == 'F'){ printf("温度目前是华氏度。"); } else{ printf("%c 不是正确的值", unit); }</ctype.h></code>
Conditional expression abbreviation
C language uses ternary operators to simplify if-else conditional statements:
<code class="c">int max = (a > b) ? a : b;</code>
Equivalent to:
<code class="c">if (a > b) { max = a; } else { max = b; }</code>
This is a simple and efficient way to write simple conditional logic.
Switch statement
The switch statement allows processing of multiple possible values of a variable:
<code class="c">char grade = 'a'; // 声明变量'grade'并初始化为'a' switch (grade) { // 开始switch语句检查'grade'的值case 'a': // 如果'grade'是'a' printf("优秀!\n"); // 打印"优秀!" break; // 退出switch语句case 'b': // 如果'grade'是'b' printf("良好!\n"); // 打印"良好!" break; // 退出switch语句default: // 如果'grade'不是'a'或'b' printf("下次加油。\n"); // 打印"下次加油。" }</code>
Always include default case handling unexpected values.
C language array
An array is a collection of variables of the same type stored in memory in order. For example:
<code class="c">int numbers[5] = {10, 20, 30, 40, 50};</code>
Core concept:
- Access elements: Use array index, starting from 0:
<code class="c">printf("%d", numbers[0]); // 打印10</code>
- Two-dimensional array: similar to matrix or grid:
<code class="c">int matrix[2][3] = { // 声明一个2行3列的二维数组'matrix' {1, 2, 3}, // 初始化第一行{4, 5, 6} // 初始化第二行};</code>
- String array: Arrays can also store strings:
<code class="c">// 声明一个字符串数组'cars',每个字符串最大长度为10个字符char cars[][10] = {"bmw", "tesla", "toyota"};</code>
Arrays are widely used to process data lists, grids, or tables.
Nested loops
A nested loop is when one loop contains another loop, which is usually used to deal with grids or repetitive patterns:
<code class="c">for (int i = 0; i </code>
This is great for handling multi-dimensional arrays or creating complex output.
C language functions
Functions allow code reuse. For example:
<code class="c">void greet() { printf("hello, world!\n"); printf("欢迎学习C语言编程。\n"); printf("让我们开始编码吧!\n"); } int main() { greet(); return 0; }</code>
Functions can accept parameters to make them more flexible:
<code class="c">void greet(char name[]) { printf("你好,%s!\n", name); } int main() { greet("Alice"); return 0; }</code>
Using functions helps keep code organized and reusable.
Structure
The structure ( struct
) combines the relevant variables under one name:
<code class="c">// 定义一个名为'player'的结构体,包含两个成员struct player { char name[50]; // 字符数组'name'存储玩家姓名(最多50个字符) int score; // 整数'score'存储玩家分数}; // 创建一个'player'结构体的实例并初始化struct player player1 = {"Alice", 100}; // 初始化'player1',姓名为"Alice",分数为100 // 打印玩家姓名和分数printf("姓名:%s,分数:%d", player1.name, player1.score); // 输出:姓名:Alice,分数:100</code>
Structures are often used to create complex data models, such as records or objects.
pointer
Pointers are variables that store memory addresses, which can achieve efficient data processing:
<code class="c">int value = 42; // 声明一个整数变量'value'并初始化为42 int *ptr = &value; // 声明一个指向整数的指针变量'ptr'并将其初始化为'value'的地址printf("值:%d,地址:%p", *ptr, ptr); // 打印'ptr'指向的值和'ptr'存储的地址</code>
It is crucial to target dynamic memory allocation and underlying operations in C language.
Learn C language and accumulate this practical information. Mastering these concepts will lay a solid foundation for your C programming. Take this guide as a reference and practice regularly and you will soon grow from a beginner to a C language expert. Have a happy programming!
The above is the detailed content of C language starts from 0. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The syntax for adding columns in SQL is ALTER TABLE table_name ADD column_name data_type [NOT NULL] [DEFAULT default_value]; where table_name is the table name, column_name is the new column name, data_type is the data type, NOT NULL specifies whether null values are allowed, and DEFAULT default_value specifies the default value.

Tips to improve SQL table clearing performance: Use TRUNCATE TABLE instead of DELETE, free up space and reset the identity column. Disable foreign key constraints to prevent cascading deletion. Use transaction encapsulation operations to ensure data consistency. Batch delete big data and limit the number of rows through LIMIT. Rebuild the index after clearing to improve query efficiency.

Set the default value for newly added columns, use the ALTER TABLE statement: Specify adding columns and set the default value: ALTER TABLE table_name ADD column_name data_type DEFAULT default_value; use the CONSTRAINT clause to specify the default value: ALTER TABLE table_name ADD COLUMN column_name data_type CONSTRAINT default_constraint DEFAULT default_value;

Yes, the DELETE statement can be used to clear a SQL table, the steps are as follows: Use the DELETE statement: DELETE FROM table_name; Replace table_name with the name of the table to be cleared.

Redis memory fragmentation refers to the existence of small free areas in the allocated memory that cannot be reassigned. Coping strategies include: Restart Redis: completely clear the memory, but interrupt service. Optimize data structures: Use a structure that is more suitable for Redis to reduce the number of memory allocations and releases. Adjust configuration parameters: Use the policy to eliminate the least recently used key-value pairs. Use persistence mechanism: Back up data regularly and restart Redis to clean up fragments. Monitor memory usage: Discover problems in a timely manner and take measures.

To create a data table using phpMyAdmin, the following steps are essential: Connect to the database and click the New tab. Name the table and select the storage engine (InnoDB recommended). Add column details by clicking the Add Column button, including column name, data type, whether to allow null values, and other properties. Select one or more columns as primary keys. Click the Save button to create tables and columns.

Effective monitoring of Redis databases is critical to maintaining optimal performance, identifying potential bottlenecks, and ensuring overall system reliability. Redis Exporter Service is a powerful utility designed to monitor Redis databases using Prometheus. This tutorial will guide you through the complete setup and configuration of Redis Exporter Service, ensuring you seamlessly build monitoring solutions. By studying this tutorial, you will achieve fully operational monitoring settings

Creating an Oracle database is not easy, you need to understand the underlying mechanism. 1. You need to understand the concepts of database and Oracle DBMS; 2. Master the core concepts such as SID, CDB (container database), PDB (pluggable database); 3. Use SQL*Plus to create CDB, and then create PDB, you need to specify parameters such as size, number of data files, and paths; 4. Advanced applications need to adjust the character set, memory and other parameters, and perform performance tuning; 5. Pay attention to disk space, permissions and parameter settings, and continuously monitor and optimize database performance. Only by mastering it skillfully requires continuous practice can you truly understand the creation and management of Oracle databases.
