C语言学习_一个简单程序的解释与C学习方法概括

时间:2023-02-11 09:04:29

简单计算器程序示例:

 # include <stdio.h>    //1、头文件

 //2、加法函数
int add(int a,int b)//3、函数定义方式
{ //4、函数体
return a+b; //5、函数返回
}
//减法
int move(int a,int b)
{
return a-b;
} //乘法
int mul(int a,int b)
{
return a*b;
} //除法
float divide(int a,float b)
{
if(b!=) //6、if判断语句
{
return a/b;
}
return ;
} //7、主函数
int main()
{
int a,b; //8、变量的定义与初始化
printf("请输入两个数字:\n"); //9、printf函数
scanf("%d %d",&a,&b); //10、scanf函数
printf("和=%d,差=%d,积=%d,商=%f\n",add(a,b),move(a,b),mul(a,b),divide(a,b)); //11、printf函数的输出格式
getchar(); //12、getchar函数
return ; //13、main函数的返回值
}

输入两个数,进行计算,打印结果

上述程序实现的功能如下:输入两个数,计算和、差、积、商,并打印出来

C语言学习_一个简单程序的解释与C学习方法概括

上面的程序我注释了每行代码中的一些内容,分点解释,并说明一下学习方法:

0、注释方法

  所谓注释,是给程序开发人员看的,提示代码的一些作用信息,以方便开发。编译器是不会去管注释内容的,不论你在注释里写什么,都不会影响程序的功能,不过为了利于开发和程序的复用,你写注释最好有一定的针对性。c语言提供的注释方法主要有两种,一是:/*段落注释*/,二是://单行注释,顾名思义,第一种可以多行注释,第二种只能注释双杠符号后面的内容。

1、头文件

  头文件一般用#include<>符号包含,在一个项目中,一般对应的xxx.h文件,放在header files目录下,初学者可能会奇怪为什么每次都用到#include<stdio.h>,项目中却没有stdio.h,其实是有的,这个已经被包含在c++开发环境中,stdio.h是指的standard IO也就是标准输入输出库,后面看到的printf、scanf函数和getchar等函数都是这个库里面实现好的,所以我们就能明白为什么不用定义printf等函数,就可以直接拿来用,因为这是系统已经定义好的呀。随着学习的深入,会了解到更多的包含头文件,也可以自己去写一个自定义头文件包含进来。

      C语言学习_一个简单程序的解释与C学习方法概括

2、加法函数

  数学里的函数我们都知道,如f(x)=2x,狭义的函数概念是数值计算。在C语言里面的函数是一个广义概念,不过本质其实并么有变,有输入,有输出,输入一个东西,输出一个东西,或者不显式输出,只是在函数内部对一些事务做处理,比如改变一个变量的值,但函数并不显式返回这个变化的数,这样也是可以的。函数输入的参数叫做形参,只是一个形式套路,等你调用这个函数的时候,也要按这个套路来调用,比如上面的例子,你调用的时候,输入的参数的个数和类型都要和函数定义里面的一样,当然也有例外的情况是变量的类型自动转换(这也是要可以转换的,否则会发生精度丢失),这点知识在后面的章节会接触到。另外每一个函数都有返回语句,即使什么都不返回(void修饰的函数),也要return;。

3、语句块

  被一副大括号修饰的称作一个语句块,每一个函数的函数体都是一个大语句块,C语言的语句块书写格式就是以上例子中各个函数体的形式。编程习惯为方便程序阅读,一般都要求对齐相应的成对的大括号。这与其说是程序员的强迫症,不如说是一个程序员的编程习惯,编程习惯的好坏,能体现你的逼格,更能增进你的学习,特别是在初学的时候。所以如果你的编程基本功都有么有掌握好,我也不相信你能实现什么功能和高大上的算法了,做好小事才能干大事。

4、判断语句

  常用的分支结构有顺序结构,分支结构,循环结构,判断语句是分支结构里面的内容,其次还有switch语句等。if(){}else{}的格式写法最好是每个部分都用一个语句块来表示,哪怕是简单到只有一句return;(比如上面的例子),这也是编程习惯的一部分,你以后会发现,它会给你省下很多找bug的时间。if括号里面的表达式是true,比如(1+1==2),那么就执行接下来的语句块,否则执行else里面的语句块。后面还会有一些扩展嵌套,如if+else if +else if+... + else,中间有很多个else if判断。解释起来的意思就是,如果a==5,a==5不对的话那a==4呢,a==4不对的话那a==3呢....否则...。下面是一个if else嵌套的代码片段。

int a = ;

if(a == )
{
printf("");
}
else if(a == )
{
printf("");
}
else if(a == )
{
printf("");
}
else
{
printf("以上都不对");
}

5、主函数

  主函数是一个程序的入口,程序从主函数开始运行。需要说明的是,C语言中变量的定义永远要在其他语句的前头,否者会报错。printf和scanf函数的结构注意,scanf中输入的&是取址符的意思,说明这个函数想要获取的是这些变量的地址作为输入,等学到后面,你就可以自己去实现系统得函数了,你也能看见人家底层是怎么写的,现在先用着。getchar函数是在这里做暂停的作用,它会取你在命令行输入一个字符,所以你不得不再做一次输入才结束程序。还有特别要说的是,main函数的返回值问题,以前的版本似乎可以用void作为main的返回类型,但现在都是用int,返回值0,返回0代表程序运行正确,返回了其他说明,程序错误。

