1、赋值运算符
实现三个变量的赋值操作,并输出三个变量的值。请选出错误的赋值操作。
#include <stdio.h>
int main(int argc, char** argv)
{
(_____1_____)
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("c = %d\n", c);
return 0;
}
b和c两个变量未定义就使用了,会直接报错。
2、打印100以内(包含100)能被10整除的正整数
#include <stdio.h>
#define UPPER 100
int main(int argc, char** argv)
{
int i = 1;
(_____1_____)
return 0;
}
注:while语句可以没有{},此时于while()后第一个分号 “;” 前面的语句就是循环体。
可以同时有{}和分号“;” , 也就是说,当有花括号 {} 结尾可不需要分号, 当然你加了不也会出错,但不要while();
在C语言中,用;和{}的作用都是一个:用于语句分隔,告诉编译器当语句遇到;或者{}中的 “}”时,说明执行该语句结束。所以说有点二选一的感觉,但让如果两个都同时用也不会出错(注不要while(); 不要for(); ,这些C语言编译器是允许的,但是实际上这样做没意义,这样做相当于循环体为空了,什么也没干)
3、判断正整数的位数
#include <stdio.h>
int main(int argc, char** argv)
{
int num, count = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
(_____1_____)
printf("位数为:%d", count);
return 0;
}
要取商(去余取整),比如256的位数,先让256/10得25,count从0变成1,此时25>0;再让25/10得2,count从1变成2,此时2>0;再让2/10得0,count从2变成3,此时0>0不成立,输出count为3,结束循环。
4、区间是否重叠
输入两个闭区间,并判断两个区间是否重叠。
#include <stdio.h>
#define MAX(a,b) ((a > b) ? a : b)
#define MIN(a,b) ((a < b) ? a : b)
int main(int argc, char** argv)
{
int start_1, end_1;
int start_2, end_2;
printf("请输入第1个闭区间(逗号分隔):");
scanf("%d,%d", &start_1, &end_1);
printf("请输入第2个闭区间(逗号分隔):");
scanf("%d,%d", &start_2, &end_2);
if (_____(1)_____)
printf("两个区间不重叠!");
else
printf("两个区间重叠!");
return 0;
}
5、判断闰年
输入任意年份的正整数n,判断该年份是否为闰年。
#include <stdio.h>
int main(int argc, char** argv)
{
int year;
printf("请输人年份:");
scanf("%d", &year);
is_leap_year(year);
return 0;
}
%4=0与%100!=0必须同时进行所以用&&
6、邮费价格表
打印邮费价格表,输出20kg以内物品的邮费价格表,邮费计算规则如下所示:
- 1kg以内6元。
- 超过1kg,每增加1kg加收2元。
请选出正确的for循环头部,
#include <stdio.h>
#define FIRST_COST 6
#define NEXT_COST 2
int main(int argc, char** argv)
{
int weight, cost;
printf("重量\t价格\n");
for (_____(1)_____)
printf("%d\t¥%d\n", weight, cost);
return 0;
}
循环中的weight变量将从1开始,递增到20;邮费cost的计算会基于weight的值。在每次循环中,都打印出当前的weight和对应的cost。for循环的头部应该初始化weight为1,然后在每次迭代中递增weight,直到20。邮费cost可以在循环体内计算,但为了更清晰地表示,也可以在for循环头部进行初始化和更新。
for (weight = 1, cost = FIRST_COST; weight <= 20; weight++, cost += NEXT_COST)
重量 价格
1kg ¥6
2kg ¥8
3kg ¥10
4kg ¥12
5kg ¥14
6kg ¥16
7kg ¥18
8kg ¥20
9kg ¥22
10kg ¥24
11kg ¥26
12kg ¥28
13kg ¥30
14kg ¥32
15kg ¥34
16kg ¥36
17kg ¥38
18kg ¥40
19kg ¥42
20kg ¥44
7、求三数最大值
#include <stdio.h>
int main(int argc, char** argv)
{
int a, b, c, max;
printf("请输入3个整数:");
scanf("%d,%d,%d", &a, &b, &c);
(_____1_____)
printf("3个整数中的最大的是:%d", max);
return 0;
}
三目运算符
8、输出数组
#include <stdio.h>
int main(int argc, char** argv)
{
int arr[] = {1,2,3,4,5};
(_____1_____)
size_t i;
for (i = 0; i < len; ++i)
printf("%d ", arr[i]);
return 0;
}
sizeof用于变量:
sizeof(变量名);
sizeof 变量名;
用于数据类型:
sizeof(数据类型);
9、运算符优先级与求值顺序
选项中是关于逗号运算符与自增运算符组成的混合表达式,请运用运算符优先级及求值顺序相关知识,选择合适的选项填在(1)处,使得程序的输出结果为 2,3,1。
#include <stdio.h>
int main(int argc, char** argv)
{
int x, y, z;
x = y = 1;
(_____1_____)
printf("%d,%d,%d\n", x, y, z);
}
先把x值1赋给z,z=1,然后x++,x自增1,x变成2,++y,y变成2,y++,y变成3。