C语言常用语法提要

        为读者查阅方便,下面列出C语言语法中常用的一些部分的提要。为便于理解没有采用严格的语法定义形式,只是备忘性质,供参考。

1.标识符

        可由字母、数字和下划线组成。标识符必须以字母或下划线开头。大、小写的字母分别认为是两个不同的字符。不同的系统对标识符的字符数有不同的规定,一般允许7个字符。

  1. 常量

可以使用:

  1. 整型常量

十进制常数。

八进制常数(以0开头的数字序列)。

十六进制常数(以0x开头的数字序列)

长整型常数(在数字后加字符L或1)。

  1. 字符常量

用单撇号括起来的一个字符,可以使用转义字符。

  1. 实型常量(浮点型常量)

小数形式。

指数形式。

(4)字符串常量

用双撇号括起来的字符序列。

3.表达式

(1)算术表达式

整型表达式:参加运算的运算量是整型量,结果也是整型数。

实型表达式:参加运算的运算量是实型量,运算过程中先转换成double型,结果为 double 型.

(2)逻辑表达式

用逻辑运算符连接的整型量,结果为一个整数(0或1)。逻辑表达式可以认为是整型表达式的一种特殊形式。

(3)字位表达式

用位运算符连接的整型量,结果为整数。字位表达式也可以认为是整型表达式的一种特殊形式。

(4)强制类型转换表达式

用“(类型)”运算符使表达式的类型进行强制转换。如(float)a。

(5)逗号表达式(顺序表达式)

形式为

表达式1,表达式2…表达式n

顺序求出表达式1,表达式 2……表达式n的值。结果为表达式n的值。

(6)赋值表达式

将赋值号“=”右侧表达式的值赋给赋值号左边的变量。赋值表达式的值为执行赋值后被赋值的变量的值。

(7)条件表达式形式为

逻辑表达式?表达式1:表达式2

逻辑表达式的值若为非零,则条件表达式的值等于表达式1的值;若逻辑表达式的值为零,则条件表达式的值等于表达式2的值。

(8)指针表达式

对指针类型的数据进行运算。例如,p一2,p1-p2等(其中p、pl、p2均已定义为指向数组的指针变量,pl与p2指向同一数组中的元素),结果为指针类型。

以上各种表达式可以包含有关的运算符,也可以是不包含任何运算符的初等量(例如,常数是算术表达式的最简单的形式)。

4.数据定义

对程序中用到的所有变量都需要进行定义。对数据要定义其数据类型,需要时要指定其存储类别。

  1. 类型标识符可用

int

short

long

unsigned

char

float

double

Struct 结构体名

union 共用体名

enum 枚举类型名

用typedef定义的类型名

结构体与共用体的定义形式为

struct 结构体名

{成员表列}:

union 共用体名

{成员表列}:

用typedef定义新类型名的形式为

typedef 已有类型 新定义类型;

如:

typedef int COUNT:

(2)存储类别可用

auto

static

Register

extern

(如不指定存储类别,作auto处理)

变量的定义形式为

存储类别 数据类型变量表列;

例如:

static float a,b.c:

注意外部数据定义只能用extern或static,而不能用auto 或register。

  1. 函数定义

形式为

存储类别 数据类型函数名(形参表列)

函数体

函数的存储类别只能用extern 或static。函数体是用花括弧括起来的,可包括数据定

义和语句。函数的定义举例如下:

static int max (int xvint y)

{int z;

z=x>y?x:y;

rerurn (z);

}

6.变量的初始化

可以在定义时对变量或数组指定初始值。

静态变量或外部变量如未初始化,系统自动使其初值为零(对数值型变量)或空(对字符型数据)。对自动变量或寄存器变量,若未初始化,则其初值为一不可预测的数据。

7.语句

(1)表达式语句;

(2)函数调用语句;

(3)控制语句;

(4)复合语句;

(5)空语句。

其中控制语句包括:

  1. if(表达式)语句

if(表达式)语句1

else语句2

  1. while(表达式)语句

(3)do语句

while(表达式);

(4)for(表达式1;表达式2;表达式3)

语句

(5)switch(表达式)

{case常量表达式1:语句1; 

case常量表达式2:语句2;

case常量表达式n:语句n;

default;

语句n+1;

}

