引言

C语言作为一种基础且强大的编程语言,在计算机科学领域有着广泛的应用。南京大学的C语言编程课程深受学生喜爱,其丰富的教学内容和严谨的教学风格为学习者提供了宝贵的编程知识。本文将基于慕课笔记,详细解析南京大学C语言编程的精髓,帮助读者高效掌握编程技能。

一、C语言基础语法

1.1 数据类型

C语言中的数据类型包括整型(int)、浮点型(float)、字符型(char)等。每种数据类型都有其特定的存储范围和用途。

int a = 10;
float b = 3.14;
char c = 'A';

1.2 变量和常量

变量是存储数据的容器,而常量则是不可改变的值。

int x; // 声明一个整型变量
x = 5; // 赋值

const float PI = 3.14159; // 声明一个常量

1.3 运算符

C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。

int a = 5, b = 3;
int sum = a + b; // 算术运算符
int is_equal = (a == b); // 关系运算符
int is_greater = (a > b); // 关系运算符
int is_true = (a > b) && (b > 0); // 逻辑运算符

二、控制结构

2.1 顺序结构

顺序结构是程序中最基本的结构,按照语句书写的顺序执行。

int a = 10;
int b = 20;
int sum = a + b;
printf("Sum is: %d", sum);

2.2 选择结构

选择结构根据条件判断执行不同的代码块。

int age = 18;
if (age >= 18) {
    printf("You are an adult.\n");
} else {
    printf("You are not an adult.\n");
}

2.3 循环结构

循环结构用于重复执行一段代码。

int i;
for (i = 0; i < 10; i++) {
    printf("%d\n", i);
}

三、函数

函数是C语言中实现模块化编程的重要手段。

#include <stdio.h>

void printMessage() {
    printf("Hello, World!\n");
}

int main() {
    printMessage();
    return 0;
}

四、指针

指针是C语言中一种特殊的变量,用于存储变量的地址。

int a = 10;
int *ptr = &a; // ptr指向变量a的地址
printf("Value of a: %d\n", *ptr); // 输出变量a的值

五、结构体

结构体是一种用户自定义的数据类型,用于将多个不同类型的数据组合在一起。

struct Student {
    char name[50];
    int age;
    float score;
};

struct Student stu1;
strcpy(stu1.name, "Alice");
stu1.age = 20;
stu1.score = 92.5;
printf("Name: %s, Age: %d, Score: %.2f\n", stu1.name, stu1.age, stu1.score);

六、文件操作

文件操作是C语言中常用的功能,用于读写文件。

#include <stdio.h>

int main() {
    FILE *fp;
    char filename[] = "example.txt";
    char content[] = "Hello, World!\n";

    fp = fopen(filename, "w"); // 打开文件用于写入
    if (fp == NULL) {
        printf("Error opening file.\n");
        return 1;
    }
    fprintf(fp, content); // 写入内容
    fclose(fp); // 关闭文件

    fp = fopen(filename, "r"); // 打开文件用于读取
    if (fp == NULL) {
        printf("Error opening file.\n");
        return 1;
    }
    char buffer[100];
    while (fgets(buffer, sizeof(buffer), fp)) {
        printf("%s", buffer); // 读取内容
    }
    fclose(fp); // 关闭文件

    return 0;
}

七、总结

通过以上内容,相信读者已经对南京大学C语言编程的精髓有了初步的了解。在实际编程过程中,不断练习和总结是提高编程技能的关键。希望本文能对读者有所帮助,祝大家在编程道路上越走越远!