第二次博客
1.本章学习总结
1.1 学习内容总结
1.float和double的区别:double型数据占用空间更大,精度更高,取值范围更大。
double型数据使用格式控制说明%lf
对浮点数作比较时不能用,常见的做法就是取二者的差。
2.=是赋值运算符,而是判断是否相等的(常用于条件)
3.常用的数学函数:
·sqrt(x)
·fabs(x)
·pow(x,n)
·exp(x)
4.switch语句中case后面出现的应该是一个常量表达式。
5.复合语句和空语句
6.%.0f指定输出时不要小数部分
7.取随机数:
srand(time(0));//随机数种子
rand()%100;
8.字符型数据
字符型变量在定义时用类型名char
输入字符:getchar()
调用格式:ch=getchar()
输出字符:putchar()
调用格式:putchar(输出参数)
9.循环次数不确定时用while语句
确定时用for语句
10.break语句的作用:强制循环结束
continue语句的作用:跳出循环体中continue后的语句继续下一次流程。
11.else与最靠近的、没有与别的else匹配过的if相匹配。
12.a与'a'的区别:a表示变量,而'a'表示字符。
1.2编程技巧总结
1.判断m是否为素数:判断m是否能被2~m^1/2间的整数整除
2.互换两数的值
max=a
a=b
b=max
3.取一个三位数的十位和百位:
shiwei=num/10%10;
baiwei=num/100;
4.当式子各项符号交替变化,用变量flag表示每一项的符号
for(i=1;i<=n;i++){
item=flag*1.0/denominator;
sum=sum+item;
flag=-flag;
denominator=denominator+2;
5.嵌套循环
item=1//对嵌套循环初始化时,一定要分清内外层循环
for(i=1;i<=100;i++){
for(j=1;j<=i;j++)
item=item*j;
sum=sum+item;
}
1.3本章学习体会
学习感受:好难好难好难好难好难
不理解:龟兔赛跑中三个if的讨论点(尤其是最后一个),计算单词长度行末没有空格(看了超星没懂)。
老师作业太多太多了,多得我都没有时间刷pta了。
2.pta实验作业
2.1前天是哪天
2.1.1数据处理
int year=0, month=0, day=0;
if(day大于2){
day=day-2;
}
if(day小等于2且上个月有31天)
if(day小等于2且上个月有30天)
if(day小等于2且上个月是二月){
if(闰年)(非闰年)}
if(day小等于2且月份为一月)
2.1.2代码截图(不太会写)
2.1.3pta提交列表及说明
2.2字符型数据题
实验3-4 -if-else/for 统计字符 (15分)
本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
输入格式:
输入为10个字符。最后一个回车表示输入结束,不算在内。
2.1.1数据处理
数据表达
char a;//字符种类
int i, letter, blank, digit, other;//每种字符的个数
数据处理
for(i = 0;i < 10;i++)
{
a = getchar();
if(a是字母)
{
letter++;
}
else if(a是空格或回车)
{
blank++;
}
else if(a是数字)
{
digit++;
}
else
{
other++;
}
}
printf();
2.1.2代码截图
2.1.3pta提交列表及说明
考虑字母个数时忽略了字母大写的情况。
2.3自选一题,介绍单步调试如何检查错误
实验4-1-1-while和do-while 最大公约数和最小公倍数 (15分)
本题要求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(≤1000)。
输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。
2.3.1 单步调试截图