C语言入门第二节-概述C语言

 C语言入门第二节-概述C语言

一.C语言的程序结构

1.当前最新的C语言标准为c11,在他之前的C语言标准为c99;

2.结构主要包括:1.预处理指令,2.函数,3,变量,4.语向和表达式,5.注释

#include<stdio.h>
int main(void)
{
int unm = "3" ;
/我的第一个C程序*/
printf("Hello,%d World! \n",unm);
return 0;
}

(1).预处理指令

#include<stdio.h> 头文件

#inclued预处理指令 ,C编译器在编译前会对源代码做一些准备工作,即预处理;

#include中的#符号表明,C预处理器在编译器接手之前处理这条指令;

#标志、include包含,<>包含什么,std-standard、i-input输入、o-out输出,h-head头文件(这个文件可能会包含一个标志输入输出的头文件)。#include<stdio.h>的作用相当手把stdio.h文件中的内容都输入该行所在位置。实际上,这是一种“拷贝-粘贴”的操作。该文件中包含了供编译器使用的输入和输出函数,如printf()信息;

头文件帮助编译器把你的程序正确地组合在一起,省略必要的头文件可能不会影响某一特定程序,但是最好不要这样做;

(2).函数

函数由函数头和函数体组成
圆括号表明main()是一个函数名。int表明main()函数返回一个整数,void表明main()不带任何参数,圆括号有什么功能?用于识别main()是一个函数。在程序中使用函数叫调用函数;

有返回值的C函数要有return语句。该语句以return关键字开始,后面是待返回的值,并以分号结尾。如果在运行在运行至最外面的右花括号时会返回0。因此,可以省路main()函数末尾的return语向。但是,不要在其他有返回值的函数中漏掉它。因此,强烈建议保留return语向的好习惯。但对于某此操作系统return语句有特殊的实际用途;

(3).变量

为什么要有类型?为什么叫变量?
C语言可以处理许多类型的数据,给变量声明类型计算机才能正确地存储,读取,解释数据;

为什么要声明变量?
(1).声明变量会促使你在编写程序之前做一些计划;
(2).声明变量有助于发现隐藏在程序中的小错误,如变量名拼写错误;

int是一种数据类型,编译器使用这些信息为num变量在内存中分配存储空间。声明把特定标识符与计算机内存中的特定位置连续起来,同时也确定了存储在某位置的信息类型或数据类型;

编译器在计算机内存中为变量num预留了空间,然后在执行这行赋值表达式语句时,把值存储在之前预留的位置。可以给num赋不同的值,这就是num之所以被称为变量的原因;

(4).语句与表达式

C中的六种语句:标号语句,复合语句,表达式语向,选择语句,迭代语句,跳转语句;

printf,print打印,f-format格式化,(格式化输出),"内的叫做输出内容,⋯外的叫做输出对象,其实就是把()内的实际参数传递给printf;

占位符就是先占住一个固定的位置,表示在该位置输入或输出。%d相当于一个占位符,其作用是指明输出num的位置。%提醒程序要在该处打印一个变量,d表明把变量作为十进制整数打印;

(5).注释

/**/或//注释不被编译器识别,“;“代表这句话说完了

           

二.C语言的核心算法

#include<stdio.h>》main》{函数体}从上到下依次执行(所以c语言是面向过程的语言);

           

三.如何提高程序可读性

1.有意义的函数名(看函数的命名规范);变量名命名的艺术_哔哩哔哩_bilibili
2.注释
3.在函数中用空格分隔概念上的多个部分
4.每条语向各占一行

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

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

相关文章

基于局部信息提取的人脸标志检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 人脸检测 4.2 局部区域选择 4.3 特征提取 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .........................................…

java面试题(23):Spring Bean如何保证并发安全

1 问题分析 我们知道默认情况下&#xff0c;Spring中的Bean是单例的&#xff0c;所以在多线程并发访问的时候&#xff0c;有可能会出现线程安全问题。 2 解决方案 有几个方面的解决思路&#xff1a; 我们可以设置Bean的作用域设置为原型&#xff08;prototype&#xff09;&a…

一篇文章带你彻底了解flex布局

哈喽&#xff0c;大家好呀&#xff0c;我是前端理想哥&#xff0c;今天我们来聊聊 flex 布局。 好&#xff0c;主角登场。 CSS 弹性盒子模型( Flexible Box 或者 Flexbox ) 先来看看它的定义&#xff1a;弹性布局是指通过调整其内元素的宽高&#xff0c;从而在任何显示设备上…

Qt实现在5种情况下快速求最值

1. 求最大值 const T &qMax(const T &a, const T &b) 举例&#xff1a; float value1 20; float value2 30; float result qMax(value1, value2); qDebug() << "Result:" << result; 结果&#xff1a;Result: 30 2. 求最小值 const …

【02】mapbox js api加载arcgis切片服务

需求&#xff1a; 第三方的mapbox js api加载arcgis切片服务&#xff0c;同时叠加在mapbox自带底图上 效果图&#xff1a; 形如这种地址去加载&#xff1a; http://zjq2022.gis.com:8080/demo/loadmapbox.html arcgis切片服务参考链接思路&#xff1a;【01】mapbox js api加…

基于gd32f103移植freemodbus master 主栈

1.移植freemodbus master需要先移植RT-Thread操作系统 GD32F103C8T6移植 RTT Nano 教程-CSDN博客 2.移植freemodbus master协议栈 在移植了RTT以后,我们需要移植就只有串口相关的函数 移植freemodbus master协议栈具体步骤 下载移植freemodbus master协议栈 源码添加协议栈…

