C语言知识第4章5 王厚财

发布 2019-06-26 18:45:57 阅读 2252

for(j=1;j<=2*i-1;j内层循环用于控制在一行上输出的"*"号的个数*/

printf输出星号*/

printf("换行*/

编写图形的程序的规律:

外层的循环控制图形的行数,内层循环分为三步:

每行前的空格数。

每行的图形。

输出换行。

例4.21 百钱百鸡问题:中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡问题”:

鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各多少只?

程序如下:main()

int x,y,z;

int i=0;

for(x=0;x<20;x外层循环控制公鸡数*/

for(y=0;y<=33;y内层循环控制母鸡数*/

printf("");

思考题:若要打印完整的九九乘法表,应该如何修改以上程序?

例4.26 求任意范围内的全部素数。

#include""

main()

int start,end,i,j,flag,count=0;

do例4.28 输入一行字符,要求输出其相应的密码。将电文变成密码的规律为:

字母变成其后的第4个字母,如图4.23所示。大小写字母分别按上述规律转换,非字母字符不变。

程序如下:#include<>

main()

char c;

while((c=getchar())n')

if((c>='a'&&c<='z')|c>='a'&&c<='z'))判定它是否大写字母或小写字母*/

c=c+4若是字母,则将其值加4(变成其后的第4个字母)*/

if(c>'z'&&c<='z'+4||c>'z') c=c-26; /原来的字母在v(或v)之后,应按图4.25所示的规律将它转换为a~d(或a~d)之一*/

printf("%c",c);

运行结果如下:

computer!

gsqtyxiv!

有一点请读者注意:内嵌的if语句不能写成。

if(c>'z'||c>'z') c=c-26;

因为当字母为小写时都满足“c>‘z’”条件,从而也执行“c=c-26;”语句,这就会出错。因此必须限制其范围为“c>‘z’ &c<=‘z’+4”。请考虑:

为什么对小写字母不按此处理,即写成c>'z' &c<='z'+4,而只须写成“c>‘z’”即可?

1.结构化程序就是用高级语言表示结构化算法。结构化算法有三种基本结构:

顺序结构、选择结构、循环结构。为了得到结构化程序一般采用“自顶向下,逐步求精,模块化设计,结构化编码”的设计方法。

2.根据表现形式及功能的不同,c的基本语句可以划分为5大类:空语句、复合语句、流程控制语句、函数调用语句及表达式语句。

3.顺序结构是结构化程序设计中最简单、最常见的一种程序结构,由输入数据、数据处理、输出结果三部分组成。程序按照各语句出现的次序顺序执行。

4.设计选择结构程序时,可以用if语句或switch语句实现选择结构,注意两种语句的使用格式。

5.循环结构程序的设计就是要正确描述循环继续的条件并对问题分析出其规律性,利用while、do-while、for、continue及break语句等循环控制语句实现其处理。在循环条件中必须有结束循环的条件,否则就成为“死循环”。

后面的括号中表示条件的表达式可以为任意合法的c表达式。例如:while(1)、if(!x)、while(x=1)等。

1.将关系、算术、逻辑等运算符的优先级搞错,以致使表达式的结果错误。

2.在逻辑与(或)运算中,若运算符左边表达式的值为0(或1)时,错误地计算运算符右边表达式的值。

语句中漏写break语句,而使程序结果错误。

语句中的循环条件设置有误致使循环次数多一次。

5.省略for语句的条件表达式时,将其间的分号漏掉,或将分号写成逗号,造成错误。

6.弄不清continue语句与break语句的区别,使程序出错。

7.忘记写do-while语句中的while(表达式)后的分号“;”

8在while()后,for()后加分号,错误地使用循环体为空语句,导致程序不能得到正确结果。

例如:误将:while(表达式) 写成:while(表达式);

循环体循环体}

9.在if、while、for后面的表达式中,误将“==写成“=”使表达式的值恒为非0或恒为0。例如,误将if(x==1)写成if(x=1)。

10.将诸如表达式“x==0”、“x”等误解成x为0时表达式的值为假。

第3章C语言顺序结构

第三章基本语句。本章要求 1.表达式语句,空语句,复合语句。2.数据的输入与输出,输入,输出函数的调用。语句概述。程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的。3.1 赋值语句。赋值语句 是由赋值表达式再加上分号构成的表达式语句。它的一般格式是 变量 表达式 注意 由于赋值符 右边的...

作业解答第5章

第5章时变电磁场和平面电磁波。5.4 5.1 4 将下列场矢量的瞬时值变换为复矢量,或作相反的变换 a b c d 解 a b c d 5.5 5.2 1 已知自由空间某点的电场强度,求。a 磁场强度 b 坡印廷矢量及其一周t 2 内的平均值。解 a 由得。式中 b 或。5.8 5.3 2同轴线内导...

C语言语法知识

4.1c语句概述。一 一个函数包括声明部分和执行部分 语句 二 c语句可以分为以下5类 1 控制语句,完成一定的控制功能。c只有9种控制语句,它们是 if else 条件语句 for 循环语句 hile 循环语句 do hile 循环语句 continue 结束本次循环语句 break 中止执行sw...