- 1、本文档共227页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
标准c基础讲述
第一个C程序:hello.c 体验C语言程序的开发步骤 把数字字符转换为整数 把小写字母转换为大写字母 读取用户输入的圆半径,计算并输出圆的面积和周长 输入一个秒数,输出hh小时mm分ss秒 输入一个整数,以二进制形式打印输出 工资出行 每月天数 四数最大 判断闰年 输入一个1到100的成绩,输出级别 90 - 100:优 80 - 89:良 70 - 79:中 60 - 69:差 60分以下 :劣 打印1到100之间的全部奇数 输入任意一个整数,打印其位数 打印如下图形 * ***** ********************** ********* ***** * 利用goto语句实现三种循环结构 追忆非结构化程序设计的岁月 输入10个整数,逆序输出 输入某班同学(人数不确定)的考试成绩,保存到数组中,输出总分、平均分和最高分 分别用素数定义法和筛法求给定数以内的全部素数 输入12个整数,构建一个3X4的矩阵A,再输入12个整数,构建一个4X3的矩阵B,输出矩阵C=AXB 根据如下迭代公式:Rn+1=(2Rn+X/Rn2)/3,R1=X实现计算立方根的函数double cbrt (double x); 实现计算排列数和组合数的函数:int arrange (int n, int m);int combine (int n, int m); 用全局数组实现一个内存栈,后进先出要求提供如下函数: 压入:void push (int data);弹出:int pop (void);栈顶:int top (void);判空:int empty (void);判满:int full (void); 如下代码的输出是什么? int main (void) { int a[] = {1,2,3,4,5}; int* p = a, *q = a[8]; printf (%d\n, a[(q-p)/2]); return 0;} 实现字符串合并函数,将两个有序字符序列合并为一个,结果依然有序void merge (const char* p1, const char* p2, char* p3); 迷你备忘录: 输入月内日期和事件,按日期的先后顺序打印全部事件列表 定义一个点结构和一个矩形结构定义针对这两种结构的读取和打印函数定义判断矩形合法性的函数定义判断点是否在矩形内的函数 录入学生(10个)成绩单,每条成绩记录包括:学生姓名,性别,年龄,学号,分数,分别列出90分以上、80-89分、70-79分、60-69分,以及60分以下的成绩记录 录入多行文本,每行不超过255个字符,行数不限,输入“!”连成一行文本整体输出 编写程序:录入10个学生的信息,每个学生包括姓名和年龄两个属性。要求按照年龄由小到大的顺序输出,年龄相同的学生,按照姓名由大到小的顺序输出 知 识 讲 解 动态内存分配与释放 调整动态内存大小 若ptr取NULL,则等价于malloc函数 若size取0,则等价于free函数 知 识 讲 解 动态内存分配与释放 释放内存 #include stdlib.hvoid free (void* ptr); 释放ptr所指向的动态内存 ptr必须是之前malloc/calloc/realloc函数的返回值 释放一块已被释放过的内存,将导致未定义的后果 若ptr取NULL,则不执行任何操作 所有通过动态内存分配得到的内存都必须释放,否则就会形成内存泄漏 代码 实践 课 堂 练习 练习时间 知 识 讲 解 函数指针 所有函数都存放在代码区,都有地址,即函数指针 函数名就是函数的符号地址,即函数指针常量 定义存放函数指针的指针变量,并用函数名初始化 返回类型 (*函数指针变量) (形参表) = 函数名; 可以象通过函数名一样通过函数指针变量调用函数 函数指针变量 (实参表); 函数指针可以作为函数的参数 多态 回调 知 识 讲 解 函数指针 快速排序 #include stdlib.hvoid qsort ( void* base, // 数组起始地址 size_t nmemb, // 数组元素个数 size_t size, // 数组元素大小 int (*compar) ( // 比较函数指针 const void*, // 第一个待比较元素地址 const void* // 第二个待比较元素地址 ) // 第一个待比较元素/=/第二个待比较元素 // 返回
文档评论(0)