帮助读者掌握C语言编程基础知识的书籍

帮助读者掌握C语言编程的基础知识,了解如何将人工智能技术应用于自己的编程项目。

人工智能编程(赋能C语言)

作者: 黄箐、廖云燕、曾锦山、邢振昌

ISBN号: 9787302648796

出版日期: 2023-11-01

本书以C语言为基础介绍人工智能赋能编程,帮助读者循序渐进地掌握人工智能赋能编程的方法,深入理解人工智能的原理。本书特色在于将C语言和人工智能赋能编程的原理相结合,通过C语言实现人工智能赋能编程的应用,帮助读者把人工智能赋能编程从理论落地到实践。 本书内容主要包括数据类型、运算符与表达式、程序基本控制结构、函数及其应用、数组及其应用、指针及其应用、结构体及其应用、文件与数据存储、人工智能辅助编程入门实战、人工智能辅助编程高阶实战,以及各类大赛和竞赛题的自动解答。 本书面向高校在校学生、机器学习爱好者、人工智能研究者和开发者,也可作为开发者实现人工智能赋能编程的有力工具。

人工智能作为当前热门的技术领域,为编程带来了许多新的思路和方法。C语言是一种广泛应用于系统开发、嵌入式设备、游戏开发等领域的高级编程语言,掌握C语言编程对于计算机和非计算机专业的学生而言都是至关重要的。本书从C语言的基础知识开始讲解,包括变量、数据类型、运算符等;然后介绍如何使用C语言进行条件控制、循环结构和函数编写;最后讲解C语言的高级特性。本书结合人工智能的理论和实践,通过具体的示例和练习引导读者学习将人工智能技术应用于C语言编程的方法。

【例3.10】 兔子的繁殖问题。引导Copilot生成代码的自然语言如下: 
//假设兔子在出生两个月后就有繁殖能力,一对兔子每个月能生出一对小兔子。如果所有兔子都
//不死,那么一年以后可以繁殖出多少对兔子? 请编程计算
Copilot生成的代码如下: 
#include <stdio.h> 
#include <stdlib.h> 
int main() 
{ 
int n; 
scanf("%d", &n); 
int a[1000] = {1, 1}; 
for (int i = 2; i < n; i++) { 
a[i] = a[i-1] + a[i-2]; 
} 
printf("%d\n", a[n-1]); 
return 0; 
} 

