C语言第四堂课作业

来源:互联网 发布:淘宝达人帖子范文 编辑:程序博客网 时间:2024/05/18 00:18


作业1
目标:了解自己常用的IDE
提示:集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,主要用于C++、C#和VB语言的开发;IBM的Eclipse 也是一个IDE,主要用于Java开发。
作业1题,描述自己常用的IDE特点

答: 我的常用IDE是微软的Visual Studio2012,Visual Studio2012是微软公司推出的开发环境,是最流行的Windows平台应用程序开发环境,是一款优秀智能的开发工具,不仅能满足用户体验的需要,同时能够支持更多的新技术架构刚装上时并不太会用它,反而被它的许多复杂的按键给搅混了。随着慢慢的学习,越来越觉得很好用的。首先在写代码时可以智能的显示出来一些函数名或者其它常用的符号,以及在运行时比较简单,有错误时,会有详细的解释和错误地方的解释和错误地方的指示,这是我认为最方便的地方了。
------------------------------------题目分割线------------------------------------
作业2
目标:了解C 程序的加工和执行过程
提示:程序设计是一种智力劳动,编程序就是解决问题。初学程序设计时写的是很简单的程序,与做一道数学应用题或物理练习题有类似之处。编程序时面对的是一个需要解决的问题,要完成的是一个符合题目要求的程序。一般说,解决问题的过程可分为三步:第一步是分析问题,设计一种解决方案;第二步是通过程序语言严格描述这个解决方案;第三步,在计算机上试用这个程序,运行它,看是否真能解决问题。如果在第三步发现错误,那么就需要仔细分析错误原因,弄清后退到前面步骤去纠正错误。如果发现程序有问题,那就要修改它,然后重新编译运行和检查;最终得到可执行程序
作业2题,参考下图描述的程序设计过程,说明每个过程的主要工作内容,如,由软件工程师分析问题....IDE负责编译程序代码....

.

答:分析问题:软件工程师负责分析问题,先想出解决问题的具体方案和流程。

编制程序:创建或修改c源程序文件的过程,c源程序以文本的形式储存在电脑上,文件名为.c或.cpp。

编译:c语言是高级语言,其源程序必须经过编译程序对其进行编译,生成目标程序,目标程序文件的扩展名为.obj。

连接:编译生成的目标程序机器可以识别,但不能直接执行,由于程序中使用到一些系统库函数,还需将目标程序与系统库文件进行连接,经过连接后,生成一个完整的可执行的程序,可执行程序的扩展名为.exe。

运行:c源程序经过编译、连接后生成的可执行文件,可脱离编译系统直接执行。

------------------------------------题目分割线------------------------------------

作业3
目标:理解变量
提示:程序变量简称为变量。程序变量是表述数据存储的基本概念,是 C 语言以及各种常规程序设计语言中的一个重要概念。我们应该知道,电脑主要用于处理数据:如字符、整数和浮点数。处理前,你必须存储这些数据。大部分程序设计语言把数据存储在变量(variable)中。在计算机硬件层,程序运行中的数据存储靠内存、存储地址等一系列机制实现,这些机制在程序语言层的反映就是程序变量的概念。程序变量与数学中的变量是完全不同的概念。 一个程序变量可以看作一个容器,程序运行中可以将有关的数据存入变量中。程序里的每个变量都有一个名字,在程序中可以通过名字使用相应的变量,进而使用存储在这个变量里的数据。 对变量的基本操作有两个: 1.  将数据值存入变量中。这个操作称作给变量赋值。程序语言对于怎样给一个变量赋值,能赋什么值往往有一些限制,具体语言常有具体的规定;2.  取得变量里当时保存的值,以便在计算过程中使用。这个操作称为“取值”。
作业3.1题:下面的字符序列中哪些不是合法的变量名,为什么?:
1) -abc
2) __aa
3) for
4) pp.288
5) tobe
6) IBM/PC
7) ms-c
8) #micro
9) m%ust
10) tihs
11) while
12) r24_s25
13) __a__b
14) a"bc
15) _345

分析:1)变量只能由字母数字和下划线组成;3)与已知定义重复;4)变量只能由字母数字和下划线组成;6),7),8),9)变量只能由字母数字和下划线组成;11)与已知定义重复;14)变量只能由字母数字和下划线组成

答:1、3、4、6、7、8、9、11、13、14

------------------------------------题目分割线------------------------------------
作业3.2题:每个变量都必须先定义,然后才能使用。定义变量需要提供两方面信息:变量名和变量类型,下面是常用的变量类型,请描述每个类型的特点和使用场景,如int的特点是保存整数,常用于年龄、月份等数据的保存。
1) 整型 int      答:保存整数,常用于年龄、月份等数据的保存
2) 无符号整型unsigned int      答:可以存放的正数范围比有符号整型中的范围大一倍,在一些不可能取值为负数的时候,可以定义为unsigned,在一些底层的嵌入式编程的数据一般都是无符号的
3) 短整型 short  int      用于存储整数,二进制位长是16,占用两个字节,所能表示的整数的值域为-32768~32767

