c程序第三篇3

来源:互联网 发布:成都java培训机构排名 编辑:程序博客网 时间:2024/06/05 19:03

关于复习题的解答:

取模运算%,只能用于整数。取模运算得到的结果是负数还是正数,取决于被除数

在表达式中,他会自动类型转换,但是输出的时候还是会按照你输出的格式输出

隐式类型的转换就是不带转换类型的转换,也就是自动转换,比如赋值号。

显示转换就是强制类型转换。

下面是习题3.3的一些解答:代码如下:


结果:


这里也说明了一点,逻辑与&&比逻辑或||的优先级大


a++:注意是先使用,后自增

++a:先自增,后使用

代码:我们看一下下面程序输出什么?


结果:


会把相应的整数当成字符的ascii码来处理

代码;我们看一下,下面的程序会输出什么内容


代码:看看程序输出什么?


结果是:1

代码:看看下面程序输出什么?


永远会输出x<=y,因为在if条件判断里面,x没有明确指定是什么类型,所以,始终会返回一个假,它在内存里面开辟不了一个内存空间来与一个变量进行比较。


对于m++或者++m,在循环当中没什么差别

代码:看看下面代码输出什么?


结果:

-40

40

从这道题里面我们应该明白一些东西:

我开始都认为两个结果都应该是0,因为乘法的优先级大于除法,所以,先算n*10,再算除法,Ok,错了啊,乘除预算,从左往右的运算,具有结合性。

下面我们进入编程练习:

这里我还想说一点就是,c语言变量的声明必须放在main的开头,否则会提示没有声明标识符

3.5题拿出来说一下:

给定一个数,按照如下的格式进行输出,限定数的长度,最长4

比如5678

678

78

8


这里我想说明一个问题就是,在c语言里面,是不支持,比如这种0<x<100,这种智能比较大小的,如果你要比较一个数的范围,应该这样来写,x>0&&x<100.

看看下面的代码:


这里再说一遍,结合性,可以理解为同一级的运算符的运算方向,不是代表同一级的优先级

需求:请编写一个程序,读取一个四位数字的整数,然后显示这4个数字之和,


需求:编写一个程序,求三个数字和,平均值,最大值,最小值



需求:判断一个整数是奇数,还是偶数,


需求:判断给定的一个数是不是素数?

素数:只能被1和自己整除的数,就是素数,最小的素数是2


>>下面我们进入到第四章的输入输出操作管理

需求1:打印如下的一张库存表,注意里面的code,quantity,rate是循环输入的。




说明里面code[5][5],这里为什么用二维数组,因为我们在传入的时候,code[0],code[1]...保存的就是搜地址,所以在用scanf传入值的时候,我们就不需要加入&符号了。

>>在这里我做一点说明,因为大家都是有基础的,所以完整的走一遍基础还是比较困难的。我们把第五章第六章的内容一起总结如下,所有的代码也如下。

需求:你输入一些计算机的价格,计算它的平均售价以及他的价格范围

价格范围=最大值-最小值

代码:


这里面最主要的一个关键就是,判断当输入的value小于0的时候,如何停止执行这个程序。

下面我们还要来看一个案例:

需求:计算一个公司的账单

Level:级别 jobnumber:工作号gross:总工资basic:基本工资house_rent:住房补贴

net:净工资 incometax:所得税

总工资=基本工资+住房补贴+额外补贴(交通补贴+款待补贴)

净工资=总工资-所得税

要求:读取一个工作人员的工作号、级别及基本工资,然后计算扣除所得税的净工资




注意:一个else,总是与最近没有终止的If语句相匹配

Switch表达式是一个整数表达式或者字符,不可以是任意的类型。


上面的程序中!x就是假,会执行else后面的语句。

我们看一下,下面的测试代码:


结果:z=1,y=1;

总结:不管是在判断里面,还是在循环里面,当值为0的时候就返回假。

需求:打印如下的三角形,叫做弗洛伊德三角形;



还有就是打印如下由01构成的弗洛伊德三角形



//上面的代码,我们可以随便的控制列数

需求:计算并显示位于0100之间能被6整除的数,但不能被4整除的所有整数之和


需求:读取一个整数并判断是不是素数,然后做相应的输出


注意:for循环里面的counta会多一次,比如i1=4,那么a最终结果就是4for循环会循环3次,count就会变成5,当然,这种情况的讨论是在不是素数的前提下。

需求:计算100200之间素数的个数

素数:不能被2到本身开方之间任意整数整除的整除


注意:循环之后,循环变量是大于最后终止的数的。



0 0
原创粉丝点击