练习题
下面代码执行的结果是:( )
#include <stdio.h>
int main()
{
int i = 0;
for (i = 0; i<10; i++)
{
if (i = 5)
printf("%d ", i);
}
return 0;
}
无限循环5
if语句后可以跟多条语句
if语句中0表示假 非0表示真
if语句是一种分支语句 可以实现单分支也可以实现多分枝
swich语句中的default子句可以放在任意位置
switch语句中case后表达式只能是整形常量表达式
switch语句中case表达式不要求顺序
【题目名称】
int func(int a)
{
int b;
switch (a)
{
case 1: b = 30;
case 2: b = 20;
case 3: b = 16;
default: b = 0;
}
return b;
}
则func(1) = ( 0) int a 的a 带入1
代码实现如下
int func(int a)
{
int b;
switch (a)
{
case 1: b = 30;
case 2: b = 20;
case 3: b = 16;
default: b = 0;
}
return b;
}
int main()
{
printf("%d\n", func(1));
return 0;//代码实现
}
f10调试 逐过程
f11 逐语句
下面代码的执行结果是什么( )
#include <stdio.h>
int main() {
int x = 3;
int y = 3;
switch (x % 2) { 3莫2于1 进入case1
case 1:
switch (y) y是3 没有case3 进入default 执行printf 没有break 直接往下继续 输出third
{
case 0:
printf(“first”);
case 1:
printf(“second”);
break;
default: printf(“hello”);
}
case 2:
printf(“third”);
}
return 0;
}
hello third
写代码将三个整数数按从大到小输出
/代码分析 首先要有三个整数 然后输入数据
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf(" % d % d % d", &a, &b, &c);
if (a < b)
{
int tmp = a;
a = b;
b = tmp;
}
if (a < c)
{
int tmp = a;
a = c;
c = tmp;
}
if (b < c)
{
int tmp = b;
b = c;
c = tmp;
}
printf("%d %d %d\n", a, b, c);
return 0;
}
【题目名称】
打印3的倍数的数
【题目内容】
写一个代码打印1-100之间所有3的倍数的数字
//int main()
//{
// int i = 0;
// for (i = 1; i <= 100; i+=2)
// {
// printf("%d\n", i);
//
// }
//
// return 0;
//}
int main()
{
int i = 0;
for (i = 1; i <= 100; i ++)
if(i%3==0)
{
printf("%d\n", i);
}
return 0;
}
最大公约数
给定两个数 求这两个最大公约数
//最大公约数
//给定两个数 求这两个最大公约数
//思路 先看给出的两个数哪个小 小的除大的除不尽 大数减一继续除 找到相同公约数 比较大小
int main()
{
int m = 0;
int n = 0;
scanf("%d%d", &m, &n);
//假设最大公约数就是m和n的较小值
int max = 0;
if (m > n)
max = n;
else
max = m;
while (1)//一直循环
{
if (m % max == 0 && n % max == 0)
{
printf("最大公约数:%d\n", max);
break;
}
max--;
}
return 0;
}
//辗转相除法 两个公约数相除取模
int main()
{
int m = 0;
int n = 0;
int t = 0;
scanf("%d%d", &m, &n);
while(t = m % n)
{
m = n;
n = t;
}
printf("最大公约数:%d\n", n);
return 0;
}