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

2023-09-15 20:24:27

在这里插入图片描述

一、固定格式

这个是C程序的基本框架,需要记住!!!

#include<stdio.h>
  int main(){

return 0;
}

二、printf 语句

简单输出一句C程序:

#include<stdio.h>
int main(){

    printf("大家好,");
    printf("我是");
    printf("沐尘而生!");

    return 0;
}

运行结果:
在这里插入图片描述

例 2:

#include<stdio.h>
int main(){

    printf("大家好,\n");
    printf("我是\n");
    printf("沐尘而生!\n");

    return 0;
}

运行结果:

在这里插入图片描述

例 3:使用"\t"

#include<stdio.h>
int main(){

    printf("大家好,");
    printf("我是\t");
    printf("沐尘而生!\n");

    return 0;
}

代码编写:

在这里插入图片描述

运行结果:
在这里插入图片描述

例 4:请编写一个C程序,输出以下信息:

****************
沐尘而生贼溜!
****************
#include<stdio.h>
int main()
{

    printf("***************\n");
    printf("沐尘而生贼溜!\n");
    printf("***************");
    return 0;
}

代码编写:
在这里插入图片描述
运行结果:

在这里插入图片描述

三、int、float、double、char 型数据

C语言中有多种数据类型,用于存储不同类型的数据

int(整数)

int 用于表示整数值。它通常占据4个字节,可以存储从-2,147,483,648到2,147,483,647之间的整数

int age = 25;

float(浮点数)

float 用于表示带有小数点的数值。它通常占据4个字节

float price = 12.99;

double(双精度浮点数)

double 用于表示更高精度的浮点数,通常占据8个字节

double pi = 3.14159265359;

char(字符)

char 用于表示单个字符

char grade = 'A';

综合一:

#include <stdio.h>

int main() {
    int a = 5, b, c, d, e, f; 
    b = a + 2;
    c = b - a; 
    d = a * c; 
    e = 0; 
    f = 0;

    if (d != 0) {
        e = a / d; 
        f = a % d; 
  }

    return 0;
}

四、用 printf 语句输出 int、float、double、char 型数据

要输出不同类型的数据,我们可以使用 printf 函数

输出整数:

int age = 25;
printf("年龄:%d\n", age);

输出浮点数:

float price = 12.99;
printf("价格:%f\n", price);

输出双精度浮点数:

double pi = 3.14159265359;
printf("π的值:%lf\n", pi);

输出字符:

char grade = 'A';
printf("成绩:%c\n", grade);

综合一:

#include <stdio.h> 