前缀 case 和 default本身并不改变控制流程,它们只起标号作用,在执行上一个case所标志的语句后,继续顺序执行下一个case前缀所标志的语句,除非上一个语句中最后用break 语句使控制转出switch 结构。

  1. break语句

(7) continue语句

(8)return 语句

(9)goto语句

8. 预处理命令

# define宏名 字符串

# define 宏名(参数 1,参数 2…参数 n) 字符串

# undef 宏名

# include “文件名”(或<文件名>)

#if 常量表达式

# ifdef 宏名

# ifndef 宏名

#else

# endif

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

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

相关文章

sky06笔记下

1.边沿检测 检测输入信号din的上升沿&#xff0c;并输出pulse module edge_check ( clk, rstn, din, pulse ); input wire clk,rstn; input wire din; output reg pulse;wire din_dly;always (posedge clk or negedge rstn)beginif(!rstn)din_dly < 1b0;elsedin_dly < d…

307k star, 免费的编程书籍 free-programming-books

307k star, 免费的编程书籍 free-programming-books 分类 开源分享 项目名: free-programming-books -- 各种编程语言免费学习资源 Github 开源地址&#xff1a; https://github.com/EbookFoundation/free-programming-books 查找页面&#xff08;英文&#xff09;&#xff…

补代码随想录算法训练营第43天 |1049. 最后一块石头的重量 II、 494. 目标和、 474.一和零

今天的题目有点抽象&#xff0c;得好好理解 1049. 最后一块石头的重量 II 本题就和 昨天的 416. 分割等和子集 很像了&#xff0c;可以尝试先自己思考做一做。 视频讲解&#xff1a;动态规划之背包问题&#xff0c;这个背包最多能装多少&#xff1f;LeetCode&#xff1a;1049…

tigramite教程(七)使用TIGRAMITE 进行条件独立性测试

文章目录 概述1 连续数值变量1.1 ParCorr 偏相关&#xff08;ParCorr类&#xff09;1.2 鲁棒偏相关&#xff08;RobustParCorr&#xff09;非线性检验1.3 GPDC1.4 CMIknn 2a. 分类/符号时间序列2b. 混合分类/连续时间序列多变量X和Y的测试 概述 这个表格概述了 X ⊥ Y ∣ Z X\…

c语言文件操作(超详细)

前言 这次的博客&#xff0c;可以让大家快速掌握文件操作&#xff0c;方便大家快速找到不懂的内容 文件操作的作用以及基础 1. 为什么使用文件&#xff1f; 如果没有文件&#xff0c;我们写的程序的数据是存储在电脑的内存中&#xff0c;如果程序退出&#xff0c;内存回收&…

计算机笔记(3)续20个

41.WWW浏览器和Web服务器都遵循http协议 42.NTSC制式30帧/s 44.三种制式电视&#xff1a;NTSC&#xff0c;PAL&#xff0c;SECAM 45.IP&#xff0c;子网掩码白话文简述&#xff1a; A类地址&#xff1a;取值范围0-127&#xff08;四段数字&#xff08;127.0.0.0&#xff09…

第十三届蓝桥杯大赛软件赛省赛CC++大学B组

第十三届蓝桥杯大赛软件赛省赛CC 大学 B 组 文章目录 第十三届蓝桥杯大赛软件赛省赛CC 大学 B 组1、九进制转十进制2、顺子日期3、刷题统计4、修建灌木5、x进制减法6、统计子矩阵7、积木画8、扫雷9、李白打酒加强版10、砍竹子 1、九进制转十进制 计算器计算即可。2999292。 2、…

Spoon Taking Problem(c++题解)

题目描述 &#xfffd;N 人が円卓に座っており&#xff0c;各人は反時計回りに順に 1, …, &#xfffd;1, …, N と番号付けられています&#xff0e;各人はそれぞれ左右どちらか一方の利き手を持っています&#xff0e; 円卓上には 1, …, &#xfffd;1, …, N と番号付け…

【蓝桥杯第十一届省赛B】(部分详解)

门牌制作 #include <iostream> using namespace std; int main() { int cnt0;for(int i1;i<2020;i){if(i%102)cnt;if(i/10%102)cnt;if(i/100%102)cnt;if(i/10002)cnt;}cout<<cnt;// 请在此输入您的代码return 0; }蛇形填数 #include<iostream> using …