多字段枚举类型定义

如何定义枚举类型&#xff0c;包含两个字段。 public enum TypeNnum {TYPE_1("TYPE_1", 1),TYPE_2("TYPE_2", 2),;private String name;private Integer value;TypeNnum( String name, Integer value) {this.value value;this.name name;}public String…

2024 1.13~1.19 周报

一、本周计划 确定论文题目&#xff0c;重新思考能加的点子&#xff0c;重点在网络架构部分。主要了解了注意力模块如SE、CBAM、CA&#xff0c;在模型中插入注意力模块。读论文。 二、完成情况 2.1 论文题目 基于注意力的Unet盐体全波形反演 想法来源&#xff1a;使用的是二维…

全新AI助手结合GPT4、Dalle3和Midjourney图文创作

MidTool AI助手&#xff08;迷图网(MidTool)-免费ChatGPT中文版和Midjourney的AI绘画聊天软件&#xff09;是一个集成了多种人工智能技术的平台&#xff0c;旨在为用户提供全面的智能服务体验。它融合了GPT-4、DALLE 3和Midjourney等先进的AI工具&#xff0c;每个工具都有其独特…

【LeetCode热题100】【子串】滑动窗口最大值

题目 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a;nums [1,3,-1,-3,5,3,6,7], …

【方法】如何合并多个PDF文件?

多个PDF文件&#xff0c;想合并成一个文件&#xff0c;要怎么操作呢&#xff1f; 如果PDF文件的数量少&#xff0c;并且页数也不多&#xff0c;可以试试将内容复制黏贴到Word文档&#xff0c;再转为PDF格式&#xff1b;如果文件数量多&#xff0c;页数也多&#xff0c;就不太合…

小白编程题:圣诞礼物

描述 圣诞节就要到了&#xff0c;同学准备了一个超级好玩儿的游戏--代码接力&#xff0c;acmer排成一队。首先&#xff0c;前两名acmer玩游戏。然后失败者走到队尾&#xff0c; 赢得acmer将和下一个acmer比赛&#xff0c;等等。直到有acmer连续赢得n场比赛&#xff0c;则这个…

原型设计 Axure RP 9

Axure RP 9是一款专业的原型设计和协作工具&#xff0c;让用户快速创建高保真度的交互原型&#xff0c;模拟真实的用户界面和交互体验。该软件界面布局合理&#xff0c;易于使用&#xff0c;提供丰富的交互功能和效果&#xff0c;如动态面板、变量、条件逻辑、动画等。同时支持…

边缘计算的挑战和机遇——数据安全与隐私保护

边缘计算的挑战和机遇 边缘计算面临着数据安全与隐私保护、网络稳定性等挑战&#xff0c;但同时也带来了更强的实时性和本地处理能力&#xff0c;为企业降低了成本和压力&#xff0c;提高了数据处理效率。因此&#xff0c;边缘计算既带来了挑战也带来了机遇&#xff0c;需要我…

室内机器人区域覆盖算法仿真测试平台设计与实现(预告)

前一篇&#xff1a; 户外机器人区域覆盖算法仿真测试平台设计与实现&#xff08;预告&#xff09; 基本完全是人工智能生成的内容。 之前此课题只是课程中的一个项目案例。 ROS1云课→32愉快大扫除 但是可以感觉到过于宽泛&#xff0c;没有任何具体实践&#xff0c;比如使用…

MCM备赛笔记——熵权法

Key Concept 熵权法是一种基于信息熵概念的权重确定方法&#xff0c;用于多指标决策分析中。信息熵是度量信息量的不确定性或混乱程度的指标&#xff0c;在熵权法中&#xff0c;它用来反映某个指标在评价过程中的分散程度&#xff0c;进而确定该指标的权重。指标的分散程度越高…

2024年1月19日Arxiv最热CV论文:RAP-SAM: Towards Real-Time All-Purpose Segment Anything

2024年1月19日Arxiv最热CV论文&#xff1a;RAP-SAM: Towards Real-Time All-Purpose Segment Anything 实时全能分割新篇章&#xff0c;谷歌 RAP-SAM模型让一切皆可分割&#xff01; 引言&#xff1a;探索实时全能分割的新篇章 在计算机视觉领域&#xff0c;基于Transformer…

C语言中宏定义中#和##使用详解

目录&#xff09; 一、简介二、使用详解2.1 # 是将后面的字符串加“”变成编译器眼中的字符串2.2 ## 是将两串字符联接成一串 三、其他相关链接1、C语言常用函数详细总结2、C语言中指针、数组作为作为函数参数使用总结3、C语言常见数据类型字节数和打印格式总结4、C语言、Makef…

【办公自动化】python实现图片上传到阿里云OSS

阿里云OSS简介 阿里云对象存储服务(Object Storage Service,简称OSS)是一种高可靠、高可用、安全稳定的云存储服务。它提供了海量、安全、低成本、高可靠的存储服务&#xff0c;适用于各种类型的文件存储需求。 阿里云OSS使用方法 注册阿里云账号并登录&#xff1b; 创建OSS…

【办公类-21-01】20240117育婴员操作题word合并1.0

背景需求&#xff1a; 最近学校组织老师们学习“育婴员”高级&#xff0c;每周学习2题操作&#xff0c;所以我是把每个学习内容单独做在一个word文件里 上周8套保健操作学完了&#xff0c;需要整理&#xff0c;并将8份Word文件合并 第一步&#xff1a;doc装docx 合并时程序报…