第1章引论1
1.1C语言环境简介1
1.1.1C语言编译器及其原理1
1.1.2C语言文本编辑器2
1.1.3C语言环境的搭建3
1.2搭建C语言的开发环境3
1.2.1安装VS Code3
1.2.2安装VS Code扩展3
1.2.3配置C语言编译器5
1.2.4创建编译和调试配置6
1.3AI工具的安装7
1.3.1注册GitHub账号7
1.3.2GitHub学生认证7
1.3.3在VS Code中安装Copilot教程9
1.4AI工具入门方法10
1.4.1Copilot基本使用方法10
1.4.2ChatGPT基本使用方法11
1.5AI工具的功能介绍13
1.5.1Copilot功能介绍14
1.5.2ChatGPT功能介绍15
本章小结18
课后习题18
第2章数据类型、运算符与表达式19
2.1C语言程序的基本结构19
2.2C语言程序中的常用符号23
2.3C语言程序的基本数据类型23
2.4常量24
2.4.1整型常量24
2.4.2实型常量242.4.3字符常量25
2.4.4字符串常量26
2.4.5宏常量26
2.4.6const常量27
2.5变量27
2.5.1变量的声明27
2.5.2变量初始化28
2.5.3变量的访问与使用28
2.6运算符与表达式29
2.6.1算术运算符29
2.6.2运算符的优先级与结合性30
2.6.3关系运算符30
2.6.4复合赋值运算符31
2.6.5 和--运算符31
2.7表达式的类型转换32
2.7.1赋值表达式的类型转换32
2.7.2强制类型转换32
本章小结33
课后习题33
〖3〗人工智能编程(赋能C语言)目录〖3〗第3章程序基本控制结构35
3.1逻辑运算符和逻辑表达式35
3.2选择控制结构36
3.2.1if单分支语句36
3.2.2if双分支语句37
3.3条件表达式37
3.4switch多分支语句38
3.5循环控制语句40
3.5.1while循环语句40
3.5.2for循环语句41
3.5.3dowhile循环语句42
3.6程序跳转语句42
3.6.1break语句42
3.6.2continue语句43
3.6.3goto语句44
3.7多重循环及其利用45
3.8循环程序设计方法46
3.8.1迭代法46
3.8.2穷举法47
本章小结48
课后习题49
第4章函数及其应用51
4.1函数的定义与分类51
4.1.1函数的定义51
4.1.2return语句52
4.1.3函数分类54
4.2函数的参数55
4.2.1形式参数和实际参数的概念55
4.2.2函数参数的传递方式56
4.3函数的调用57
4.3.1函数的调用过程57
4.3.2函数的返回值59
4.4函数的声明59
4.4.1函数声明的目的和作用59
4.4.2函数声明与函数定义的关系62
4.5变量的作用域63
4.5.1变量的作用域和生命周期63
4.5.2局部变量的定义和使用64
4.5.3全局变量的定义和使用65
4.5.4局部变量与全局变量的区别和注意事项66
4.6函数嵌套调用66
4.6.1函数之间的调用关系66
4.6.2函数的嵌套调用过程67
4.7递归函数69
4.7.1递归的概念和原理69
4.7.2递归函数的定义和调用69
4.7.3递归函数的应用和注意事项71
本章小结71
课后习题72
第5章数组及其应用74
5.1概述74
5.2一维数组74
5.2.1数组的组成74
5.2.2一维数组75
5.2.3定义数组简单举例76
5.3一维数组的简单应用77
5.4向函数中传递一维数组79
5.5二维数组81
5.6二维数组的简单应用83
5.7向函数中传递二维数组85
5.8字符串与字符数组87
本章小结90
课后习题91
第6章指针及其运用92
6.1指针的本质92
6.2指针变量的定义与初始化94
6.2.1指针变量的定义94
6.2.2指针初始化95
6.3指针与函数97
6.3.1传值调用和传地址调用97
6.3.2指针作为函数参数的应用实例98
6.4指针和一维数组100
6.5指针和二维数组102
6.5.1二维数组的指针表示和访问102
6.5.2指针数组103
6.5.3数组指针103
6.5.4指针数组与数组指针的区别104
6.6实际应用示例104
本章小结109
课后习题109
第7章结构体及其应用111
7.1概述111
7.2结构体的定义和声明111
7.3结构体的初始化113
7.4结构体成员的访问114
7.5指向结构体的指针115
7.6结构体数组116
7.7结构体和函数118
7.7.1结构体作为函数参数118
7.7.2结构体作为函数返回值119
7.8结构体的应用121
7.8.1存储和操作一组相关数据121
7.8.2创建复杂的数据结构122
7.9结构体扩展123
7.9.1联合123
7.9.2位域123
本章小结124
课后习题126
第8章文件与数据存储130
8.1核心文件操作130
8.1.1文件的打开与关闭130
8.1.2文件的读取131
8.1.3文件的写入132
8.2应用实例讲解132
8.2.1字符串读写应用实例132
8.2.2学生信息读写实例137
本章小结142
课后习题142
第9章AI辅助竞赛题解答143
9.1蓝桥杯竞赛题自动答题143
9.1.1蓝桥杯竞赛特点143
9.1.2基本解题方法概述144
9.1.3贪心法145
9.1.4动态规划146
9.1.5图的染色算法149
9.1.6深度优先算法151
9.1.7二分法153
9.2ICPC竞赛题自动答题155
9.2.1ICPC概述155
9.2.2算法设计方法与应用156
9.2.3枚举法156
9.2.4贪心法158
9.2.5递归法160
9.2.6分治法161
9.2.7递推法164
9.2.8模拟法166
本章小结168
课后习题169
第10章AI辅助系统设计172
10.1系统设计过程概述172
10.1.1软件工程方法学172
10.1.2软件生命周期180
10.2基于大语言模型的编程学习与辅助系统的案例分析181
10.2.1问题描述与需求分析182
10.2.2总体设计与详细设计183
10.2.3编码185
10.2.4测试与运行效果185
本章小结186
课后习题187
第11章AI链无代码生产平台Prompt Sapper188
11.1Prompt Sapper功能介绍188
11.1.1提示中心功能188
11.1.2引擎管理功能189
11.1.3项目管理功能190
11.2Prompt Sapper视图介绍191
11.2.1探索视图191
11.2.2设计视图192
11.2.3构建视图194

