C语言结课总结与示例代码

ops/2024/9/20 4:02:04/ 标签: 算法, 数据结构, c语言, 学习, 笔记

经过一学期的学习,我们终于完成了C语言的学习旅程。C语言作为计算机编程的基石,为我们后续学习更高级的语言和深入理解计算机内部机制打下了坚实的基础。在这里,我想对这学期的学习进行一下总结,并通过一些示例代码来回顾我们学过的知识。C语言学习回顾
1. 基础语法
变量、数据类型(整型、浮点型、字符型等)
运算符(算术运算符、关系运算符、逻辑运算符等)
控制流(条件语句、循环语句等)
2. 函数
函数的定义与调用
函数的参数传递
函数的返回值
3. 数组与字符串
数组的定义与初始化
数组的基本操作(遍历、查找、排序等)
字符串的处理(strlen、strcpy、strcat等)
4. 指针
指针的定义与初始化
指针的基本操作(取地址、解引用等)
指针与数组、字符串的关系
5. 结构体与联合体
结构体的定义与初始化
结构体的基本操作(访问成员、赋值等)
联合体的概念与基本用法
6. 文件操作
文件的打开与关闭
文件的读写操作(fgetc、fputc、fgets、fputs等)
文件的定位与随机读写
示例代码
1. 简单的数学计算程序
 

#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两数之和为:%d\n", sum);return 0;
}

2. 字符串操作程序
 

#include <stdio.h>
#include <string.h>int main() {char str1[50], str2[50];printf("请输入两个字符串:");scanf("%s %s", str1, str2);printf("第一个字符串长度为:%d\n", strlen(str1));strcat(str1, str2); // 连接两个字符串printf("连接后的字符串为:%s\n", str1);return 0;
}

3. 结构体示例
 

#include <stdio.h>typedef struct {char name[20];int age;
} Person;int main() {Person p1;strcpy(p1.name, "张三");p1.age = 20;printf("姓名:%s,年龄:%d\n", p1.name, p1.age);return 0;
}

学习体会与建议

通过学习,我深刻体会到了C语言的强大与灵活。虽然学习过程中遇到了不少困难,但每一次的解决都让我收获颇丰。建议同学们在学习C语言时,不仅要注重理论知识的掌握,更要多动手实践,通过编写代码来加深理解。同时,也要善于利用网络资源,如CSDN博客、GitHub等,学习他人的优秀代码和经验,不断提高自己的编程能力。

展望

虽然C语言的学习已经告一段落,但我的编程之路还很长。接下来,我将继续深入学习其他编程语言和技术,不断提升自己的编程能力和综合素质。


http://www.ppmy.cn/ops/31172.html

相关文章

uboot-网络配置

文章目录 一、网络简介二、修改PHY芯片地址三、删除 uboot 中 74LV595 的驱动代码1.删除宏定义&#xff0c;添加ENET1和ENET2复位引脚&#xff0c;宏定义2.删除内容如下 四、添加 I.MX6U-ALPHA 开发板网络复位引脚驱动 一、网络简介 &#x1f4a6;I.MX6UL/ULL 内部有个以太网 …

JavaScript的流程控制

前言&#xff1a; 本部分内容可以参考C/C的相应知识点&#xff0c;不过多解释。 判断&#xff1a; if&#xff1a; if(判断条件){执行内容 } 如果判断为真&#xff0c;则执行内容&#xff1b;反之则不执行。 if-else&#xff1a; if(判断条件){执行内容1 } else{执行内容2 } 如…

精品UI知识付费系统源码 响应式视频教程知识付费软件下载网站模板

这是一款知识付费平台模板&#xff0c;后台可上传本地视频&#xff0c;批量上传视频连接&#xff0c; 视频后台可设计权限观看&#xff0c;免费试看时间时长&#xff0c;会员等级观看&#xff0c;付费观看等功能&#xff0c; 也带软件app权限下载&#xff0c;帮助知识教育和软…

php使用rabbitmq

这里使用的是 php-amqplib composer require php-amqplib/php-amqplib生产端send.php <?phprequire_once "./vendor/autoload.php";use PhpAmqpLib\Connection\AMQPStreamConnection; use PhpAmqpLib\Message\AMQPMessage;//交换机名称 $exc_name exchange.can…

领域驱动设计(DDD)笔记(三)后端工程架构

文章链接 领域驱动设计(DDD)笔记(一)基本概念-CSDN博客领域驱动设计(DDD)笔记(二)代码组织原则-CSDN博客领域驱动设计(DDD)笔记(三)后端工程架构-CSDN博客前导 领域驱动设计(Domain Driven Design,简称DDD)是业内主导的业务工程理论。它在各中权威人士被广泛讨论…

openlayer 使用ol-ext插件实现凸显区域

