c语言及其程序设计李国和编

C语言永远不会过时

其实学编程关键是学习其思想,如果你精通了一门,再去学其他的时候也很容易上手。C不会过时的,尤其是在unix、linux操作平台上,学好C是必须的。

C跟C++在很多方面也是兼容的,c是c++的基础。

再者c能从很大的程度上帮你了解计算机的发展史,数据结构等方面的知识,很多软件、甚至操作系统中的很大部分是用c来实现的。

还有一些电器芯片的程序,比如电冰箱内制冷系统……可以说用c可以解决一切可能遇到的问题,关键是你要能精通它。

所以放开手脚去大胆的学吧,c永远不会过时

c语言及其程序设计李国和编(1)

本文介绍C语言程序设计的基本方法和基本的程序语句。

从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构、分支结构、循环结构。 这三种基本结构可以组成所有的各种复杂程序。C语言提供了多种语句来实现这些程序结构。 本章介绍这些基本语句及其应用,使读者对C程序有一个初步的认识, 为后面各章的学习打下基础。

c语言及其程序设计李国和编(2)

C程序的语句

C程序的执行部分是由语句组成的。 程序的功能也是由执行语句实现的。

C语句可分为以下五类:

1.表达式语句

2.函数调用语句

3.控制语句

4.复合语句

5.空语句

1.表达式语句

表达式语句由表达式加上分号“;”组成。其一般形式为: 表达式; 执行表达式语句就是计算表达式的值。例如: x=y+z; 赋值语句y+z; 加法运算语句,但计算结果不能保留,无实际意义i++; 自增1语句,i值增1

2.函数调用语句

由函数名、实际参数加上分号“;”组成。其一般形式为: 函数名; 执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值。例如printf;调用库函数,输出字符串。

3.控制语句

控制语句用于控制程序的流程, 以实现程序的各种结构方式。

它们由特定的语句定义符组成。C语言有九种控制语句。 可分成以下三类:

(1) 条件判断语句

if语句,switch语句

(2) 循环执行语句

do while语句,while语句,for语句

(3) 转向语句

break语句,goto语句,continue语句,return语句

c语言及其程序设计李国和编(3)

4.复合语句

把多个语句用括号{}括起来组成的一个语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语句,例如

{

x=y+z;

a=b+c;

printf(“%d%d”,x,a);

}

是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾,在括号“}”外不能加分号。

c语言及其程序设计李国和编(4)

5.空语句

只有分号“;”组成的语句称为空语句。 空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。例如 while!=' n'); 本语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。

赋值语句

赋值语句是由赋值表达式再加上分号构成的表达式语句。 其一般形式为: 变量=表达式; 赋值语句的功能和特点都与赋值表达式相同。 它是程序中使用最多的语句之一。 在赋值语句的使用中需要注意以下几点:

1.由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式 变量=; 是成立的,从而形成嵌套的情形。其展开之后的一般形式为: 变量=变量=…=表达式;

例如:

a=b=c=d=e=5;按照赋值运算符的右接合性,因此实际上等效于:

e=5;

d=e;

c=d;

b=c;

a=b;

2.注意在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。

3.在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的: int a=b=c=5 必须写为 int a=5,b=5,c=5; 而赋值语句允许连续赋值

4.注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。

下述语句是合法的: if0) z=x; 语句的功能是,若表达式x=y+5大于0则z=x。下述语句是非法的: if0) z=x; 因为=y+5;是语句,不能出现在表达式中。

c语言及其程序设计李国和编(5)

数据输出语句

本小节介绍的是向标准输出设备显示器输出数据的语句。在C语言中,所有的数据输入/输出都是由库函数完成的。 因此都是函数语句。本小节先介绍printf函数和putchar函数。printf函数printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”之意。其功能是按用户指定的格式, 把指定的数据显示到显示器屏幕上。在前面的例题中我们已多次使用过这个函数。

一、printf函数调用的一般形式

printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为: printf其中格式控制字符串用于指定输出格式。 格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%c”表示按字符型输出等。后面将专门给予讨论。

非格式字符串在输出时原样照印,在显示中起提示作用。 输出表列中给出了各个输出项, 要求格式字符串和各输出项在数量和类型上应该一一对应。

