七天学会C语言-第一天(C语言基本语句)(二)

简介: 七天学会C语言-第一天(C语言基本语句)(二)

综合二:求 123 与 456 的和

#include <stdio.h>
int main() {
    int a, b, sum; 
    a = 123; 
    b = 456;
    sum = a + b; 
    printf("和是%d\n", sum); 
    return 0;
}
运行结果:

综合三:

#include <stdio.h>
int main() {
    double a, b, c, s; 
    a = 3.67; 
    b = 5.43; 
    c = 6.21;
    s = (a + b + c) / 3;
    printf("设定的 a 是%f,b 是%f,c 是%f\n", a, b, c); 
    printf("求得的 s 是%f\n", s); 
    return 0;
}
运行结果:

综合四:

#include <stdio.h>
int main() {
    char a = 'B', b = 'O', c = 'Y'; 
    a = a + 32;
    b = b + 32; 
    c = c + 32;
    printf("小写字母依次是%c%c%c\n", a, b, c); 
    return 0;
}
运行结果:

六、putchar()语句、getchar()语句

putchar() 和 getchar() 是用于字符输入输出的函数。它们可以用于处理单个字符。

输出字符:

char letter = 'A';
putchar(letter); // 输出字符 'A'

输入字符:

char inputChar;
printf("请输入一个字符:");
inputChar = getchar(); // 从用户获取一个字符
putchar(inputChar); // 输出用户输入的字符

综合一:输入一个大写字母,可以输出一个小写字母。

#include <stdio.h>
int main() {
    char a, b;
    printf("请输入大写字母:\n"); 
    scanf("%c", &a);
    b = a + 32;
    printf("%c 的小写字母是 %c\n", a, b); 
    return 0;
}
运行结果:

七、𝐞^𝐱、log 等数学运算

C语言提供了丰富的数学函数库,可以进行各种数学运算,例如指数运算和对数运算

#include <math.h>
double base = 2.0;
double exponent = 3.0;
double result = pow(base, exponent); // 计算 2^3
printf("2的3次方:%lf\n", result);
double x = 10.0;
double logarithm = log(x); // 计算自然对数
printf("自然对数:%lf\n", logarithm);

综合一:给出三角形三边 a、b、c 的长,利用公式area=√𝐬(𝐬 − 𝐚)(𝐬 − 𝐛)(𝐬 − 𝐜),求该三角形的面积 area(公式中的 s= 𝐚+𝐛+𝐜 )

#include <stdio.h>
#include <math.h>
int main() {
    double a, b, c, s, area;
    printf("请输入三角形的三边长(以逗号分隔):\n");
    scanf("%lf,%lf,%lf", &a, &b, &c);
    s = (a + b + c) / 2;
    area = sqrt(s * (s - a) * (s - b) * (s - c));
    printf("a=%f\tb=%f\tc=%f\n", a, b, c);
    printf("面积=%f\n", area);
    return 0;
}
运行结果(以3,4,5为例):

综合二:假如沐尘而生的同事小翟的年薪增长率为−10%,请利用公式p=(𝟏 + 𝐫)𝐧 计算 10 年后他的年薪与今年相比增长了多少。(公式中的 r 为年增长率,n 为年数,p 为与今年相比的倍数)

#include <stdio.h>
#include <math.h>
int main() {
    double r, n, p;
    r = -0.1;
    n = 10;
    p = pow(1 + r, n);
    printf("p=%f\n", p);
    return 0;
}
运行结果:

八、三个例子:

1. 使用 %m.nf 格式控制符

  • %m.nf 是一种格式控制符,用于格式化输出浮点数。
  • m 表示最小字段宽度,即输出的数字占用的最少字符数。
  • n 表示小数部分的位数。
  • f 表示浮点数类型。

示例代码:

#include <stdio.h> 
int main() {
    double a, b, c;
    a = 3.67; 
    b = 5.43; 
    c = 6.21;
    printf("设定的 a 是%5.2f,b 是%-5.2f,c 是%7.4f\n", a, b, c);
    return 0;
}

运行结果:

设定的 a 是 3.67,b 是5.43,c 是 6.2100

2. 使用 %e 格式控制符

  • %e 是一种格式控制符,用于输出科学计数法表示的浮点数。
  • 它将一个浮点数以 x.xxxe±xx 的形式输出,其中 x 是数字,±xx 表示指数部分。

示例代码:

#include <stdio.h>
int main() {
    printf("小翟的身高是%10.2e 厘米\n", 183.456);
    return 0;
}

运行结果:

小翟的身高是  1.83e+02 厘米

3. 强制类型转换 (int)(表达式)

  • (int)(表达式) 是一种类型转换操作,它将表达式的结果强制转换为整数类型,并抹去小数部分。
  • 这通常用于将浮点数转换为整数,得到整数的部分。

示例代码:

#include <stdio.h>
int main() {
    double a;
    int ge, shi, bai;
    printf("请输入数字\n");
    scanf("%lf", &a);
    bai = (int)(a / 100);
    shi = (int)((a - bai * 100) / 10);
    ge = (int)(a - bai * 100 - shi * 10);
    printf("个位数字%d\n", ge);
    printf("十位数字%d\n", shi);
    printf("百位数字%d\n", bai);
    return 0;
}

运行结果(假设输入为123.456):

请输入数字
个位数字6
十位数字5
百位数字1

九、综合模块

请编写一个C程序,要求用户输入一个三角形的三边长(a、b、c),然后计算并输出以下内容:

