C语言编程常见问题与解答

C语言常见问题解析

1、以下程序的输出是什么?#include int main(void) { int i = 100; i = i+i; printf(“V1:%d V2:%d\n”, i+i, i); return 0; }

V1:400 V2:200

2、以下程序的输出是什么?#include int main(void) { int i = 30; float j = 10.65; printf(“%f %d\n”, i, j); return 0; }

程序输出未定义。因为使用 %f 打印整型变量 i ,用 %d 打印浮点型变量 j ,不符合变量类型,会产生未定义行为。一般会输出错误的数值。

3、编写一个程序,声明两个整数,分别赋值为50和20,并显示它们的和、差、积、精确的商(即2.5)以及余数(即10)。使用%运算符来求余数。

#include <stdio.h>
int main(void){
    int i = 50, j = 20;
    printf("Sum = %d\n", i + j);
    printf("Diff = %d\n", i - j);
    printf("Product = %d\n", i * j);
    printf("Div = %f\n", (double)i / j);
    printf("Rem = %d\n", i % j);
    return 0;
}

4、以下程序用于显示两个浮点数的平均值。这段代码有错误吗?#include int main(void) { double i = 12, j = 5, avg; avg = i+j/2; printf(“Avg = %.2f\n”, avg); return 0; }

  • 有。
  • 代码中计算平均值的公式有误,正确的平均值计算应为 (i + j) / 2
  • 原代码 avg = i + j / 2 先计算 j / 2 再与 i 相加,并非两数平均值。

5、编写一个程序,将一个两位正整数赋值给一个整型变量,并显示其各位数字之和。例如,如果赋值为 35,程序应显示 8。

#include <stdio.h>

int main(void) {
    int i, j, k;
    i = 35;
    j = i / 10;
    k = i - (10 * j);
    printf("Sum = %d\n", j + k);
    return 0;
}

注释 i/10 计算 i 的十位数字。可以省略 j k 的声明,直接写:

c printf("Sum = %d\n", i / 10 + (i - (10 * (i / 10))));

6、编写一个程序,声明两个浮点型变量(例如 i、j),为它们赋两个正值(例如 3.45 和 6.78),并交换它们的整数部分(即 i 变为 6.45,j 变为 3.78)。

#include <stdio.h>
int main(void){
    int k;
    float i = 3.45, j = 6.78, tmp;
    tmp = i - (int)i; /* 获取小数部分 */
    k = (int)i; /* 保存整数部分,在改变其值之前 */
    i = (int)j + tmp;
    tmp = j - (int)j;
    j = k + tmp;
    printf("%f %f\n", i, j);
    return 0;
}

7、编写一个程序,使用一个 printf() 函数显示以下图案:* * * * *

以下是实现该功能的 C 语言程序:

#include <stdio.h>
int main() {
    printf("* * * * *");
    return 0;
}

8、编写一个程序,将一个两位数的正数值赋给一个整数变量,并显示其各位数字之和。例如,如果赋值为 35,程序应显示 8。

#include <stdio.h> 
int main(void) { 
    int i, j, k; 
    i = 35; 
    j = i / 10; 
    k = i - (10 * j); 
    printf("Sum = %d\n", j + k); 
    return 0; 
}

注释: i/10 这一项计算 i 的十位数字。注意,我们可以省略 j k 的声明,直接写成 </

学生社团系统-学生社团“一站式”运营管理平台-学生社团管理系统-基于SSM的学生社团管理系统-springboot学生社团管理系统.zip-Java学生社团管理系统开发实战-源码 更多学生社团系统: SpringBoot+Vue学生社团“一站式”运营管理平台源码(活动管理+成员考核+经费审批) Java学生社团管理系统开发实战:SSM升级SpringBoot(招新报名+场地预约+数据看板) 基于SpringSecurity的社团管理APP(移动端签到+权限分级+消息推送) 企业级社团数字化平台解决方案(SpringBoot+Redis缓存+Elasticsearch活动搜索) 微信小程序社团服务系统开发(活动直播+社团文化墙+成员互动社区) SpringBoot社团核心源码(多角色支持+工作流引擎+API接口开放) AI赋能社团管理:智能匹配兴趣标签+活动热度预测+成员贡献度分析(附代码) 响应式社团管理平台开发(PC/移动端适配+暗黑模式+无障碍访问) 完整学生社团系统源码下载(SpringBoot3+Vue3+MySQL8+Docker部署) 高校垂直领域社团平台:百团大战系统+社团星级评定+跨校活动联盟 适用对象:本代码学习资料适用于计算机、电子信息工程、数学等专业正在做毕设的学生,需要项目实战练习的学习者,也适用于课程设计、期末大作业。 技术栈:前端是vue,后端是springboot,项目代码都经过严格调试,代码没有任何bug! 核心管理:社团注册、成员管理、权限分级 活动运营:活动发布、报名签到、场地预约 资源服务:经费申请、物资管理、文档共享 数据分析:成员活跃度、活动效果评估、社团影响力排名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值