18693137663
2137087126@qq.com

技术动态

联系我们

泽熙科技

蒋经理 18693137663
2137087126@qq.com
QQ:2137087126
微信:clyjiangxi

开发人员技术备忘录--C语言

2023年02月15日

hello.c

#include <stdio.h>

int main() {
  printf("Hello World!");
  return 0;
}

使用 gcc 编译 hello.c 文件

$ gcc -o hello hello.c

运行编译后的二进制文件(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;

常量 Constants

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 个字符的宽度,宽度不足以空格补齐,- 表示左对齐

字符串 Strings

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