1、2003 年 4月国家二级( C语言)笔试真题试卷及答案与解析 1 用 8位无符号二进制数能表示的最大十进制数为 ( A) 127 ( B) 128 ( C) 255 ( D) 256 2 在 64位高档微机中,一个字长所占的二进制位数为 ( A) 8 ( B) 16 ( C) 32 ( D) 64 3 在 Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住 ( A) Alt键 ( B) Esc键 ( C) Shift键 ( D) Ctrl键 4 在 Windows菜单中,暗淡(灰色)的命令项表示该命令 ( A)暂时不能用 ( B)正在执行 ( C)包含下一层菜单 ( D)
2、包含对话框 5 在 DOS环境下,为了得到 TYPE命令的帮助信息,正确的 DOS命令为 ( A) TYPE ( B) TYPE/H ( C) TYPE/* ( D) TYPE/? 6 下列选项中,能作为合法 DOS文件名的是 ( A) ANP/A.DAT ( B) ABCCOM ( C) ECD.BASIC ( D) XY+Z.TXT 7 下列叙述中正确的是 ( A)在 Windows环境下,最大化的窗口是不能移动的 ( B)在 Windows环境下,应用 程序窗口最小化后,该应用程序暂停执行 ( C)在 Windows环境下,只有最小化的窗口才能关闭 ( D)在 Windows环境下,不能
3、关闭最小化窗口 8 在 Windows环境下,工具栏中用于完成复制操作的按钮是 ( A) ( B) ( C) ( D) 9 在 Windows环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按 ( A) Ctrl+Printscreen 键 ( B) Alt+Printscreen键 ( C) Shift+Printscreen 键 ( D) Printscreen键 10 目前,计算机病毒扩散最快的途径是 ( A)通过软件复制 ( B)通过网络传播 ( C)通过磁盘拷贝 ( D)运行游戏软件 11 以下叙述正确的是 ( A) C语言比其他语言高级 ( B) C语言可以不用编译就能被计算机识
4、别执行 ( C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 ( D) C语言出现的最晚、具有其他语言的一切优点 12 C语言中用于结构化程序设计的三种基本结构是 ( A)顺序结构、选择结构、循环结构 ( B) if、 switch、 break ( C) for、 while、 do-while ( D) if、 for、 continue 13 在一个 C语言程序中 ( A) main( )函数必须出现在所有函数之前 ( B) main( )函数可以在任何地方出现 ( C) main( )函数必须出现在所有函数之后 ( D) main( )函数必须出现在固定位置 14 下列
5、叙述中正确的是 ( A) C语言中既有逻辑类型也有集合类型 ( B) C语言中没有逻辑类型但有集合类型 ( C) C语言中有逻辑类型但没有集合类型 ( D) C语言中既没有逻辑类型也没有集合类型 15 下列关于 C语言用户标识 符的叙述中正确的是 ( A)用户标识符中可以出现下划线和中划线(减号) ( B)用户标识符中不可以出现中划线,但可以出现下划线 ( C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 ( D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 16 若有以下程序段( n所赋的是八进制数) int m=32767,n=032767; printf(
6、“%d,%on“,m,n); 执行后输出结果是 ( A) 32767,32767 ( B) 32767,032767 ( C) 32767,77777 ( D) 32767,077777 17 下列关于单目运算符 +、 -的叙述中正确的是 ( A)它们的运算对象可以是任何变量和常量 ( B)它们的运算对象可以是 char型变量和 int型变量,但不能是 float型变量 ( C)它们的运算对象可以是 int型变量,但不能是 double型变量和 float型变量 ( D)它们的运算对象可以是 char型变量、 int型变量和 float型变量 18 若有以下程序段 int m=0xabc,n=
7、0xabc;m-=n;printf(“%Xn“,m);执行后输出结果是 ( A) 0X0 ( B) 0x0 ( C) 0 ( D) 0XABC 19 有以下程序段 int m=0,n=0; char c=a;scanf(“%d%c%d“,printf(“%d,%c,%dn“,m,c,n);若从键盘上输入:10A10,则输出结果是: ( A) 10,A,10 ( B) 10,a,10 ( C) 10,a,0 ( D) 10,A,0 20 有以下程序 main( ) int i; for(i=0;i 3;i+) switch(i) case 1: printf(“%d“,i); case 2: p
8、rintf(“%d“,i); default: printf(“%d“,i); 执行后输出的结果是 ( A) 11122 ( B) 12 ( C) 12020 ( D) 120 21 有以下程序 main( ) int i=1,j=1,k=2; if(j+|k+) 执行后输出的结果是 ( A) 1,1,2 ( B) 2,2,1 ( C) 2,2,2 ( D) 2,2,3 22 有以下程序 main( ) int a=5,b=4,c=3,d=2; if(a b c) printf(“%dn“,d); else if(c-1 =d)=1) printf(“%dn“,d+1); else print
9、f(“%dn“,d+2); 执行后输出的结果是 ( A) 2 ( B) 3 ( C) 4 ( D)编译时有错,无结果 23 有以下程序 main( ) int p7=11,13,14,15,16,17,18,i=0,k=0; while(i 7 i+; printf(“%dn“,k); 执行后输出的结果是 ( A) 58 ( B) 56 ( C) 45 ( D) 24 24 有以下程序 main( ) int i=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i 7); printf(“%dn“,s); 执行后输出的结果是 ( A) 16 ( B)
10、 12 ( C) 28 ( D) 21 25 有以下程序 main( ) int i=10,j=1; printf(“%d,%dn“,i-,+j); 执行后输出的结果是 ( A) 9,2 ( B) 10,2 ( C) 9,1 ( D) 10,1 26 有以下程序 main() char a,b,c,*d;a=; b=xbc;c=0xab; d=“0127“;printf(“%c%c%c%cn“,a,b,c,*d);编译时出现错误,以下叙述中正确的是 ( A)程序中只有 a=;语句不正确 ( B) b=xbc;语句不正确 ( C) d=“0127“;语句不正确 ( D) a=;和 c=0xab;
11、语句都不正确 27 有以下程序 : main( ) int f1 (int x, int y) return x y?x:y; int f2 (int x, int y) return xy?y:x; main( ) int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c); e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf(“%d,%d,%dn“,d,f,e); 执行后输出的结果是 ( A) 3,4,5 ( B) 5,3,4 ( C) 5,4,3 ( D) 3,5,4 28 有以下程序 void f(int x,int y) i
12、nt t; if(x y) t=x; x=y; y=t; main( ) int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(“%d,%d,%dn“,a,b,c); 执行后输出的结果是 ( A) 3,4,5 ( B) 5,3,4 ( C) 5,4,3 ( D) 3,5,4 29 若有一些定义和语句 #include stdio.h int a=4,b=3,*p,*q,*w; p= q= w=q; q=NULL; 则以下选项中错误的语句是 ( A) *q=0; ( B) w=p; ( C) *p=va; ( D) *p=*w; 30 有以下程序 int
13、 *f(int *x,int *y) if(*x *y) return x; else return y; main( ) int a=7,b=8,*p,*q,*r; p= q= r=f(p,q); printf(“%d,%d,%dn“,*p,*q,*r); 执行后输出结果是 ( A) 7,8,8 ( B) 7,8,7 ( C) 8,7,7 ( D) 8,7,8 31 有以下程序 main( ) char *s =“one“,“two“,“three“,*p; p=s1; printf(“%c,%sn“,*(p+1),s0); 执行后输出结果是 ( A) n,two ( B) t,one (
14、C) w,one ( D) o,two 32 有以下程序 main( ) int x8=8,7,6,5,0,0,*s; s=x+3; printf(“%dn“,s2); 执行后输出结果是 ( A)随机值 ( B) 0 ( C) 5 ( D) 6 33 以下能正确定义数组并正确赋初值的语句是 ( A) int N=5,bNN; ( B) int a12=1,3; ( C) int c2 =1,2,3,4; ( D) int d32=1,2,3,4; 34 有以下程序 main( ) int m 3=1,4,7,2,5,8,3,6,9; int i,j,k=2; for(i=0;iOUT.DAT
15、55 【正确答案】 PRN 56 【正确答案】 -3 【试题解析】 运算符 “ ”的功能是求余,由表达式知, -19%4 得结果应为 -4,余数为 3。 57 【正确答案】 i=10,j=20 58 【正 确答案】 1 【试题解析】 由运算符的优先级知, if 语句的条件表达式中,先进行 “a!=0”计算,返回值为 1,再进行赋值运算 p=1,所以条件成立,接着输出 p的值。 59 【正确答案】 503 【试题解析】 第 1次检查条件 “ab,成立,则依次执行 t=a; a=c; c=t;语句,则 a=5, c=3。 60 【正确答案】 61 【试题解析】 本题双重 for循环的功能是计算数组
16、中所有的数组元素中零之前的正数的累加和。 61 【正确答案】 7 【试题解析】 字符型数据的运算是通过其 ASCII码值进行的。 62 【正确答案】 9 【试题解析】 分析程序段可知,函数 f(3, 4), f(3, 5)的返回值分别为 3和 6,所以 d=f(f(3, 4), f(3, 5)=f(3, 6)=9。 63 【正确答案】 findbig 64 【正确答案】 16 【试题解析】 由带参数的宏定义知, MCRB(j, MCRA(j) MCRB(j,2*i) 2*MCRA(j)+2*i 2*2*j+2*i。 65 【正确答案】 x.link=y.link; 66 【正确答案】 Hell 【试题解 析】 函数 fgets(str, 5, fr)的功能是从 fr所指的文件中读入 4个字符并存人 str所指的存储空间内。 67 【正确答案】 xii xi-1j-1+xi-1j 68 【正确答案】 si9 0
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1