1、二级 C 语言笔试 9 及答案解析(总分:72.00,做题时间:90 分钟)一、B选择题/B(总题数:52,分数:52.00)1.在下面语句中,其含义为“p 为指向含 n 个元素的一维数组的指针变量”的定义语句是 ( )(分数:1.00)A.int pB.int * p( );C.int * p(;D.int( *2.对存有重要数据的 5.25 英寸软盘,防止计算机病毒感染的方法是 ( )(分数:1.00)A.不要与有病毒的软盘放在一起B.在写保护口贴上胶条C.保持软盘清洁D.定期对软格化式3.以下变量 x、y、z 均为 double 类型且已正确赋值,不能正确表示数学式 x/yz 的 C 语
2、言表达式是 ( )(分数:1.00)A.x/y *B.x * (1/(y * )C.x/y * 1/D.x/y/z4.在 C 语言中,要求运算数必须是整型的运算符是 ( )(分数:1.00)A.%B./C.D.!5.执行以下程序后,y 的值是 ( ) main( ) int a 2,4,6,8,10); int y1,x, *p; p printf(“%d/n“, (x int k5;char c;DATE; srtuct date int cat;DATEcow;double dog; too; DATE max; 则下语句的执行结果是 ( ) printf(“%d,“sizeof(stru
3、ct date)+size of(max);(分数:1.00)A.25B.30C.18D.818.对计算机软件正确的态度是 ( )(分数:1.00)A.计算机软件不需要维护B.计算机软件只要能复制得到就不必购买C.受法律保护的计算机软件不能随便复制D.计算机软件不必有备份A.B.C.D.20.以下程序运行后,输出结果是 ( ) # includestdio.h # define PT5.5 # define S (x)PT* x * x main( ) int a1,b2; printf(“%4.1f/n“,s(a+b); (分数:1.00)A.49.5B.9.5C.22.0D.45.021.
4、下面程序的输出结果是 ( ) # includestdio.h main( ) int i,a 2,4,6,8;int * pa; for(i0;i4;i+ +)ai* p+ +; printf(*%d/n“,a2); (分数:1.00)A.6B.8C.4D.222.下面语句的输出结果是 ( ) pritnf(“%d/n“,strlen(“/t/“/065“xff/n“);(分数:1.00)A.5B.14C.8D.输出项不合法,无法正常输出23.软磁盘最外边的磁道数是 ( )(分数:1.00)A.0B.1C.39D.7924.在下列叙述中,错误的一条是 ( )(分数:1.00)A.主函数 ma
5、in 中定义的变量在整个文件或程序中有效B.不同函数中,可以使用相同名字的变量C.形式参数是局部变量D.在个函数内部,可在复合语句中定义变量,这些变量只在本复合语句中有效25.下列语句中符合 C 语言语法的赋值语句是 ( )(分数:1.00)A.a7 + b + ca + 7;B.97 + b + 9 + + a + 7;C.a7 + b,b+ +,a + 7;D.a7 + b,ca + 7;26.200 个 3232 点阵的汉字字模信息所占用的字节数为 ( )(分数:1.00)A.25600B.2560C.6400D.1280027.MIPS 常用来描述计算机的运算速度,其含义是 ( )(分
6、数:1.00)A.每秒钟处理百万个字符B.每分钟处理百万个字符C.每秒钟执行百万条指令D.每分钟执行百万条指令28.若输入 60 和 13,以下程序的输出结果是 ( ) # define SURPLUS(a,b)(a)%(b) main( ) int a,b; scanf(“%d,%d“,以下 fun 函数的功能是:在第一个循环中给前 10 个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使 a 数组前 10 个元素中的值对称拆叠,变成1、2、3、4、5、5、4、3、2、1。请填空 fun(int a ) int i; for(i1;i10;i+ +) 【13】 i;
7、for(i0;i5;i + +) 【14】 ai; (分数:2.00)填空项 1:_60.下面函数用来求出两个整数之和,并通过形参传回两数相加之和值。请填空。 int add(int x,inty,U 【15】 /U,) U 【16】 /U x + y;(分数:2.00)填空项 1:_61.下面 invert 函数的功能是将一个字符串 str 的内容颠倒过来。请填空。 # includestring.h void invert(char str ) int i,jU 【17】 /U; for(i0,jstrlen(str)U 【18】 /U;ij;i+ +,j- -) kstri;strist
8、rj;strjk; (分数:2.00)填空项 1:_62.函数 viod fun(float * sn,int n)的功能是:根据以下公式计算 S,计算结果通过形参指针 sn 传回;n 通过形参传入,n 的值大于等于 0。请填空。 s=1-1/3+1/5-1/7+1/(2n+1) void fun(float * sn,int n) floats0.0,w,f-1.0; int i0; for(i0;in;i+ +) fU 【19】 /U* f; wf/(2i+1); s+ +w; U 【20】 /Us; (分数:2.00)填空项 1:_二级 C 语言笔试 9 答案解析(总分:72.00,做题
9、时间:90 分钟)一、B选择题/B(总题数:52,分数:52.00)1.在下面语句中,其含义为“p 为指向含 n 个元素的一维数组的指针变量”的定义语句是 ( )(分数:1.00)A.int pB.int * p( );C.int * p(;D.int( * 解析:2.对存有重要数据的 5.25 英寸软盘,防止计算机病毒感染的方法是 ( )(分数:1.00)A.不要与有病毒的软盘放在一起B.在写保护口贴上胶条 C.保持软盘清洁D.定期对软格化式解析:3.以下变量 x、y、z 均为 double 类型且已正确赋值,不能正确表示数学式 x/yz 的 C 语言表达式是 ( )(分数:1.00)A.x
10、/y * B.x * (1/(y * )C.x/y * 1/D.x/y/z解析:4.在 C 语言中,要求运算数必须是整型的运算符是 ( )(分数:1.00)A.% B./C.D.!解析:5.执行以下程序后,y 的值是 ( ) main( ) int a 2,4,6,8,10); int y1,x, *p; p printf(“%d/n“, (x int k5;char c;DATE; srtuct date int cat;DATEcow;double dog; too; DATE max; 则下语句的执行结果是 ( ) printf(“%d,“sizeof(struct date)+size
11、 of(max);(分数:1.00)A.25B.30 C.18D.8解析:18.对计算机软件正确的态度是 ( )(分数:1.00)A.计算机软件不需要维护B.计算机软件只要能复制得到就不必购买C.受法律保护的计算机软件不能随便复制 D.计算机软件不必有备份解析:A. B.C.D.解析:20.以下程序运行后,输出结果是 ( ) # includestdio.h # define PT5.5 # define S (x)PT* x * x main( ) int a1,b2; printf(“%4.1f/n“,s(a+b); (分数:1.00)A.49.5B.9.5 C.22.0D.45.0解析:
12、21.下面程序的输出结果是 ( ) # includestdio.h main( ) int i,a 2,4,6,8;int * pa; for(i0;i4;i+ +)ai* p+ +; printf(*%d/n“,a2); (分数:1.00)A.6 B.8C.4D.2解析:22.下面语句的输出结果是 ( ) pritnf(“%d/n“,strlen(“/t/“/065“xff/n“);(分数:1.00)A.5 B.14C.8D.输出项不合法,无法正常输出解析:23.软磁盘最外边的磁道数是 ( )(分数:1.00)A.0 B.1C.39D.79解析:24.在下列叙述中,错误的一条是 ( )(分
13、数:1.00)A.主函数 main 中定义的变量在整个文件或程序中有效 B.不同函数中,可以使用相同名字的变量C.形式参数是局部变量D.在个函数内部,可在复合语句中定义变量,这些变量只在本复合语句中有效解析:25.下列语句中符合 C 语言语法的赋值语句是 ( )(分数:1.00)A.a7 + b + ca + 7;B.97 + b + 9 + + a + 7;C.a7 + b,b+ +,a + 7;D.a7 + b,ca + 7; 解析:26.200 个 3232 点阵的汉字字模信息所占用的字节数为 ( )(分数:1.00)A.25600 B.2560C.6400D.12800解析:27.MI
14、PS 常用来描述计算机的运算速度,其含义是 ( )(分数:1.00)A.每秒钟处理百万个字符B.每分钟处理百万个字符C.每秒钟执行百万条指令 D.每分钟执行百万条指令解析:28.若输入 60 和 13,以下程序的输出结果是 ( ) # define SURPLUS(a,b)(a)%(b) main( ) int a,b; scanf(“%d,%d“,以下 fun 函数的功能是:在第一个循环中给前 10 个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使 a 数组前 10 个元素中的值对称拆叠,变成1、2、3、4、5、5、4、3、2、1。请填空 fun(int a ) i
15、nt i; for(i1;i10;i+ +) 【13】 i; for(i0;i5;i + +) 【14】 ai; (分数:2.00)填空项 1:_ (正确答案:13ai-1)解析:14a9-i60.下面函数用来求出两个整数之和,并通过形参传回两数相加之和值。请填空。 int add(int x,inty,U 【15】 /U,) U 【16】 /U x + y;(分数:2.00)填空项 1:_ (正确答案:15int * p)解析:16* p 或 p061.下面 invert 函数的功能是将一个字符串 str 的内容颠倒过来。请填空。 # includestring.h void invert(
16、char str ) int i,jU 【17】 /U; for(i0,jstrlen(str)U 【18】 /U;ij;i+ +,j- -) kstri;stristrj;strjk; (分数:2.00)填空项 1:_ (正确答案:17k)解析:18-162.函数 viod fun(float * sn,int n)的功能是:根据以下公式计算 S,计算结果通过形参指针 sn 传回;n 通过形参传入,n 的值大于等于 0。请填空。 s=1-1/3+1/5-1/7+1/(2n+1) void fun(float * sn,int n) floats0.0,w,f-1.0; int i0; for(i0;in;i+ +) fU 【19】 /U* f; wf/(2i+1); s+ +w; U 【20】 /Us; (分数:2.00)填空项 1:_ (正确答案:19-1 或-1.0 或-1)解析:20 * sn