2015年计算机等级考试二级C语言实验指导:综合练习二
发布时间:2010/10/31 18:52:29 来源:城市学习网 编辑:ziteng
模拟试题二
一、选择题(每题2分 共26分)
1. 以下几个语句执行后i,j,k的值分别为()
int i,j,k;
i=j=0;
k=1;
if (i>j?(j--):(i--)) k++;
A 1,9,1 B 1,0,2
C -1,0,1 D 0,0,2
2. int i=0,j=0;
int a=2,b=4,c=5,d=6;
表达式(i=a-b)&&(j=c-d)的结果是()
A 1 B 0
C -2 D -1
3.若给定条件表达式(m)?(a++):(a--),则表达式m()
A 等价于(m==0) B 等价于(m==1)
C 等价于(m!=0) D 等价于(m!=1)
4 下列程序运行结束后,n的值为()
n=2;
do { n=n+n;
n--;
} while (n<20);
A 21 B 22
C 33 D 24
5.已知数组a[3][4],若给a[1][2]赋值5 ,下列操作正确的是()
A a=5 B *a[1]=5
C a[2]={0,5,3,4} D *(a[1]+2)=5
6.文件包含的含义是指()
A 定义常量 B 定义变量
C 引入已说明的函数 D 引入标准函数
7.以下变量命名合法的是()
A M.john B $123
C lotus1_2_3 D
8.下面关于”A”的说法正确的是()
A 它代表一个字符常量 B 它代表一个字符串常量
C 它代表一个字符a D 它代表一个变量
9.以下语句执行后变量c的结果是()
int a=7,b=2;
float c;
c=a/b;
A 3.5 B 3
C 3.0 D 1
10. 设定如下变量,则表达式5+’b’+i*f-d/e-‘a’的结果是()
int i;
float f;
double d;
long int e;
A 浮点型 B 长整型
C 整型 D 双精型
11. 以下不正确的定义语句是()
A double x[5]={2.0,4.0,6.0,8.0,9.0};
B int y=[5]={0,1,3,5,7,9};
C char c1[ ]={‘1’,’2’,’3’,’4’,’5’};
D char c2[ ]={‘\x10’,’\x1’,’\x8’};
12.指出哪一个不是C语言的赋值语句()
A int a=1,b=3; B i++;
C a=b=5; D y=int(i);
13. 以下哪一个是无限循环的语句为()。
A for (y=0,x=0;x>=++y;x++);
B for (x=1;;x++);
C i=15; while (x>10) { x--;}
D for (i=10;i>5;i--) sum+=i; [NextPage] 二.写出下列程序的运行结果(每题3分,共15分)
1.#include “stdio.h”
main()
{
int i;
for (i=1;i<=5;i++)
{ if (i%2) printf(“*”);
else continue ;
printf(“#”);
}
printf(“$\n”);
}
2. main()
{
int i;
void function(void);
for (i=0;i<3;i++)
function();
}
void function(void)
{
int i=1,j=1;
static int k=1;
i++;j++;k++;
printf(“%d,%d,%d”,i,j,k);
}
3. float x=1.0,y=2.0,z;
main()
{
double fun(void);
z=fun();
printf(“%f,%f,%f\n”,x,y,z);
}
double fun(void)
{
int y,z;
x=y=z=3.0;
return(x+y+z);
}
4.main()
{
int i=1,k=0;
while (i--) k=k+k;
printf(“k=%d\n”,k);
}
5.main()
{
int i,sum;
i=1;
for(sum=1;i<=5;i++,sum--)
sum*=sum;
printf(“%d”,sum);
}
三 编程(共59分)
1.设有一个字符串“This is a computer” ,请编程求字符“i”首次出现的位置。(8分)
2. 试编程求3*3二维数组中最大元素及其所在的行、列位置。(12分)
3.编写程序,计算并输出下面级数在求和过程中第一次出现和数大于999时的奇数项部分和OS2。(其中^表示幂运算)
1*2-2*3+3*4-4*5+……+(-1)^(n-1)*n*(n+1)+ ……(13分)
4.有一张由9个学生每人8个数据组成的二维数据表。编写程序,要求将学生的总成绩按降序(由大到小)排列,计算并输出总分第二名学生的平均成绩。(13分)
姓名 学号 年龄 政治 语文 数学 计算机 体育 总分
李明 1 19 81 89 99 98 87
张力 2 16 89 90 95 80 90
王英 3 17 91 77 88 95 78
赵锐 4 18 79 84 95 93 96
周密 5 15 95 92 98 99 93
吴川 6 17 78 88 85 86 80
孙康 7 14 91 85 94 82 88
郑重 8 15 90 92 94 90 95
胡琴 9 16 75 85 87 94 90
5.已知在正文文件da1.dat中,每个记录只有两项数据,第一项为一整数表示学生的学号,第二项为形如xx.x的一个实数,试统计计算并向文件t2.dat输出60分以上(含60分)的人数占总人数的比例R。(13分)