今天介绍三个最简答的C语言程序。

例1:要求在屏幕上输出以下一行信息:This is a C program.

解题思路:在主函数中用printf函数原样输出以上文字

编写程序:

#include<stdio.h>
int main()
{printf("This is a C program.n");return 0;
}

运行结果:

This is a C program.

以上运行结果是在Visual C++ 6.0环境下运行程序时屏幕上得到的显示。

程序分析:

先看第2行,其中main是函数的名字,表示“主函数”,main前面的int表示此函数的类型是int类型(整型)。在执行主函数后会得到一个值(即函数值),其值为整型。程序第5行“return 0;”的作用是:当main函数执行结束前将整数0作为函数值,返回到调用函数处。每一个C语言程序都必须有一个main函数。函数体由花括号{}括起来。本例中主函数内有两个语句,程序第4行是一个输出语句,printf是C编译系统提供的函数库中的输出函数。printf函数中的双撇号内的字符串“This is a C program.”按原样输出。n是换行符,即在输出“This is a C program.”后,显示屏上的光标位置移到下一行的开头。这个光标位置称为输出的当前位置,即下一个输出的字符出现在此位置上。每个语句最后都有一个分号,表示语句结束。

说明:

C语言允许用两种注释方式:

(1)以//开始的单行注释。如上介绍的注释,这种注释可以单独占一行,也可以出现在一行中其他内容的右侧。此种注释的范围从//开始,以换行符结束。也就是说这种注释不能跨行。如果注释内容一行内写不下,可以用多个单行注释,如下面两行是连续的注释行:

//如注释内容一行内写不下

//可以在下一行重新用“//”,然后继续写注释。

(2)以/*开始,以*/结束的块式注释。这种注释可以包含多行内容。它可以单独占一行(在行开头以/*开始,行末以*/结束),也可以包含多行。编译系统在发现一个/*后,会开始找注释结束符*/,把二者间的内容作为注释。

但应注意的是在字符串中的//和/*都不作为注释的开始,而是作为字符串的一部分。如:

printf("//how do you do!n");

printf("/*how do you do!*/n");

输出分别是:

//how do you do!

/*how do you do!*/

注释可以用汉字或英文字符表示。

在C89只允许用/*...*/形式的注释,而C++则允许用//形式的注释,//注释被称为“C++风格”的注释。但许多C编译系统在C99之前就已支持这种方便的注释方法,C99正式将//注释纳入C语言新标准。目前使用的一些编译系统(如Visual C++ 6.0, Turbo C++ 3.0, GCC)等都支持//单行注释。

例2:求两个整数之和。

解题思路:设置3个变量,a和b用来存放两个整数,sum用来存放和数。用赋值运算符“=”把相加的结果传送给sum。

编写程序:

#include<stdio.h>
int main()
{int a,b,sum;a=123;b=456;sum=a+b;printf("sum is %dn",sum);return 0;
}

运行结果:

sum is 579

然后换行,程序执行结束。

程序分析:本程序的作用是求两个整数a和b之和。第4行是声明部分,定义sum为整型(int)变量。第5、6行是两个赋值语句,使a和b的值分别为123和456.第7行使sum的值为a和b之和。第8行输出结果,这个printf函数圆括号内有两个参数,一个是双撇号中的内容sum is %dn,它是输出格式字符串,作用是输出用户希望输出的字符和输出的格式。其中sum is是用户希望输出的字符,%d是指定的输出格式,d表示用“十进制整数”形式输出。圆括号内第2个参数sum,表示要输出变量sum的值。在执行printf函数时,将sum变量的值取代双撇号中的%d。现在sum的值是579,所以在输出时十进制整数579取代了%d,n是换行符。

最后输出双撇号中的字符“sum is 579”,然后换行程序执行结束。

由于本程序正常运行和结束,因此main函数的返回值应为0.现在并没有去检查和利用这个函数值,但是以后在某些时候会需要用到main函数值的。

