课程内容:《入门经典》第三章内容
形式:教师讲解+学生分工
时间:120分钟 讲解100分钟 留20分钟消化理解 其中前三道需要20分钟,后四道每道20分钟共80分钟(前20分钟为各个小组准备时间,后面每15分钟小组成员讲解)
课前练习:阅读《c程》冒泡排序
本节共10道题,此次能做解决8道。
其中前两道已做,只通思路和注意点。
蛇形填数 老师讲解;
3.2竖式问题 第一组讲解
例3-3 第二组讲解
例3-1 3-2 第三组讲解
例3-4 第四组讲解
3.1数组
逆序输出、开灯问题:
对数组所有元素均赋值为0:
方法1:用循环遍历数组,赋值为0
方法2:初始化时赋值 a[5}={0};
方法3:用memset()–>memset(数组名,值,sizeof(a));
memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。
对数组所有元素均赋值为同一数、字符呢?
将数组a(整型)复制k个元素到数组b
方法1:用循环遍历数组,进行复制
方法2:用memcpy()–>memset(b,a,sizeof(int)*k);
c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
与strcpy的区别
使用memset()、memcpy()都需要添加#include<string.h>
蛇形填数:
思路:
存储:一个从1开始自增到n*n的整数、一个存放所有数字的数组
过程:按 下->左->上->右 的顺序填数,填到数组的边界及已经填充的数
3.2字符数组
竖式问题
整型数转字符
在字符串中查找字符
3.3竞赛题目选讲
TeX中的引号
字符的接收
字符的替换
?:的讲解
条件表达式由条件运算符构成,并常用条件表达式构成一个赋值语句,其一般形式如下:
x=<表达式1>?<表达式2>:<表达式3>
其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若为0(假),则求解表达式3,将表达式3的值赋给x。 口诀:前真后假。
例如:
min=(a<b)?a:b
效果是将a、b中较小的那个赋给min。[1]
WERTYU
打表:按键盘顺序打表
输出其前的字符
回文词
打表
猜数字游戏的提示
完全正确的可直接统计 记为A
位置不对的:1、统计该数字在a、b数组中出现的次数,两者的最小值(即为B)即为有相同的数字的次数
2、位置不对的为B-A