C语言基础语法..

1.函数的基本语法

函数的格式为:
返回值类型 函数名(参数列表){
函数体(包括返回值语句)
}

利用上述的格式 我们可以自己整一个实现加法功能的函数

int add(int a, int b){return a + b;
}
int main(){int c = add(10, 20);printf("%d", c);// 30return 0;
}

从中我们可以看出 我们通过主函数调用了加法函数 从而执行了两数的加法运算 也就是说 主函数是整个C语言程序的入口 而且有且只能有一个主函数
而且我们从传递的参数可以看出 参数的个数必须一致 而且类型也要尽量一致 否则的话 编译器就会报错(当形参和实参的类型不一致的话 那么编译器会尝试进行自动类型转换 如果转换失败的话 那么就会直接编译失败)

那么既然加法函数被主函数调用了 那么有一个疑问就是主函数被谁调用了呢?其实主函数在程序运行后就被自动调用了 不需要我们手动调用主函数 而且主函数的返回值会返回给调用该C语言程序的程序(C标准中规定主函数的返回值必须是int类型 我们一般返回值设置为0即可)

要调用函数 首先要知道函数 编译器是从上往下进行阅读的 当编译器阅读到函数调用语句时 如果他不知道该函数的定义(也就是之前没有阅读过该函数的定义 不理解这是什么) 那么就会编译失败 也就是说 函数的定义要放在函数调用语句之前

2.变量的基本语法

所谓变量 就是一个装有变量类型数据的容器

int a = 10;

上述语句 其实就是将10这个int类型的数据通过赋值运算符装进a这个变量容器中
所谓赋值运算符 就是将右边数据装进左边容器的一种运算符 需要和比较运算符(==)区分开来

a = 10;// error

上述写法是错误的 变量需要先声明后使用

3.标识符

标识符就是一个自定义的名称 包括变量名、函数名或者其他实体的名称
标识符必须遵循这些规则:
由数字、字母、下划线组成;不能由数字开头;区分大小写

4.关键词

那么我们可以思考一下int是不是标识符呢 显然不是

int main(){int double = 10;// errorreturn 0;
}

通过上述案例我们就可以作为验证

C标准对于这种东西有自己的归类 他将其归结为关键词
C语言的关键词有以下这些:
在这里插入图片描述
在这里插入图片描述

5.常量的基本语法

我们先来介绍一种常量 即字面常量
诸如2、3这种东西就叫做字面常量
但是不像变量那样 先声明在使用 他不需要声明 可以直接使用
而且变量可以通过赋值进行更改 但是常量不能进行赋值操作

6.printf函数

对于第一个固定的字符串参数 其他是可变数量和类型的参数 这是一个变参函数 而且属于格式化输出

int main(){printf("my name is %s, my age is %d", "jack", 11);return 0;
}

该函数的格式为:
printf(“占位1 占位2 占位3……”, 替换1, 替换2, 替换3……);

但是我们前面所说的函数调用 我们在调用之前 需要让编译器知道他的定义 否则就会编译失败
但是我们在调用printf函数之前 并没有自定义这个函数 至于这个函数的定义在哪里 其实是位于我们所导入的包stdio.h中 但是这个函数库中储存的是函数声明 而不是函数定义 但是又编译成功了 这是什么原因呢 后面会讲到

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

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

相关文章

高亮显示不一致

先准备好测试文件 [rootnode4 ~]# cat 2.1 No. Table Name Src Count Des Count Result 1 sbtest1 100 100 PASS 2 sbtest2 200 300 NOTPASS 3 sbtest3 150 150 …

centos7的git使用方法

下载git yum install git git克隆 git clone https...(图片中复制的内容) git提交到远程仓库 git add filename git commit -m "提交日志" git push git首次使用要配置邮箱和用户名 查看提交日志 git log 查看当前提交状态 git status

springboot-web服务迁移Kubernetes

1、搞定基础镜像 docker pull openjdk:8-jre-alpine docker tag openjdk:8-jre-alpine 10.204.82.15/kubernetes/openjdk:8-jre-alpine docker push 10.204.82.15/kubernetes/openjdk:8-jre-alpine 2、springboot-web应用服务打包 3、编写Dockerfile构建镜像 FROM 10.204.82.…

【RL】Basic Concepts in Reinforcement Learning

Lecture1: Basic Concepts in Reinforcement Learning MDP(Markov Decision Process) Key Elements of MDP Set State: The set of states S \mathcal{S} S(状态 S \mathcal{S} S的集合) Action: the set of actions A ( s ) \mathcal{A}(s) A(s)…

跨境电商开店必看!Shopee 开店流程及费用

虾皮电商平台是目前东南亚及台湾领航的电商平台,主要是面向新加坡、马来西亚、菲律宾、台湾、印度尼西亚、泰国和越南七大市场。这一具有强大前景和广阔发展空间的平台,正逐渐吸引着越来越多的商家加入其中。对于想要进军跨境电商市场的商家来说&#xf…

QSpace Pro 一款简洁高效的多窗格文件管理器,灵活且实用!

在日常的工作和生活中,文件管理是不可或缺的一环。尤其是对于我们这些依赖于数字工具的现代人来说,一个高效、便捷且功能强大的文件管理器能大大提升我们的效率。最近,我有幸试用了一款名为QSpace的多窗格文件管理器,它给我留下了…

CTF-show WEB入门--web21

上一阶段的信息泄露已经全部完结了,下一阶段的爆破也由此开始啦~~~ 下面让我们看看web21,这题是个经典的爆破问题 老样子我们先打开题目,查看题目提示: 我们可以看到题目提示为: 爆破什么的,都是基操 还有这题题目…

问题:塑瓷后的牙冠要比完成的牙冠大() #学习方法#其他

问题:塑瓷后的牙冠要比完成的牙冠大() A.10% B.10%-15% C.15%-20% D.20%-30% E.50% 参考答案如图所示

2024清洁能源、环境与智慧城市国际研讨会(ISCEESC2024)

2024清洁能源、环境与智慧城市国际研讨会(ISCEESC2024) 会议简介 2024年清洁能源、环境与智慧城市国际研讨会(ISCEESC2024)将在中国丽江举行。本次会议主要围绕清洁能源、环境和智慧城市等研究领域,旨在为该研究领域的专家学者提供一个国际…

编译原理与技术(三)——语法分析(五)自底向上-LR分析

一、自顶向下的LL(1)与自底向上的LR (一)LL(1)非递归预测分析器及分析表 (二)LR分析器及分析表 二、LR分析 举个例子。 从上面不难看出,LR分析也是由分析表驱动的。那么关键在于构造LR分析表。

谈谈安全对抗的本质

前言 红队和蓝队的兄弟们都辛苦了,趁夜深人静的时候写了一点东西,算是一点心得与体会,谈谈安全对抗的本质,仅供大家参考。 今年的活动,笔者和去年一样,镇守公司,运筹帷幄之中,决胜千…

ELFK日志采 - QuickStart

文章目录 架构选型ELKEFLK ElasticsearchES集群搭建常用命令 Filebeat功能介绍安装步骤Filebeat配置详解filebeat常用命令 Logstash功能介绍安装步骤Input插件Filter插件Grok Filter 插件Mutate Filter 插件常见的插件配置选项:Mutate Filter配置案例: O…