C语言程序的基本结构(十分适合新手)

2023-11-07 13:59

本文主要是介绍C语言程序的基本结构(十分适合新手),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、C语言基础知识的学习方法
  • 二、C语言程序开发的流程
  • 三、安装C语言的编译器
  • 四、C程序的基本结构
    • 1、程序的注释
    • 2、预处理指令
    • 3、主函数的入口
    • 4、主函数体
  • 五、编译并执行 C 程序
  • 六、知识总结
  • 七、课后作业
  • 八、版权声明

一、C语言基础知识的学习方法

1)我的课程内容是精心整理的,某些知识点可能没有提到应用场景,但绝对不会是没用的知识。课程中没有提到的知识可以了解一下,但不必深入学习,意义不大。

2)学习不要贪快,欲速则不达的道理大家应该明白,学习的重点是培养写程序的感觉。

3)不要记笔记,不要记关键字,不要记函数的参数,忘了就忘了,忘了是因为没有经过实战,所以,到了项目实战课程的时候,忘了内容很自然的会全部想起来。

4)不要用手机看视频,看着看着就想睡觉,学习的过程是边看边写,没有看出来的程序员。赵括,知道不?就是那个空读兵书不成器的家伙,只看书看视频不写程序,和赵括没什么不同。

5)程序员的指法很重要,翘着二郎腿,嘴里叨着烟,挥舞一指禅,一副吊儿郎当的样子,是成不了程序员的。

6)学习的过程中遇到的问题,如果三十分钟解决不了,不要纠缠,在群里向大家请教。但是,反对遇到问题不经思考就提问的方式。

7)开始学习C语言之前,必须先熟悉Linux环境,掌握Linux常用命令和vi的基本用法。

8)高手都是从菜鸟开始的,只要您按视频教程一步一个脚印的学习,一定能成为优秀的程序员。

二、C语言程序开发的流程

现阶段,我们编写的C程序比较简单,程序开发的流程如下:

在这里插入图片描述

三、安装C语言的编译器

Linux下C语言的编译器是gcc,以root用户登录,执行以下命令安装它:

yum  -y  install  gcc

注意,如果您的服务器没有安装gcc,以上命令就会安装最新版本的gcc,如果已经安装了gcc,就会更新到最新版本,所以,以上命令不管执行多少次都没有问题。

安装gcc的前提条件是服务器必须可以访问互联网。

四、C程序的基本结构

C 程序主要包括以下部分:

1)注释(说明文字)

2)预处理指令

3)主函数入口

4)主函数体

示例(book1.c)

/**  程序名:book1.c,此程序用于演示C程序的基本结构。*  作者:C语言技术网(www.freecplus.net) 日期:20190525
*/// 预处理指令,把头文件stdio.h包含进来。
#include <stdio.h>     // standard input output// 主函数main,这里是程序执行的起点。
int main()
{// 调用printf函数在屏幕上输出文字。printf("我心匪石,不可转也。我心匪席,不可卷也。威仪棣棣,不可选也。\n");return 0; // main函数返回
}

接下来我们讲解一下上面这段程序。

1、程序的注释

/**  程序名:book1.c,此程序用于演示C程序的基本结构。*  作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
// 预处理指令,把头文件stdio.h包含进来。
// standard input output
// 主函数main,这里是程序执行的起点。
// 调用printf函数在屏幕上输出文字。
// main函数返回

以上是C程序的注释(说明文字),注释的目的是为了提高程序的可读性,是给程序员看的,不是给计算机看的,编译器编译程序时将忽略它。

/* */用于注释多行文字,/*是开始,*/是结束。

// 用于注释一行文字,可以独占一行,也可以放在代码的后面。

2、预处理指令

#include <stdio.h>     // standard input output

这一行是(编译)预处理指令,告诉 C
语言编译器在编译之前要包含stdio.h文件,程序中使用了printf函数,如果不包含它的头文件,编译时会出现警告或报错。

3、主函数的入口

int main()

main是主函数,程序从这里开始执行。在同一程序中,main函数只能有一个。

4、主函数体

  printf("我心匪石,不可转也。我心匪席,不可卷也。威仪棣棣,不可选也。\n");return 0; // main函数返回

主函数体的代码在一对花括号,本程序的主函数体有两行代码。

第一行代码调用了printf函数,printf函数的功能是把内容输出到屏幕,这里是输出一行文字,文字结尾的\n表示换行,多个\n就可以输出多个换行。

第二行代码return 0;表示主函数返回,程序退出。

注意,main函数体中的空行和每行代码前面的空格是为了提高程序的可读性,对程序的功能没有任何影响。

五、编译并执行 C 程序

在Linux的命令行下用gcc命令编译源程序book1.c。

gcc -o book1 book1.c

编译完成后,将生成目标程序book1(可执行程序名由-o参数指定),加./执行它。

./book1

执行的结果是在屏幕上输出一行文字。

我心匪石,不可转也。我心匪席,不可卷也。威仪棣棣,不可选也。

运行效果
在这里插入图片描述

六、知识总结

/**/ 多行注释。

// 单行注释。

#include 包含其它文件的预处理指令。

main 程序执行的起点。

{} 函数体、语句块的开始和结束。

() 函数的参数放在括号中。

“” 字符串放在双引号中。

\n 换行符。

; 分号,一行代码的结束。

1)以上都是C语言的语法约定,是规则,不可改变,不能质疑,必须遵守;

2)C语言严格区分大小写;

3)中文的全角标点符号C语言无法识别,编译时会报错;

4)C程序以分号“; ”表示一条语言的结束,多条语句可以书写在一行。

5)如果某行代码只有分号“; ”,表示一条空语句,什么也不做。

七、课后作业

1)请写一个最简单的C程序,实现什么功能无所谓,代码越少越好。

2)有一个坑,中国程序经常掉进去,但美国程序却不会,请问这是个什么坑?

3)在屏幕中输出诗经《我是一只傻傻鸟》,源程序命名为book2.c,执行的效果如下:

在这里插入图片描述

4)请在屏幕中间用符号“*”拼出一个大大的字母H,源程序命名为book3.c,执行的效果如下:

在这里插入图片描述

八、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!
如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!

这篇关于C语言程序的基本结构(十分适合新手)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/364093

相关文章

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用