习题 1
1. 简答题
(1)简述编辑、编译、连接、运行一个C语言程序的步骤
写好一个C语言源程序后,一般要经过编辑、编译、连接、运行才能得到程序结果。
1) 编辑:在文本编辑器中,用C语言语法编写源程序代码。扩展名为.c。
2) 编译:通过编译器将源程序转换成机器代码,生成目标程序(*.obj),在C语言源程序的编译过程中,可以检查出程序中的语法错误。
3) 连接:C语言是模块化程序设计语言,一个C语言应用程序可能由多个程序设计者分工合作完成,需要将所用到的库函数以及其他目标程序连接为一个整体,生成可执行文件(*.exe)。
4) 运行:运行可执行文件后,可获得程序运行结果。
(2)C程序的结构是由哪几个部分组成的?
一个源程序可以有一个或多个函数组成,而且都有且只有一个main函数,即主函数,C语言的程序总是从主函数开始执行
1) 源程序中可以有预处理命令,预处理命令通常放在源文件或源程序的最前面
2) 每一个语句都必须以分号结束,但预处理命令、函数头和花括号之后不加分号。
3) 标识符和关键字之间,至少要加一个空格。
源程序中需要解释和说明的部分,可以用“/*......*/加以注释,以增加程序的可读性。
(3)C语言中常用的表示算法的工具有哪些?
流程图描述
N—S图(框图)描述
伪代码描述
(4)算法的特点是什么?
1) 有穷性
2) 确定性
3) 有效性
4) 有零个输入或多个输入
5) 有一个或多个输出
(5)设计一个程序,一般要经过几个步骤?
写好一个C语言源程序后,一般要经过编辑、编译、连接、运行才能得到程序结果。
2.编程题
(1)试编写一个C程序并上机调试,运行后能输出以下信息:
**************************************
This is my first program.
**************************************
#include <stdio.h>
void main()
{
printf("*******************************\n");
printf("This is my program.\n");
printf("*******************************\n");
}
(2)参照例1.2编写一个程序并上机调试,求x的余弦值并输出。
#include <stdio.h>
#include <math.h>
void main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=cos(x);
printf("cos of %lf is %lf\n",x,s);}
习 题 2
1.简答题
查阅资料回答:C语言为什么规定对所有用到的变量都要“先定义,后使用”?这样做有什么好
处?
首先要声明一个变量的存在,然后才能使用它。要定义一个变量需要提供变量的名字和它的类型,其目的是由变量的类型决定变量的存储结构,以便使C语言的编译程序为所定义的变量分配相应数目的存储单元。
2.讨论题(略)
(1) 定义变量时一定要赋初值吗?不赋初值的变量一定不能用吗?
(2) 自如变量只能与整型数据进行运算吗?
(3) 不同类型数据之间在进行运算时,结果类型应该如何确定?
3.选择题
(1) 以下正确的C语言标识符是(C )
A.%X B.a+b C.a123 D.test!
(2) 已定义int a,b;则以下不正确的C语句是( D )
A.a*=5; B.b/=2; C.a+=1.75; D.b&&=a;
(3) 若x、i、j和k都是整型变量,则执行下面表达式后x的值为(C)
x=(i=4,j=16,k=32)
A.4 B.16 C.32 D.52
(4)C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(D )
A.必须是字母 B.必须为下划线
C.必须为字母或下划线 D.可以是字母、数字、下划线中的任一字符
(5)下面正确的字符常量是( C)
A.“c” B.’\\” C.‘w’ D.”
(6)设int a=2,b=0,c;则执行语句c+=b&&a—后,a的结果为( 2),c的结果为(不确定)。
A.0,1 B.1,0 C.2,0 D.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
1. 简答题
(1) 在使用输入输出函数时,若不写上预处理命令,对程序执行的结果有何影响?
ANSI C标准规定,C源程序中可以加入一些预处理命令,以改进程序设计环境,提高编程效率。预处理命令不是C语言本身的组成部分,所以在使用时以"#"开头,以示和C语句的区别。
编译程序在对源程序编译之前首先对预处理命令进行处理(称为预处理),将其替换成具有实际意义的内容,然后再进行编译.
(2)在C语言中,我们经常使用的语句有哪些?
C语句可分为以下五类:表达式语句、函数调用语句、控制语句、复合语句、空语句。
2. 选择题
(1) 阅读下列程序,当输入数据的形式为:25,13,10,正确的输出结果为(A)
#include <stdio.h>
main()
{int x,y,z;
scanf(“%d,%,d%d”,&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);
}
A.x+y+z=48 B.x+y+z=35 C.x +z=35 D.不确定值
(2) 以下程序的运行结果是( D)
#include <stdio.h>
main()
{int a=2,b=5;
printf(“a=%%d,b=%%d”,a,b);
}
A.a=%2,b=%5 B.a=2,b=5
C.a=%%d,b=%%d D.A=%d,b=%d
(3) putchar函数可以向终端输出一个(D )
A.整型变量表达式值 B.实型变量值
C.字符串 D.字符或字符型变量值
(4)已知有定义 int a=-2;和输出语句printf(“%8lx”,a);以下正确的叙述是(C)
A. 整型变量的输出格式只有%d一种。
B. %x是格式符的一种,它可以适用于任何一种类型的数据。
C.%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的。D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
(5)已知ch是字符型变量,下面不正确的赋值语句是(A)
A.ch=‘a+b’ B.ch=’\0’ C.ch=’7’+’9’ D.Ch=7+9
3. 分析程序、上机操作并填空
(1) 以下程序的输出结果是*3.140000,3.142*
main()
{
printf(“*%f,%4.3f*\n”,3.14,3.1415);
}
(2)以下程序的输出结果是a=+00325 x=+3.1415926e+00
#include <stdio.h>
main()
{
int a=325;
double x=3.1415926;
printf(“a=%+06d x=%+e\n”,a,x);
}
(3)若x为int型变量,则执行下列语句后x的值是-14
x=7;
x+=x-=x+x;
4.编程题
(1) 求ax2+bx+c=0的根,a、b、c的值由键盘输入。
#include <math.h>
main()
{
double x0,x1;
double a,b,c;
printf("Input a:\n");
scanf("%lf",&a);
printf("Input b:\n");
scanf("%lf",&b);
printf("Input c:\n");
scanf("%lf",&c);
x0=(-b+sqrt(b*b-4*a*c))/2.0/a;
x1=(-b-sqrt(b*b-4*a*c))/2.0/a;
printf("x0=%f,x1=%f\n",x0,x1);
}
(2) 将一个3位正整数,正确分离出它的个位、十位、百位数字,并将结果分别显示在屏幕上。
main()
{
int Value;
printf("please input value:\n");
scanf("%3d",&Value);
printf("GeWei is:%d,ShiWei is:%d,BaiWei is:%d\n",Value%10,Value%100/10,Value/100);
}
习 题 4
1. 讨论题(略)
(1) 考嵌套if语句与多分之的if语句有何区别,举例说明在实际编写程序过程中,这两种选择语句能否用来解决相同的问题?
(2)条件表达式在有些情况下可以替换if语句为某一个变量赋值,请问是否所有的选择结构语句均可以用条件表达式替换?如果能,试举例说明怎样替换。
2. 选择题
(1c语言编译器怎么用文件格式提交作业)逻辑运算符两侧运算对象的数据类型(D )
A.只能是0或1 B.只能是0或非0正数
C.只能是整型或字符型数据 D.可以是任意类型的数据
(2)判断char型变量ch是否为大写字母的正确表达式是(C)
A.‘A’<=ch<=‘Z’ B.( ch>=‘A’)& (ch<=‘Z’)
C.( ch>=‘A’)&& (ch<=‘Z’) D.( ch>=‘A’)AND(ch<=‘Z’)
(3)已知int x=10,y=20,z=30;以下语句执行后x、y、z的值是(B)
if(x>y)
z=x;x=y;y=z;
A.x=10,y=20,z=30 B.x=20,y=30,z=30
C.x=20,y=30,z=10 D.x=20,y=30,z=20
(4)当a=1,b=3,c=5,d=4时,执行完下面的程序段后x的值为( B )
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论