20140707C语言期末试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20105C 语言期中试题
密
学校 班级
姓名 考试时间 60分钟
密 封 线 内 不 得 答 题
一、填空题。(每题1分,共12分)
1、c 语言的关系运算符中属于高优先级组的有______、______、______、______;低优先级组的有= = 、 != 。关系表达式是用____________连接两个子表达式组成的式子。
2、“A&&B ”的含义为___________,“A||B ”的含义为___________,“!A ”的含义为。3种逻辑运算符的优先级从高到低的次序为___________。
3、若a=7,b=6,c=12,则表达式“a+b<c&&a>b ”的值为_______。
4、设a=3,b=4,c=5,则逻辑表达式“!(a+b )+c-1&&b+c/2”的值为______________,“a+b>c&&(b=c)”的值为______________,“!(a+b)&&!c||1” 的值为______________。
二、选择题。(每题2分,共24分)
1、已知a=9,b=8,c=7,则执行下列程序段后,a,b,c 的值分别为( )。 if(a>c)
{a=b;b=c;c=a;}
else
a=c;c=b;b=a;
A 、9,8,8
B 、9,8,7
C 、8,8,7
D 、8,7,8
2、如果x 大于1并且小于或等于10,则为真,否则为假,正确的表达式是( )。
A 、1<x<=10
B 、x>1||x<=10
C 、x>1&&x<=10
D 、x>1&&x<10 3、以下表达式中满足“当x 的值为偶数时值为真”的是( )。 (1)!x%2!=0 (2)x%2==0 (3)(x/2*2-x)==0 (4)!(x%2)
A 、(1)(2)(3)
B 、(2)(3)(4)
C 、(1)(3)(4)
D 、(1)(2)(4) 4、下列表达式中值为真的有( )。 A 、a=0 B 、b=3>4 C 、b=3+4==5 D 、(float)1/2
5、 与表达式“x>10&&x-y!=10”等价的式子是( )。 A 、x>(10&&(x-(y!=10))) B 、(x>10)&&((x-y)!=10) C 、x>((10&&x)-(y!=10)) D 、((x>10)&&(x-y))!=10
6、 执行下列程序段后,结果为( )。 i=6;
while(i<5) { i++;
printf(“GOOD ”); }
printf(“that is the end ”);
A 、GOOD
that is the end B 、GOOD
C 、that is the end
D 、that is the end GOOD
7、执行下列程序段后,结果为()。
n=0;
while(n<4)
{
++n;
printf(“%2d”,n)
}
A、0
B、1 2 3 4
C、1234
D、1
2
3
4
8、执行下列程序段后,结果为()。
for(ch=’A’;ch<=’F’;ch++)
printf(“%3c”,ch);
A、ABCDE
B、 A B C D E F
C、abcdef
D、 A B C D E F
9、main()
{int i=0,s=1; (1)
for(;i<=100;i++) (2)
s=s+j; (3)
printf(“%d”,s); (4)
}
上述程序段要求从1乘到100,其中第()行出错。
A、(1)(2)(3)
B、(1)(3)
C、(3)
D、(1)(3)(4)
10、执行下列程序段后,结果为()。
for(i=1;i<20;i=i*i)
{
printf(“%d”,i);
i++;
}
A、14
B、1
C、1 4 1 6
D、1
4 4
16
11、以下一位数组的定义方式,正确的是()。
A、int n=10;
int a[n];
B、#define MAX 10
int a [MAX];
C、int a[8,5];
D、int a[];
12、若k为整型,以下while循环执行()次。
k=2;
while(k=0)
printf(“%d”,k),k- -;
printf(“\n”);
A、无限次
B、0次
C、1次
D、2次
三、程序填空题。(每空2分,共24分)
1、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6
20105C 语言期中试题
密
学校 班级
姓名 考试时间 60分钟
密 封 线 内 不 得 答 题 子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子: 6 its factors are 1 2 3 #include <stdio.h> main()
{ int m,s,i;
for(_________;m<1000;m++) { _________; for(i=1;i<m;i++)
if(m%i= =0) _________; if(s= =m) {
printf(“%d,its factors are ”,m); for(i=1;i<m;i++)
if(m%i= =0) printf(“%d ”,i); printf(“\n ”);
} } }
2、对10个数依次赋值为0,1,2,3,4,5,6,7,8,9要求按逆序输出。 main() {
int a[10],i;
for(__________;i<=9;i++) ______________;
for(i=9; ______________;i- -) print(“%d ”,a[i]); }
3、求Fibonacci 数列的前20个数。 main() {
int a[10],i; a[0]=1;a[1]=1;
for(i=1, ______________;i++) {
______________; }
for(______________,i<=19;i++) printf(“%d\n ”,a[i]); }
4、找出10个学生成绩低于平均成绩的人数并输出。 main() {
float a[10],s=0,ave; int i,n=0;
for(i=0;i<=9;i++) {
scanf(“%f ”, ______________); ______________; }
______________; for(i=0;i<=9;i++) if(a[i]<ave)n++; printf(“%d ”,n); }
四、编程题。(每题10分,共40分) 1、 打印出所有的“水仙花数”。(所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身,如:153=13+53+33)。
2、求100~200间的全部素数。