logo资料库

计算机二级真题.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
一、选择题(每小题 3 分,共 72 分) 1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】输入一批以-1 结束的整数,求偶数和。例如:输入 2 5 1 6 3 -1,输出 sum=8。 【程序】 #include void main() { int x ,sum; sum=0; (1) (2) (3) (4) ; { ; ) if( sum=sum+x; } printf(“sum=%d” ,sum); } 【供选择的答案】 (1) A、scanf(“%lf”,x) (2) A、while(x ==-1) (3) A、x==2 (4) A、scanf(“%d”, &x) B、scanf(“%d”,&x) C、scanf(“%d”,*x) D、scanf(“%lf”,&x) B、while(x!=-1) B、x%2==2 B、scanf(“%d”,x) C、if(x==-1) C、x%2==0 C、sum=0 D、if(x!=-1) D、x/2==0 D、x=sum 2. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】以下程序调用函数 f,将一个整数首尾倒置,若程序输入 12345,则输出 54321; 若程序输入-34567,则输出-76543。 【程序】 #include #include (5) { long m,y=0; (6) ; while ( m!=0 ) { y=y*10+m%10; } if ( n>=0 ) return else (7) y; (8) } void main() { putchar(’ ’); ; ;
printf ("%ld\t",f (12345) ) ; printf ("%ld\n",f (-34567) ) ; } 【供选择的答案】 (5) A、long f(long n); (6) A、m=n (7) A、m=m/10 (8) A、return n B、long f(long n) B、m=-n B、m=m*10 B、return 0 C、long f(int n) C、m=fabs(n) C、m=m%10 C、return 1 D、int f(long n) D、m=y D、m=n/10 D、return –y 3. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】输入 10 个整数,将它们从小到大排序后输出。 运行示例: Enter 10 integers: 1 3 -9 80 150 7 0 6 5 37 After sorted: -9 0 1 3 5 6 7 37 80 150 【程序】 #include void main( ) { int i, j, t, a[10]; printf("Enter 10 integers: "); for(i = 0; i < 10; i++) (11) ; j++) ); ; ){ scanf( (9) for(i = 1; i < 10; i++) for( (10) (12) t = a[j]; a[j] = a[j+1]; a[j+1] = t; if( } printf("After sorted: "); for(i = 0; i < 10; i++) printf("%d ", a[i]); printf("\n"); } 【供选择的答案】 (9) A、"%f", a[i] (10) A、j = 0 (11) A、j > i (12) A、a[j-1] < a[j] B、"%lf", a+i B、j = 1 B、j < 9 - i B、a[j] > a[j+1] C、"%s", a C、j = i C、j < 10 - i C、a[j] < a[j+1] D、"%d", &a[i] D、j = i - 1 D、j > i - 1 D、a[i] < a[j] 4. 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include
void main( ) { int k; for(k = 5; k > 0; k--){ if(k==3) break; /* 第 6 行 */ printf("%d ", k); } } (13) 程序的输出是 (13) B、5 4 2 1 。 C、5 4 A、5 4 3 2 1 D、3 (14) 将第 6 行中的 break 改为 continue 后,程序的输出是 D、3 A、5 4 3 2 1 B、5 4 2 1 C、5 4 (14) 。 (15) 将第 6 行中的 break 删除(保留分号)后,程序的输出是 (15) 。 B、5 4 2 1 A、5 4 3 2 1 C、5 4 (16) 将第 6 行全部删除后,程序的输出是 C、5 4 A、5 4 3 2 1 B、5 4 2 1 D、3 (16) 。 D、3 5. 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】输入一个字符串和一个正整数 m,将该字符串中的前 m 个字符复制到另一个字 符串中,再输出后一个字符串。 运行示例 1: Enter a string: How are you! Enter an integer: 7 The new string is How are 运行示例 2: Enter a string: How are you! Enter an integer: 70 The new string is How are you! 运行示例 3: Enter a string: How are you! Enter an integer: 0 The new string is 【程序】 #include #include < (17) void main( ) { char s[80], t[80], i, m; printf("Enter a string:"); gets(s); printf("Enter an integer:"); scanf("%d", &m); >
for(i = 0; (18) ; i++) (19) ; (20) printf("The new string is "); puts(t); } 【供选择的答案】 (17) A、ctype.h (18) A、i < m (19) A、*s++ = *t++ (20) A、*++t = '\0'; B、math.h B、s[i]!= '\0' B、t[i] = s[i] B、; D、string.h C、stdio.h C、s[i]!= '\0' && i < m D、s[i]!= '\0' || i < m C、*t++ = *s++ C、*++s = '\0'; D、s[i] = t[i] D、t[i] = '\0'; 6. 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 计算两位学生的平均成绩,保存在结构中,然后列表输出学生的姓名和平均成绩。 #include struct student { char name[8]; int math; int english; int average; }; void GetAverage(______(21)______) { int sum=0; sum = ______(22)______; p->average = sum/2; } void main() { int i; struct student stu[2]={{"Mary", 90, 95, 0},{"John ", 88, 80, 0}}; for(i=0;i<2;i++) GetAverage(______(23)______); printf("Name\tAverage\n"); for(i=0;i<2;i++) printf(______(24)______); } 【供选择的答案】 (21) A、struct *p C、struct student p (22) A、p->math+p->english C、stu[i]->math+stu[i]->english (23) A、stu C、stu [i] B、struct student *p D、student *p B、p.math+p.english D、stu[i].math+stu[i].english B、&stu D、&stu[i]
(24) A、"%s\t %d\n", stu[i]->name, stu[i]->average C、"%s\t %d\n", stu[i].name, stu[i].average B、"%d\n", stu[i] D、"%s\n", stu[i] 二、编程题(共 28 分) 1. 写程序,输入 100 个整数并将其保存在数组中,输出该数组中绝对值最大的元素及其下标 值(注:如果具有最大绝对值的元素个数不止一个,那么输出第一个绝对值最大的元素及 其下标)。(14 分) 2. 写程序,在主函数中输入一个正整数 n,求下列算式的值。要求定义和调用 2 个函数:sumn(n) 计算累加和 1+2+…+n; mypow(n)计算 n 的 n 次幂(即 nn),2 个函数的返回值类型都是 double。 (14 分) 1  2 2 21   3 3 321   4 4 4321   )1( ... n 1  n n ... 21  n 一、选择题(每小题 3 分,共 72 分) 1. BBCA 2. BCAD 3. DACB 4. CBAD 5.DCBD 6. BADC 二、编程(共 28 分) 1. (14 分) #include #include void main( ) { (2 分) int i,a[100]; int max, maxi; for(i=0;i<100;i++) scanf("%d",&a[i]); max= a[0]; maxi=0; for(i=1;i<100;i++) if(fabs(a[i])> fabs(max) ){ max= a[i]; maxi=i; } (1 分) (2 分) (2 分) (1 分) (4 分) printf("max=%d, maxi=%d\n", max, maxi); (2 分) } 2. (14 分) #include double sumn(int n) { double p=0; int i; for( i=1; i<=n; i++) return p; } p+=i; (1 分) (1 分) (1 分) (1 分)
double mypow(int n) { int i; double s=1; for( i=1; i<=n; i++) return s; s*=n; (1 分) (1 分) (1 分) (1 分
分享到:
收藏