参见:

水木书荟

清华大学出版社-图书详情-《人工智能编程(赋能C语言)》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/758025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刷题DAY26 | LeetCode 39-组合总和 40-组合总和II 131-分割回文串

39 组合总和&#xff08;medium&#xff09; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates…

小程序绕过 sign 签名

之前看到了一篇文章【小程序绕过sign签名思路】之前在做小程序渗透时也遇到了这种情况&#xff0c;但是直接放弃测试了&#xff0c;发现这种思路后&#xff0c;又遇到了这种情况&#xff0c;记录下过程。 并没有漏洞分享&#xff0c;仅仅是把小程序也分享出来&#xff0c;方便…

【以图搜图】GPUNPU适配万物识别模型和Milvus向量数据库

目录 以图搜图介绍项目地址Milvuscv_resnest101_general_recognition 代码使用流程结果展示模型部署环境Milvus部署及使用docker安装docker-compose安装Milvus可视化工具Attu进入网页端 Data数据示例点个赞再走呗&#xff01;比心&#x1f49e;️ 以图搜图 • &#x1f916; Mo…

Go微服务实战——服务的监控与链路追踪(监控数据可视化)

链路追踪背景 对于早期系统或者服务来说&#xff0c;开发人员一般通过打日志的方式来进行埋点&#xff08;常用的数据采集方式&#xff09;&#xff0c;然后再根据日志系统和性能监控定位及分析问题。对于单体的应用通过日志系统完全可以定位到问题&#xff0c;从而排查异常。…

Jpg图片怎么变成gif?三步在线转换gif动画

JPG是一种常见的图像格式&#xff0c;而GIF动态则是一种流行的动态图像格式。如果你想将多张JPG图片合成为一个GIF动画&#xff0c;下面是一些简单的方法来帮助你完成这个任务。通过使用Gif动画制作工具-GIF中文网&#xff0c;上传多张jpg格式图片轻松一键在线转换gif动画&…

Python爬虫获取接口数据

Python爬虫获取接口数据 正常人的操作​​​​​​​​​​爬虫的思路标题获取请求信息标题请求转换为代码完整代码请求返回信息执行程序获取静态网页数据的教程,适用于我们要爬取的数据在网页源代码中出现,但是还是有很多的数据是源代码中没有的,需要通过接口访问服务器来获…

Docker与containerd:容器技术的双璧

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Docker幻想曲&#xff1a;从零开始&#xff0c;征服容器宇宙》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、Docker和containerd的背景…

cobbler批量装机工具,可以实现同时装多台或多台不同系统的主机,也可以实现定制安装

