[计算机类试卷]国家二级(C语言)笔试模拟试卷183及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷183及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷183及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 183及答案与解析 1 以下叙述中正确的是 ( )。 ( A)用 C语言实现的算法必须要有输入和输出操作 ( B)用 C语言实现的算法可以没有输出但必须要有输入 ( C)用 C语言程序实现的算法可以没有输入但必须要有输出 ( D)用 C语言程序实现的算法可以既没有输入也没有输出 2 以下关于函数的叙述中正确的是 ( )。 ( A)每个函数都可以被其他函数调用 (包括 main函数 ) ( B)每个函数都可以被单独编译 ( C)每个函数都可以单独运行 ( D)在一个 函数内部可以定义另一个函数 3 以下选项中可作为 C语言合法常量的是 ( )。 ( A) -80
2、 ( B) -80 ( C) -80.0 ( D) -80.0e 4 以下定义语句中正确的是 ( )。 ( A) int a=b=0; ( B) char A=65+1, b=b; ( C) float a=1, *b= a, *c= b; ( D) double a=0.0; b=1.1; 5 有以下程序: #include stdio.h main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 1: b+;break; case 2:a+;b+;break; case 3:a+;b+; pr
3、intf(“a=%d, b=%dn“,a,B); 程序的运行结果是 ( )。 ( A) a=1,b=0 ( B) a=2, b=2 ( C) a=1,b=1 ( D) a=2,b=1 6 若有定义 int x, y;,并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x+): (y+)中的条件表达式 (x-y)等价的是 ( )。 ( A) (xy 0) ( B) (x-y 0) ( C) (x-y 0|x-y 0) ( D) (x-Y=0) 7 有以下计算公式: 若程序前面已在命令行中包括 math.h文件,不能够正确计算上述公式的程序是 ( )。 ( A) if(x =0)y=sqrt
4、(x); ( B) y=sqrt(x); else y=sqrt(-x); if(x 0)y=sqrt(-x); ( C) if(x =0)y=sqrt(x); ( D) y=sqrt(x =0? x: -x); 8 有以下程序: main() int i=1, j=2, k=3; if(i+=1(+j=3|k+=3)printf(“%d%d%dn“,i,j,k); 程序运行后的输出结果是 ( )。 ( A) 1 2 3 ( B) 2 3 4 ( C) 2 2 3 ( D) 2 3 3 9 有以下程序: main() int k=5; while(-k)printf(“%d“, k-=3);
5、printf(“n“); 执行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 4 ( D)死循环 10 有以下程序: #include stdio.h main() int y=9; for(;y 0;y-) f(y%3=0)printf(“%d“, -y); 程序的运行结果是 ( )。 ( A) 741 ( B) 963 ( C) 852 ( D) 875421 11 有以下程序: #include stdio.h main() int i,j; for(i=3;i =1;i-) for(j=1;j =2;j+)printf(“%d“,i+j); printf(“n“); 程
6、序运行的结果是( )。 ( A) 2 3 4 ( B) 4 3 2 ( C) 2 3 ( D) 4 5 3 4 5 5 4 3 3 4 3 4 4 5 2 3 12 以下合法的字符型常量是 ( )。 ( A) x13 ( B) 081 ( C) 65 ( D) n 13 在 C语言中,函数返回值的类型最终取决于 ( )。 ( A)函数定义时的函数首部所说明的函数类型 ( B) return语句中表达式值的类型 ( C)调用函数时主调函数所传递的实参类型 ( D)函数定义时形参的类型 14 有以下程序: int fun(int n) if(n=1)return 1; else return(n+
7、fun(n-1); main() int x; scanf(“%if“, x);x=fun(x);printf(“%dn“, x); 执行程序时,给变量 X输入 10,程序的输出结果是 ( )。 ( A) 55 ( B) 54 ( C) 65 ( D) 45 15 若有说明语句: double*P, a;则能通过 scanf语句正确给输入项读入数据的程序段是 ( )。 ( A) *p= a; scanf(“%lf“,p); ( B) *p=scanf(“%f“,p); ( C) p=scanf(“%lf“, *p); ( D) p= a;scanf(“%lf“,p); 16 有以下程序: #i
8、nlucde stdio.h main()D)2 3 3 int n, *P=NULL; *p= n; printf(“input n: “);scanf(“%d“, p);printf(“output n:“);printf(“%dn“, p); 该程序试图通过指针 P为 变量 n读入数据并输出,但程序有多处错误,以下语句正确的是 ( )。 ( A) int n, *P=NULL; ( B) *P= n; ( C) scanf(“%d“, p) ( D) printf(“%dn“, p); 17 有以下程序: void f(int*q) int i=0; for(; i 5; i+)(*q)
9、+; main() int a5=1,2,3,4,5,i; f(A); for(i=0;i 5;i+)printf(“%d, “, ai); 程序运行后的输出结果是 ( )。 ( A) 2,2,3,4,5, ( B) 6,2,3,4,5, ( C) 1,2,3,4,5, ( D) 2,3,4,5,6, 18 有以下程序: main() int a=2,4,6,8,10),y=0,x,*P; P= a1; for(x=1;x 3;x+)y+=px; printf(“%dn“, y); 程序运行后的输出结果是 ( )。 ( A) 10 ( B) 11 ( C) 14 ( D) 15 19 若有定义
10、语句: int a23, *p33;,则以下语句中正确的是 ( )。 ( A) p=a; ( B) p0=a; ( C) p0= a12; ( D) p1= a 20 有以下程序: main() int i, t3=9,8,7,6,5,4,3,2,1; for(i=0; i 3;i+)printf(“%“,t2-ii); 程序执行后的输出结果是 ( )。 ( A) 7 5 3 ( B) 3 5 7 ( C) 3 6 9 ( D) 7 5 1 21 有以下程序: #include stdio.h void fun(char*p) +P;printf(“%sn“, *p); main() char
11、*a=“Morning“, “Afternoon“, “Evening“,“Night“; fun(A); 程序的运行结果是 ( )。 ( A) Afternoon ( B) fternoon ( C) Morning ( D) oring 22 有以下程序: #include string.h main() char p20=a,b,c,d),q=“abc“, r=“abcde“ strcat(p, r); strcpy(p+strlen(q), q); printf(“%dn“,sizeof(p); 程序运行后的输出结果是 ( )。 ( A) 9 ( B) 6 ( C) 11 ( D) 7
12、 23 以下语句或语句 组中,能正确进行字符串赋值的是 ( )。 ( A) char*sp; *sp=“right!“; ( B) char s10; s=“right!“; ( C) char s10; *s=“right!“; ( D) char*sp=“right!“; 24 有以下程序: main(int argc, char*argv) int n=0, i; for(i=1; i argc;i+) n=n*10+argvi-0; printf(“%dn“,n); 编绎连接后生成可执行文件 tt.exe.若运行时输入以下命令行 tt 12 345 678 程序运行后的输出结果是 (
13、)。 ( A) 12 ( B) 12345 ( C) 1.23457e+007 ( D) 136 25 有以下程序: #define f(x)(x*x) main() int i1, i2; i1=f(8)/f(4);i2=f(4+4)/f(2+2); printf(“%d, %dn“,i1,i2); 程序运行后的输出结 果是( )。 ( A) 64,28 ( B) 4,4 ( C) 4,3 ( D) 64,64 26 以下结构体类型说明和变量定义中正确的是 ( )。 ( A) typedef struct ( B) struct REC; int n; char c; REC; int n;
14、 char c; ; REC t1, t2; REC t1, t2; ( C) typedef struct REC; ( D) struct int n=0; char c=A; t1, t2; int n; char c; REC; REC t1,t2; 27 以下程序的功能是进行位运算: main() unsigned char a,b; a=73; b= 4 3; printf(“%d%dn“,a,B); 程序运行后的输出结果是 ( )。 ( A) 4 3 ( B) 7 3 ( C) 7 0 ( D) 4 0 28 读取二进制文件的函数调用形式为: fread(buffer, size
15、, count, pf);,其中buffer代表的是 ( )。 ( A)一个文件指针,指向待读取的文件 ( B)一个整型变量,代表待读取的数据的字节数 ( C)一个内存块的首地址,代表读入数据存放的地址 ( D)一个内存块的字节数 29 变量 a中的数据用二进制表示的形式是 01011101,变量 b中的数据用二进制表示的形式是 11110000。若要求将 a的高 4位取反,低 4位不变,所要执行的运算是 ( )。 ( A) ab ( B) a|b ( C) a b ( D) a 4 30 定义 int a=5,b;,则执行表达式 b=+a*-a之 后,变量 b的值为 ( )。 31 下面程序
16、的输出是 ( )。 main() int arr8,i,k=0; for(i=0;i 8;i+) arri=i; for(i=1;i 5;i+) k+=arri+i; printf(“%dn“,k); 32 下面程序的输出结果是 ( )。 main() int i=0,a=0; while(i 20) for(;) if(i%10)=0)break; else i-; i+=11; a+=i; printf(“%dn“,A); 33 若给 fun函数的形参 s传送字符串: “abc-6354abc“,则函数的返回值是 ( )。(字符串中包括空格 ) long fun(char S) long
17、n;int sign; for(;isspace(*s)|islower(*s);s+); sign=(*s=-)?-1:1; if(*s=+|*s=-)s+; for(n=0;isdigit(*s);s+) n=10*n+(*S-0); return sign*n; 34 以下程序的输出结果是 ( )。 #include stdio.h main() int x=27; while(x 20 if(x/3)x+;break; else continue; printf(“%dn“,x); 35 以下程序的输出结果是 ( )。 #include stdio.h main() fint x=0;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 183 答案 解析 DOC