开机自启动

对win10,给一种开机自启动的设置方法: 1. winr 打开 2. 输入shell:startup打开 开始\程序\启动 3. 把想要自启动的应用的快捷方式放在这里即可 亲测有用

2024年计算机学科夏令营预推免信息最全汇总(包括计算机本学科和交叉学科)

我在看到新的夏令营信息后会及时更新其中这个表格&#xff0c;表格已经存放在百度网盘中了&#xff0c;下面是一张截图&#xff1a; 下面是存放表格的百度网盘地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1damn4jnG8r-XPe0HhvBRbw?pwd9b0h 提取码&#xff1a;9…

【JavaWeb】百度地图API SDK导入

百度地图开放平台 | 百度地图API SDK | 地图开发 (baidu.com) 登录注册&#xff0c;创建应用&#xff0c;获取AK 地理编码 | 百度地图API SDK (baidu.com) 需要的接口一&#xff1a;获取店铺/用户 所在地址的经纬度坐标 轻量级路线规划 | 百度地图API SDK (baidu.com) 需要的…

使用 Slurm 配置 Nvidia GPU 集群

记录下使用 slurm 搭建 gpu 集群的过程&#xff0c;以下命令都是用 root 用户执行&#xff0c;切记。 安装 编译 munge wget https://github.com/dun/munge/releases/download/munge-0.5.15/munge-0.5.15.tar.xz tar xvf munge-0.5.15.tar.xz cd munge-0.5.15 ./configure -…

计算机导论Lesson0——认识函数的基本原理

学习资料&#xff1a;https://www.bilibili.com/video/BV1HW4y1A7Yi?p2&vd_sourced6b1de7f052664abab680fc242ef9bc1 为什么计算机里计数从0开始&#xff1f;——0代表位置&#xff0c;而不是个数 我们希望从个位开始计数&#xff0c;即代表的是1&#xff08;从右至左&…

MySQL-SQL编写练习:基本的SELECT语句

基本的SELECT语句 1. SQL的分类 DDL:数据定义语言。CREATE \ ALTER \ DROP \ RENAME \ TRUNCATEDML:数据操作语言。INSERT \ DELETE \ UPDATE \ SELECT &#xff08;重中之重&#xff09;DCL:数据控制语言。COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE 学习技巧&#xf…

【测试篇】测试用例

文章目录 前言具体设计测试用例等价类边界值场景设计法判定表&#xff08;因果图&#xff09;正交排列&#xff08;用的非常少&#xff09;错误猜测法 前言 什么是测试用例&#xff1f;&#xff1f; 测试用例是针对软件系统或应用程序的特定功能或场景编写的一组步骤&#xf…

cookie/session/token三者区别和优缺点

cookie/session/token三者区别和优缺点 cookiesessiontoken三者对比 cookie cookie由服务器生成&#xff0c;发送给浏览器&#xff0c;浏览器把cookie以kv形式保存到某个目录下的文本文件内&#xff0c;下一次请求同一网站时会把该cookie发送给服务器。所以cookie是保存在浏览…

后端返还二进制excl表格数据时候,如何实现在前端下载表格功能及出现表格打开失败的异常处理。

背景&#xff1a; 后端返还一个二进制流的excl表格数据&#xff0c;前端需要对其解析&#xff0c;然后可提供给客户进行下载。 思路&#xff1a;把二进制流数据转换给blob对象&#xff0c;然后利用a标签进行前端下载。 代码&#xff1a; 后端返还 类似如下的数据 前端代码…

每日一题 --- 前 K 个高频元素[力扣][Go]

前 K 个高频元素 题目&#xff1a;347. 前 K 个高频元素 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2]示例 2: 输入: nums [1], k 1 输出: …

电商技术揭秘六:前端技术与用户体验优化

文章目录 引言一、前端技术在电商中的重要性1.1 前端技术概述1.2 用户体验与前端技术的关系 二、响应式设计与移动优化2.1 响应式设计的原则2.2 移动设备优化策略2.3 响应式设计的工具和框架 三、交互设计与用户体验提升3.1 交互设计的重要性3.2 用户体验的量化与优化3.3 通过前…