例3:求两个整数中的较大者。

解题思路:用一个函数来实现求两个整数中的较大者。在主函数中调用此函数并输出结果。

编写程序:

#include<stdio.h>
//主函数
int main()
{int max(int x, int y);int a, b, c;scanf("%d,%d",&a, &b);c=max(a, b);printf("max = %dn",c);return 0;
}
//求两个整数中的较大者的max函数
int max(int x, int y)   // 定义max函数,函数值为整型,形参x和y为整型
{ int z;              // max函数中的声明部分,定义本函数中用到的变量z为整型if(x>y) z=x;        //若x>y成立,将x的值赋给变量zelse z=y;           //否则(即x>y不成立),将y的值赋给变量zreturn(z);          //将z的值作为max函数值,返回到调用max函数的位置
}

运行结果:

8, 5

max=8

第1行输入8和5,赋给变量a和b,第2行输出“大数为8”。

程序分析

本程序包含两个函数:1.主函数main;2.被调用的函数max。

max函数的作用是将x和y中较大者的值赋给变量z。第16行return语句将z的值作为max的函数值,返回给调用max函数的函数(即主函数main)。返回值是通过函数名max带回到main函数中去的。

程序第5行是对被调用函数max的声明,为什么要作这个函数声明呢?因为在主函数中要调用max函数,而max函数的定义却在main函数之后,对程序的编译是自上而下进行的,在对程序第8行进行编译时,编译系统无法知道max是什么,因而无法把它作为函数调用处理。为了使编译系统能识别max函数,就要在调用max函数之前用“int max(int x ,int y);”,对max函数进行“声明”,所谓声明,通俗地说就是告诉编译系统max是什么,以及它的有关信息。

程序第7行scanf是输入函数的名字,该scanf函数的作用是输入变量a和b的值。scanf后面圆括号中包括两部分内容:一是双撇号中的内容,它指定输入的数据按什么格式输入。“%d”的含义是十进制整数形式。二是输入的数据准备放在哪里,即赋给哪个变量。现在,scanf函数中指定的是a和b,在a和b的前面各有一个&,在C语言中“&”是地址符,&a的含义是“变量a的地址”,&b是“变量b的地址”。执行scanf函数,从键盘读入两个整数,送到变量a和b的地址处,然后把这两个整数分别赋值给变量a和b。

程序第8行用max(a,b)调用max函数,在调用时将a和b作为max函数的参数的值分别传送给max函数中的参数x和y,然后执行max函数的函数体,使max函数中的变量z得到一个值(即x和y中大者的值),return(z)的作用是把z的值作为max函数值带回到程序第8行=的右侧,取代max(a,b),然后把这个值赋给变量c。

第9行输出结果。在执行printf函数时,对双撇号括起来的max=%dn是这样处理的:将max=原样输出,%d由变量c的值取代之,n执行换行。

搜索微信公众号【balayihuier】或扫描下方二维码关注微信公众号,资深软件工程师带你手把手撸代码,从此走上人生巅峰,迎娶白富美!

