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

目录

前言

二、顺序程序设计

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

2.2基本符号:

2.2.1 字符集

可视字符

不可视字符

2.2.2 C特定符

关键字

分隔符

运算符

2.2.3 标识符

2.2.4 间隔符

2.2.5 注释

2.3 数据

2.3.1 字面常量(Literal Constants)

2.3.2 常量标识符(Constant Identifiers)

2.3.3 变量

2.3.4 代码示例

2.4 语句

2.5 表达式

2.5.1 表达式

2.5.2 表达式语句、赋值

2.5.3 代码示例

2.6 顺序控制结构

2.7 数据类型

2.7.1 数据类型

2.7.2 浮点类型

2.7.3 整数字符类型

2.7.4 混合运算类型转换

2.7.5 代码示例

2.8 输入/输出

2.8.1 I/O

2.8.2 字符IO

2.8.3 格式输入

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语言编写的一个简单程序,用于求解绿化带的宽度:

#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关键字将一个变量声明为常量,例如:

const int MAX_VALUE = 100;

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

2.3.3 变量

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

2.3.4 代码示例

#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 代码示例

#include <stdio.h>int main() {int a = 5, b = 3;int result;result = a + b;  // 赋值语句,将a + b的结果赋给resultprintf("a + b = %d\n", result);result = a - b;  // 赋值语句,将a - b的结果赋给resultprintf("a - b = %d\n", result);result = a * b;  // 赋值语句,将a * b的结果赋给resultprintf("a * b = %d\n", result);result = a / b;  // 赋值语句,将a / b的结果赋给resultprintf("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 代码示例

#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操作。

#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函数进行格式输出。

#include <stdio.h>int main() {int age;float height;printf("请输入您的年龄和身高(用空格分隔):");scanf("%d %f", &age, &height);printf("您的年龄是:%d 岁,身高是:%.2f 米\n", age, height);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/94351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

扫雷小游戏(简单详细)(内附完整代码)

设计总体思路 实现游戏可以一直玩&#xff0c;先打印棋盘&#xff0c;玩家和电脑下棋&#xff0c;最后分出胜负。 如果编写较大的程序&#xff0c;我们可以分不同模块 例如这个扫雷&#xff0c;我们可以创建三个文件 分别为&#xff1a; game.h 函数的声明game.c 函数的…

MySQL数据库基础回顾与复习

MySQL数据库 一、原理定义概念 定义 数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库 数据库是长期储存在计算机内、有组织的、可共享的数据集合 分类&#xff1a; &#xff08;1&#xff09;非结构化数据&#xff1a; 数据相对来讲没…

微软输入法如何打勾和箭头的符号

文章目录 一、打 “√” 符号二、打 “←” 和 “→” 符号 一、打 “√” 符号 选中 “表情包” 图标 选中 “Ω” 符号后&#xff0c;下拉找到 “√” 即可。 微软输入法打 “ ”这个符号直接输入拼音“cha”就行。 二、打 “←” 和 “→” 符号 拼音直接打 “zuo” 或 “…

苹果ios系统IPA包企业签名手机下载应用可以有几种方式可以下载到手机?

一、App Store签名&#xff1a;这是最常见和推荐的苹果签名方式。用户可以通过苹果的官方应用商店App Store下载并安装经过苹果审核的应用程序。这种签名方式确保了应用程序的安全性和可靠性&#xff0c;因为App Store对应用进行了严格的审核和验证。 二、企业签名&#xff1a;…

【Kafka专题】Kafka集群架构设计原理详解

目录 前言前置知识课程内容一、Kafka的Zookeeper元数据梳理1.1 zookeeper整体数据1.2 Controller Broker选举机制1.3 Leader Partition选举机制1.4 Leader Partition自动平衡机制*1.5 Partition故障恢复机制1.6 HW一致性保障-Epoch更新机制1.7 总结 学习总结感谢 前言 Kafka的…

【VUE复习·9】v-for 基础用法(循环渲染也叫列表渲染)

总览 1.v-for 都能循环什么 2.用法 一、v-for 都能遍历什么 能循环的东西包括&#xff1a;数组、对象、字符串&#xff08;和java里面的3个引用数据类型一样&#xff09;、纯粹循环数量&#xff08;少用&#xff09; 二、用法 1.用法1&#xff1a;简单循环&#xff08;遍历…

扩散模型diffusion model 代码解读

代码来自这里 使用pytorch轻松实现简单扩散模型diffusion model&#xff08;附可跑通全部代码&#xff09; - 知乎 1.作者首先自己定义了一个数据集&#xff0c;也就是一堆散点&#xff0c;组成的S。 2.这些都是预先设置好的参数&#xff0c;也就是利用这些来做learning的提示…

【OLSR路由协议】链路状态路由(OLSR)协议中选择多点中继节点算法研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器