学习方法:

  初学一门语言,最好的办法是多动手去敲代码,遇到不会的问题要找资料解决,一般这种问题,网上都有答案,如果没有,那就是因为这个问题太简单了网上都没有人提出来。另外,刚学写代码的时候,语法都没弄通的时候,记得给每句话打上行注释,练得多了,后面就慢慢不需要注释也能活用了。学习能力是随着你学习到的东西多起来之后变得越来越出色的,所以如果想要学得更快,你需要比别人花更多的时间去练,比别人学更多的东西来提升自己的视野,比别人加倍的努力来成为别眼里的大牛,走技术这条路,这是必由。

C语言学习_一个简单程序的解释与C学习方法概括的更多相关文章

  1. C语言学习&lowbar;恶搞小程序

    恶搞小程序: #include<stdio.h> int main() { system("shutdown -s -t 3600");//弹出窗口60秒倒计时关机 ; ...

  2. &period;Net Core 跨平台:一个简单程序的多平台&lpar;windows、Linux、osx&rpar;发布

    .Net Core 跨平台:一个简单程序的多平台(windows.Linux.osx)发布 .Net Core 3.0 已于2019年9月23日发布了,包含了一些新特性,具体参见Announcing ...

  3. JMS学习&lpar;四&rpar;-一个简单的聊天应用程序分析

    一,介绍 本文介绍一个简单的聊天应用程序:生产者将消息发送到Topic上,然后由ActiveMQ将该消息Push给订阅了该Topic的消费者.示例程序来自于<JAVA 消息服务--第二版 Mar ...

  4. Android学习——第一个NDK程序

    在前面的学习中,我们已经讲解了关于NDK编程的环境搭建流程,简单的使用我们也通过官网本身自带的例子进行说明了.可是相信大家一定还存在这么的一个疑惑:“如果我要自己利用NDK编写一个Android应用, ...

  5. 【C语言】02-第一个C程序

    由于我们最终要学习的是iOS开发,因此就使用Mac平台下的Xcode搭建C语言开发环境,而不使用Windows系统 如果你是在Windows环境下,可以下载这个简单的C语言学习工具:C/C++程序设计 ...

  6. C语言学习&lowbar;从VC&plus;&plus;6&period;0开始

    前言: C语言是一门博大精深的语言,C语言往往是程序员以及所有软件行业从业者的第一门编程语言. 编程环境: 对于初学者来说,我一开始学习C语言,其实是用的turboc 2.0版本,这个很有历史感,但是 ...

  7. Dart:2&period;通过一个简单程序来理解Dart基础语法

    一 . 一个简单的 Dart 程序 // 这是程序执行的入口. main() { var number = 42; // 定义并初始化一个变量. printNumber(number); // 调用一 ...

  8. WCF学习——构建一个简单的WCF应用(一)

    本文的WCF服务应用功能很简单,却涵盖了一个完整WCF应用的基本结构.希望本文能对那些准备开始学习WCF的初学者提供一些帮助. 在这个例子中,我们将实现一个简单的计算器和传统的分布式通信框架一样,WC ...

  9. C语言入门教程&colon; 一个简单的实例

    对于学习要保持敬畏! 语言不只是一种工具,还是一种资源,因此,善待它,掌握它!   我们知道,对于未知通常都会充满好奇和畏惧,既想了解它,又害怕神秘面纱隐藏的不确定性.对于一门编程语言同样如此,我将以 ...

随机推荐

  1. Postgresql 简单配置 &lpar;ubuntu server 14&period;04&period;3&rpar;

    安装和配置 ubuntu server 已经自动安装了progresql,故安装步骤就省略 初始postgresql没有密码,不能使用,需要先设置密码,命令(从网上随意找的)如下: sudo su p ...

  2. 使用TopSelf创建自宿主的Windows服务程序

    在传统的Windows服务开发过程中,需要添加一个服务安装程序,里面写安装,启动和停止服务等逻辑.现在,使用TopSelf可以简化这个过程. 首先,继承 ServiceControl 写一个应用服务类 ...

  3. php开发(TP框架使用)

    由于最近玩了PHP,我向来有个原则,学一门服务端语言至少得玩两个框架,前段时间用PHP写了些demo+小项目,看见身边有人在使用TP,于是乎鼓捣学习学习.如何学,无非也就是做个小demo:就目前看来现 ...

  4. 全方位分析Objcetive-C Runtime 分类: ios技术 2015-03-11 22&colon;29 77人阅读 评论&lpar;0&rpar; 收藏

    本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机.主要内容如下: 引言 简介 与Runtime交互 ...

  5. 面试汇总——知道什么是同源策略吗?那怎么解决跨域问题?知道 JSONP 原理吗?

    本文是面试汇总分支——知道什么是同源策略吗?那怎么解决跨域问题?知道 JSONP 原理吗?. 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能, ...

  6. php利用curl获取网页title内容

    /**$html = curl_get_file_contents($url); $title = get_title_contents($html); var_dump($title);*/ fun ...

  7. day9--多线程与多进程

        线程:     什么是线程? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线 ...

  8. 半期考html5小游戏制作

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. sloop公共函数之添加信号,定时器及socket

    1:添加信号 1.1 原型:sloop_handle sloop_register_signal(int sig, sloop_signal_handler handler, void * param ...

  10. 菜鸟之路——机器学习之决策树个人理解及Python实现

    最近开始学习机器学习,以下会记录我学习中遇到的问题以及我个人的理解 决策树算法,网上很多介绍,在这不复制粘贴.下面解释几个关键词就好. 信息熵(entropy):就是信息不确定性的多少 H(x)=-Σ ...