刷题总结: 1.if语句中0表示假,非0表示真。 2.if语句是一种分支语句,可以实现单分支,也可以实现多分支。 3.switch语句中default子句可以放在任何位置。 4.switch语句中case的表达式只能是整形常量表达式。 5.switch语句中case表达式不要求顺序。 6.switch语句中switch(c),c不可以是float类型。 7.条件表达式执行次数总是比循环体的次数多一次 例题: #include <stdio.h> int main() { int a=0; int b=0; for (a = 1,b=1; a <=100 ; a++) { if (b>=20) break; if (b%3==1) b+=3; continue; } b-=5; printf("%d\n",a); return 0; } b<20,不进入第一个if判断 进入第二个if判断,此时 a=1 b=1,b%3==1,b=b+3,此时b=4 continue在循环中,continue用于终止本次循环,也就是本次循环中continue后面的代码不会再次执行,而是直接跨转到判断部分,进行下一次循环入口判断 编写程序数一下1——100的所有整数中出现了多少含9的数字,并统计个数 #include <stdio.h> int main() { int i=0; int number=0; for (i = 1; i <=100 ; i++) { if (i%10==9 || i/10==9) { printf("%d ",i); number++; } } printf("\nnumber= %d",number); return 0; } //计算1/1-1/2+1/3-1/4+1/5-1/6...+1/99-1/100 第一种写法 #include <stdio.h> int main() { int i=0; double sum=0; for (int i = 1; i <=100 ; i++) { if (i%2==0) sum=sum-1.0/i; else sum=sum+1.0/i; } printf("%lf",sum); return 0; } //计算1/1-1/2+1/3-1/4+1/5-1/6...+1/99-1/100 #include <stdio.h> int main() { int i=0; double sum=0; int flag=1; for (int i = 1; i <=100 ; i++) { sum=sum+flag*1.0/i; flag=-flag;//设立标记--得正 循环一次是整数下一次就是负数 } printf("%lf",sum); return 0; } //判断十个整形数字最大的一个并打印出来 #include <stdio.h> int main() { int i=0; int arr[10]={-1,-2,-5,-4,-8,-7,-11,-77,88,-99}; int max=0; for (i = 0; i < 10; i++) { if (arr[i]>max) max=arr[i]; } printf("%d",max); return 0; } 这种写法仅仅针对正数,正负混合,负数的话最大值等于0与计算十个数不符合,把最大值设为这组数里面的数,让他和其他的数字进行比较 #include <stdio.h> int main() { int i=0; int arr[10]={-1,-2,-5,-4,-8,-7,-11,-77,88,-99}; int max=arr[0];//把最大值设为这组数里面的数,让他和其他的数字进行比较 for (i = 0; i < 10; i++) { if (arr[i]>max) max=arr[i]; } printf("%d",max); return 0; }
//99乘法口诀表 #include <stdio.h> int i=1; int j=1; int main() { for (int i = 1; i <10 ; i++) { for (int j = 1; j <=i ; ++j) { printf("%d*%d=%d ",i,j,i*j); } printf("\n"); } return 0; }