void main()

{

int a=88,b=89;

printf;

printf;

printf;

printf("a=%d,b=%d",a,b);

}

a--8,b--89

printf;

printf;

printf;

printf("a=%d,b=%d",a,b);

本例中四次输出了a,b的值,但由于格式控制串不同,输出的结果也不相同。第四行的输出语句格式控制串中,两格式串%d 之间加了一个空格,所以输出的a,b值之间有一个空格。第五行的printf语句格式控制串中加入的是非格式字符逗号, 因此输出的a,b值之间加了一个逗号。第六行的格式串要求按字符型输出 a,b值。第七行中为了提示输出结果又增加了非格式字符串。

【温馨提示】如果文章内容有帮助到您,别忘动动小手指分享给好友哦!

相关文章

  • 中国象棋含金量最高的比赛(谁是中国象棋界含金量最高的比赛得主).

    中国象棋含金量最高的比赛(谁是中国象棋界含金量最高的比赛得主)

    最近许多棋友都在讨论,中国象棋有哪些比赛项目奖金较高?有棋友说应该是全国象棋个人赛;有棋友说应该是世界象棋锦标赛;也有的棋友说是亚洲象棋锦标赛......总之各种答案层出不穷!为了解除棋友们心中疑惑,我特地做了相关查阅对比,得出近年来八大象棋高奖金赛事,这些比赛应该就是目前奖金最高的项目。1、楚河汉界世界棋王赛 冠军奖金100万

    2023-10-22 阅读 (595)
  • 越南象棋大师有几个(揭秘越南象棋大师的神秘世界,他们究竟有何过人之处).

    越南象棋大师有几个(揭秘越南象棋大师的神秘世界,他们究竟有何过人之处)

    作为海外象棋第一高手,王天一杭州队的前队友,越南首席棋王,国际特大赖理兄领衔一众越南高手厮杀棋软大赛。赖理兄的攻杀能力十分出众,曾经击败过多位中国全国冠军、特级大师、象棋大师。包括东北虎赵国荣,上海双侠孙勇征、谢靖等,都败于他手下。赖理兄此次软件大战一上来,就碰到了难惹的主,乃是拥有112核至强软件的至尊四哥,夺得过软件大赛的亚军。

    2023-10-22 阅读 (356)
  • 能摆残棋的象棋软件(如何用智能象棋软件破解残局难题).

    能摆残棋的象棋软件(如何用智能象棋软件破解残局难题)

    信息化高速发展的今天,很多培训机构都置办了管理系统来进行信息化管理,排课软件也是系统的功能之一。但棋类培训比较小众,开班棋类培训的校长们大多出于情怀和兴趣,因此,大部分棋类机构都还停留在原始的运营模式,比如采用传统的excel表格进行排课。开过棋类机构的人都知道,棋类培训远远不是学生来了,一对一下棋这么简单,要学的课程其实很多很多。

    2023-10-22 阅读 (272)
  • 楚河汉界游玩攻略(楚河汉界游玩攻略,如何跨越千年历史,重温楚汉争霸).

    楚河汉界游玩攻略(楚河汉界游玩攻略,如何跨越千年历史,重温楚汉争霸)

    周末带家人去荥阳楚河汉界景区转转,这么近的风景区一直没来过,看看2000多年前的古战场。 楚河汉界古战场旅游区(汉霸二王城)位于广武山上,南靠崇山峻岭,北濒滔滔黄河,东为黄淮平原,西有虎牢关锁峙,进可攻退可守,为历代得天下者所必争,是我国著名的古战场之一。公元前206---203年,楚汉之争的主战场就在这里。

    2023-10-22 阅读 (129)
  • 许晨阳获顶级数学大奖(许晨阳荣获全球顶级数学大奖——费马奖,他是如何做到的).

    许晨阳获顶级数学大奖(许晨阳荣获全球顶级数学大奖——费马奖,他是如何做到的)

    10月17日,澎湃新闻(www.thepaper.cn)获悉,科学领域内单项奖金最高的“突破奖”(breakthrough prizes)揭晓了7个价值300万美元的奖项,华裔科学家庄小威和陈志坚摘得其中两个生物领域的大奖。此外,青年代数几何学家许晨阳获颁“突破奖”下设的子奖项“数学新视野奖”(new horizons)。

    2023-10-22 阅读 (69)
  • 中国象棋棋盘c语言代码(如何用 C 语言编写智能中国象棋棋盘程序).

    中国象棋棋盘c语言代码(如何用 C 语言编写智能中国象棋棋盘程序)

    使用位字段和掩码是不用数据结构组合数据的常用方法。假设你在用 c 语言写一个国际象棋游戏。追踪棋盘上棋子的一种方法是定义一个结构,该结构定义了棋盘上每个可能的棋子及其颜色,因此每个格子都包含该结构中的一个元素。例如,你可以将结构定义成下面这样:structchess_pc {int piece; int

    2023-11-11 阅读 (51)
  • 梦百合杯中国棋手包揽八强(梦百合杯中国棋手再创辉煌,八强席卷全球谁能敌).

    梦百合杯中国棋手包揽八强(梦百合杯中国棋手再创辉煌,八强席卷全球谁能敌)

    8月6日下午,第五届“梦百合”杯世界围棋公开赛本赛16强赛在郑州战罢,中国棋手在三盘外战中全部获胜,包揽本次比赛八强。中国棋手包揽八强16强赛焦点来自中韩两国选手对决,被棋迷誉为“轩工智能”的李轩豪九段延续良好状态,韩国围棋第一人“申工智能”申真谞九段尽管势头强劲,但最终中盘认负。中国世界冠军党毅飞九段的对手朴键昊七段近期在多个世界大赛的状态与成绩都不错,但党毅飞一直耐心与朴键昊周旋,弈至216手朴键昊七段认负。

    2023-10-22 阅读 (42)
  • 象棋5-1是什么水平(棋艺精湛,5-1等级的象棋高手究竟有多厉害).

    象棋5-1是什么水平(棋艺精湛,5-1等级的象棋高手究竟有多厉害)

    没有老师教,自己一个人琢磨象棋其实很难的,升级的路很坎坷,今天与棋友们分享我学棋的经历。有朋友在我的文章中留言说我5年时间能达到业余9级进步还是蛮快的,我却从来没有觉得自己进步快,反倒觉得太慢了。其实业余9级算不上什么高手,只是一个普通爱好者的水平罢了,需要学习的东西还有很多,再进步还需要磨练。刚学棋是最难的时候,什么规则啦,运子方法啦,一窍不通。

    2023-10-22 阅读 (25)
  • 钱天一说乒羽一家亲(钱天一说乒羽一家亲,那么,这个夏季,你准备好乒羽同场竞技了吗).

    钱天一说乒羽一家亲(钱天一说乒羽一家亲,那么,这个夏季,你准备好乒羽同场竞技了吗)

    德班世乒赛已经结束了一段时间,但是乒乓球的热度不减。在这次世乒赛,中国乒乓球队再次展现了国球风采,包揽全部5项冠军;女单包揽冠亚军,男单甚至还包揽了前四名,三项双打因为派出的选手少,但是也没让外协会选手染指金牌。有人欢喜有人忧。国乒包揽世乒赛5枚金牌,又在国际乒联引来一片非议和指责,刘国梁再次承受了来自外协会乒联高层的不小压力。

    2023-10-22 阅读 (15)
  • 中国象棋国手有东方电脑之称(谁是中国象棋的东方电脑).

    中国象棋国手有东方电脑之称(谁是中国象棋的东方电脑)

    当今世界,能称棋王的能有几个人,以下个个身怀绝技,可否称王?以下候选人谁能胜任呢1、胡荣华,胡司令胡荣华是中国象棋界的一代宗师,当代象棋学派的主要奠基人,20世纪最杰出的象棋手之一。胡荣华称雄棋坛四十余年,至2000年底保持着四个第一:十五岁成为最小的全国冠军,唯一成为十连霸的棋手,唯一获得十四届全国个人冠军的棋手,唯一称雄棋坛四十余年的棋手。

    2023-10-22 阅读 (15)