当前位置: 首页 > news >正文

C语言编程练习题

下面我为你设计一份从基础到进阶的C语言编程练习题,涵盖常见语法、算法、数据结构及应用场景。你可以根据需要选择练习。


一、基础语法练习

1. 输入输出与运算

  • 编写程序,输入两个整数,输出它们的和、差、积、商(整数除)及余数。

  • 输入一个三位整数,逆序输出(如输入123,输出321)。

  • 输入华氏温度,转换为摄氏温度(公式:C = 5/9*(F-32))。

2. 条件判断

  • 输入年份,判断是否为闰年。

  • 输入三个整数,输出最大值和最小值。

  • 输入一个字符,判断它是大写字母、小写字母、数字还是其他字符。

3. 循环

  • 计算1到100所有整数的和。

  • 输出100以内所有素数。

  • 打印九九乘法表。


二、数组与字符串

4. 一维数组

  • 输入10个整数,输出最大值、最小值及平均值。

  • 将数组元素逆序存放(如[1,2,3][3,2,1])。

  • 删除数组中所有值为x的元素(数组长度可变)。

5. 字符串操作

  • 输入一个字符串,统计其中字母、数字、空格及其他字符的个数。

  • 判断字符串是否是回文(如"abcba")。

  • 实现字符串复制函数my_strcpy,不调用string.h

6. 二维数组

  • 输入一个3×3矩阵,求其转置矩阵。

  • 计算两个矩阵的乘积。


三、函数与递归

7. 函数

  • 编写函数判断一个数是否是素数,返回1/0。

  • 编写函数计算组合数 C(n,m) = n! / (m!*(n-m)!)。

  • 用函数实现冒泡排序。

8. 递归

  • 用递归计算阶乘。

  • 用递归求斐波那契数列第n项。

  • 汉诺塔问题:输出移动盘子的步骤。


四、指针与内存

9. 指针基础

  • 用指针实现交换两个整数的值。

  • 用指针遍历数组,求数组元素和。

  • 用指针实现字符串连接函数my_strcat

10. 动态内存

  • 输入n,动态分配长度为n的数组,输入n个数并排序后输出。

  • 实现一个动态字符串数组(二维动态内存)。


五、结构体与文件

11. 结构体

  • 定义学生结构体(学号、姓名、成绩),输入5个学生信息,按成绩降序输出。

  • 计算两个复数的和与积(复数用结构体表示)。

12. 文件操作

  • 从文件input.txt中读取整数,求和后写入output.txt

  • 实现文件拷贝程序(类似cp命令)。

  • 编写一个简单通讯录,支持从文件加载和保存。


六、进阶算法与综合

13. 常见算法

  • 二分查找(在有序数组中查找某个数)。

  • 用递归实现快速排序。

  • 用埃拉托斯特尼筛法求1000以内所有素数。

14. 简单数据结构

  • 用数组实现栈(支持push、pop)。

  • 用链表实现学生信息管理(增删查改)。

15. 小项目

  • 简单计算器(支持+ - * /,可连续运算)。

  • 猜数字游戏:程序随机生成数字,用户猜测,提示“大了/小了”。

  • 文本词频统计:读取英文文本,统计各单词出现次数。


学习建议

  1. 每个题目先独立思考和编写代码,再对比参考实现。

  2. 注重代码规范、边界条件与错误处理。

  3. 进阶题目可尝试不同解法(如递归/迭代、时间空间优化)。

  4. 多使用调试工具(如gdb)和内存检查工具(如valgrind)。

如果需要某题目的参考代码或对某个方向有特别需求,可以告诉我,我可以为你详细解答或设计更多相关题目。

http://www.jsqmd.com/news/636585/

相关文章:

  • C语言_操作符详解
  • Shutterstock CTO分享规模化AI部署的实战经验
  • 实战解析:三大电商系统业务逻辑支付漏洞靶场复现(dami、niushop、cmseasy)
  • LVGL实战:用ESP32的电容触摸屏和旋转编码器做一个智能家居控制面板(附完整代码)
  • Vue实战:从零构建黑马后台管理系统
  • FAST-LIO 实战:从 LI-Init 标定到 YAML 配置全解析
  • JPEGsnoop:从像素到元数据的深度图像解码技术全解析
  • 2026届必备的降重复率神器推荐榜单
  • TMSpeech终极指南:免费打造Windows实时语音识别系统,CPU占用不到5%
  • Wan2.2-I2V-A14B作品集展示:自然光影、海浪物理模拟、飞行动态精准还原
  • 流量洪峰下的Agent稳态保障,从权重轮询到强化学习调度的演进路径及落地Checklist
  • ROSCO-OpenFAST联合仿真避坑实录:从.dll编译到Paraview动画,手把手解决路径与版本报错
  • ENVI遥感数据处理:如何用‘链接显示’和‘像元定位’功能高效对比两期影像变化?
  • SOONet部署教程:NVIDIA Container Toolkit配置+GPU容器化运行最佳实践
  • 如何用Ai2Psd脚本实现高效矢量图形转换?设计师必备的AI到PSD工作流优化方案
  • 基于路阻信息与温度耗电量的电动汽车充电需求分布研究:时序蒙塔卡洛模拟及文献综述分析
  • Salesforce与ServiceNow:谁将主导企业IT服务管理市场?
  • Qwen3-ASR-1.7B惊艳效果:自动识别数字编号(如‘第3.2.1条’)、日期、金额格式
  • 别再手动传文件了!用宝塔面板的WebHook+Git自动部署你的SpringBoot+Vue项目
  • 智能驾驶中的环境感知与决策控制
  • 用AI写代码不翻车:我搭了套AI打工系统,它自己写完了整个工具
  • MiniMax M2.7 开源:模型自我进化与多平台适配的技术新章
  • 技术人的知识焦虑与破局:建立你的T型技能结构
  • RockYou2024深度剖析:百亿密码库背后的攻防现实与迷思
  • 微软开源Phi-4-reasoning-vision-15B:小模型的大突破
  • 20254218 2025-2026-2 《Python程序设计》实验二报告
  • 【深度评测】Gemini Pro与Gemini Pro Vision:开发者视角下的能力边界与实战陷阱
  • AIAgent开发入门资料已严重过时?2026奇点大会技术白皮书V0.9.3提前解禁:12个生产级Agent架构决策树(附避坑红标版)
  • 3步掌握微信聊天记录永久保存:开源工具重塑你的数字记忆体验
  • 深度学习驱动的全色与多光谱遥感图像融合:技术演进、评价体系与未来挑战