欢迎来到c语言的世界!无论你是编程新手,还是已经掌握其他语言的开发者,学习c语言都能为你打开计算机科学领域的新视角。作为一门经久不衰的编程语言,c语言自1972年诞生以来,一直是计算机领域的基石语言。

目录

1.c语言是什么

2.c语言学习的准备

2.1编译器的选择

2.11编译器的对比

2.2VS2022的优缺点

2.21优点

2.22缺点

3.基础知识

3.1源文件、头文件的介绍

3.2第一个c语言程序

3.3main函数

3.4printf和库函数

3.5关键字

3.6字符和ASCII值

3.7字符串和\0

3.8注释

4.总结


1.c语言是什么

人与人之间的交流使用的是自然语言

人与计算机使用的是计算机语言

而c语言就是众多语言中的一种

2.c语言学习的准备

2.1编译器的选择

2.11编译器的对比

c语言是一门编译型语言,需要依赖编译器将计算机语言转换为机器能够执行的机器指令。

常见的编译器有msvc、clang、gcc,当然也有一些集成开发环境,如VS2022、XCode、Code Blocks、DevC++、Clion等。

集成开发环境(IDE)用于提供程序开发环境的应用程序

VS2022集成了MSVC(安装包较大一些,安装简单,无需多余配置,使用起来非常方便)

XCode集成了clang(苹果电脑上的开发工具)

CodeBlocks集成了gcc(小众,需要配置环境,不推荐)

DevC++集成了gcc(过于简单,代码养成风格不好,一般竞赛使用)

Clion默认使用CMake,编译器可配置(工具收费,可暂时使用)

推荐大家安装VS2022的社区版本学习,免费,使用方便,有利于代码风格养成。

VS2022的安装教程,教程点击蓝色字体跳转。

2.2VS2022的优缺点

2.21优点

VS2022是一个主流的集成开发环境,企业中使用较为普遍

VS2022中包含了:编辑器+编译器+调试器,功能强大

直接安装即可使用,上手容易

默认界面是中文的,初学者友好

2.22缺点

安装包大,占用空间多

3.基础知识

3.1源文件、头文件的介绍

VS在项目中就可以添加源文件和头文件

c语言把.c为后缀的文件称为源文件,把.h为后缀的文件称为头文件

3.2第一个c语言程序

#include<stdio.h>//头文件
int main()//主函数
{
    printf("hello C\n");//输出hello C
    return 0;
}

在VS2022上运行代码的快捷键:Ctrl+F5

这串代码可能现在看起来有些复杂陌生,但请不要因此感到气馁。编程学习是一个循序渐进的过程,就像学习一门新语言一样需要时间积累。刚开始接触时,代码中的变量声明、循环结构、函数调用等概念确实会让人困惑,但这些都是可以逐步掌握的。以JavaScript为例,当你第一次看到这样的代码:

可能不明白每个部分的作用。但随着你:

  1. 先学习基础的函数main函数
  2. 理解库函数与头文件
  3. 掌握printf的用法
  4. 熟悉int与return 0返回值

这些知识点会逐渐串联起来,最终你会发现自己不仅能看懂这段代码,还能根据需求修改它,甚至写出更复杂的程序。编程社区中有很多学习者都经历过类似的困惑期,但通过持续练习和项目实践,最终都获得了突破。所以保持耐心,坚持学习,这些代码终将成为你得心应手的工具。

3.3main函数

main函数被叫做主函数,int表示返回的类型,即整数

main函数是程序的入口

main函数有且只有一个

即使一个项目中有多个.c文件,但是只能有一个main函数

注意:代码中不能使用中文符号,字符串中的汉字除外

3.4printf和库函数

printf("hello C\n");//\n是换行符

\n是转义字符,要看到这些,知道他们的作用

printf是 C 语言标准库中一个功能强大的格式化输出函数,定义在 stdio.h 头文件中。它主要用于将格式化的数据输出到标准输出设备(通常是屏幕)。printf 函数的基本语法为:

int printf(const char *format, ...);

printf 不仅可以输出普通字符串,还支持多种数据类型的格式化输出。其核心功能是通过格式化字符串中的格式说明符(如 %d%f 等)来指定输出内容的格式。常见的使用场景包括:

  1. 字符串输出

    printf("Hello, World!\n");  // 输出简单字符串
    
  2. 整数输出

    int num = 42;
    printf("The answer is %d\n", num);  // %d 用于输出十进制整数
    
  3. 浮点数输出

    float pi = 3.14159;
    printf("PI is approximately %.2f\n", pi);  // %.2f 保留两位小数
    
  4. 字符输出

    char ch = 'A';
    printf("The character is %c\n", ch);  // %c 用于输出单个字符
    
  5. 指针输出

    int *ptr = #
    printf("Pointer address: %p\n", (void*)ptr);  // %p 用于输出指针地址
    
  6. 十六进制输出

    printf("Hexadecimal: %x\n", num);  // %x 以小写输出十六进制
    printf("Hexadecimal: %X\n", num);  // %X 以大写输出十六进制
    
  7. 格式化控制

    printf("%10s\n", "Hello");  // 右对齐,占10个字符宽度
    printf("%-10s\n", "Hello"); // 左对齐,占10个字符宽度
    

