系部 专业 班级 姓名 考试号
―――――――――――――――――――――――――装―――――――订―――――――线――――――――――――――――
答 题 不 得 超 过 此 装 订 线
学院(中专)学年度第一学期期末考试
级计算机专业试卷(试卷代码1-4)
使用班级:计算机2班
《C语言》1-4-1
一.选择题(本大题共10小题,每题4个选项,每小题4分,共计40分)
1.在程序开发过程中,把文本文件格式源程序转化成二进制格式目标程序的过程称为( )。
A.编辑 B.编译 C.连接 D.运行
2.C语言中,运算对象必须是整数型的运算符是( )。
A.% B./ C.%和/ D.*
3.若int a,b=5;执行a=++b;后,a,b的值分别为( )。
A. 5,5 B.5,6 C.6,5 D.6,6
4.下面输入语句中正确的是( )。
A.Scanf(“a=b=%d”,&a,&b); B.scanf(“%d,%d”’&a,&b);
C.scanf(“%c”,c); D.scanf(“%d%d\n”,&f1,f2);
5.以下选项中当x 为大于1的奇数时,值为0 的表达式( )。
A.x %2 !==1 B. X/2 C. X%2!=0 D.X%2==0
6.已定义int a[][3]={1,2,3,4,5,6,7,8,9};则a[1][2]的值为( )。
A.2 B.4 C.6 D.8
7.当调用函数时,实参是一个数组名, 则向函数传递的是( )。
A. 数组的长度 B.数组的首地址
C.数组的每一个元素的地址 D.数组的每一个元素的值
8.对for(表达式1;;表达式3),可理解为( )。
A.for(表达式1;0;表达式3) B.for(表达式1;1;表达式3)
C.语法错误 D.仅执行循环一次
9.以下正确的函数首部是( )。
A. void fun(x,int y) B. void fun(int x,y)
C. void fun(int x ,int y) D.void fun(x ,y)
10.C语言中要使用数学库函数,需要在源文件中包含的头文件是( )。
A.stdio.h B.math.h C.string.h D.ctype.h
二.程序阅读题(本大题共5小题,每小题10分,共计50分)
1.下列程序的输出结果是: 。
main( )
{
int a=10,b=50,c=30;
if(a>b) a=b;
b=c;
c=a;
printf(“a=%d,b=%d,c=%d”,a,b,c);
}
2.下列程序的输出结果是: 。
#include<stdio.h>
main()
{ int x=5;
if (x=4)
printf(“T”);
else
printf(“F”);
return 0;
}
3.下面代码运行后,s的值是: 。
int s=0;
for (int i=1;i< 100;i++ )
{
if(s>10)
{
break;
}
if( i%2==0 )
{
s+=i;
}
}
4.下列程序输出结果是: 。
#include <stdio.h>
main( )
{ int i,j,x=0;
int a[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j;
for(i=0;i<3;i++)
x+=a[i][j];
printf("%d",x);
}
5.以下程序输出结果是: 。
#include<stdio.h>
void fun(int x,int y)
{
x=x+y;y=x-y;x=x-y;
printf(“%d,%d\n”,x,y);
}
void main()
{
int x=2,y=3;
fun(x,y);
printf(“%d,%d\n”,x,y);
}
三.程序填空题(本大题共3小题,每题10分,共计30分)
1. 从键盘上输入某年并判断是否是闰年请填空。
#include <stdio.h>
main( )
{
int x,f=0;
scanf(“%d”,&x);
if( (1) )
f=1;
if( (2) )
printf(“%d是闰年!”,x);
else
printf(“%d不是闰年!”,x);
}
2.以下程序的功能是计算 1-3+5-7+......-99+101的值,请将程序补充完整。
#include <stdio.h>
void mian()
{
int i,t,s=0;
t=1;
for(i=1;i<=101;i+=2)
{
s=s+ (1) ;
(2) ;
}
printf(“%d\n”,s);
}
3.下面程序的功能是求2个整数的最大值,其中求最大值的操作调用max函数完成。
#include<stdio.h>
int max(int a,int b){
int c;
( 1 ) ;
return c;
}
int main(){
int x,y,z;
int max(int a,int b);
printf("输入2个整数:\n");
scanf("%d%d",&x,&y);
(2) ;
printf("最大值=%d\n",z);
return 0 ;
}
四.程序改错题(本大题共1小题,共计10分)
判别一个整数数组中各元素的值,若大于0 则输出该值,若小于等于0则输出0值。
#include<stdio.h>
void nzp(int v){
if(v<0)
printf("%d ",v);
else
printf("%d ",0);
}
int main(){
int a[5],i;
printf("输入5个整数\n");
for(i=0;i<5;i++)
{ scanf("%d",&a[i]);
nzp(a);
}
return 0;
}
五.程序设计题(本大题共1小题,共计20分)
利用一维数组求斐波那契数列的前20项,并以每行显示5个数据的形式输出数列。斐波那契数列数是这样一组无穷数列:前2个数是1、1,从第3个数起,每个数均是前两个数之和。
如前面几项分别是:1 1 2 3 5 8 13 21 33 54……请编写程序。
参考答案
《C语言》1-4-1
六.选择题(本大题10小题,每题4个选项,每题4分,共计40分)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
B | A | D | B | D | C | B | B | C | B |
七.程序阅读题(本大题共5小题,每题10分,共计50分)
1.a=10,b=30,c=10(结果正确每个2分,格式4分)
2.T
3.12
4.12
5. 3,2 (结果正确每个2分,格式2分)
2,3
八.程序填空题(本大题共3小题,每题10分,共计30分)
1. (1) x%4==0 && x%100!=0 || x%400==0(5分)
(2) f==1 (5分)
2. (1) i*t (5分)
(2) t= - t (5分)
3. (1) c=a>b ? a: b; (5分)
(2) z=max(x,y); (5分)
九.程序改错题(本大题共1小题,共计10分)
(1)if(v<0)中v<0 应改为:v>0 (5分)
(2)nzp(a); 应改为:nzp(a[i]); (5分)
十.程序设计题(本大题共1小题,共计20分)
参考答案:
#include <stdio.h> (1分)
int main(){ (1分)
long f[20]={1,1}; (1分)
int i; (1分)
printf("%12d%12d",f[0],f[1]); (1分)
for(i=2;i<20;i++){ (2分)
f[i]=f[i-2]+f[i-1]; (4c语言斐波那契数列分)
if(i%5==0)printf("\n"); (4分)
printf("%12d",f[i]); (2分)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论