朋友以开玩笑的方式戳你伤疤,家人以对你好的名义限制你,爱你的人以不想耽误你离你而去,唯独陌生人安慰你。。。

----  网易云热评

一、if语句

1、判断正负数

#include <stdio.h>

int main() {

int val = 0;

printf("请输入一个数字:");

scanf("%d", &val);

/*if (val >= 0) {

printf("非负数\n");

}

else {

printf("负数\n");

}*/

/*

* val > 0 * 显示正数

****************************

* val < 0 * 显示负数

****************************

* !val * 显示零

* */

if (val > 0) {

printf("正数\n");

}

else if (val < 0) {

printf("负数\n");

}

else {

printf("零\n");

}

return 0;

}

 

2、判断奇偶数

#include <stdio.h>

int main() {

int val = 0;

printf("请输入一个数字:");

scanf("%d", &val);

/*

* val < 0 * 显示负数

****************************************

* val >= 0 && (val & 1) * 显示奇数

****************************************

* val >= 0 && !(val & 1) * 显示偶数

* */

if (val < 0) {

printf("负数\n");

}

else if (val & 1) {

printf("奇数\n");

}

else if (!(val & 1)) {

printf("偶数\n");

}

return 0;

}

3、判断最小数

#include <stdio.h>

int main() {

int val = 0, val1 = 0, val2 = 0;

printf("请输入三个数字:");

scanf("%d%d%d", &val, &val1, &val2);



if (val > val1) {

if (val1 > val2) {

printf("最小数字是%d\n", val2);

}

else {

printf("最小数字是%d\n", val1);

}

}

else {

if (val > val2) {

printf("最小数字是%d\n", val2);

}

else {

printf("最小数字是%d\n", val);

}

}

return 0;

}

4、判断年月日

int main() {

int year = 0, month = 0;

printf("请输入年和月:");

scanf("%d%d", &year, &month);

/*

* 1,3,5,7,8,10,12 * 显示31天

************************************

* 4,6,9,11 * 显示30天

************************************

* 2 * 区分平年和闰年

* */

if (month == 1 || month == 3 ||

month == 5 || month == 7 ||

month == 8 || month == 10 ||

month == 12) {

printf("一共有31天\n");

}

else if (month == 4 || month == 6 ||

month == 9 || month == 11) {

printf("一共有30天\n");

}

else if (month == 2) {

/*

* 闰年 * 显示29天

*********************************

* 平年 * 显示28天

* */

if ((!(year & 3)/*后两个二进制数位的内容都是0*/ && (year % 100)) || !(year % 400)) {

printf("一共有29天\n");

}

else {

printf("一共有28天\n");

}

}

return 0;

}

二、switch语句

#include <stdio.h>

int main() {

int season = 0;

printf("请输入代表季节的数字:");

scanf("%d", &season);

//计算机用小括号里的数字和大括号里

//列举出的每个数字依次做对比,如果

//和某个数字相等就执行这个数字后面

//的语句

switch (season) {

case 0:

printf("春天\n");

break;

case 1:

printf("夏天\n");

break;

case 2:

printf("秋天\n");

break;

case 3:

printf("冬天\n");

break;

default:

printf("不认识的数字\n");

break;

}

return 0;

}

 

三、for循环

#include <stdio.h>

int main() {

int num = 0; //循环变量

for (num = 1/*开始数字*/;num <= 5/*循环变量和结束数字之间的关系*/;num++/*每次循环变量的变化规律*/) {

printf("%d ", num);

}

printf("\n");

return 0;

}

运行结果:

1 2 3 4 5

 

#include <stdio.h>

int main() {

int min = 0, max = 0, num = 0, sum = 0;

printf("请输入两个数字:");

scanf("%d%d", &min, &max);

//调整两个变量的内容,让max里的数字大,

//min里的数字小

if (max < min) {

//负责处理max变量内容小的情况

//只需要把max和min的内容交换一下就可以了

min ^= max;

max ^= min;

min ^= max;

}

for (num = min;num <= max;num++) {

//循环变量从小到大依次代表min和max

//之间的所有数字

sum += num; //把循环变量代表的每个数字加到sum变量里去

}

printf("求和结果是%d\n", sum);

return 0;

}



运行结果:

请输入两个数字:15 13

求和结果是42

鸡兔同笼,一共有40个头,100条腿

#include <stdio.h>

int main() {

int num = 0;

for (num = 0;num <= 40;num++) {

//把0到40之间的每个数字作为兔子

//的数量测试一遍

if (4 * num + 2 * (40 - num) == 100) {

//循环变量num就是兔子的数量

printf("兔子有%d只,鸡有%d只\n", num, 40 - num);

break;

}

}

printf("num是%d\n", num);

return 0;

}

 

for嵌套语句

#include <stdio.h>

int main() {

int num = 0, num1 = 0;

for (num = 1;num <= 5;num++) { //循环变量代表每行的行号

for (num1 = 5;num1 >= num;num1--) { //循环变量代表每次要显示的数字

printf("%d", num1);

}

printf("\n"); //每次行号变化之前显示换行

}

return 0;

}



运行结果:

54321

5432

543

54

5

 

四、continue语句,结束本次循环,继续下次循环

#include <stdio.h>

int main() {

int num = 0;

for (num = 1;num <= 5;num++) {

printf("%d\n", num);

if (num == 3) {

continue;

}

printf("%d\n", 10 + num);

}

return 0;

}

 

五、随机数

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main() {

srand(time(0));

printf("%d\n", rand());

printf("%d\n", rand());

printf("%d\n", rand());

return 0;

}

 

六、while循环

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main() {

int val = 0, guess = 0;

srand(time(0));

//val = rand() % 100;

while (val != guess/*没猜对的时候应该继续猜*/) {

printf("请猜一个数字:");

scanf("%d", &guess);

if (guess > val) {

printf("猜大了\n");

}

else if (guess < val) {

printf("猜小了\n");

}

else {

printf("猜对了\n");

}

}

return 0;

}
#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main() {

int val = 0, guess = 0;

srand(time(0));

//val = rand() % 100;

do {

printf("请猜一个数字:");

scanf("%d", &guess);

if (guess > val) {

printf("猜大了\n");

}

else if (guess < val) {

printf("猜小了\n");

}

else {

printf("猜对了\n");

}

} while (val != guess);

return 0;

}

求公约数

#include <stdio.h>

int main() {

int val = 0, val1 = 0, tmp = 0;

printf("请输入两个数字:");

scanf("%d%d", &val, &val1);

while (val % val1/*余数不是0表示两个数字之间没有整数倍关系*/) {

tmp = val % val1; //计算两个数字之间的余数并记录下来

val = val1; //把比较大的数字换成原来比较小的数字

val1 = tmp; //把比较小的数字换成余数

}

printf("最大公约数是%d\n", val1);

return 0;

}

欢迎关注公众号:顺便编点程

 

C语言循环及条件语句_循环语句