c语言输出行末无空格_三个简单的C语言程序相关推荐

  1. c语言输出行末不得有多余空格,2019年春季学期第四周作业

    这个作业属于哪个课程 C语言程序设计Ⅱ 我在这个课程的目标是 暂时是提高自主编程能力 这个作业在哪个具体方面帮助我实现目标 提高我的思维能力 参考文献 C语言程序设计(第3版) 题目一 冒泡法排序 输 ...

  2. c语言输出行末不得有多于空格,新人提问:如何将输出时每行最后一个空格删除...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何将每行最后一个空格删除,使矩阵只有数字间有空格,没有多余空格? #include #include int main() { int i,j,k,m, ...

  3. 行末没有空格c语言,新人提问:如何将输出时每行最后一个空格删除

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何将每行最后一个空格删除,使矩阵只有数字间有空格,没有多余空格? #include #include int main() { int i,j,k,m, ...

  4. c语言怎么让行末没有空格,新人提问:如何将输出时每行最后一个空格删除

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何将每行最后一个空格删除,使矩阵只有数字间有空格,没有多余空格? #include #include int main() { int i,j,k,m, ...

  5. c语言输出最后不带空格,新人提问:如何将输出时每行最后一个空格删除

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何将每行最后一个空格删除,使矩阵只有数字间有空格,没有多余空格? #include #include int main() { int i,j,k,m, ...

  6. 李丽娟c语言第四版教师书_来,把自学C语言经历的那些苦,都踩在脚下

    曾经,一口气买了一套各大语言的入门教程, 现在,我精通了各种语言的hello world: 曾经,心高气傲的以为能轻易编写程序或游戏, 现在,几道初级编程题就足以让我自闭: 曾经,觉得以自己的智商听老 ...

  7. 艾伟_转载:简单的自动更新程序实现

    本文将演示一种桌面程序自动更新方案,其步骤比较多,但原理非常简单,通用性尚可,对于小型应用来说,直接拿去就可以用了. 原理 服务器端的结构是这样的: 其工作原理如下: Update.asmx仅提供一个 ...

  8. 一个简单51c语言程序,三个简单的C语言程序(上)

    今天我们介绍三个最简单的C语言程序. 例1:要求在屏幕上输出下面一行信息:ThisisaCprogram. 解决方法:在主函数中使用printf函数,将以上单词原样输出. 写程序: 运行结果:This ...

  9. c语言怎么写出2次元方程,三次樣条C语言的实现.doc

    三次樣条C语言的实现 实验二 .三次样条C语言的实现 1.实验目的: 进一步熟悉三次样条插值法. 掌握编程语言字符处理程序的设计和调试技术. 2.实验要求: 已知:某些点的坐标以及初值条件. 输入:条 ...

最新文章

  1. [BZOJ 2425] 计数
  2. [原创] 浅谈ETL系统架构如何测试?
  3. springboot整合视图层Thymeleaf、freemarker
  4. SparkException: Python worker failed to connect back
  5. 新建第一个windows服务(Windows Service)
  6. 领导者/追随者(Leader/Followers)模型和半同步/半异步(half-sync/half-async)模型
  7. Linux 高可用(HA)集群之keepalived
  8. Filezilla 服务器发回了不可路由的地址。使用服务器地址代替
  9. 【JAVA基础篇】final、finally和finalize
  10. monkey测试小结
  11. sql语句分组mysql_MySQL GROUP BY 语句_sql语句group by_分组
  12. [2017-AspNet-MVC4] 案例演化:加法测试-1
  13. MFC (opencv配置) 应用程序无法正常启动(0xc000007b)请单击“确定关闭应用程序 的解决方法
  14. 2018年4月自考感想
  15. java 检测表情符号_java判断字符串是否是QQ表情
  16. 我的电脑被谁远程登陆过?怎么查看电脑远程登陆日志?
  17. ubyntu 链接mysql_ubuntu下mysql连接(转载)
  18. 有着奋斗比之都之称的杭州,现在还适不适合年轻人奋斗?
  19. 小米电视显示服务器故障,小米电视常见的三大问题分析及解决方法
  20. 计算机病毒查杀功能软件有哪些,计算机病毒查杀方法

热门文章

  1. Arcgis使用教程(六)ARCGIS空间数据查询
  2. 认识计算机教案流程图,流程图教案信息技术.doc
  3. 工作过程中积累的书签(链接)
  4. Unity 托管内存(Managed Memory)
  5. DEM数据获取、数据镶嵌、掩膜提取
  6. LoadRunner的函数全集
  7. 时序分析基本概念介绍--Timing Arc
  8. vivado2020报错:error when launching …vivao.bat…launcher time out“
  9. NS3网络仿真项目(三)—— Events Simulator
  10. thinkphp5+php微信公众号二维码扫码关注推广二维码事件实现