1、浙江省计算机二级 C 语言模拟资料(二)浙江省计算机二级 C 语言模拟资料(二)试题一、选择题(共 20 分,每小题 2 分)1下列运算符中自左向右结合的是:A) = B) - C) ? : D) + 2对于 int i, j; char c; 当输入序列为 1dc2 3 4 时, 执行语句scanf(“%dd%c%*d%*d%d”, 后 i, j, c 的值分别为:A) 1 2 d B) 1 2 c C) 1 4 d D) 1 4 c 3char str=h, e, l, l, o, , w, o, r, l, d, ,则 strlen(str)的返回值是A) 5 B) 6 C) 10 D)
2、 124下列判断闰年的表达式中错误的是:A) leap = n % 400 = 0 | n % 4 = 0 B) leap = n % 4 = 0 C) leap = ! ( n % 400 != 0 D) leap = n % 400 = 0 5表达式 (4 2) - !-1 + 4 则表达式:c a b int math, english, computer;void main() struct student sSIZE;int k,j,n,dSIZE;float average;for(k=0;knext)if( 7 ) break;else 8 ;return(!p); 试题四、程序
3、阅读题 ( 共 30 分,每小题 6 分 )1、写出程序运行结果。#include int a23 = 0;void main()int k, j=2, *p=a0;for ( k = 0; k void main()FILE *in, *out;char *string2 = “IF YOU FAIL TO PLAN.“;char *string1 = “YOU PLAN TO FAIL.“;if (in = fopen(“file1.txt“,“w“) != NULL)while(*string1 != .) fputc(*string1+,in);fclose(in);if(in=fop
4、en(“file1.txt“,“r“) != NULL) fputc(*string2+,out);fclose(in);fclose(out);3、写出程序运行结果。#include #define N 10main() int xN+1,k,j;for(k=2;k1;k-)if(xk!=-1) printf(“%3d“,xk);4、写出程序运行结果。#include int f1(int);int f2(int,int);main()int x=5,y=-3,z;printf(“Main,“);z=f1(x)+f2(y,10);printf(“z=%dn“,z);int f1(int z)
5、int x=7;x+=f2(z,2);printf(“f1,“);return x;int f2(int x,int y)printf(“f2,“);return x+y;5、写出程序运行结果。#include main(int argc, char *argv)char c;int d = 0, n= 0, t = 0;while(-argc) while(c = *argvargc+)if(c = 0) d+;else if( c = a | c = A) n+;else t+;printf(“d=%d, n=%d, t=%d“, d, n, t);编译后生成 t.exe, 求运行 t a
6、b2d3f $x4y5jfab 1234# 后输出的结果。试题五、编程题 ( 共 12 分)1. 程序说明 (4 分)请编写函数 sum(number),返回正整数 number 的各位数字之和(number 是长整型)。如 sum(654321)=21 。2. 程序说明 (8 分)如果两个素数之差为 2,它们就是一对孪生素数。从文本文件 input.txt 中读入两个正整数,将这两个正整数之间的各对孪生素数写入文件 output.txt (判断素数请用函数 prime(k),如果 k 是素数,返回 1;否则返回 0)。例:从文件 input.txt 读入 1 10 后,将 (3,5) 和 (5,7) 写入文件 output.txt。