春季学期C语言程学设计教材习题18章文档格式.docx
- 文档编号:18891867
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:67
- 大小:70.72KB
春季学期C语言程学设计教材习题18章文档格式.docx
《春季学期C语言程学设计教材习题18章文档格式.docx》由会员分享,可在线阅读,更多相关《春季学期C语言程学设计教材习题18章文档格式.docx(67页珍藏版)》请在冰豆网上搜索。
由程序设计人员设计软件的总体结构,也就是确定程序的组成模块,以及各模块之间的关系,并设计每个模块的实现细节及具体算法。
③编码阶段
利用程序设计语言编写各算法的程序代码。
④测试阶段
由专门的测试人员对编写完成的程序代码进行测试,尽可能多的发现其中的错误。
⑤调试和运行阶段
借助一定的调试工具找出程序中错误的具体位置,并改正错误,并在运行期间进行维护。
2.我们这一章都学了哪两种注释方法,使用上有什么区别。
①“//”是注释,用于注释一行,注释不影响程序的编译和运行。
②“/*”和“*/”之间括起来的内容也是注释,可用于注释多行。
3.简述main()函数的作用。
main()是C程序中唯一可以直接运行的函数,其他函数都直接或间接由main()调用执行。
C程序的执行开始于main()函数,一个结构良好的C程序也应结束于main()函数。
对于一些较小的程序,用一个main()函数就够了,全部的处理语句都放在main()函数中。
对于一些复杂问题,需要进行模块化设计,要将一个复杂问题分解成若干个相对简单的一些子问题,每个子问题由一个或多个函数来处理,main()函数负责总控,并调用相应的函数。
4.请写出C程序的基本构成。
(1)C源程序是由函数构成的,其中必须有一个且只能有一个主函数(main函数),还可以有0到多个其它函数。
C程序由main函数的首句开始执行,由main函数的最后一句结束,函数中可调用其它函数。
(2)C语言中用户可以自己定义函数,也可以使用C系统提供的库函数(如:
printf函数和scanf函数)。
要调用C的库函数,必须在源程序首部加上相应的库文件包含。
(3)C语言函数内部不能定义函数,函数之间是平等的。
主函数main可以放在某一用户函数之前,也可以放在某一用户函数之后,但被调用的函数应在主调函数之前定义或说明。
5.简叙一个C程序的开发过程。
下面以VC++6.0为例说明一个C程序的开发过程
(1)启动VC
(2)输入源程序(C语言代码)
(3)源程序存盘
(4)编译连接运行程序
(5)若编译有错,改错,再次编译连接运行程序
(6)查看程序结果
(7)若程序结果有错,重复步骤(5)
(8)程序结果正确,结束。
四.程序设计题
1.编写一个程序,输出字符串thisismyfirstcprogram。
#include<
stdio.h>
main()
{
printf("
**************************"
);
printf("
"
}
2.编写一个程序,输出下面图形:
**************************
3.试编写一个程序,利用printf()函数,输出以下图形。
*
***
*****
inti,j,k;
for(i=0;
i<
3;
i++)/*输出上面3行*号*/
{
for(j=0;
j<
2-i;
j++)
printf("
/*输出*号前面的空格*/
for(k=0;
k<
=2*i;
k++)
*"
/*输出*号*/
\n"
/*输出完一行*号后换行*/
}
2;
i++)/*输出下面2行*号*/
for(j=0;
=i;
3-2*i;
}
4.模仿本章所学的例题试写一个C程序,要求输入两个整数,求出他们的和并输出结果。
inta,b;
Inputtheintagera:
"
scanf("
%d"
&
a);
Inputtheintegerb:
b);
sum=%d"
a+b);
5.试编写一个C程序,计算一个整数的平方。
inta;
a*a=%d"
a*a);
第二章
1.以下变量名全部合法的是(A)
A.ABC、L10、a_b、alB.?
123、print、*p、a+b
C._12、Zhang、a/b、11fD.Li_Li、P、for、101
2.若变量a、i已经正确定义,且i已经正确赋值,合法的赋值语句是(B)
A.a==1B.++i;
C.a=a++=5;
D.++(i+1);
3.存储字符串"
\\\'
abc\376x"
所需的字节数是(D)//此处改了原题。
A.11B.12C.6D.7
4.若题中各变量已经正确定义并赋值,下面符合C语法的表达式是(B)
A.sum%5.8B.a++,a=4+d+eC.int(25.5)%3D.a=b+c=a+1
5.已有定义语句:
inta=5,b=6,c=7;
floatd=8.8;
以下能正确表示数学式
的C语言表达式是(B)
A.a/(b+c)*dB.1/d*a/(b+c)C.a/(b+c)/dD.{a/b=1;
b=a%2}
6.能表示条件
的表达式是(D)
A.0<
=x<
=100B.x>
=0,x<
=100C.
D.x>
=0&
&
x<
=100
7.设有inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>
b)&
(n=c>
d)之后,n的值为(B)
A.1B.2C.3D.4
8.已知x=43,ch='
A'
y=0,则表达式(x>
=y&
ch<
'
B'
!
y)的值是(C)
A.0B.语法错误C.1D.“真”
9.已知a为整型变量,那么与表达式a!
=0真假值情况不同的表达式是(D)
A.a>
0||a<
0B.aC.!
a==0D.!
a
10.putchar()函数可以向终端输出一个(D)
A.整型变量表达式值B.实型变量值
C.字符串D.字符或字符型变量值
1.'
a'
在内存中占1字节,"
a"
占2字节。
2.表达式1/3的结果是0;
表达式1/3.0的结果是(双精度,16位有效数字。
按“%f”格式显示:
)0.333333;
表达式1%3的结果是1;
表达式11%3的结果是2;
表达式(3>
4)?
5:
6的结果是6;
设intx=5,y=6;
则表达式x==x+y的结果是0。
3.设a=3,b=-4,c=5,表达式!
(b>
c)+(b!
=a)||(a+b)&
(b-c)的值为1。
4.设a的值是5,则a+=a-=a*=6的值为0。
5.设a=3,b=-4,c=5,表达式a++-c+b++的值是-6,(后半题有错,++a-c++b非法。
分三种情况讨论)++a-c++的值是-1,b的值是-4。
++a-c+++b的值是-5。
,++a-c++-b的值是3。
6.以下程序的运行结果是341,525,U。
#include<
voidmain()
inta=0x155;
printf(“%d,%o,%c”,a,a,a);
7.已知‘A’的ASCII码为65,下面程序运行结果是B,66。
voidmain
{charch;
ch='
;
%c,%d"
ch,ch);
8.以下程序的运行结果是7。
inti,j;
floata,b;
charc;
longm,n;
i=5;
j=-3;
a=25.5;
b=3.0;
m=a/b;
n=m+i/j;
%d\n"
n);
}
9.以下程序运行结果是1,0,3。
intx=-1,y=4;
intk;
k=x++<
(y--<
=0);
%d,%d,%d"
k,x,y);
10.以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a,b,c的值。
请填空。
#include<
voidmain()
inta,b,c;
inttemp;
Entera,b,c:
%d%d%d"
&
a,&
b,&
c);
temp=a;
a=b;
b=c;
c=temp;
a=%db=%dc=%d\n"
a,b,c);
三.程序设计
1.用标准输入函数scanf()将十进制数500赋给a,再将其按照十进制、八进制、十六进制输出。
a=%d"
a);
//以十进制格式输出
a=%o"
//以八进制格式输出
a=%x"
//以十六进制格式输出
\na=%d,%o,%x\n"
a,a,a);
//各种格式混合输出
2.不借用第三个变量将a、b两个变量中的值交换。
inta=3,b=4;
a=a+b;
b=a-b;
a=a-b;
a=%d,b=%d\n"
a,b);
3.用getchar()函数输入一个大写字母,再用putchar函数输出其对应的小写字母。
voidmain()
{
charch;
ch=getchar();
putchar(ch>
='
&
ch<
Z'
?
ch+32:
ch);
putchar('
\n'
4.要将“China”译成密码,密码规则是:
用原来的字母后面的第四个字母代替原来的字母。
例如,字母“A”后面第四个字母是“E”,则用E代替“A”。
因此,“China”应译为“Glmre”。
编写一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为'
C'
、'
h'
i'
n'
,经过运算,使c1、c2、c3、c4、c5分别变为'
G'
l'
m'
r'
e'
,并输出。
#include”stdio.h”
{charc1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’;
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf(“keywords=%c%c%c%c%c”,c1,c2,c3,c4,c5);
5.已知三条边a、b、c,求三角形面积(假定输入的三条边能构成三角形)。
计算三角形面积的海伦公式:
其中
math.h>
floata,b,c,s,area;
scanf(“%f%f%f”,&
c);
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“a=%fb=%fc=%fs=%f”,a,b,c,s);
printf(“area=%f\n”,area);
第三章
1.结构化程序设计中,程序的三种基本控制结构是(D)
A)过程函数子程序B)递归递推循环
C)调用返回转移D)顺序选择循环
2.已知intx=10,y=20,z=30;
以下语句执行后x,y,z的值是(D)
if(x>
y)
z=x;
x=y;
y=z;
A)201010B)102030
C)101010D)203030
3.C语言对嵌套if
语句的规定是:
else总是与(D)配对。
A)其之前最近的ifB)第一个if
C)缩进位置相同的ifD)其之前最近的且尚未配对的if
4.若执行以下程序时从键盘上输入3和4,则输出结果是(C)
inta,b,s;
%d%d"
s=a;
if(a<
b)s=b;
s*=s;
s);
A)3B)4C)16D)9
5.下面的程序片段所表示的数学函数关系是(D)
y=-1;
if(x!
=0)y=1;
if(x>
0)y=-1;
elsey=0;
-1(x<
0)1(x<
0)
A)y=0(x=0)B)y=-1(x=0)
1(x>
0)0(x>
0(x<
0)0(x<
A)y=-1(x=0)B)y=0(x=0)
0)-1(x>
0)//此处改了原题。
6.若a和b均是正整型变量,以下正确的switch语句是(C)
A)switch(pow(a,2)+pow(b,2))
{case1:
case3:
y=a+b;
break;
case0:
case5:
y=a-b;
B)switch(a*a+b*b);
{case3:
case1:
y=b-a;
C)switch(a)
{default:
x=a+b;
case10:
case11:
x=b*a;
D)switch(a+b)
{
case10:
case11:
7.设有以下程序,则(B)
intx=0,s=0;
while(!
x!
=0)
s+=++x;
A)运行后输出0B)运行程序后输出1
C)程序中有非法表达式D)该程序执行无限次
8.以下循环体执行次数是(B)
inti,j;
for(i=0,j=1;
=j+1;
i+=2,j--)
i);
A)0B)1C)2D)3
9.以下不是无限循环的语句是(A)
A)for(y=0,x=1;
x>
++y;
x=i++)i=x;
B)for(;
;
x++=i)
C)while
(1){x++;
}D)for(i=10;
i--)sum+=i;
10.有下面程序段,则(D)
for(t=1;
t<
=100;
t++)
scanf("
x);
if(x<
10)continue;
printf(“%3d”,t);
A)当x<
0时,整个循环结束B)x>
=0时,什么也不输出
C)printf函数永远也不执行D)最多允许输出100个不小于10的整数//此处改了原题。
1.以下程序运行结果是4。
3
{inta=3,b=4,c=5;
if(b>
a)
b);
2.以下程序运行结果是a=2,b=1。
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
break;
case1:
b++;
case2:
3.以下程序运行结果是0246810。
{inti;
=10;
i+=2)
%3d"
4.若i为整型变量,则以下循环执行次数是2。
for(i=2;
i!
=0;
)printf("
i--);
5.下面程序的运行结果是0。
inty=10;
do{y--;
}while(--y);
y--);
6.程序填空:
下面程序是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
{intn=0,c;
c=getchar();
while(c!
\n'
)
{if(c>
=48&
c<
=57)
n++;
fflush(stdin);
//有此句时可每敲一个字符回一次车。
无此句时敲完所有字符回一次车。
c=getchar();
7.以下程序运行结果是13579。
for(i=1;
i=i+2)
if(i>
10)
%d"
8.程序填空:
下面程序的功能是把100到200之间的不能被3整除的数输出。
{intn;
for(n=100;
n<
=200;
n++)
{if(n%3==0)//此处改了原题。
continue;
9.在空白位置填写语句,使得下列程序在输入n后,能够求出1+1/2+1/3+1/4+...+1/n的值
{floats=0;
intn,i=1;
n);
=n;
i++)//此处改了原题。
s=s+1.0/i;
sum=%f\n"
10.以下程序的功能是:
从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
请填空:
floatx,max=0,min=100;
//此处改了原题。
%f"
while(x>
=0)
{if(x>
max)max=x;
if(x<
min)min=x;
max=%f\nmin=%f\n"
max,min);
三.程序设计题
1.编写一个程序从键盘输入圆锥体的半径r和高度h,计算其体积。
#define
PI
3.14
void
float
r,h;
%f,%f"
r,&
h);
r*r*PI*h/3);
2.编写程序,输入一个实型数x,按照下面分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 春季 学期 语言 设计 教材 习题 18