一、实验作业
PTA
题目: 6-7 递归法对任意10个数据按降序排序
设计思路
定义整型变量 max=a[0],temp,循环变量i
如果 n==1
a[n-1]=a[0] 设置递归出口
否则
for i=0 to i=n-1;
如果 a[i]>a[n-1]
交换a[i]和a[n-1];
end for
重复进行,每次n-1,直到递归出口
代码截图
调试问题
1,发现进行到最大值后,其他值都发生了改变--------if语句没有加花括号
2,开始没有设置递归出口导致程序崩溃
学生成绩管理系统(还未完成)
1.2.1 画函数模块图,简要介绍函数功能。
1.2.2 截图展示你的工程文件,如:
1.2.3 函数代码部分截图
1.2.4 调试结果展示
1.2.5 调试碰到问题及解决办法。
二、截图本周题目集的PTA最后排名。
三、阅读代码
四、本周学习总结
10.3.2 宏基本定义(用来定义一些符号常量,在程序中所有出现宏名的地方都会用宏定义字符串替换,所以也称为宏替换.。)
一。宏定义的格式
#define 宏名 宏定义字符串//以#开始,表起编译预处理作用,而不是真正的C语句,行尾无需跟分号(分号会被当成宏替换内容)。
#define TRUE 1
二。宏的用途
1.符号常量,如PI。
2.简单的函数功能实现(要在一行内完成后面跟的“”表示该行未结束,与下一行合起来成为完整一行)
3.为程序书写方便(当程序中多次使用一些相同内容时)
三。带参数的宏定义(宏的简单函数功能)
宏引用与函数调用的区别:
1.实现过程
宏引用在程序编译预处理时完成
函数调用在程序执行时进行2.调用特点
宏引用不做计算,直接替换
进去
函数调用,如果实参是表达式,先计算表达式,再把结果传递过去,所以宏引用要注意括号的使用.
10.3.4文件包含
1.格式
#include<需包含的文件名>//C语言标准头文件
或
#include“需包含的文件名”//当前文件夹被包含的文件
2.头文件的应用
一.ctype.h常见的功能
1.isalnum
功能: 测试传入参数其对应的ASCII符号是否为数字或英文字母,当传入参数为A~Z、a~z、0~9,则函数返回非零值,否则返回零。
返回非零值的状况:传入字符A~Z、a~z、0~9或数65~90、97~122、48~57。2.isalpha
功能:测试传入参数其对应的ASCII符号是否为英文字母,当传入参数为A~Z、a~z,则函数返回非零值,否则返回零。
返回非零值的状况:传入字符A~Z、a~z或数65~90、97~122。3.isdigit
功能:测试传入参数其对应的ASCII符号是否为阿拉伯数字,当传入参数为0~9,则函数返回非零值,否则返回零。
返回非零值的状况:传入字符0~9,或数48~57。4.isupper
功能: 测试传入参数是否为大写英文字母,当传入参数为A~Z,则函数返回非零值,否则返回零。
返回非零值的状况:传入字符A~Z或数97~122。5.islower
功能:测试传入参数是否为小写英文字母,当传入参数为a~z,则函数返回非零值,否则返回零。
返回非零值的状况:传入字符a~z或数97~122。
二、strins.h常用函数
1.函数名:strcpy
功能: 拷贝一个字符串到另一个
用法: char strcpy(char destin, char *source);2.函数名:strncpy
功能:将字符串src中最多n个字符复制到字符数组dest中(它并不像strcpy一样遇到NULL才停止复制,而是等凑够n个字符才开始复制),返回指向dest的指针。3.函数名:strcat
功能: 字符串拼接函数
用法: char strcat(char destin, char *source);4.函数名:strcmp
功能: 串比较
用法: intstrcmp(char str1, char str2);
看Asic码,str1>str2,返回值 > 0;两串相等,返回0。Str1<Str2,返回值<0;5.函数名:strlen
功能: strlen函数求的是字符串的长度,它求得方法是从字符串的首地址开始到遇到第一个‘\0‘停止计数,如果你只定义没有给它赋初值,这个结果是不定的,它会从 字符串首地址一直记下去,直到遇到‘\0‘才会停止。6.函数名:strstr
功能: 在串中查找指定字符串的第一次出现
用法: char strstr(char str1, char *str2);7.函数名:strupr
功能: 将串中的小写字母转换为大写字母
用法: char strupr(char str);
三、Stdlib.h常用
1.函数名称:malloc
函数原型: void * malloc(unsigned size);
函数功能: 分配size字节的存储区2.函数名称:free
函数功能: 释放p所指的内存区3.函数名称: rand
函数原型: int rand(void);
函数功能: 产生0到32767间的随机整数(0到0x7fff之间)4.函数名称: atof
函数原型: double atof(char *str)
函数功能: 将字符串转换成一个双精度数值5.函数名称: atoi
函数原型: int atoi(char *str)
函数功能: 将字符串转换成一个整数值
1.总结本周学习内容。
12.26指针进阶
-1指针数组的概念:数组的各个元素都是指针类型,用存放内存地址,那么这个数组就是指针数组
一般指针数组定义的一般格式:
类型名 *数组名[数组长度]
如:
char *color[5];
定义了字符指针类型的数组
其中 color[i]中存放的是字符串的首地址 .
- 2.指针数组的交换
如:
char *temp;
tamp=color[0];
color[0]=color[4];
color[4]=temp;
课本266
对于这个操作,颜色字符串本身并没有变化,只是color[0]和color[4]交换了所指向的单元.
3.指向指针的指针(也称为二级指针)
- (1)定义
指向指针的指针一般定义为:
类型名**变量名;
课本266
int a=10;
int *p=&a;
int **pp=&p;
a,*p,**pp代表同一个单元,他们的值相同
- (2)二级指针操作
看课本266
2.罗列本周一些错题。
1.课堂派
互动12.25
-互动12.27指针数组
1
2
C语言预习作业--函数嵌套调用
。。。。。未完成