C语言课后作业
习题 1
简答题
(1)简述编辑、编译、连接、运行一个C语言程序的步骤
写好一个C语言源程序后,一般要经过编辑、编译、连接、运行才能得到程序结果。
编辑:在文本编辑器中,用C语言语法编写源程序代码。扩展名为.c。
编译:通过编译器将源程序转换成机器代码,生成目标程序(*.obj),在C语言源程序的编译过程中,可以检查出程序中的语法错误。
连接:C语言是模块化程序设计语言,一个C语言应用程序可能由多个程序设计者分工合作完成,需要将所用到的库函数以及其他目标程序连接为一个整体,生成可执行文件(*.exe)。
运行:运行可执行文件后,可获得程序运行结果。
(2)C程序的结构是由哪几个部分组成的?
一个源程序可以有一个或多个函数组成,而且都有且只有一个main函数,即主函数,C语言的程序总是从主函数开始执行
源程序中可以有预处理命令,预处理命令通常放在源文件或源程序的最前面
每一个语句都必须以分号结束,但预处理命令、函数头和花括号之后不加分号。
标识符和关键字之间,至少要加一个空格。
源程序中需要解释和说明的部分,可以用“/*......*/加以注释,以增加程序的可读性。
(3)C语言中常用的表示算法的工具有哪些?
流程图描述
N—S图(框图)描述
伪代码描述
(4)算法的特点是什么?
有穷性
确定性
有效性
有零个输入或多个输入
有一个或多个输出
(5)设计一个程序,一般要经过几个步骤?
写好一个C语言源程序后,一般要经过编辑、编译、连接、运行才能得到程序结果。
2.编程题
(1)试编写一个C程序并上机调试,运行后能输出以下信息:
**************************************
This is my first program.
**************************************
#include
void main()
{
printf("*******************************\n");
printf("This is my program.\n");
printf("*******************************\n");
}
(2)参照例1.2编写一个程序并上机调试,求x的余弦值并输出。
#include
#include
void main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=cos(x);
printf("cos of %lf is %lf\n",x,s);}
习 题” B.’\\”C.‘w’D.”
(6)设int a=2,b=0,c;则执行语句c+=b&&a—后,a的结果为( 2),c的结果为(不确定)。
A.0,1 B.1,0C.2,0D.1,1
4.上机操作题
(1)分析程序并上机操作。下列程序的运行结果是什么?
main()
{
int x=5;
int y=10;
printf(“%d\n”,x++);
printf(“%d\n”, ++y);
}
结果是:x=5,y=11
(2)从键盘上输入学生5门功课的成绩,计算出总成绩和平均成绩并输出。
main()
{
int i;
double total,avg,score;
total=0;
for(i=0;i<5;i++)
{
printf("Input score of %d:\n",i+1);
scanf("%lf",&score);
total=total+score;
}
printf("Total score is :%f,avage score is:%f\n",total,total/5);
}
习题 3
简答题
在使用输入输出函数时,若不写上预处理命令,对程序执行的结果有何影响?
ANSI C标准规定C源程序中可以加入一些预处理命令,以改进程序设计环境,提高编程效率预处理命令不是C语言本身的组成部分所以在使用时以"#"开头,以示和C语句的区别编译程序在对源程序编译之前首先对预处理命令进行处理(称为预处理),将其替换成具有实际意义的内容,然后再进行编译.“%d,%,d%d”,&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);
}
A.x+y+z=48B.x+y+z=35C.x +z=35D.不确定值
以下程序的运行结果是( D)
#include
main()
{int a=2,b=5;
printf(“a=%%d,b=%%d”,a,b);
}
A.a=%2