4) 长整型 long int      用于存储整数,二进制位长是32,占用4个字节,所能表示的整数的值域为-2147483648~2147483647
5) 无符号长整型 unsigned  int        存储整数,不代表正负,大小比普通长整大,但同时也失去了表示负数的功能
6) 字符型 char      用于存放字符常量,一个字符变量中只能存放一个字符,在内存中占一个字节的空间
7) 无符号字符型 unsigned char     实际上是1个字节无符号整型,可以用来描述ASCII 字符编码0到255
8) 单精度 float      在C++中,专指占用32位存储空间的单精度值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。例如,当表示美元和分时,单精度浮点型是有用的
9) 双精度double       用来表示带有小数部分的实数,一般用于科学计算,用8个字节(64位)存储空间,其数值范围为1.7E-308~1.7E+308,双精度浮点数最多有15或16位十进制有效数字,双精度浮点数的指数用“D”或“d”表示,如double i= 0d。所有超出人类经验的数学函数,如sin( ),cos( ) ,和sqrt( )均返回双精度的值
10) 长双精度 long double      比double 更加精确的类型
------------------------------------题目分割线------------------------------------
作业4
目标:熟悉字符数组与字符串
提示:字符数组以字符为元素的数组,用于保存字符串和文本。字符数组的定义和初始化语句是:char tip[10] = "Good Job!";输出字符串对应的缩写方法是:printf("%c%c\n",tip[0],tip[5]). 注意"Good Job!"之间有空格。
作业4题:编写一段程序,将你的名字全拼音保存到字符数组,如 wangxiaoming(王小明),并输出姓和名的第一个字母,如wxm:

我的程序:

#include<stdio.h>void main(){char tip[10]="yangchen";    printf("%c %c\n",tip[0],tip[4]);}

运行结果截图:



------------------------------------题目分割线------------------------------------

作业5
目标:了解简单的预处理指令
提示:预处理命令以独立的命令行形式出现。#符号是其特殊引导符号,预处理器指令总是以符号#开始,如果源程序里某行的第一个非空格符号是#,那么这行就是预处理命令行。预处理命令的作用是要求预处理程序完成一些操作,预处理命令只在编译程序时发生作用,不会在运行时产生任何行为。
其中,以  #include  开始的行,这就是文件包含命令,其作用是把指定文件的内容包含到当前源文件里来;
而以 #define 开始的行称为宏定义命令行。简单宏定义的形式是:“ #define  宏名字  替代正文” 。编译时,编译器发现正文中遇到已定义的宏名字,就用对应的替代正文替换它,这种操作称为宏展开或宏替换。
作业5题:对以下代码进行宏替换,使其看起来像编译后的效果

#include <stdio.h>#define  TEL5  139133    // 手机号码头五位#define  PI  3.1415926int main(){   printf("%d\n",TEL5);   printf("%f\n",PI);}
替换后:
#include <stdio.h>#define  TEL5  139133    // 手机号码头五位#define  PI  3.1415926int main(){   printf("%d\n",139133);   printf("%f\n",3.1415926);}

作业6
目标:掌握C语言运算符和表达式
提示:C语言通过运算符和表达式进行运算,在 C 语言程序里,描述计算的最基本结构是表达式,表达式由被计算的对象(例如温度)和表示运算的特殊符号(+、-)按照一定的规则构造而成;
另,如果某个运算符的运算对象具有不同类型时,就出现了混合类型计算,例如表达式:3.27 + 201 这里的一个运算对象是浮点类型,而另一个运算对象是 int 类型,计算过程中发生了类型转换,类型转换也是“运算”是暂时将变量的数据类型改变为另一种;
作业6.1 题利用程序计算下列表达式的值: 
1)    25 + 0125 
2)  24 * 3 / 5 + 6  
3)  36 + - (5 - 23 ) / 4
4)  35 * 012 + 27 / 4 / 7 * (12 - 4)

我的程序:

#include<stdio.h>void main(){int a,b,c,d;a=25 + 0125;b=24 * 3 / 5 + 6;c=36 + - (5 - 23 ) / 4;d=35 * 012 + 27 / 4 / 7 * (12 - 4);printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d);}
运行结果截图:



作业6.2题 在下面表达式的计算过程中,在什么地方将发生类型转换,各个转换是从什么类型转换
到什么类型,表达式计算的结果是什么? 
  1)3 * (2L + 4.5f) - 012 + 44 
  2)3 * (int)sqrt(144.0) 
  3)cos(2.5f + 4) - 6 *27L + 1526 - 2.4L 

我的程序:

#include<stdio.h>#include<math.h>void main(){int a,b,c;    a=3 * (2L + 4.5f) - 012 + 44;     b=3 * (int)sqrt(144.0) ;    c=cos(2.5f + 4) - 6 *27L + 1526 - 2.4L; printf("a=%d\n b=%d\n c=%d\n",a,b,c);}

运行结果截图:




------------------------------------题目分割线------------------------------------
作业7 阅读博客
"一个人的命运决定于每天晚上8点到10点之间:
http://www.cnblogs.com/zhoujie/archive/2013/03/27/article1.html"
要求:针对“一个人的命运决定于每天晚上8点到10点之间”发表感慨、必须真实,感慨字数大于100,小于200!