在使用 printf 时需要注意:

格式说明符必须与参数类型匹配

可以同时输出多个变量,按顺序对应格式字符串中的说明符

特殊字符如 \n(换行)、\t(制表符)等可以控制输出格式

printf 的返回值是成功输出的字符数,如果出错则返回负值。它是最常用的调试工具之一,也是学习 C 语言时最先接触的标准库函数。

库函数一般会声明在同一个头文件中,提前了解可参考链接

3.5关键字

c语言中有一批保留名字的符号,比如:int、if、return,这些符号被称为保留字或者关键字

关键字都有特殊的意义,是保留给c语言使用的

程序员自己在创建标识符的时候是不能和关键字重复的

关键字也是不能自己创建的

32个关键字如下:

这是c语言中常用的关键字,可以了解一下,关键字的全部介绍

后续的学习中,我们会逐渐了解这些关键字的用法的

3.6字符和ASCII值

在键盘的英文状态下敲出的符号被称为字符,c语言中字符是用单引号引起来的,如:'a'、'b'、'@'

计算机中所有数据都是以二进制的形式储存的,给每个字符编一个二进制序列,叫做编码

美国国家标准协会(ANSI)出台了一个标准的ASCII编码,c语言就遵循了ASCII编码的方式

ASCII码表

不需要记住所有ASCII码表的值,需要的时候查看即可,详情见

字符A-Z的ASCII码值从65-90

字符a-z的ASCII码值从97-122

对应的大小写字符(a和A)的ASCII码值的差值是32

数字字符0-9的ASCII码值从48-57

换行\n的ASCII码值是10

0-31这32个字符是不可打印字符,无法打印在屏幕上观察

字符的打印用%c指定格式,%c是占位符

#include<stdio.h>
int main()
{
    printf("%c\n",'q');
    printf("%C\n",81);//这里的81是字符的ASCII码值,也是可以打印的
    return 0;
}

3.7字符串和\0

使用双括号括起来的一串字符就被称为字符串,如"abcdef"

字符串的打印格式是%s,也可以直接打印

#include<stdio.h>
int main()
{
    printf("%s\n","hello");
    printf("hello");
    retuen 0;
}

c语言字符串中,在字符串的末尾隐藏着一个\0字符,\0是字符串结束的标志

VS2022的监视窗口观察字符串

3.8注释

第一种注释
//注释

第二种注释
/*
注释
*/

在编程语言中,常见的注释形式主要有以下两种:

  1. 单行注释: 以特定符号开头,只作用于当前行的内容 例如:

    • // 这是C++/Java/JavaScript中的单行注释
    • 这是Python/Ruby中的单行注释

    特点:简洁明了,适合简短说明

  2. 多行注释(块注释): 使用开始和结束标记包裹注释内容 例如:

    • /* 这是C风格的多行注释 */
    • <!-- 这是HTML的注释语法 --> 特点:可以跨越多行,适合大段说明

需要注意的是,第二种多行注释形式通常不支持嵌套使用。例如在C语言中,以下写法会导致错误: /* 外层注释 /* 内层注释 */ 外层注释结束 */

这种限制是因为解析器遇到第一个"*/"就会结束整个注释块。相比之下,某些现代语言如Python提供了三重引号的文档字符串('''或"""),虽然主要用于文档生成,但实际也可以作为支持嵌套的注释方式使用。

在实际开发中,建议:

  1. 对简短说明使用单行注释
  2. 对复杂算法或函数说明使用多行注释
  3. 避免尝试嵌套多行注释
  4. 在需要嵌套注释时,可以考虑使用单行注释组合或特定IDE的注释功能

4.总结

学习C语言时务必夯实基础,尤其要注意以下几个方面:

  1. 输入法问题

    • 代码必须使用英文输入法编写,否则容易引发编译器报错。常见问题包括:
      • 中文分号";"会导致编译错误
      • 中文引号""""会引发字符串解析错误
      • 中文括号"()"会导致函数调用失败
    • 建议在编写代码时关闭中文输入法,或者在IDE中设置自动检测编码格式
  2. main函数规范

    • 在main函数结尾处必须添加return 0语句,这是C语言的标准约定
    • return 0表示程序正常结束,非0值通常表示错误状态
    • 示例:
      int main() {
          // 程序代码
          return 0;  // 必须添加
      }
      

  3. 括号使用规范

    • 确保所有函数括号正确闭合
    • 每个左大括号"{"必须对应一个右大括号"}"
    • 建议使用代码编辑器或IDE的括号匹配功能
    • 常见错误示例:
      int main() 
      {   // 左括号
          printf("Hello World");
          // 缺少右括号
      

  4. 其他注意事项

    • 代码缩进建议使用4个空格
    • 每条语句以分号";"结尾
    • 变量使用前必须先声明

这些基础规范看似简单,但往往是初学者最容易犯错的地方,需要特别注意。养成良好的编码习惯,将为后续的C语言学习打下坚实基础。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