#include <stdio.h> int main() { printf("Hello World!"); return 0; }
使用 gcc 编译 hello.c 文件
gcc
hello.c
$ gcc -o hello hello.c
运行编译后的二进制文件(hello)
hello
$ ./hello # 输出 => Hello World
int myNum = 15; int myNum2; // 不赋值,然后再赋值 myNum2 = 15; int myNum3 = 15; // myNum3 值为 15 myNum3 = 10; // 现在 myNum3 值为 10 float myFloatNum = 5.99; // 浮点数 char myLetter = 'D'; // 字符 int x = 5; int y = 6; int sum = x + y; // 添加变量相加 // 声明多个变量 int x = 5, y = 6, z = 50;
const int minutesPerHour = 60; const float PI = 3.14;
最佳实践
const int BIRTHYEAR = 1980;
// 这是一个注释 printf("Hello World!"); // 这是一个注释 /* 多行注释,上面的代码将打印出 Hello World! 到屏幕上,真是太棒了 */
printf("I am learning C."); int testInteger = 5; printf("Number = %d", testInteger); float f = 5.99; // 浮点数 printf("Value = %f", f); short a = 0b1010110; // 2 进制数字 int b = 02713; // 8 进制数字 long c = 0X1DAB83; // 16 进制数字 // 以 8 进制形似输出 printf("a=%ho, b=%o, c=%lo\n", a, b, c); // 输出 => a=126, b=2713, c=7325603 // 以 10 进制形式输出 printf("a=%hd, b=%d, c=%ld\n", a, b, c); // 输出 => a=86, b=1483, c=1944451 // 以 16 进制形式输出(字母小写) printf("a=%hx, b=%x, c=%lx\n", a, b, c); // 输出 => a=56, b=5cb, c=1dab83 // 以 16 进制形式输出(字母大写) printf("a=%hX, b=%X, c=%lX\n", a, b, c); // 输出 => a=56, b=5CB, c=1DAB83
int a1=20, a2=345, a3=700; int b1=56720, b2=9999, b3=20098; int c1=233, c2=205, c3=1; int d1=34, d2=0, d3=23; printf("%-9d %-9d %-9d\n", a1, a2, a3); printf("%-9d %-9d %-9d\n", b1, b2, b3); printf("%-9d %-9d %-9d\n", c1, c2, c3); printf("%-9d %-9d %-9d\n", d1, d2, d3);
输出结果
20 345 700 56720 9999 20098 233 205 1 34 0 23
%-9d 中,d 表示以 10 进制输出,9 表示最少占 9 个字符的宽度,宽度不足以空格补齐,- 表示左对齐
%-9d
d
10
9
-
char greetings[] = "Hello World!"; printf("%s", greetings);
访问字符串
char greetings[] = "Hello World!"; printf("%c", greetings[0]);
修改字符串
char greetings[] = "Hello World!"; greetings[0] = 'J'; printf("%s", greetings); // 输出 "Jello World!"
另一种创建字符串的方法
char greetings[] = {'H','e','l','l','\0'}; printf("%s", greetings); // 输出 "Hell!"
C 没有 String 类型,使用 char 类型并创建一个字符 array
C
char
array