使用ol-ext插件实现凸显多变形 效果如图 1、创建openlayer var map; var view; var tileLayer, source, vector;function init() {tileLayer new ol.layer.Tile({source: new ol.source.TileArcGISRest({url: "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStr…

Django后台项目开发实战五

完成两个功能&#xff1a; HR 可以维护候选人信息面试官可以录入面试反馈 第五阶段 创建 interview 应用&#xff0c;实现候选人面试评估表的增删改功能&#xff0c;并且按照页面分组来展示不同的内容&#xff0c;如候选人基础信息&#xff0c;一面&#xff0c;二面的面试结…

腾讯云ubuntu新建用户后,命令行只显示$

这是因为&#xff0c;新建用户命令行解释器默认是sh&#xff0c;需要手动切换为bash&#xff0c;bash可以认为是sh的加强版本。 所以我们只需要将&#xff0c;shell切换为bash就好了。 切换到root 修改配置文件 vim/etc/bash 将sh修改为bash

Flask知识点汇总表格总结

最近接手的Python项目有两个&#xff0c;一个是Django项目&#xff0c;一个是Flask项目&#xff0c;Django昨天做了一个比较全面的总结&#xff0c;今天再就Flask做一个知识总结。我这相当于是项目驱动学习类型。 Flask是一个轻量级的Python Web应用框架&#xff0c;它被设计为…

(优作)基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)竞赛作品

基于STM32蓝牙控制小车系统设计&#xff08;硬件源代码论文&#xff09;竞赛作品 基于意法半导体与ARM公司生产的STM32F4 DISCOVERY开发板的集电机驱动模块、电源管理模块、stm32f4主控模块、蓝牙串口通信模块、android控制端模块。电机驱动模块使用了两个L298N芯片来驱动4路电…

从零开始搭建一个vue项目

从零开始搭建一个vue项目 一、环境准备 1.1 安装node.js 选择合适的LTS版本&#xff0c;然后下载安装&#xff0c;安装地址&#xff1a;https://nodejs.org/en/download 在命令行中查看已安装的node.js版本 node -v v14.14.01.2 切换为淘宝的镜像源 解决国内下载慢的问题,…

python - mac安装mysqlclient

参考 https://github.com/PyMySQL/mysqlclient 安装 xcode xcode-select --install安装mysql brew uninstall mysql brew install mysql8.0启动 mysql-server 命令如下 brew services start mysql8.0安装 mysql-client brew uninstall mysql-client wget https://raw.git…

python在Django中切换语言,中英文两种语言怎样切换

在Django中切换语言(比如中英文两种语言)通常涉及以下步骤: 设置语言和本地化 在你的Django项目的settings.py文件中,你需要设置LANGUAGES和LOCALE_PATHS。LANGUAGES是一个包含所有可用语言和它们的本地化的元组列表,而LOCALE_PATHS是包含.mo翻译文件路径的列表。 pyth…

55.基于SpringBoot + Vue实现的前后端分离-旅游管理系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统&#xff0c;采用SpringBoot Vue框架&#xff0c;MYSQL数据库设计开发&#xff0c;充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得基于SpringBoot Vue技术的旅游管理系统设计与实现管理工作系统…

Meltdown 以及Linux KPTI技术简介

文章目录 前言一、Introduction二、 Background2.1 Out-of-order execution2.2 Address Spaces2.3 Cache Attacks 三、A Toy Example四、Building Blocks of the Attack4.1 Executing Transient Instructions4.2 Building a Covert Channel 五、Meltdown5.1 Attack Description…

HTML页面关于高分屏的设置

记录一个HTML页面关于高分屏的踩到的坑。 所谓高分屏&#xff0c;就是在同样大小的屏幕面积上显示更多的像素点&#xff0c;这样可以呈现更好的可视效果的屏幕。例如&#xff0c;我的笔记本是15.6寸&#xff0c;理论上它的屏幕分辨率应该是1920 x 1080像素&#xff0c;但实际上…

Photoshop前言

Photoshop前言 分辨率图像格式工具界面组件 分辨率 分辨率是指单位长度内包含的像素点的数量&#xff0c;其单位通常为像素/英寸&#xff08;ppi&#xff09;&#xff0c;300ppi表示每英寸包含300个像素点。对于1英寸1英寸大小的图像&#xff0c;若分辨率为72ppi&#xff0c;则…

Web Storage 笔记11 网页数据存储

相关内容&#xff1a;Web Storage基本概念、localStorage、sessionStorage、登录注销实例、…… 在制作网页时会希望记录一些信息&#xff0c;例如用户登录状态、计数器或者小游戏等&#xff0c;但是又不希望用到数据库&#xff0c;就可以利用WebStorage技术将数据存储在用户浏…

Flutter笔记:Widgets Easier组件库(9)使用弹窗

Flutter笔记 Widgets Easier组件库&#xff08;9&#xff09;&#xff1a;使用弹窗 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress o…

vue如何实现异步组件

在 Vue 中实现异步组件&#xff0c;通常是为了在需要时加载组件&#xff0c;从而优化应用的性能&#xff0c;特别是当组件很大或者只在某些特定条件下才需要时。Vue 提供了几种方式来定义和使用异步组件。 1. 使用 import() 语法 你可以使用 ES6 的 import() 语法来动态地导入…