《C语言期中复习题》PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精选课件ppt
1
5.下列各组中全是字符串常量的是____A_____。
A. “a+b” “1+2=5” , “china”
C. ‘123’ , “456” , “789” “aaa”
B. ‘abc’ , ‘xyz’ , ‘5’ D. ‘\n’ , “1+2=3” ,
18 6. 表达式 a=3*5 , a+a , a+3 的值为_________。100
精选课件ppt
3
9. 以下程序段的输出结果是_____D_____。
int a=0,b=4,k=2;
k=a+1>0 || (++a<0) && (!(b--<=0));
printf(“%d,%d,%d\n”,k,a,b);
A 1,1,3 B 1,1,4
C 1,0,3
D. 1,0,4
10. 设有定义“float y=3.45678; int x;”,则以下表达式中能实现 将y中数值保留到小数点后2位,第3位四舍五入的表达式是B
if(!((a-b)*(b-c)*(c-a))) printf(“\n%d, %d”, n, k)
}
}
精选课件ppt
10
20. 查找满足下列条件的m,n的值:给定正整数k,使得0<m<=k, 0<n<=k,(n2-mn-m2)2 =1 并且 n2+m2的值达到最大。
#include <stdio.h> void main() { long m,n,k,s,flag=0;
#include <math.h>
float g(float x,float eps)
{ int n=1; float s,t;
s=1; t=1; do{ t=t*___x_/_(2_*_n_)___;
s=s+(n*n+1)*t; ___n_=_n_+__1___; }while( __fa_b_s_(_t)__ > eps);
8. 下面程序段的运行结果是____A_______。
a=1; b=2; c=2;
while (a<b<c) { t=a; a=b; b=t; c--;}
printf (“%d, %d, %d\n”, a, b, c);
A. 1, 2, 0
B. 2, 1, 0
C. 1, 2, 1
D. 2, 1, 1
fa=exp(a)+a; fx=___e_x_p_(x_)_+_x____;
if(fa*fx<0) b=x;
else a=x;
}while(fabs(b-a)>1e-6); printf(“the root is %f\n",x);
}
精选课件ppt
15
25. 用矩形法求函数e-x*x在(0,1)区间的定积分。
do{ printf(“input a:”); scanf(“%f”,&a); }while(a<0); x=a/4; do{ I++;
x0=x; _x__=_(_x_0_+_a_/_x_0_)/_2____; }while(_I_<_2_0_&__&__f_a_b_s(_x_-_x_0_)>_1_e_-_5_); printf(“\n a=%f, x= %f, I=%f\n”,a,x,I); }
C. while(x!=1)
D. while(x)
精选课件ppt
7
17.填空完成下面程序,其功能是从3个红球,五个白球,六个黑 球中任意取出八个球,且其中必须有白球,输出所有可能的方案。
void main( ) { int i,j,k;
printf(“\n hong bai hei \n”); for(i=0;i<=3;i++)
scanf(“%f,%f”,&x1,&x2);
y1=f(x1);
do{ x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
____y_=_f(_x_)___;
if(y*y1>0) {y1=y;x1=x;}
else ___x_2_=_x___;
}while(fabs(y)>=0.0001);
精选课件ppt
11
21. 用迭代法求 f(x)=-x3/64-x+0.5001 的一个实根,精度要求 为|xn-xn-1|<10-6。
#include <stdio.h>
#include<math.h> void main() { float x0,x1;
scanf(“%f”,&x0); x1=-x0*x0*x0/64+0.5001; while(____f_a_b_s(_x_1_-_x_0_)>_1_e_-_6_____) {
12. 执行了以下程序段后,x,w的值为___C____。
int x=0, y=1, z=2, w;
if(x++) w=x;
else if(x++ && y>=1) w=y;
else if(x++ && z >1) w=z;
A. 0,1
B 1,1
C 2,1
D. 3,2
精选课件ppt
5
13. 下列程序执行后,x的值为___8_____. void main() { int x,y; for(x=1, y=1; x<=100; x++) { if(y>=20) break; if( y % 3 == 1) { y+=3; continue; } y - = 5; } printf(“%d\n”, x); }
return s;
}
的值,当
的绝对值小于
void main() { flaot x, eps;
scanf(“%f%f”,&x,&eps); printf(“\n%f,%f”, x,
g(x,eps); }
精选课件ppt
9
19. 以下程序打印所有符合下列条件的3位正整数:是某一个数的平 方数,其中有两位数字相同。例如:100,121等。
___x_0_=_x_1____; x1=-x0*x0*x0/64+0.5001; } printf(“root=%10.6f\n”,x1); }
精选课件ppt
12
22. 用牛顿迭代法求
的一个实根,迭代公式为
,
要求迭代的精度满足|xn+1-xn|<0.00001或者迭代最多20次。
#include <stdio.h> #include <math.h> Void main() { float a,x,x0; int I=0;
#include <stdio.h>
#include<math.h>
void main()
{ double h,a,b,s,x; int n;
scanf("%lf%lf%d",&a,&b,&n); _h_=_(_b_-_a_)/_n____;
x=a;
for(k=0;k<n;k++)
{ s=s+exp(-x*x);
for (____j=_1_____;j<=5;j++) { k=8-i-j;
if (___k_>_=_0__&_&__k_<_=__6___)
printf (“ %3d %3d %3d \n”,i,j,k);
} }
精选课件ppt
8
18. 函数g的功能是计算级数 eps时停止。 #include<stdio.h>
设 a=5 ; 则表达式 a+=a*=a+a 运算后,a=_________。
设a=9;x=6.3;y=3.5;
0
则表达式a%5*(int) (x+y)%7/4 的值为_________。
精选课件ppt
2
7. 正确表示“当x的取值在[1,10]和[200,210]范围内为真, 否则为假”的表达式是__C_________. A. (x>=1)&& (x<=10)&& (x>=200)&& (x<=210) B. (x>=1) || (x<=10) || (x>=200) || (x<=210 ) C. (x>=1)&&(x<=10)|| (x>=200)&& (x<=210) D. (x>=1)|| (x<=10)&& (x>=200)|| (x<=210)
scanf(%ld”,&k); n=k; do{ m= _____n_____;
do{ s = n*(n-m) – m*m; if( s*s == 1) __f_la_g_=_1___; else m--;
}while(m>0 && !flag); if( m==0) ___n_-_- ____; }while(n >0 && !flag); printf(“m= %ld, n=%ld\n”, m, n); }
精选课件ppt
13
23. 用弦截法求方程x3-5x2+16x-80=0的根,要求当
f(x)<0.0001时迭代结束。
float f(float x)
{
float y;
y=((x-5.0)*x+16.0)*x-80.0;
return y;
}
void main()
{
float x1,x2, y,y1;
精选课件ppt
6
14. 只能在循环体中出现的语句是_c_o_n_t_in_u_e__ 语句。
15. 当__g_o_to__语句被执行时,程序的执行流程无条件的函数中的 一个位置跳转到另一个位置。
16. 与语句while(!x) 等价的语句是___A___.
A. while(x==0)
B. while(x!=0)
1.C程序是由函数构成的,一个C源程序至少包含一个 ___主____函数。
2. 用__/_*___*_/____对C程序中的任何部分作注释。
3. C源程序的基本单位是____函__数_____。
4. 下列各组中不全是合法的变量名的是____C_____。 A. day , lotus_1_2_3 , x1 B. Abc , _above , basic C. M . John , year , sum D. YEAR , MONTH , DAY
x=x+h; }
___s_=_s_*_h____;
printf(“integral value=%f\n”,s);
}
精选课件ppt
16
#include <stdio.h>k;
for(k=10; ; k++)
{
n = ____k_*_k_____;
if(n>999) ___b_r_e_ak____;
a = n / 100; b = __n_/1_0_%__1_0____;
c = n % 10;
printf("the root is %f\n",x);
}
精选课件ppt
14
24. 使用二分法求方程f(x)=ex+x=0在(-1,0)之间的根。
#include <stdio.h>
#include <math.h>
void main()
{ double a,b,x,fa,fx;
a= -1; b=0; do{ __x_=_(_a_+_b_)_/2____;
____.
A. y=(y*100+0.5)/100.0
B. x=y*100+0.5, y=x/100.0
C. y=y*100+0.5/100.0
D. y=(y/100+0.5)*100.0
精选课件ppt
4
11. 以下关于if语句的错误描述是____B____. A. 条件表达式可以是任意的表达式 B. 条件表达式只能是关系表达式或逻辑表达式 C. 条件表达式的括号不可以省略 D. 与else配对的if语句是其之前最近的未配对的if语句。