一、PTA实验作业
6-3 使用函数判断完全平方数:
1. 本题PTA提交列表:

2. 设计思路:

3.本题调试过程碰到问题及PTA提交列表情况说明:
- 1.一开始考虑让输入值N去整除一个循环变量i,i随着循环次数改变而改变,N每次除两次i,能得到1的值时便为完全平方数,返回1值,否则当i>N/2循环结束,则返回0值;一开始觉得这个做法很可行,但实际上一经运行调试后发现错误很多,后来发现是因为没有考虑1和0的特殊性,但是就算考虑了也仍不对,在同学的建议下用了逆向思路即若i*i==N,return 1;用i值来凑N值;然后现在又用第一次的思路做了一遍,想弄清之前思路到底错哪儿,却发现一次就过,这才明白先前没有弄懂当被调用的函数一旦Return后就不会再执行后面的语句,所以之前考虑了一堆条件,越复杂越容易错;

- 2.这张是现在用一开始的思路做的正确答案;
- 3.可是后来又发现了一个问题,当被调用函数返回一个值后不是应该马上结束执行吗,为什么当我把if(n==0||n==1) return 1;语句放在循环外时是对的,而将其放在循环里面时则不正确,似乎是个无效语句???

- 4.这张图是把if(n==0||n==1) return 1;语句放在循环内,是错误的,不知道为什么???希望有大神帮忙解答;
6-6 使用函数输出水仙花数:
1. 本题PTA提交列表:

2. 设计思路:

3.本题调试过程碰到问题及PTA提交列表情况说明:

3.本题调试过程碰到问题及PTA提交列表情况说明:
2.我的代码;

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
三、截图本周题目集的PTA最后排名:

四、本周学习总结:
1.你学会了什么?
1. C语言哪些数据类型?
- 1.整型变量和常量,浮点型变量和常量,字符型变量和常量;
2. 字符型数据需要注意地方?
- 1.‘A‘和‘a’是不同的字符型常量;
- 2.‘A’+1对应字符‘B’;
- 3.小写字母转为大写字母:ch=ch-‘a‘+‘A‘或者ch=ch-‘b‘+‘B‘等等;大写字母转化为小写字母:ch=ch+‘a‘-‘A‘;
- 4.小写字母比大写字母的ASCLL码多32;
- 5.getchar()和putchar()只能处理单个字符的输入和输出;
- 6.空格与回车符都会被%c吸收;
7.‘1’的ASCLL码是49;‘A’的ASCLL码是65;
3. 自增自减运算符?
1.前缀++先+1再赋值,后缀++先赋值再+1;
4. 运算符优先级?
2.单目运算符,条件运算和赋值运算的结合放向从右到左,算数运算(双目运算符),移位运算,关系运算,位逻辑运算和逻辑运算结合方向从左到右;
5. C语言哪些表达式?课堂派哪里做错,做错的请在这里分析原因?
- 1.当赋值符左边的变量和右边的变量类型不同时,先计算右边的值,再赋值给左边,且要转换成左边的变量类型;
- 2.double 3得到3.0;int3.8得到3;
- 3.前缀++(--)和后缀++(--)的区别不是很清楚,前缀++先+1再赋值,后缀++先赋值再+1;
- 4.当a=3时,a+=a-=a*a的值算错,原因是没意识到a是一个变量,在从右往左算的过程中a为9时仍把a当3来计算;
5.不明白8>6>3的值是多少,即对关系运算符的原理不清楚,后来明白单目运算符从左往右结合,先算8>6,得1(关系运算符的结果不是1就是0),很明显1>3不成立,所以得0;
6.其他内容?
- 1.异或:相同为0,不同为1;
- 2.取反(位非运算):0变为1,1变为0;
3.按位“与”和异或的规则相反,按位“与”是不同为0,相同为1;
2.本周的内容,你还不会什么?
1.转义字符的用法不太清楚;
- 2.ASCLL码对应的字符不太清楚;
3.进制间的转换不是很清楚;
3.循环结构考试总结(全部同学都要写)
1.哪题做错了,怎么改?
2.考试结果满意么,怎么改进?
3.其他总结。
C语言函数2
原文:http://www.cnblogs.com/guoruiqian/p/7856323.html