【重拾C语言】二、顺序程序设计(基本符号、数据、语句、表达式、顺序控制结构、数据类型、输入/输出操作)

目录

前言

二、顺序程序设计

[2.1 求绿化带面积------简单程序](#2.1 求绿化带面积——简单程序)

2.2基本符号:

[2.2.1 字符集](#2.2.1 字符集)

可视字符

不可视字符

[2.2.2 C特定符](#2.2.2 C特定符)

关键字

分隔符

运算符

[2.2.3 标识符](#2.2.3 标识符)

[2.2.4 间隔符](#2.2.4 间隔符)

[2.2.5 注释](#2.2.5 注释)

[2.3 数据](#2.3 数据)

[2.3.1 字面常量(Literal Constants)](#2.3.1 字面常量(Literal Constants))

[2.3.2 常量标识符(Constant Identifiers)](#2.3.2 常量标识符(Constant Identifiers))

[2.3.3 变量](#2.3.3 变量)

[2.3.4 代码示例](#2.3.4 代码示例)

[2.4 语句](#2.4 语句)

[2.5 表达式](#2.5 表达式)

[2.5.1 表达式](#2.5.1 表达式)

[2.5.2 表达式语句、赋值](#2.5.2 表达式语句、赋值)

[2.5.3 代码示例](#2.5.3 代码示例)

[2.6 顺序控制结构](#2.6 顺序控制结构)

[2.7 数据类型](#2.7 数据类型)

[2.7.1 数据类型](#2.7.1 数据类型)

[2.7.2 浮点类型](#2.7.2 浮点类型)

[2.7.3 整数字符类型](#2.7.3 整数字符类型)

[2.7.4 混合运算类型转换](#2.7.4 混合运算类型转换)

[2.7.5 代码示例](#2.7.5 代码示例)

[2.8 输入/输出](#2.8 输入/输出)

[2.8.1 I/O](#2.8.1 I/O)

[2.8.2 字符IO](#2.8.2 字符IO)

[2.8.3 格式输入](#2.8.3 格式输入)

[2.8.4 格式输出](#2.8.4 格式输出)


前言

ChatGPT

C语言是一种通用的、过程式的计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代初开发。它被设计成一种简单、高效和可移植的语言,用于系统级编程和应用程序开发。

以下是C语言的一些主要特点:

  1. 结构化编程:C语言支持结构化编程,它提供了顺序执行、条件语句(如if-else和switch)和循环结构(如for和while),使程序更易于阅读、理解和维护。

  2. 中级语言:C语言同时具备高级语言和低级语言的特点。它提供了丰富的控制结构和操作符,可以直接访问内存和硬件,并且允许程序员进行底层的操作,如位操作和指针运算。

  3. 可移植性:C语言编写的程序具有很高的可移植性,因为它的语法和特性在不同的计算机系统上基本保持一致。这使得程序可以在不同的平台上进行编译和执行,而无需对代码进行太多的修改。

  4. 强大的标准库:C语言提供了一个丰富的标准库,其中包含了各种函数和工具,用于处理输入输出、字符串操作、内存管理、数学运算等。这些函数可以提高程序开发的效率,并且可以跨平台使用。

  5. 面向系统编程:由于C语言具有直接访问内存和硬件的能力,它经常用于开发操作系统、嵌入式系统和驱动程序等底层软件。C语言还提供了位操作和指针等特性,使得程序员可以更好地控制系统资源。

  6. 扩展性:C语言允许程序员编写自定义的函数和库,以扩展语言的功能。这使得C语言非常适合大型项目的开发,可以将代码组织成模块化的结构,并通过函数调用进行复用。

尽管C语言相对较为底层,但它仍然是一种非常重要和广泛应用的编程语言。它为程序员提供了强大的控制能力和性能优势,并且在各种领域,如系统编程、嵌入式开发、游戏开发等方面都得到了广泛应用。许多现代编程语言,如C++、Java和Python,都受到了C语言的影响,并在其基础上进行了扩展和改进。

二、顺序程序设计

2.1 求绿化带面积------简单程序

下面是使用C语言编写的一个简单程序,用于求解绿化带的宽度:

cpp 复制代码
#include <stdio.h>

int main() {
    float length, width, area;

    printf("请输入绿化带的长度(单位:米):");
    scanf("%f", &length);

    printf("请输入绿化带的宽度(单位:米):");
    scanf("%f", &width);

    area = length * width;
    printf("绿化带的面积为: %.2f 平方米\n", area);

    return 0;
}

这个程序首先使用printf函数输出提示信息,然后使用scanf函数从用户输入中读取绿化带的长度和宽度,并将其存储在相应的变量中。接下来,通过将长度和宽度相乘计算绿化带的面积,并将结果存储在area变量中。最后,使用printf函数将绿化带的面积输出到屏幕上。

2.2基本符号:

在C语言中,有一些基本符号用于表示不同的含义,包括字符集、特定符、标识符、间隔符和注释。

2.2.1 字符集

C语言使用ASCII字符集作为基本字符集,其中包含了大写和小写字母、数字、标点符号和特殊字符等。

可视字符

是可以在屏幕上显示或打印出来的字符,包括以下类型:

  • 字母字符:包括小写字母a~z和大写字母A~Z。
  • 数字字符:包括0~9的数字。
  • 特殊字符:包括一些常见的特殊符号,如#、+、-、*、/、{}等。
不可视字符

是无法直接显示或打印的字符,它们通常用于控制文本的格式、布局和传输。不可视字符包括以下类型:

  • 文本控制符:用于控制文本的格式和布局,如换行符('\n')、制表符('\t')等。
  • 介质控制符:用于控制数据传输和通信的字符,如起始符(SOH)、结束符(EOT)等。
  • 特殊的控制字符:如空格符、回车符、退格符等。

需要注意的是,ASCII字符集只定义了128个字符,无法表示其他语言(如中文、日文、韩文)的字符。为了表示更多字符,后来出现了扩展的字符编码标准,如Unicode和UTF-8,它们可以表示全球范围内的各种字符。

2.2.2 C特定符

C语言中的特定符号可以分为三类:关键字、分隔符和运算符。

关键字

具有特殊含义和作用的固定拼写的单词,它们在编程语言中有特殊的独立功能。例如,在C语言中,关键字包括ifelsewhilefor等等。

分隔符

由一个字符组成的特殊符号,用于标记程序中的不同部分或语句的开始和结束。

( ) [ ] { } , ' " ; : \

运算符

由一个或多个字符组成的特殊符号,用于执行各种操作,如数学运算、逻辑运算、赋值等。C语言中的运算符包括算术运算符(如+-*/)、关系运算符(如<>==)、逻辑运算符(如&&||)等。

2.2.3 标识符

在C语言中,标识符是用来表示变量、函数、类型等命名的符号。标识符必须以字母或下划线开头,可以包含字母、数字和下划线。标识符是区分大小写的

2.2.4 间隔符

  • 在C语言中,空格 、行结束符、水平制表符、垂直制表符、换页符被称为间隔符
    • 用于分隔不同的符号和语句;
    • 任何由标识符、保留字、字面常量组成的两个相邻词法单位之间至少应有一个间隔符;
    • 多个间隔符一起连用相当于一个;
    • 任何词法单位之内不允许有间隔符,错误示例:
      • 317 写成 3 1 7
      • <= 写成 < =

2.2.5 注释

在C语言中,注释用于对代码进行说明和解释,编译器会忽略注释部分的内容。C语言支持两种注释形式:

  • 单行注释:使用//开头,从//到行末的内容都被视为注释。
  • 多行注释:使用/*开头,以*/结尾,之间的内容都被视为注释。

2.3 数据

在C语言中,数据可以分为字面常量、常量标识符和变量。

2.3.1 字面常量(Literal Constants)

字面常量是指直接出现在代码中的固定值,不会改变。例如,整数常量(如123)、浮点数常量(如3.14)、字符常量(如'a')和字符串常量(如"Hello, World!")都属于字面常量。字面常量在代码中直接使用,不需要赋值给变量。

2.3.2 常量标识符(Constant Identifiers)

常量标识符是用来表示具有固定值的符号,一旦定义后其值不能被修改 。在C语言中,可以使用const关键字将一个变量声明为常量,例如:

cpp 复制代码
const int MAX_VALUE = 100;

常量标识符的值在声明时被初始化,并且不能在后续的代码中修改。

2.3.3 变量

变量是用来存储和表示数据的符号,其类型可以根据需要进行声明和定义。变量可以在程序执行过程中被修改和赋值。

2.3.4 代码示例

cpp 复制代码
#include <stdio.h>

int main() {
    // 字面常量
    int num1 = 10; // 整数字面常量
    float num2 = 3.14; // 浮点数字面常量
    char letter = 'A'; // 字符字面常量
    char string[] = "Hello, World!"; // 字符串字面常量

    // 常量标识符
    const int MAX_VALUE = 100; // 常量标识符

    // 变量
    int num3;
    num3 = 20; 

    printf("num1: %d\n", num1);
    printf("num2: %.2f\n", num2);
    printf("letter: %c\n", letter);
    printf("string: %s\n", string);
    printf("MAX_VALUE: %d\n", MAX_VALUE);
    printf("num3: %d\n", num3);

    return 0;
}

输出:

2.4 语句

在C语言中,语句是用来执行特定操作的指令或命令。常见的语句包括赋值语句、条件语句、循环语句等。每个语句以分号(;)结尾。

2.5 表达式

表达式是由操作数和运算符组成的序列,用于执行特定的计算或操作。

2.5.1 表达式

表达式是由变量、常量和运算符组成的组合。例如,a + b5 * x3.14 / y都是表达式。

2.5.2 表达式语句、赋值

表达式语句是指将一个表达式作为整个语句的一部分。赋值语句是一种特殊的表达式语句,用于将一个值赋给一个变量。

2.5.3 代码示例

cpp 复制代码
#include <stdio.h>

int main() {
    int a = 5, b = 3;
    int result;

    result = a + b;  // 赋值语句,将a + b的结果赋给result
    printf("a + b = %d\n", result);

    result = a - b;  // 赋值语句,将a - b的结果赋给result
    printf("a - b = %d\n", result);

    result = a * b;  // 赋值语句,将a * b的结果赋给result
    printf("a * b = %d\n", result);

    result = a / b;  // 赋值语句,将a / b的结果赋给result
    printf("a / b = %d\n", result);

    return 0;
}

2.6 顺序控制结构

顺序控制结构是一种程序控制结构,按照代码的书写顺序依次执行各个语句。顺序控制结构没有条件判断或循环,是最简单的控制结构。上述代码即为一个简单的顺序控制结构。

2.7 数据类型

2.7.1 数据类型

数据类型是用来表示变量或表达式的类型。常见的数据类型包括:

  • int:整数类型
  • float:浮点数类型
  • char:字符类型
  • double:双精度浮点数类型
  • void:空类型

2.7.2 浮点类型

用于表示带有小数部分的数值。在C语言中,可以使用floatdouble两种浮点类型。

2.7.3 整数字符类型

用于表示整数和字符数据。在C语言中,可以使用intchar两种整数字符类型。

2.7.4 混合运算类型转换

在C语言中,不同类型的数据进行混合运算时,会根据一定的规则进行类型转换。例如,整数和浮点数进行运算时,整数会自动转换为浮点数。

2.7.5 代码示例

cpp 复制代码
#include <stdio.h>

int main() {
    int num1 = 10;
    float num2 = 3.14;
    char ch = 'A';
    double result;

    result = num1 + num2;  // 整数和浮点数进行混合运算,整数自动转换为浮点数
    printf("整数和浮点数相加的结果:%.2f\n", result);

    result = num1 + ch;  // 整数和字符进行混合运算,字符自动转换为整数
    printf("整数和字符相加的结果:%d\n", result);

    return 0;
}

2.8 输入/输出

输入/输出是指程序与用户或外部设备之间进行数据交换的过程。

2.8.1 I/O

I/O是指输入(Input)和输出(Output)操作,用于从外部设备读取数据或将数据输出到外部设备

2.8.2 字符IO

字符IO是指以字符为单位进行输入和输出的操作。在C语言中,可以使用getcharputchar函数进行字符IO操作。

cpp 复制代码
#include <stdio.h>

int main() {
    char ch;

    printf("请输入一个字符:");
    ch = getchar();

    printf("您输入的字符是:");
    putchar(ch);

    return 0;
}

2.8.3 格式输入

格式输入是指按照特定的格式从输入源(如键盘)读取数据。在C语言中,可以使用scanf函数进行格式输入。

2.8.4 格式输出

格式输出是指按照特定的格式将数据输出到输出目标(如屏幕或文件)。在C语言中,可以使用printf函数进行格式输出。

cpp 复制代码
#include <stdio.h>

int main() {
    int age;
    float height;

    printf("请输入您的年龄和身高(用空格分隔):");
    scanf("%d %f", &age, &height);

    printf("您的年龄是:%d 岁,身高是:%.2f 米\n", age, height);

    return 0;
}
相关推荐
萧鼎34 分钟前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸35 分钟前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农36 分钟前
Python 继承、多态、封装、抽象
开发语言·python
^velpro^37 分钟前
数据库连接池的创建
java·开发语言·数据库
秋の花1 小时前
【JAVA基础】Java集合基础
java·开发语言·windows
小松学前端1 小时前
第六章 7.0 LinkList
java·开发语言·网络
可峰科技1 小时前
斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)
开发语言·qt
全栈开发圈1 小时前
新书速览|Java网络爬虫精解与实践
java·开发语言·爬虫
面试鸭1 小时前
离谱!买个人信息买到网安公司头上???
java·开发语言·职场和发展
小白学大数据1 小时前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