In the world of C programming, mastering its vocabulary elements is fundamental for writing code smoothly.
1. The Six Major Tokens in C Language
There are six key tokens in C language, which are the basic units that make up C code: keywords, punctuation, identifiers, constants, string constants, and operators.
2. Rules for Identifiers
Identifiers are names used to identify variables, functions, etc. The first character must be a letter or an underscore, which is a rule to remember when naming.
3. Postfix Increment and Compound Assignment
- Postfix Increment (a++): For example, with
<span>a = 5</span>and<span>b = a++</span>, it will first return the current value of variable<span>a</span>, and then perform the increment operation on<span>a</span>. After execution,<span>b = 5</span>, and<span>a = 6</span>. - Prefix Increment (++a): If
<span>a = 5</span>and<span>b = ++a</span>, it first performs the increment operation on variable<span>a</span>, and then returns the new value. After execution,<span>b = 6</span>, and<span>a = 6</span>. - Compound Assignment: For example,
<span>a += 5</span>is actually equivalent to<span>a = a + 5</span>; looking at<span>j = 2</span>,<span>k = 3</span>, and<span>j *= (k + 3)</span>, it is equivalent to<span>j = j * (k + 3)</span>, with the calculation being<span>j = 2 * 6 = 12</span>.
Problem 1: Print the ASCII value of a user-input character
#<span><span><span>include</span></span><span><span><stdio.h></span></span></span><span><span>int</span></span><span><span>main</span></span><span><span>(</span></span><span><span>)</span></span><span><span>{</span></span><span><span>char</span></span><span> ch</span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Please enter a character:"</span></span><span><span>)</span></span><span><span>;</span></span><span><span>scanf</span></span><span><span>(</span></span><span><span>"%c"</span></span><span><span>,</span></span><span><span>&</span></span><span>ch</span><span><span>)</span></span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"%d\n"</span></span><span><span>,</span></span><span> ch</span><span><span>)</span></span><span><span>;</span></span><span><span>return</span></span><span><span>0</span></span><span><span>;</span></span><span><span>}</span></span>
Problem 2: Convert days to years, weeks, and days
#<span><span><span>include</span></span><span><span><stdio.h></span></span></span><span><span>int</span></span><span><span>main</span></span><span><span>(</span></span><span><span>)</span></span><span><span>{</span></span><span><span>int</span></span><span> days</span><span><span>,</span></span><span> years</span><span><span>,</span></span><span> weeks</span><span><span>,</span></span><span> remainingDays</span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Input days:"</span></span><span><span>)</span></span><span><span>;</span></span><span><span>scanf</span></span><span><span>(</span></span><span><span>"%d"</span></span><span><span>,</span></span><span><span>&</span></span><span>days</span><span><span>)</span></span><span><span>;</span></span><span> years </span><span><span>=</span></span><span> days </span><span><span>/</span></span><span><span>365</span></span><span><span>;</span></span><span> remainingDays </span><span><span>=</span></span><span> days </span><span><span>%</span></span><span><span>365</span></span><span><span>;</span></span><span> weeks </span><span><span>=</span></span><span> remainingDays </span><span><span>/</span></span><span><span>7</span></span><span><span>;</span></span><span> remainingDays </span><span><span>=</span></span><span> remainingDays </span><span><span>%</span></span><span><span>7</span></span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Years: %d\nWeeks: %d\nDays: %d\n"</span></span><span><span>,</span></span><span> years</span><span><span>,</span></span><span> weeks</span><span><span>,</span></span><span> remainingDays</span><span><span>)</span></span><span><span>;</span></span><span><span>return</span></span><span><span>0</span></span><span><span>;</span></span><span><span>}</span></span>
Problem 3: Calculate the perimeter and area of a rectangle
#<span><span><span>include</span></span><span><span><stdio.h></span></span></span><span><span>int</span></span><span><span>main</span></span><span><span>(</span></span><span><span>)</span></span><span><span>{</span></span><span><span>int</span></span><span> length</span><span><span>,</span></span><span> width</span><span><span>,</span></span><span> perimeter</span><span><span>,</span></span><span> area</span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Input length and width:"</span></span><span><span>)</span></span><span><span>;</span></span><span><span>scanf</span></span><span><span>(</span></span><span><span>"%d %d"</span></span><span><span>,</span></span><span><span>&</span></span><span>length</span><span><span>,</span></span><span><span>&</span></span><span>width</span><span><span>)</span></span><span><span>;</span></span><span> perimeter </span><span><span>=</span></span><span><span>2</span></span><span><span>*</span></span><span><span>(</span></span><span>length </span><span><span>+</span></span><span> width</span><span><span>)</span></span><span><span>;</span></span><span> area </span><span><span>=</span></span><span> length </span><span><span>*</span></span><span> width</span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Perimeter: %d\nArea: %d\n"</span></span><span><span>,</span></span><span> perimeter</span><span><span>,</span></span><span> area</span><span><span>)</span></span><span><span>;</span></span><span><span>return</span></span><span><span>0</span></span><span><span>;</span></span><span><span>}</span></span>
Problem 4: Check if a number is divisible by two divisors
#<span><span><span>include</span></span><span><span><stdio.h></span></span></span><span><span>int</span></span><span><span>main</span></span><span><span>(</span></span><span><span>)</span></span><span><span>{</span></span><span><span>int</span></span><span> dividend</span><span><span>,</span></span><span> divisor1</span><span><span>,</span></span><span> divisor2</span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Input dividend, divisor1, divisor2:"</span></span><span><span>)</span></span><span><span>;</span></span><span><span>scanf</span></span><span><span>(</span></span><span><span>"%d %d %d"</span></span><span><span>,</span></span><span><span>&</span></span><span>dividend</span><span><span>,</span></span><span><span>&</span></span><span>divisor1</span><span><span>,</span></span><span><span>&</span></span><span>divisor2</span><span><span>)</span></span><span><span>;</span></span><span><span>if</span></span><span><span>(</span></span><span>dividend </span><span><span>%</span></span><span> divisor1 </span><span><span>==</span></span><span><span>0</span></span><span><span>&&</span></span><span> dividend </span><span><span>%</span></span><span> divisor2 </span><span><span>==</span></span><span><span>0</span></span><span><span>)</span></span><span><span>{</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"1\n"</span></span><span><span>)</span></span><span><span>;</span></span><span><span>}</span></span><span><span>else</span></span><span><span>{</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"0\n"</span></span><span><span>)</span></span><span><span>;</span></span><span><span>}</span></span><span><span>return</span></span><span><span>0</span></span><span><span>;</span></span><span><span>}</span></span>
Problem 5: Print a power table (powers 1 to 5, integers 1 to 10)
#<span><span><span>include</span></span><span><span><stdio.h></span></span></span><span><span>int</span></span><span><span>main</span></span><span><span>(</span></span><span><span>)</span></span><span><span>{</span></span><span><span>int</span></span><span> i</span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Power1\tPower2\tPower3\tPower4\tPower5\n"</span></span><span><span>)</span></span><span><span>;</span></span><span><span>for</span></span><span><span>(</span></span><span>i </span><span><span>=</span></span><span><span>1</span></span><span><span>;</span></span><span> i </span><span><span><=</span></span><span><span>10</span></span><span><span>;</span></span><span> i</span><span><span>++</span></span><span><span>)</span></span><span><span>{</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"%d\t%d\t%d\t%d\t%d\n"</span></span><span><span>,</span></span><span> i</span><span><span>,</span></span><span> i </span><span><span>*</span></span><span> i</span><span><span>,</span></span><span> i </span><span><span>*</span></span><span> i </span><span><span>*</span></span><span> i</span><span><span>,</span></span><span> i </span><span><span>*</span></span><span> i </span><span><span>*</span></span><span> i </span><span><span>*</span></span><span> i</span><span><span>,</span></span><span> i </span><span><span>*</span></span><span> i </span><span><span>*</span></span><span> i </span><span><span>*</span></span><span> i </span><span><span>*</span></span><span> i</span><span><span>)</span></span><span><span>;</span></span><span><span>}</span></span><span><span>return</span></span><span><span>0</span></span><span><span>;</span></span><span><span>}</span></span>
Problem 6: Find and print the size of variables (int, float, double, char)
#<span><span><span>include</span></span><span><span><stdio.h></span></span></span><span><span>int</span></span><span><span>main</span></span><span><span>(</span></span><span><span>)</span></span><span><span>{</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Integer: %lu\n"</span></span><span><span>,</span></span><span><span>sizeof</span></span><span><span>(</span></span><span><span>int</span></span><span><span>)</span></span><span><span>)</span></span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Float: %lu\n"</span></span><span><span>,</span></span><span><span>sizeof</span></span><span><span>(</span></span><span><span>float</span></span><span><span>)</span></span><span><span>)</span></span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Double: %lu\n"</span></span><span><span>,</span></span><span><span>sizeof</span></span><span><span>(</span></span><span><span>double</span></span><span><span>)</span></span><span><span>)</span></span><span><span>;</span></span><span><span>printf</span></span><span><span>(</span></span><span><span>"Character: %lu\n"</span></span><span><span>,</span></span><span><span>sizeof</span></span><span><span>(</span></span><span><span>char</span></span><span><span>)</span></span><span><span>)</span></span><span><span>;</span></span><span><span>return</span></span><span><span>0</span></span><span><span>;</span></span><span><span>}</span></span>
![]() |
![]() |
|
Yufeng Research Team was established in August 2025, with core members from prestigious institutions such as the Indian Institute of Technology, Royal Holloway, University of London, Saint Petersburg State University, Tomsk State University, and Al-Farabi Kazakh National University. The team is dedicated to exploring and applying cutting-edge technologies, focusing on explainable artificial intelligence, information security and privacy protection, and data science. With an interdisciplinary background and an international perspective, the Yufeng Research Team aims to promote the integrated development of intelligent technology and security systems, facilitating academic innovation and industrial practice. Contact us:[email protected] (Member Management) |

