|
2013年春季学期《C语言》补考在线考试(适用于2013年10月份考试)
试卷总分:100 测试时间:--
单选题 其他题 简答题
一、单选题(共 10 道试题,共 20 分。)V 1. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是
A. 10
B. 6
C. 0
D. 20
满分:2 分
2. 已知char b[5],*p=b; ,则正确的赋值语句是
A. b=“abcd” ;
B. *b=“abcd”;
C. p=“abcd”;
D. *p=“abcd”;
满分:2 分
3. 以下能正确定义数组并正确赋初值的语句是
A. int N=5,b[N][N];
B. int a[1][2]={{1},{3}};
C. int c[2][]= {{1,2},{3,4}};
D. int d[3][2]={{1,2},{34}};
满分:2 分
4. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为
A. 0
B. 1
C. 2
D. 3
满分:2 分
5. 假设已定义 char c[8]= "test"; int i; 则下面的输出函数调用中错误的是
A. printf("%s",c);
B. for(i=0;i<8;i++) printf("%c",c[i]);
C. puts(c)
D. for(i=0;i<8;i++) puts(c[i]);
满分:2 分
6. 当对两个字符串进行比较时,应该使用的函数是
A. strcat
B. strcmp
C. strcpy
D. strlen
满分:2 分
7. 语句: printf("%d",(a=2)&&(b=-2));的输出结果是
A. 无输出
B. 结果不确定
C. 1
D. 2
满分:2 分
8. 对于int a=99, b='b'; printf(“%c,%d”, a , b);的结果是
A. 99, b
B. c, 98
C. 99, 98
D. c, b
满分:2 分
9. 能将高级语言编写的源程序转换为目标程序的软件是
A. 汇编程序
B. 编辑程序
C. 编译程序
D. 解释程序
满分:2 分
10. 以下叙述中不正确的是
A. 在不同的函数中可以使用相同名字的变量
B. 函数中的形式参数是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
二、其他题(共 10 道试题,共 50 分。)V 1.
读程序写出程序执行结果
#include <stdio.h>
int f(int b[], int m,int n)
{ int i,s=0;
for(i=m;i<n;i+=2) s+=b[i] ;
return s;
}
void main()
{ int x, a[]={1,2,3,4,5,6,7,8,9,10};
x=f(a,3,8);
printf("%d\n",x);
}
满分:5 分
2.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int i;
for (i=0; i<3; i++)
switch (i)
{ case 1: printf("%d ", i);
case 2: printf("%d ", i);
default : printf("%d ", i);
}
}
满分:5 分
3.
读程序写出程序执行结果
#include <stdio.h>
#define S(x) x*x
void main()
{ int a,k=5,m=1;
a=S(k+m);
printf("%d",a);
}
满分:5 分
4.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int x,y;
for(y=1,x=1; y<=20;y++)
{ if(x>=8) break;
if(x%2==1){ x+=5; continue ; }
x-=3;
}
printf("x=%d, y=%d\n",x,y);
}
满分:5 分
5.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int n=2;
printf(“%d\n”, (++n , n+=2 , --n)) ;
}
满分:5 分
6.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int a[10],*p,*s,i;
for(i=0;i<10;i++) scanf(%d”,a+i);
for(p=a,s=a;p-a<10;p++) if(*p>*s)s=p;
printf(“max=%d,index=%d\n”,*s, s-a);
}
简述上列程序完成的功能:
满分:5 分
7.
读程序写出程序执行结果
#include <stdio.h>
void ex( )
{ static int x=3 ;
--x ;
printf(“%d”,x) ;
}
void main ( )
{ ex( );
ex( );
}
满分:5 分
8.
读程序写出程序执行结果
#include <stdio.h>
char fun(char *s)
{ if( *s >= ¢a¢ && *s <= ¢z¢ )
*s=*s-32;
return *s;
}
void main()
{ char a[20]="Welcome",*p,ch;
for(p=a;*p!=¢\0¢;p++)
{ ch=fun(p);
putchar(ch);
}
}
满分:5 分
9.
读程序写出程序执行结果
#include <stdio.h>
int fib(int g)
{ switch(g)
{ case 0: return 0;
case 1:
case 2: return 1;
}
return -1;
}
void main()
{ printf(“%d\n”, fib(5)) ;
}
满分:5 分
10.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int x[]={5,6,7};
int s=1,i,*p=x;
for(i=0;i<3;i++)
s*=*(p+i);
printf(“%d\n”,s);
}
三、简答题(共 3 道试题,共 30 分。)V 1. 编程:计算 sum=1+1/2!+1/3!+……+1/10!, 并输出结果。(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分
2. 编写程序,从键盘上任意输入20个整数,存入一个数组中,然后输出这些数中最大数及其下标以及最小数及其下标(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分
3.
满分:2 分 |
|