int main() {
    int a = 5, b, c, d, e, f; 
    b = a + 2;
    c = b - a; 
    d = a * c; 
    e = a / d; 
    f = a % d; 
    
    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.0; // 注意使用3.0来获得浮点数结果

    printf("平均值:%lf\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("a: %c, b: %c, c: %c\n", a, b, c); // 输出转换后的字符

    return 0;
}

运行结果:

printf 中的格式化字符串(比如 %d%f%lf%c)与要输出的数据类型相对应。

五、用 scanf 语句输入 int、float、double、char 型

要从用户获取输入,我们可以使用 scanf 函数

输入整数:

int age;
printf("请输入年龄:");
scanf("%d", &age);

输入浮点数:

float price;
printf("请输入价格:");
scanf("%f", &price);

输入双精度浮点数:

double pi;
printf("请输入π的值:");
scanf("%lf", &pi);

输入字符:

char grade;
printf("请输入成绩:");
scanf(" %c", &grade);

综合一:

#include <stdio.h>

int main() {
    int a = 5, b, c, d, e, f; 
    b = a + 2;
    c = b - a; 
    d = a * c; 
    e = a / d; 
    f = a % d;

    printf("a=%d, b=%d, c=%d\n", a, b, c); 
    printf("e=%d, f=%d\n", e, f);

    return 0;
}

运行结果:

综合二:求 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语言的多个基本概念。

更多推荐

Python垃圾回收机制详解:引用计数与循环垃圾收集器

文章目录Python垃圾回收机制引用计数机制循环垃圾收集器小结详细讲解及实操1.程序中的垃圾问题2.垃圾的定义3.自动垃圾回收机制4.示例:使用del方法删除垃圾对象5.手动处理垃圾回收6.结束程序7.垃圾回收的自动处理8.结束程序python精品专栏推荐python基础知识(0基础入门)python爬虫知识Pytho

MySQL与ES数据同步的四种方案及实践演示

文章目录一、同步双写优点缺点双写失败风险项目演示二、异步双写(MQ方式)优点缺点项目演示三、基于Datax同步核心组件架构图支持的数据源及操作项目演示四、基于Binlog实时同步实现原理优点缺点项目演示一、同步双写也就是同步调用,这是一种最为简单的方式,在将数据写到mysql时,同时将数据写到ES。优点1.业务逻辑简单

14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到5月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,这下搞的饭都吃不起了。还在有个朋友内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给问死了:如果模块请求http改为了h

每日练习-7

目录一、选择题二、算法题1、两种排序方法2、求最小公倍数一、选择题1、解析:指针和引用是C++中两种不同的变量类型,它们都可以用来访问或修改其他变量的值,但是它们有以下几个区别:引用必须在定义时初始化,而指针可以在任何时候初始化。例如,int&r=a;是合法的,但是int&r;是不合法的。而int*p;和int*p=&

02_elasticsearch 核心概念

02_elasticsearch核心概念1、lucene和elasticsearch的前世今生2、elasticsearch的核心概念1、lucene和elasticsearch的前世今生1、lucene和elasticsearch的前世今生lucene:最先进、功能最强大的搜索库。但是直接基于lucene开发,非常复

【Vue】模板语法,插值、指令、过滤器、计算属性及监听属性(内含面试题及毕设等实用案例)上篇

一、引言1、什么是模板语法?Vue的模板语法是一种用于在HTML中声明式地渲染Vue组件的语法。它基于HTML,并通过特定的模板语法扩展了HTML。Vue使用了一种称为“Mustache”语法的模板插值来绑定数据到HTML元素上。在Vue的模板语法中,你可以使用双大括号({{}})将数据绑定到HTML元素上,这样数据的

隔山打牛:金融大崩溃

当2004-2006年美联储主席格林斯潘在任期的末尾一鼓作气把联邦利率从1%拉高到5%,然后把美联储主席的位子交给继任者伯南克的时候,没有人意识到接下来将要发生何等巨变。图:美国联邦利率伯南克把利率稳定在5.3%附近的高位一年左右时间,直到2007年年中。美股从2003年底开始的牛市,一直狂飙到2007年底。标普500

【数据仓库设计基础1】关系数据模型理论与数据仓库Inmon方法论

文章目录一.关系数据模型中的结构1.关系2.属性3.属性域4.元组5.关系数据库6.关系表的属性7.关系数据模型中的键二.关系完整性1.空值(NULL)2.关系完整性规则3.业务规则4.关系数据库语言三.规范化四.关系数据模型与数据仓库关系模型被广泛应用于数据处理和数据存储,尤其是在数据库领域,现在主流的数据库管理系统

HTML5的新特性有哪些?

HTML5是近年来Web开发标准最巨大的飞跃。与以前的版本不同,HTML5并非仅仅用来表示Web内容,它的新使命是将Web带入一个成熟的应用平台,在HTML5平台上,视频、音频、图像、动画,以及同计算机的交互都被标准化。HTML5在以前浏览器发展的基础上对标记进行了简化。另外,HTML5中对标记从语法上也进行了分类。(

nextTick 解析

🎬岸边的风:个人主页🔥个人专栏:《VUE》《javaScript》⛺️生活的理想,就是为了理想的生活!目录JS执行机制#运行机制nextTickqueueJobandqueuePostFlushCbqueueFlushflushJobs为什么要nextTick总结看完是不是有一堆问号?我们从中找出来产生问号的关键词

详细解释HiveSQL执行计划

一、前言HiveSQL的执行计划描述SQL实际执行的整体轮廓,通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑,掌握了执行逻辑也就能更好地把握程序出现的瓶颈点,从而能够实现更有针对性的优化。此外还能帮助开发者识别看似等价的SQL其实是不等价的,看似不等价的SQL其实是等价的SQL。可以说执行计划是打开SQL优

热文推荐