cobbler批量装机工具 文章目录 cobbler批量装机工具1. cobbler简介2. cobbler服务端部署uos3. 客户端安装(内存和cpu可以多个点&#xff0c;以免后面出错)4.cobbler服务端部署centos75.客户端安装6.cobbler服务端部署centos87.客户端安装8.cobbler服务端部署rockylinux99.客户端…

面试笔记——Redis(集群方案:主从复制、哨兵模式和分片集群)

主从复制 在 Redis 主从集群中&#xff0c;一个主节点&#xff08;Master&#xff09;负责处理客户端的读写请求&#xff0c;而多个从节点&#xff08;Slave&#xff09;则负责复制主节点的数据&#xff0c;并对外提供读取服务——解决高并发问题。 主节点&#xff08;Master&…

最新ChatGPT/GPT4科研应用与AI绘图及论文高效写作教程

原文链接&#xff1a;最新ChatGPT/GPT4科研应用与AI绘图及论文高效写作教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247598050&idx5&sn70fd3f5946d581ad9c1363295b130ef5&chksmfa823e05cdf5b713baf9cf1381bfb2455ad675a0b21e194bef8b76f35d6aa77…

C++初阶 | [九] list 及 其模拟实现

摘要&#xff1a;介绍 list 容器&#xff0c;list 模拟实现&#xff0c;list与vector的对比 list&#xff08;带头双向循环列表&#xff09; 导入&#xff1a;list 的成员函数基本上与 vector 类似&#xff0c;具体内容可以查看相关文档(cplusplus.com/reference/list/list/)&…

Linux中使用vim编辑器的时候提示:发现交换文件“XXX.swap“

目录 问题描述解决方案 问题描述 有时候vim编辑文件的时候 系统突然卡了 无奈只能强制退出关机 然后重启 这个时候想重新回来继续编辑刚刚的文件 注意:我这种操作方式 虽然之后可以继续正常编辑了 但是发现文件是没有保存的 vim XXX进去有如下提示 解决方案 注意:我这种操作…

基于python的变配电室运行状态评估与预警系统flask-django-nodejs-php

近年来,随着我国工业化、城镇化步伐的不断加快&#xff0c;城市配电网络取得令人瞩目的发展成果。变配电室是供配电系统的核心&#xff0c;在供配电系统中占有特殊的重要地位[1]。变配电室电气设备运行状态和环境信息缺乏必要的监测评估预警手段&#xff0c;如有一日遭遇突发情…

Linux-线程同步

文章目录 前言一、为什么要线程同步&#xff1f;二、线程同步pthread_cond_initpthread_cond_destroypthread_cond_wait、pthread_cond_signal和 pthread_cond_broadcast 三、示例代码 前言 上节课学习了线程互斥&#xff0c;这节课针对线程互斥内容在做进一步的补充和完善&am…

[C语言]一维数组二维数组的大小

对于一维数组我们知道取地址是取首元素的地址&#xff0c;二维数组呢&#xff0c;地址是取第一行的地址&#xff0c;sizeof(数组名)这里计算的就是整个数组的大小&#xff0c;&数组名 表示整个数组&#xff0c;取出的是整个数组的地址&#xff0c;显示的是数组的首元素 记…

网络工程师练习题2

网络工程师 将专用IP地址转换为公用IP地址的技术是&#xff08;&#xff09;。 A.ARPB.DHCPC.UTMD.NAT 【答案】D 【解析】概念题&#xff0c;NAT技术将源地址从内部专用地址转换成可以在外部Internet上路由的全局IP地址。 R1、R2是一个自治系统中采用RIP路由协议的两个相…

【计算机网络篇】物理层(4)信道的极限容量,信道复用技术

文章目录 &#x1f354;信道的极限容量&#x1f6f8;造成信号失真的主要因素⭐码元的传输速率 &#x1f6f8;奈氏准则&#x1f6f8;香农公式&#x1f388;练习 &#x1f5d2;️小结 &#x1f354;信道复用技术⭐常见的信道复用技术&#x1f388;频分复用FDM&#x1f388;时分复…

时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解

时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解 目录 时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.CEEMDAN方法的分解效果取决于白噪声幅值权重(Nstd)和噪声添…

【刷题】滑动窗口入门

送给大家一句话&#xff1a; 那脑袋里的智慧&#xff0c;就像打火石里的火花一样&#xff0c;不去打它是不肯出来的。——莎士比亚 滑动窗口入门 认识滑动窗口Leetcode 209. 长度最小的子数组题目描述算法思路 Leetcode 3. 无重复字符的最长子串题目描述算法思路 Leetcode 1004…

部署应用到K8s集群(未完)

&#xff08;等熟悉一番再来写&#xff0c;因为按小时结算的。。。&#xff09; 1 、 kubectl run 启动 nginx 应用 kubectl run nginx --imagenginx:latest 2、将本地机器的80端口转发到集群中名为nginx的Pod的80端口 kubectl port-forward --address 0.0.0.0 pod/nginx 80:8…