赞
踩
【1】C90标准新增了一元运算符+,它不会改变运算对象的值或符号,只能如下使用:dozen = +12;
【2】在计算浮点数和整数之间的运算时,编译器会把两个运算对象转换成相同的类型。这就是自动类型提升。
【3】char、short类型数据在运算时,都会自动类型提升为int类型。其他的类型会提升至级别更高的类型。
【4】C99规定使用趋零截断(直接丢弃小数部分)。
【5】负数求模如何进行?答:看第一个运算对象的符号。若第一个运算对象是负数,则结果为负数;否则,结果为正数。例如:11%-2=1. -11%2=-1. -11%-2=-1.
【6】++运算符和--运算符有很高的优先级,只有圆括号的优先级比它们高。
【7】序列点是指程序执行的点。
【8】当作为函数参数传递时,char和short被转换成int,float被转换成double。
题目1
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define MIN_PER_HOUR 60 int main() { while (1) { int input = 0; printf("请输入分钟数:"); scanf("%d", &input); if (input <= 0) break; printf("时间:%d小时 %d分钟\n", input / MIN_PER_HOUR, input % MIN_PER_HOUR); } return 0; }【2】结果:
题目2
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { //用户输入整数 int num = 0; printf("请输入一个整数:"); scanf("%d", &num); //打印从该数到比其大10的所有整数 for (int i = num; i <= num + 10; ++i) { printf("%d ", i); } return 0; }【2】结果:
题目3
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define DAY_PER_WEEK 7 int main() { while (1) { //用户输入天数 int day = 0; printf("请输入天数:"); scanf("%d", &day); //输入判定,非正值则退出循环 if (day <= 0) break; //将天数转换为周数和天数 int week = day / DAY_PER_WEEK; int restDay = day % DAY_PER_WEEK; printf("%d days are %d weeks, %d days.\n", day, week, restDay); } return 0; }【2】结果:
题目4
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define CM_TO_FEET 1 / 30.48 #define FEET_TO_INCH 12 void convertHeight(double height) { double feet = height * CM_TO_FEET; double inch = (feet - (int)feet) * FEET_TO_INCH; printf("%.1lf cm = %d feet, %.1lf inches\n", height, (int)feet, inch); } int main() { //用户输入身高 double height; printf("Enter a height in centimeters: "); scanf("%lf", &height); //厘米转换为英尺+英寸 convertHeight(height); //循环读取用户输入 while (1) { printf("Enter a height in centimeters (<=0 to quit): "); scanf("%lf", &height); if (height <= 0) break; //厘米转换为英尺+英寸 convertHeight(height); } printf("bye\n"); return 0; }【2】结果:
题目5
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { //用户输入天数 int day; printf("请输入天数:"); scanf("%d", &day); //计算day天里赚了多少钱 int sum = 0; for (int i = 1; i <= day; i++) { sum += i; } printf("sum = %d\n", sum); return 0; }【2】结果:
题目6
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { //用户输入天数 int day; printf("请输入天数:"); scanf("%d", &day); //计算day天里赚了多少钱 int sum = 0; for (int i = 1; i <= day; i++) { sum += i * i; } printf("sum = %d\n", sum); return 0; }【2】结果:
题目7
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void printCube(double input) { printf("%lf 的立方为: %lf\n", input, input * input * input); } int main() { //用户输入数据 double input; printf("请输入double类型数据:"); scanf("%lf", &input); //打印立方值 printCube(input); return 0; }【2】结果:
题目8
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { //打印提示信息 printf("This program computes moduli.\n"); int first, second; printf("Enter an interger to serve as the second operand: "); scanf("%d", &second); printf("Now enter the first operand: "); scanf("%d", &first); //显示取模结果 printf("%d %% %d is %d\n", first, second, first % second); //循环读取 while (1) { printf("Enter next number for first operand (<= 0 to quit): "); scanf("%d", &first); if (first <= 0) break; printf("%d %% %d is %d\n", first, second, first % second); } printf("Done\n"); return 0; }【2】结果:
题目9
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void Temperatures(double Ftempe) { const double Celsius = 5.0 / 9.0 * (Ftempe - 32.0); const double Kelvin = Celsius + 273.16; printf("华氏温度: %.2lf, 摄氏温度: %.2lf, 开式温度: %.2lf\n", Ftempe, Celsius, Kelvin); } int main() { while (1) { //用户输入华氏温度 double FTemperature; printf("请输入一个华氏温度 (q或其他非数字退出):"); if (scanf("%lf", &FTemperature) != 1) { break; } //计算摄氏温度和开式温度 Temperatures(FTemperature); } printf("Bye\n"); return 0; }【2】结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。