哈尔滨工业大学作为中国顶尖的工程技术大学之一,其计算机科学与技术专业在国内外享有盛誉。C语言作为计算机编程的基础语言,在哈工大的教学中占据重要地位。以下是对哈尔滨工业大学C语言编程题目的汇编,旨在帮助学习者更好地理解和掌握C语言编程。

1. 基础语法与数据类型

1.1 变量和常量的定义

  • 题目描述:编写C语言程序,定义整型、浮点型、字符型变量,并初始化。
  • 代码示例: “`c #include

int main() {

  int i = 10;
  float f = 3.14;
  char c = 'A';
  printf("整型变量: %d\n", i);
  printf("浮点型变量: %f\n", f);
  printf("字符型变量: %c\n", c);
  return 0;

}


### 1.2 运算符与表达式
- **题目描述**:编写C语言程序,计算并打印以下表达式的结果。
  ```plaintext
  (5 + 4) * 6 / 3 - 2
  • 代码示例: “`c #include

int main() {

  int result = (5 + 4) * 6 / 3 - 2;
  printf("计算结果: %d\n", result);
  return 0;

}


## 2. 控制结构

### 2.1 条件语句
- **题目描述**:编写C语言程序,根据用户输入的年龄判断是否成年。
- **代码示例**:
  ```c
  #include <stdio.h>

  int main() {
      int age;
      printf("请输入您的年龄: ");
      scanf("%d", &age);
      if (age >= 18) {
          printf("您已经成年了。\n");
      } else {
          printf("您还未成年。\n");
      }
      return 0;
  }

2.2 循环结构

  • 题目描述:编写C语言程序,打印从1到100的所有整数。
  • 代码示例: “`c #include

int main() {

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

}


## 3. 函数与模块化编程

### 3.1 函数定义与调用
- **题目描述**:编写一个C语言程序,定义一个函数计算两个数的和,并在主函数中调用该函数。
- **代码示例**:
  ```c
  #include <stdio.h>

  int add(int a, int b) {
      return a + b;
  }

  int main() {
      int x = 5, y = 10;
      printf("两数之和: %d\n", add(x, y));
      return 0;
  }

3.2 递归函数

  • 题目描述:编写一个C语言程序,使用递归函数计算斐波那契数列的前10项。
  • 代码示例: “`c #include

int fibonacci(int n) {

  if (n <= 1) {
      return n;
  }
  return fibonacci(n - 1) + fibonacci(n - 2);

}

int main() {

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

}


## 4. 文件操作与字符串处理

### 4.1 文件读写
- **题目描述**:编写C语言程序,从文件中读取数据并打印到屏幕上。
- **代码示例**:
  ```c
  #include <stdio.h>

  int main() {
      FILE *file = fopen("data.txt", "r");
      if (file == NULL) {
          printf("无法打开文件\n");
          return 1;
      }
      int num;
      while (fscanf(file, "%d", &num) != EOF) {
          printf("%d ", num);
      }
      fclose(file);
      return 0;
  }

4.2 字符串处理

  • 题目描述:编写C语言程序,实现字符串的拷贝功能。
  • 代码示例: “`c #include #include

void copyString(char *dest, const char *src) {

  while (*src) {
      *dest++ = *src++;
  }
  *dest = '\0';

}

int main() {

  char src[] = "Hello, World!";
  char dest[50];
  copyString(dest, src);
  printf("拷贝后的字符串: %s\n", dest);
  return 0;

}


## 5. 动态内存分配

### 5.1 内存分配与释放
- **题目描述**:编写C语言程序,使用动态内存分配创建一个整型数组,并初始化、访问和释放内存。
- **代码示例**:
  ```c
  #include <stdio.h>
  #include <stdlib.h>

  int main() {
      int *array = (int *)malloc(10 * sizeof(int));
      if (array == NULL) {
          printf("内存分配失败\n");
          return 1;
      }
      for (int i = 0; i < 10; i++) {
          array[i] = i * i;
      }
      for (int i = 0; i < 10; i++) {
          printf("%d ", array[i]);
      }
      printf("\n");
      free(array);
      return 0;
  }

通过以上汇编的C语言编程题目,学习者可以系统地掌握C语言的基础知识、控制结构、函数、文件操作、字符串处理以及动态内存分配等核心概念。这些题目不仅能够帮助学习者巩固理论知识,还能够提升编程实践能力。