C语言考试题2003A
更新时间:2023-08-27 07:27:01 阅读量: 教育文库 文档下载
C语言考试题
课程: C语言程序设计
班号:学号: 姓名:
注:①考试时间为120分钟,必须在30分钟后方可交卷。
②答题开始前,班长需向监考人员报告应到人数、是否有缺考、缺考人姓名、缺考原因等。
③答题完毕后,将答题纸(第8页)裁下交卷,试卷可自行带走。
一、单项选择题 (每题2分,共30分)
1.假定 int a=3, b=2, c=1, 表达式: (c==a>c)+(a/b/2.0) 的值是 (1) 。
A) 1.75 B) 0.75 C) 1.5 D) 0.5
2.假定 int a=2, b=5, 表达式: a+’1’+(float)(b/a) 的值是 (2) 。
A) 5.0 B) 5.5 C) 53.0 D) 53.5
3.设有int a=1,b=2,c=3,d=4,m=2,n=2;
执行 (m=a>b) && (n=c>d) 后n 的值是 (3) 。
A) 1 B) 2 C) 3 D) 4
4. 在以下表达式中,与 a==0 && b!=0不等价的是 (4) 。
A)!a && b B)!(a!=0 || b==0)
C)!(a==0 || b!=0) D)!(a*b) && b
5.在以下表达式中,能正确表达算式0.5sin(x+y)2的是 (5) 。
A) 0.5*sin(x+y)*(x+y) B) 1/2*sin((x+y)*(x+y))
C) sin((x+y)*(x+y))/2 D) (float)(1/2)*sin((x+y)*(x+y))
6.表达三个非零变量a、b、c之和为0的正确表达式是 (6) 。
A) a+b+c= =0 B) !(a+b+c) || (a*b*c)
C) !(a+b+c)&&(a*b*c) D) !(a*b*c)&&(a+b+c)
7.在以下各循环语句中,不能正确计算自然数1-100中所有数之和的是 (7) 。
A) for(s=0, i=0; ; ) { s+=++i; if (i>100) break; }
B) for(s=100, n=100; --n; ) s+=n;
C) for(s=0,i=1, j=100; i<=j; i++, j-- ) s+=i+j;
D) for(s=0, i=1; ; ) { s+=i++; if (i>100) break; }
8.以下各循环语句中,不是无限循环的是 (8) 。
A)for ( i=-10; i>=-10<10; i++) s+=i;
B)for( i=0; ; i++ ); if( i>10 ) break;
C)for ( i=0,j=10; i<j, i-j; i++,j--);
D)for ( i=1; i=10; i++) s+=i;
9.以下程序中有一个语法错误,这个错误的类型是 (9) 。
#define n 2
main()
{ int a[n]={2,3},b=3;
if ( a[0]+a[1]>b )
{ int b=1,x;
x=a[0]+a[1] -b;
printf("\n x= %d",x);
} else x=0; printf("\n x= %d",x);
}
A) 数组说明错 B) if结构错 C) 变量重定义 D) 使用了未定义的变量
10.对以下求数组a中所有偶数之和的各程序段中,不正确的是 (10) 。
A) int a[5]={1,3,6,7,8}, s=0, *p=a;
for ( p=a; p<a+5; p++ ) if ( *p%2==0) s+=*p;
B) int j, a[5]={1,3,6,7,8}, s=0, *p=a;
for ( j=0; j<5; j++ ) if ( *p%2==0) s+=*p++;
C语言考试题
C) int j, a[5]={1,3,6,7,8}, s=0, *p=a;
for ( j=0; j<5; j++ ) if ( *(p+j)/2*2==*(p+j)) s+=*(p+j);
D) int j, a[5]={1,3,6,7,8}, s=0, *p=a;
for ( j=0; j<5; j++ ) if ( *p%2==0) s+=*p++;
else p++;
11.以下论述中正确的是 (11) 。
A) 用printf输出一个无符号变量的内容时,输出结果一定是正数。
B) 字符型数据与整型数据是通用的,因此,整型数据完全可以用字符型变量存放。
C) 在一般情况下,指向结构体数据类型的指针变量所占的字节数比指向其它数据类型的指针变量所占的字节数要多。
D) 在程序中,八进制、十进制和十六进制整数的表示形式各不相同,但其在内存中的表示是一致的。
12.假设a为3行4列的矩阵,则以下求矩阵边沿元素之和的各程序段中,不正确的是
(12) 。
A) for ( i=0, s=0; i<3; i++ ) s+=a[i][0]+a[i][3];
for ( j=1; j<3; j++ ) s+=a[0][j]+a[2][j];
B) for ( i=0, s=0; i<4; i++ ) s+=a[0][i]+a[2][i];
for ( j=1; j<2; j++ ) s+=a[j][0]+a[j][3];
C) for ( i=1, s=0; i<3; i++ ) s+=a[0][i]+a[2][i];
for ( j=0; j<3; j++ ) s+=a[j][0]+a[j][3];
D) for ( i=1, s=0; i<3; i++ ) s+=a[i][0]+a[i][3];
for ( j=0; j<3; j++ ) s+=a[0][j]+a[2][j];
13.假定有:int *p1,*p2,m=5,n=3; 以下均是正确赋值语句的选项是 (13) 。
A) p1=&m; p2=&p1;
B) p1=&m; p2=&n; *p1=*p2;
C) p1=&m; *p2=5;
D) p1=&m; *p2=*p1;
}
14.以下函数是计算多项式 (14) 的值。
float f (int n)
{ float i,t=1,s=t;
for ( i=2; i<=n; i++) { t=t*(2*i-2)*(2*i-1); s+=t; }
return s;
}
A) 1+3+5┈┈ B) 1!+3!+5! ┈┈ C) 2!+4!+6! ┈┈ D) 2+4+6 ┈┈
15.假定有函数关系:
y=x 当x=0
y=2x+1 当x<0
y=3x+2 当x>0
则以下各程序段中,不能正确实现以上关系的是 (15) 。
A) y=x; B) y=x;
if ( x<0) y=2*x+1; if (x<0 ) y=2*x+1;
if ( x>0) y=3*x+2; else y=3*x+2;
C) if ( x ) D) y=x;
if ( x<0) y=2*x+1; if ( x)
else y=3*x+2; if( x<0) y=2*x+1;
else y=x; else y=3*x+2;
二、程序阅读题(每题3分,最后一题4分,共40分)
16.以下程序的运行结果是 (16) 。
main( )
C语言考试题
{ int k,j,m;
for ( k=5; k >= 1; k- - )
{ m=0; for ( j=k; j<=5; j++ ) m=m+k*j; }
printf ( “%d”,m );
}
A) 123 B) 25 C) 36 D) 15
17.以下程序的运行结果是 (17) 。
main()
{ int a=2,n=5,s=a; for(; - -n; ) s=s*10+a; printf(“\n %d”,s); } A) 100 B) 82 C) 22222 D) 10
18.以下程序的运行结果是 (18) 。
main()
{ int a=10, y=0;
do { a+=2; y+=a; if(y>50) break; }while(a=14);
printf(“\n %d,%d”,a,y);
}
A) 16,60 B) 18,60 C) 死循环 D)都不是
19.以下程序的运行结果是 (19) 。
main() f (int *x, int b)
{ int a=3,b=5; {
f (&a, b); *x+=2;
printf(“\n %d,%d”,a,b); b++;
} }
A) 3,5 B) 5,6 C) 3,6 D) 5,5
20.以下程序的运行结果是 (20) 。
main()
{ int a[10]={3,2,5,4,6,7,9,12,8,10},i,p,q;
p=0; q=0;
for(i=0;i<10;i++)
{ if(a[i]>p) p=a[i];
if(a[i]<q) q=a[i];
}
printf(“\n %d,%d”,p,q);
}
A) 0,0 B) 12, 0 C) 12, 2 D) 2, 12
21.以下程序的运行结果是 (21) 。
main()
{ int n=2345;
while(n){ n/=10; printf("%d",n%10);}
}
A) 5432 B) 432 C) 4320 D) 543
22.以下程序的运行结果是 (22) 。
main() int f(int a[][3])
{ int s,a[6]={1,2,3,4,5,6}; { int i,j,k=0;
s=f(a); for(i=0;i<2;i++)
printf("\n %d",s); for(j=i;j<3;j++) k+=a[i][j];
} return k;
}
A) 7 B) 10 C) 17 D) 19
23.以下程序的运行结果是 (23) 。
main()
C语言考试题
{ int a[5]={1,2,3,4,5},i,j,t;
for(j=1;j<=2;j++)
{ t=a[4];
for(i=0;i<4;i++) a[i+1]=a[i];
a[0]=t;
}
for(i=0;i<5;i++) printf("%d",a[i]);
}
A) 45123 B) 34512 C) 51111 D) 15555
24.以下程序的运行结果是 (24) 。
main()
{ char a[20]="xyz",*p=a,*p1;
for( ; *p; p++);
for(p1=p-1; p1>=a; p++,p1--) *p=*p1;
*p=0;
printf("\n %s",a);
}
A) xyz B) zyx C) xyzxyz D) xyzzyx
25.以下程序的运行结果是 (25) 。
main()
{ int a[10]={3,5,2,9,1,8,0,2,4,6},i,p=0,q=0;
for(i=0;i<10;i++)
{ if(a[i]>a[p]) p=i;
if(a[i]<a[q]) q=i;
}
printf("\n %d,%d",p,q);
}
A) 9,0 B) 0,9 C) 3,6 D) 6,3
26.以下程序的运行结果是 (26) 。
main()
{ int a=1,b=10;
do { b-=a; a++; } while ( b--<0 ) ;
printf (“\n a=%d,b=%d”,a,b );
}
A)a=3,b=11 B)a=2,b=8 C)a=1,b=-1 D)a=4,b=9 27.以下程序的运行结果是 (27) 。
void f(char *s) main()
{ char *p=s; { char *a="abCD12";
for (; *s; s++) f(a);
if (*s<'A' || *s>'Z' ) *p++=*s; printf ("\n%s",a);
*p=0; }
}
A) abCD12 B) CD C) ab12 D) CD12
28.以下程序的运行结果是 (28) 。
#include “stdio.h”
struct student { char name[10]; int sex; int score; }; main()
{ struct student st, m,w; FILE *fp;
fp=fopen( “file1.dat”,”r”);
m.score=0; w.score=100;
while( !feof ( fp ) )
C语言考试题
{ fscanf( fp,”%s%d%d”,http://www.77cn.com.cn,&st.sex,&st.score);
if( st.sex) /* file1.dat */
if( st.score<w.score) w=st; /* Qi 0 65 */
if( !st.sex) /* He 1 90 */
if( st.score>m.score) m=st; /* Wu 1 95 */
} /* Li 0 75 */
fclose( fp); /* Zu 1 80 */ printf(“\n %d , %d”, m.score, w.score);
}
A) 95 ,65 B) 65,95 C) 75,80 D) 80,75
三、程序填充题(每空3分)
选择适当的内容填在以下各程序的下划线处,以使程序完整。
●判断一个数是否为素数的函数,是素数时返回1,否则返回0。
int prime ( int m)
{ int i;
if (m<2 ) return 0;
if (m==2) return 1;
for (i=2; i<m; i++)
if (m%i==0) (29) ;
(30) ;
}
(29) A) break B) return 0 C) return 1 D) continue
(30) A) else return 1 B) return 1 C) return 0 D) else return 0
●判断一个数是否为降序数的函数,是降序数时返回1,否则返回0。
所谓降序数就是:个位≤十位≤百位┈的数,只有一位的数也属于降序数。
int f ( int n)
{ int k=0;
while ( n )
{ if ( (31) ) return 0;
(32)
}
return 1;
}
(31) A) k>=n%10 B) k<=n%10 C) k>n%10 D) k<n%10
(32) A) else return 1; B) n/=10; k=n%10; C) n/=10; D) k=n%10; n/=10;
●将两个有序的数组合并到另一个数组中,要求合并后仍有序。
main()
{ int i=0,m=5,a[5]={1,3,7,9,13};
int j=0,n=6,b[6]={2,4,8,16,20,24};
int k=0,c[11];
while( i+j<m+n )
{ if( (33) ) c[k++]=a[i++];
else if( (34) ) c[k++]=b[j++];
else if( (35) ) c[k++]=a[i++];
else c[k++]=b[j++];
}
for(i=0;i<k;i++) printf(" %d",c[i]);
}
(33) A) i>=m B) i>m C) j>=n D) j>n
(34) A) i>=m B) i>m C) j>=n D) j>n
C语言考试题
(35) A) i==m B) j==n C) a[i]<b[j] D) b[j]<a[i]
●求100至1000之间有多少个数其各位数字之和是5。
main()
{ int i,s,k,count=0;
for(i=100; i <=1000; i++)
{ s=0; k= i;
while ( (36) ) { s=s+k%10; k= (37) ;}
if(s= =5) (38) ;
}
printf(“\n %d”,count);
}
(36) A)1 B)k C)k>1 D)k>10
(37) A)k/10 B)k%10 C)k–k%10 D)k–k/10
(38) A)continue B)break C)count++ D)printf (“%d”,count)
C程序设计试题(A卷)答案
一、单项选择题(每题2分,共30分)
CCBCC
CACDB
DDBBB
二、程序阅读题 (每题3分,最后一题4分,共40分)
DCADB
CCDDC
BCC
三、程序填充题(每空3分,共30分)
BBCDC
ACBAC
C语言考试题
正在阅读:
C语言考试题2003A08-27
宁波老话之“生活”05-10
水文学计算题答案03-27
兰州理工大学留学生手册(中英文对照)04-22
安徽省安庆市枞阳县宏实中学2015届高三最后一卷试题生物01-30
北师大版八下数学第二章 一元一次不等式与一元一次不等式组第5节04-06
【一模】山东莱芜市2012届高三3月份第一次模拟考试(英语)04-12
乐理调式10-31
关于加强末梢营销体系建设的思考01-27
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 考试题
- 语言
- 2003A
- 民办学校资产管理制度
- 01m自动变速器的拆装步骤
- 10以内的数字分成表(精修版)
- 流行音乐在初中音乐教学中的导入
- 销售部部门职能说明书
- 人教版九年级英语下册Unit15
- 5003001-2009 高、低压开关设备一次回路制作工艺守则
- 高中生留学澳洲如何选择专业
- 企业信息管理形成性考核册答案(本科)(1)
- 交通运输系统分析考试总结
- 蓖麻油黏度随温度变化经验公式及验证_温建平
- 2找规律填数
- 厦门大学金融系研究生课程表11-12学年第一学期(2010级)
- 三维工厂设计软件与油田地面站场设计
- 《说文解字》540部首歌诀
- 数电实验7——计数器. 报告docx
- 2014苏教版小学语文一年级(上册)期末水平测试卷
- 质押监管协议
- 隧道施工要点(4)
- 16《范仲淹的故事》