找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 67|回复: 1

C语言类型转换练习题

[复制链接]

37

主题

21

回帖

241

积分

中级会员

积分
241
发表于 2026-4-12 17:11:28 | 显示全部楼层 |阅读模式
一、基础填空题
写出下列表达式最终结果的数据类型:
int + double → ________
char + short → ________
float / int → ________

写出运行结果:
int a = 5;
double b = 2.0;
printf("%f", a + b);
结果:________

char ch = 'A';
int x = 10;
printf("%d", ch + x);
结果:________
c
运行
double pi = 3.14159;
int n = (int)pi;
printf("%d", n);
结果:________

int a = 5, b = 2;
double r1 = a / b;
double r2 = (double)a / b;
printf("%f, %f", r1, r2);
结果:________

二、选择题
关于 C 语言隐式类型转换,下列说法正确的是()A. 高精度自动转低精度B. 整数运算时 char/short 会提升为 intC. unsigned 与 int 运算时,int 保持不变D. 强制类型转换一定不会丢失数据

unsigned int u = 10;
int i = -20;
if (u + i > 0) printf("yes");
else printf("no");
输出是()A. yesB. noC. 编译报错D. 随机值

double d = 123.999;
int x = (int)d;
x 的值是()A. 123B. 124C. 123.999D. 报错

三、程序阅读题

int a = 3;
float b = 2.5;
char c = '1';
double res = a + b - c;
printf("%lf", res);
结果:________

short s = 10;
int i = 20;
long l = 30;
float f = 1.0f;
printf("%f", s + i + l + f);
结果:________

int m = 10;
double n = 4.5;
int k = m + n;
printf("%d", k);
结果:________

四、编程题
输入一个小数,分别输出它的整数部分和小数部分。
已知半径 r=5,计算圆面积,结果保留两位小数。

37

主题

21

回帖

241

积分

中级会员

积分
241
 楼主| 发表于 2026-4-12 17:12:41 | 显示全部楼层
答案与解析
一、基础填空题
int + double → double
char + short → int
float / int → float
7.000000
75('A'=65,65+10=75)
3(强制转换直接截断小数)
2.000000, 2.500000
二、选择题
B
A(yes,int 转 unsigned 后变成很大正数)
A(123)
三、程序阅读题
-43.500000'1' ASCII=49,3+2.5-49 = -43.5
61.000000
1410+4.5=14.5 → 赋值给 int 截断小数为 14
四、编程题参考答案
c
运行
#include <stdio.h>
int main() {
    double num;
    scanf("%lf", &num);
    int integer = (int)num;
    double decimal = num - integer;
    printf("整数:%d,小数:%.2f\n", integer, decimal);
    return 0;
}
c
运行
#include <stdio.h>
#define PI 3.14159
int main() {
    int r = 5;
    double area = PI * r * r;
    printf("%.2f\n", area);
    return 0;
}
结果:78.54a
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|郎哥嵌入式编程社区 ( 鲁ICP备15001146号-5 )

GMT+8, 2026-4-28 03:32 , Processed in 0.013540 second(s), 19 queries .

快速回复 返回顶部 返回列表