1. 三角形的周长。
2. 三角形的面积(使用海伦公式)。
3. 三角形的类型(等边、等腰、或普通三角形)。

注意:

  • 请使用 %lf 作为 scanf 中读取浮点数的格式说明符。
  • 使用 %f 作为 printf 中打印浮点数的格式说明符。
  • 使用 pow 函数计算幂次。
  • 要考虑输入的边长是否满足构成三角形的条件。

代码演示:

#include <stdio.h>
#include <math.h>
int main() {
    double a, b, c;
    printf("请输入三角形的三边长 a, b, c(以空格分隔):\n");
    scanf("%lf %lf %lf", &a, &b, &c);
    // 判断输入是否构成三角形
    if (a + b > c && a + c > b && b + c > a) {
        // 计算三角形的周长
        double perimeter = a + b + c;
        printf("三角形的周长为:%f\n", perimeter);
        // 计算三角形的半周长
        double s = perimeter / 2;
        // 计算三角形的面积(使用海伦公式)
        double area = sqrt(s * (s - a) * (s - b) * (s - c));
        printf("三角形的面积为:%f\n", area);
        // 判断三角形的类型
        if (a == b && b == c) {
            printf("这是一个等边三角形。\n");
        } else if (a == b || a == c || b == c) {
            printf("这是一个等腰三角形。\n");
        } else {
            printf("这是一个普通三角形。\n");
        }
    } else {
        printf("输入的边长无法构成一个三角形。\n");
    }
    return 0;
}

运行结果(以输入2,2,4为例):

总结讲解:

  1. 用户被提示输入三角形的三边长(a、b、c)。
  2. 程序检查输入的边长是否满足构成三角形的条件。如果不满足条件,程序将输出错误消息并退出。
  3. 如果边长满足条件,程序计算三角形的周长并输出。
  4. 然后,程序计算三角形的半周长以用于后续的面积计算。
  5. 使用海伦公式,程序计算并输出三角形的面积。
  6. 最后,程序根据边长的相等性来判断三角形的类型,并输出相应的消息。

这个程序结合了输入、条件判断、数学计算和输出,是一个综合性的示例,涵盖了C语言的多个基本概念。

相关文章
|
8月前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
569 3
|
8月前
|
人工智能 边缘计算 自然语言处理
Google 发布其开源模型系列最新模型 Gemma 3
Google 发布了其开源模型系列的最新成员 Gemma 3,这是一款轻量级、高性能的 AI 模型,支持多语言和复杂任务。它具备 140+ 语言支持、128K-token 上下文窗口、增强的多模态分析能力以及函数调用功能,适用于聊天 AI、代码生成等多种场景。Gemma 3 在性能上超越 Llama 3-8B 和 Mistral 7B,且仅需单 GPU 即可运行,大幅降低计算成本。提供 1B 至 27B 不同参数规模版本,满足多样化需求,并优化了量化模型以适应边缘计算和移动设备。其多模态设计整合了 SigLIP 图像编码器,扩展上下文窗口至 128k token,显著提升了视觉和文本理解能力。
557 3
Google 发布其开源模型系列最新模型 Gemma 3
|
10月前
|
人工智能 运维 监控
AI辅助的运维流程自动化:实现智能化管理的新篇章
AI辅助的运维流程自动化:实现智能化管理的新篇章
1530 22
|
人工智能 PyTorch 算法框架/工具
AI计算机视觉笔记十四:YOLOV5环境搭建及测试全过程
本文详细记录了在Windows 10环境下从零开始搭建yolov5环境并进行测试的全过程,涵盖环境配置、依赖安装及模型测试等关键步骤。文章首先介绍了所需环境(Python 3.8、yolov5-5.0),接着详细说明了如何使用Miniconda3创建与激活虚拟环境,并通过具体命令演示了如何下载安装yolov5及相关依赖库。最后,通过一系列命令展示了如何下载预训练模型并对示例图像进行目标检测,同时解决了一些常见错误。适合初学者跟随实践。如需转载,请注明原文出处。
1156 0
|
机器学习/深度学习 自然语言处理 算法
Adam优化算法和应用场景
Adam(Adaptive Moment Estimation)是一种用于训练深度学习模型的优化算法
800 2
|
算法 数据安全/隐私保护 云计算
保护数据隐私:CP-ABE算法的应用与原理
保护数据隐私:CP-ABE算法的应用与原理
1276 5
保护数据隐私:CP-ABE算法的应用与原理
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的宠物医院预约挂号系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的宠物医院预约挂号系统的详细设计和实现(源码+lw+部署文档+讲解等)
214 1
|
存储 缓存 前端开发
基于B/S架构的实验室管理系统(云LIS平台源代码)
云LIS系统集成了样本管理、检测项目管理、质控管理、报告管理、数据分析、两癌筛查等多个方面的功能,为实验室提供了一站式的信息化解决方案。系统采用.Net Core新的技术框架、DEV报表、前端js封装、分布式文件存储、分布式缓存等技术,支持LIS独立部署、Docker部署等多种方式,方便用户根据自身需求进行定制和扩展。
687 1
基于B/S架构的实验室管理系统(云LIS平台源代码)
|
SQL 数据可视化 大数据
【开源项目推荐】Apache Superset——最优秀的开源数据可视化与数据探索平台
【开源项目推荐】Apache Superset——最优秀的开源数据可视化与数据探索平台
819 33
|
人工智能 JavaScript 中间件
【利用AI让知识体系化】入门Egg框架(含实战)(一)
【利用AI让知识体系化】入门Egg框架(含实战)