星光下的赶路人star的个人主页 内心的平静始于不再让他人掌控你的感情 文章目录 0、前言1、窗口&#xff08;Window&#xff09;1.1 窗口的概念1.2 窗口的分类1.3 窗口API概览1.4 窗口分配器&#xff08;Window Assigner&#xff09;1.4.1 时间窗口1.4.2 计数窗口 1.5 窗口函数…

【Linux基础】Linux云服务器(腾讯云、阿里云、华为云)环境部署 | 安装远程XShell | 基本账号管理(超详细教程)

&#x1f449; 系列专栏&#xff1a;【LLinux基础】 &#x1f648; 个人主页&#xff1a;sunnyll 目录 一、前言 二、 Linux环境安装 &#x1f4a6; Linux 环境的搭建方式 &#x1f4a6;如何购买云服务器 三、 安装远程控制XShell &#x1f4a6;下载 XShell &#x1f4…

[linux] SFTP文件传输基本命令 --- xshell 直接上传文件

2.sftp - 上传文件&#xff1a;如果上传/下载的是文件夹, 在put/get命令后加上-r参数即可。 上传文件&#xff1a; 把本地服务器的/www/wwwroot目录下面的study.log文件上传到远程服务器的/www/server目录下。 sftp> lcd /www/wwwroot sftp> put study.log /www/server…

c++中的动态内存管理

目录 1.内存分布 2.c语言动态内存管理 3.c动态内存管理 4.operator new 与operator delete 函数 5.定位new 6.malloc/free 与 new/delete 的区别 1.内存分布 首先我们需要了解一下数据在内存中的分布&#xff0c;请看以下代码&#xff1a; int globalVar 1; static in…

SNAP与Sen2Cor下载与安装

SNAP软件下载与安装 一、下载地址 首先进入网站 找到DOWNLOAD下载页&#xff0c; 安装完成后&#xff0c;界面如下 还需要再装一个Sen2cor下载好之后&#xff0c;解压到用户文件夹下 然后打开L2A_Process.bat文件 打开CMD&#xff0c;输入 cd C:\Users\lenovo\AppData\L…

C++:stl:stack、queue、priority_queue介绍及模拟实现和容量适配器deque介绍

本文主要介绍c中stl的栈、队列和优先级队列并对其模拟实现&#xff0c;对deque进行一定介绍并在栈和队列的模拟实现中使用。 目录 一、stack的介绍和使用 1.stack的介绍 2.stack的使用 3.stack的模拟实现 二、queue的介绍和使用 1.queue的介绍 2.queue的使用 3.queue的…

【Vue3】自定义指令

除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外&#xff0c;Vue 还允许你注册自定义的指令 (Custom Directives)。 1. 生命周期钩子函数 一个自定义指令由一个包含类似组件生命周期钩子的对象来定义。钩子函数会接收到指令所绑定元素作为其参数。 在 <script …

【多线程】进程与线程 并发编程 面试题总结

进程和线程 进程是程序执行时的一个实例&#xff0c;即它是程序已经执行到何种程度的数据结构的汇集。从内核的观点看&#xff0c;进程的目的就是担当分配系统资源&#xff08;CPU时间、内存等&#xff09;的基本单位。线程是进程的一个执行流&#xff0c;是CPU调度和分派的基…

使用docker完成minio服务部署扩容备份迁移生产实践文档

一、minio服务扩容方案 当服务器存储空间不足的时候&#xff0c;需要进行扩容&#xff0c;扩容过程中需要短暂停机时间&#xff0c;预计在一小时内能够完成和恢复 统一注意事项 强烈建议为部署中的所有节点选择基本相似的硬件配置。确保硬件&#xff08;CPU、内存、主板、存…

Excel·VBA日期时间转换提取正则表达式函数

标准日期转换 Function 标准日期(ByVal str$) As DateDim pat$, result$arr Array("(\d{4}).*?(\d{1,2}).*?(\d{1,2})", "(\d{4}).*?(\d{1}).*?(\d{1,2})")If Len(str) < 8 Then pat arr(1) Else pat arr(0)With CreateObject("vbscript.r…

java的内存模型(概念)

在java中&#xff0c;设计之初就有了&#xff1a;主内存、线程工作内存&#xff0c;所以其实每一个线程执行时&#xff0c;都是将主线程copy一份到工作线程&#xff0c;执行修改后&#xff0c;再同步回去。 所以&#xff0c;就有四组内存操作方式&#xff1a; 1、读主内存&…

微信小程序 table表格 固定表头和首列 右侧表格可以左右滚动

(一) 1.左侧一列固定不动 2.右侧表格内容可以左右滚动 3.单元格内容平均分配 4.每一行行高可以由内容撑开 通过 js 设置左侧一列行高与右侧表格内容行高保持一致 1.1 效果图 1.2 tabble.wxml <view classtable><!-- 左侧固定 --><view classtable_left_colum…