填空题(最多3个空填)
1.注意数据类型。初始化赋值
2.理解题目、分析功能和代表意义
填空:循环条件 最值 看它代表的含义 数组(长度) 字符(个数)
数组的条件:字符型,看固定的变量含义
基本含义
1.统计初始化 sum = 0 --- 统计累计 sum = sum + i
定义多个副本 j, 用来记录位置
a = 0;对应switch,可对应多个对象同时统计数目
或者为最大值的基值参数
也可以有sum = a[0]的初始化形式,表示一维对比基值(最值常用)
————初始化数组,变量 统计初始化 备份缓存数组或者变量 中转变量
(统计) 1.初始化量 2.自增1(个数) 3.m%10 (取个位数字) m/10 (消去一位)
取余的两种含义:取个位数(%10);每10个为一组,(隔开操作)(%10==0)
2.状态,结束标志 y[j] = -1 //常见于字符串,或者其他复制、删除结构
k = 0 (继续状态)/ k = 1 (过滤状态)通过死循环条件
k = i (记录位置并状态) //常用于统计一维数组各对象数目
//********************//********************//********************
//********** k = 0 为统计初始量/状态量 k = i 为位置量//********************
3.数组输入输出 for (i = 0; i < N; ++i), N为数组长度
或者输出数列 减轻操作
//————————while - for 比较:while 可用于过滤结构 for用于输入输出
联系if,有时候条件为0时才是执行,如isdigit( *s)数字判断函数
4.插入操作 y[j++] = x (隐变量插入)等价于 y[j] = x(复制操作), ++j 指向下一个
j++/++j 多用于复制、插入操作中,逐次传递
5.随机数 x = rand()%50 产生五十个随机数,分别装入x中
fabs(n-m) 求浮点数x的绝对值
例子:fabs(n-m)<0.001 反向含义:表示绝对值大于0.001
小写转大写 toupper(*p) tolower(*p)反
判断数字0-9 isdigit( *s)
字符串长度 n= strlen(a);注意(用指针)
判断字母字符 isalpha(*s)
补充:文件处理函数
fopen (文件名,使用方式) fclose(文件名)
fgetc(fp) 从fp指向的文件中输入字符 fputc(ch,fp)将字符ch输出到fp指向的文件中
fgets(str,n,fp)从fp指向的文件中读入一个n-1长度的字符串,存到str数组中
fputs(str,fp)将str指向的字符串写到fp指向的文件中
fread(buffer,size,count,fp) fwrite同 其中buffer是一个地址,size读取的字节数,count读写的数据项(每个长度为size)
使用方式表:r 只读 ; w 只写; rb - wb 对应 区别:前面是文本 后面时二进制
字符处理函数
gets puts getchar() putchar()
6.一般存在a b[j], 其中一个作为缓存数组(插入操作中)
基本结构
1.循环结构 通常用于定义或者“摆脱”操作(循环条件)(过滤操作)(有条件加减)
2、条件结构 通常用于多个同时统计(一维数组)(switch) 是否过滤
一般习惯
1.一对printf,对应输出同一个量,应该为前后对比
2、一般处理都是逐个处理
3、处理原数据,采用拷贝处理
4.字符串处理,总是在最后添加上结束标志‘\0‘
5. while(x>999||x<0) 范围取值
6.t = 2*i 用中转量代替表达式,中转量表示
特别
1、return ctod(a)+ctod(b) 处理并输出 (函数返回)
2.if(isdigit( *s)) //是否含有数字0-9 没有的话执行
3.d=d*10+*s-'0';//将字符转换为面值相同的整数 其中s指向字符串,d初始化为0 单个转换
n = ch - 'a' 系统自动将字符转换为ASCII码进行运算 意义为:
ch = ch - 32 小写变大写
4、aa=m%k; 转换为k进制 取余运算(十进制转其他)
m/=k;缩小数字
典例:for(i=0;m;i++) //属于同变循环 都是I
{
/*************found**************/
aa=m%k;
m/=k; //取余进制运算(十进制转其他)
}
for(;i;i--)
/*************found**************/
printf("%d",aa[i-1]); //特别注意 for循环结束后,i多加1
}
5.循环结束标志 即。到了0就结束
典例:while (x[i++] != 0);
printf("%f\n", fun ( x ));
6、字符数值
典例: if( isdigit(*s) ) //抽出数字字符,来处理
sum+= *s- 48 ;//字符与‘0’(48)之差,就是该字符对应的数
错误题(最多3个错误)
1.基本结构 从函数错误(分号,返回值,大括号) 指针地址错误(地址,地址指向) 循环错误 ‘=’分析;‘;’缺失;‘;’冗杂
2.算法错误 等价算法
//————————结构错误(定义错误 函数错误) 功能错误
算法复杂时,注意基础错误
3.变量初始化 例:循环变量i-j 统计变量sum等
注意位数算法:多位数表示:t = t*10 + a;
(表示全部数字相同的位数,t*10高位,+a是最低位)
取个位t = t%10;去一位t = t / 10;
归类:printf() main中的格式输出符%s/%c 与 fun()中返回类型是否一致
缺少‘,’ 等成分
即:形参和实参 返回值类型
scanf() '&'缺失
for()while()if() ‘;’错误; "<="取等考虑;"FOr"大写错误
int * p 形参与实参指针对应;*p-p的区别
main() ‘}{’缺乏
fun() 数据类型不匹配
一般:注意 算术运算符 / %(整数); 函数类型一致
注意 公式题中,看清题目要求
先特殊再一般
整体结构
1。输入结构 中间处理 输出结构 提示词 printf scnaf
2. 产生结构
猜:main基本结构:输入--处理--输出
fun()基本结构:定义--算法--返回
文件结构:fopen(打开) fread/fwrite(读写) fclose(关闭) 引用文件
算法 处理文件
字符结构:复制 插入 删除 操作处理
注意:可使用*p++经行循环,表示遍历全字符串
转义字符,空格等,都是''表示
‘0’/ 48 结束标志(头和尾)
greedyhao 2018-7-9 17:56
rdg1993 2018-7-9 17:02