二级C语言笔试-204_第1页
二级C语言笔试-204_第2页
二级C语言笔试-204_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二级C语言笔试-204(总分:100.00,做题时间:90分钟)一、选择题(总题数:50,分数:60.00)1. 若int类型数据占两个字节,则下列语句int k = -1 ;printf(%d , %u/n, k, k);的输出为()(分数:1.00 )A. -1 , -1B. -1 , 32767C. -1 , 32768D. -1 , 65535 V解析:2. 下列常数中,不合法的C常量是()(分数:1.00 )A. -0x3b1B. 123e+2.3 VC. ”D. 6e+7解析:3. 若有以下定义和语句;double r=99 , *p = 7;*p = r;则以下正确的叙述是()(

2、分数:1.00 )A. 两处的*p含义相同,都说明给指针变量P赋值3B. 在“double r = 99, *p = 7; *p=r ;中,把r的地址赋给了 p所指的存储单元C. 语句“ *p = r;”把变量r的值赋给指针变量pD. 语句“ *p=r;”把变量r的值放回P中 V解析:(分数:1.00 )A.B.C. VD.解析:5. fwrite 函数的一般调用形式是 ( )(分数: 1.00 )A. fwrite(buffer, count , fp , size) ;B. fwrite(fp ,size ,count , buffer) ;C. fwrite(fp ,count ,siz

3、e , buffer) ;D. fwrite(buffer , size , count , fp) ; V 解析:6. 有下列程序main()double d ; float f ; long l ; int i ;i=f=仁d = 20/3;printf(%d%1d %f %f/n, i , 1, f , D) ;程序运行后的输出结果是 ( 小数点后只写 1 位) ( )(分数: 1.00 )A. 6 6 6.0 6.0VB. 6 6 6.7 6.7C. 6 6 6.0 6.7D. 6 6 6.7 6.0解析:7. 有以下程序void ss(char * s , char t) while

4、(*s)if(*s=t)*s= t-a+A;s+; main()char str1100= abcddfefdbd , c = dss(str1 , C) ;printf(%s/n , str1) ;程序运行后的输出结果是 ( )(分数: 1.00 )A. ABCDDEFEGDBDB. abcDDfefDbD VC. abcAAfefAbAD. Abcddfefdbd解析:8. 已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量 是 ( )(分数:1.00)A. 字符A VB. 字符aC. 字符eD. 非法的常量解析:9. 在关系

5、数据库中,对一个关系做投影操作后,新关系的元组个数将()(分数:1.00 )A. 等于原来关系中的元组个数VB. 大于原来关系中的元组个数C. 小于原来关系中的元组个数D. 不能确定元组个数解析:10. 已知下列函数定义setw(int *b , int m , int n , int dat)int k ;for(k=0 ; kv m*n, k+)*b = dat ; b+;则调用此函数的正确写法是(假设变量a的说明为int a50)()(分数:1.00 )A. setw(*a , 5, 8, 1);B. setw(&a , 5, 8, 1);C. setw(int*)a, 5, 8, 1)

6、;D. setw(a , 5, 8, 1) ; V解析:11. 设有如下枚举类型定义:enum language Basic=3 , Assembly, Ada= 100 , COBOL Fortran ; 枚举类型Fortran的值为()(分数:1.00 )A. 4B. 7C. 102 VD. 103解析:12.能正确表示代数式的C语言表达式是(分数:1.00)A.B.D.解析:13. 若有如下程序段:main()int n = 0;while(printf(*)n+;if(n next = = NULIB. p= NULLC. p- next=head VD. p = head解析:15.

7、 下列不属于软件调试技术的是 ( )(分数: 1.00 )A. 强行排错法B. 集成测试法 VC. 回溯法D. 原因排除法解析:16. C 语言中 main 函数参数的非法表示形式是 ( )(分数: 1.00 )A. main(char*argv,int argc) VB. main(int a, char *b)C. main(int y ,char*x)D. main(int argv ,char * argc)解析:17. 下列描述说明正确的是 ( )分数: 1.00 )A. 定义结构体时,它的每个成员的数据类型可以不同VB. 不同结构体的成员名不能相同C. 结构体定义时,其成员的数据类

8、型不能是结构体本身D. 结构体定义时各成员项之间可用分号也可用逗号隔开 解析:的返回值是 ( )18. 若 fp 是指向某文件的指针,且已读到此文件末尾,则库函数 feof(fp)(分数: 1.00 )A. EOFB. 0C. 非零值 VD. NULL 解析:19. 数据库的故障恢复一般是由 ( )(分数: 1.00 )A. 数据流图完成的B. 数据字典完成的C. DBA完成的 VD. PAD图完成的解析:20. 以下程序的输出结果是 ( ) struct HAR int x , y; struct HAR *p ; h2 ; main()hO.x = 1; h0.y=2 ;h1.x = 3;

9、 h1.y = 4;hO.p=&h1; h1.p = h;printf(%d%d/n hO.p)-x, (h1.p)- y);(分数: 1.00 )A. 12B. 23C. 14D. 32 V解析:21. 以下函数的功能是 ( )int fun(char*(分数: 1.OO )A.char *b =a;while(*B. b+ ;&nbC. 计算字符串的长度VD. 字符串的连接解析:22. 在待排序的元素序列基本有序的前提下,效率最高的排序方法是 ( )(分数: 1.00 )A. 冒泡排序 VB. 选择排序C. 快速排序D. 归并排序解析:23. 如果int i = 3 ,_则k =什+i)+

10、(+i)+(i+) 执行过后k的值为, i的值为。()(分数: 1.00 )A. 15, 6 VB. 12, 5C. 18, 6D. 15, 5解析:24. 线性表的顺序存储结构和线性表的链式存储结构分别是 ( )分数: 1.00 )A. 顺序存取的存储结构、顺序存取的存储结构B. 随机存取的存储结构、顺序存取的存储结构 VC. 随机存取的存储结构、随机存取的存储结构D. 任意存取的存储结构、任意存取的存储结构 解析:25. 有如下说明int a10= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p=a ;则数值为 9的表达式是 ( )分数: 1.00 )A. *p+9B.

11、 *(p+8)VC. *p+ = 9D. p+8解析:26. 以下叙述中错误的是 ( )分数: 1.00 )A. 二进制文件打开后可以先读文件的末尾,而顺序文件不可以B. 在程序结束时,应当用 fclose 函数关闭已打开的文件C. 在利用 fread 函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D. 不可以用FILE定义指向二进制文件的文件指针V解析:27. 若变量 c 为 char 类型,能正确判断出 c 为小写字母的表达式是 ( )分数: 1.00 )A. a = c =a)|(c =z)C. (a= c)D. (c = a)&(c = z) V 解析:28. 下面函

12、数的功能是 ( ) sss(s , t)=*s+);char *s , *t ; while(*s)&(*t)&(*t+ return(*s- * t) ;(分数: 1.00 )A. 求字符串的长度B. 比较两个字符串的大小 VC. 将字符串 s 复制到字符串 t 中D. 将字符串 s 接续到字符串 t 中 解析:29. 软件生命周期中花费时间最多的阶段是 ( )(分数: 1.00 )A. 详细设计B. 软件编码C. 软件测试D. 软件维护 V解析:30. 有以下的程序 #include void fun(char *fname ,char *st)FILE *myf ; int i ;myf

13、=fopen(fname ,w) ; for(i=0 ; i strlen(st) ; i+)fputc(sti , myf) ; fclose(myf) ;main()fun(test.t,new world) ; fun(test.t,hello ,) ;程序执行后,文件 test t 中的内容是 ( )分数: 1.00 )A. hello , VB. new worldhello,C. new worldD. hello , rld解析:31. 设有以下定义: typedef union long i ;int k5;char c , DATE,struct date int cat ;

14、DATE cow;double dog;too ; DATE max; 则下列语句的执行结果是 ( ) printf(%d , stzeof(struct date)+sizeof(max);(分数: 1.00 )A. 25B. 30VC. 18D. 8解析:32. 有如下程序main()int x = 1, a = 0, b = 0;switch(x)case 0 : b+;case 1 : a+;case 2 : a+;b+;printf(a=%d , b=%d/n , a, B) ;程序运行后的输出结果是 ( )(分数: 1.00 )A. a = 2, b= 1 VB. a =1, b=

15、1C. a=1 , b=0D. a=2, b=2 解析:33. 已有定义语句: int x = 3, y=0, z= 0;,则值为 0 的表达式是 ( )(分数: 1.00 )A. x&y VB. x|zC. x| |z+2&y-zD. !(x v y)& !z| |y)解析:34. 有以下程序#include sub1(char a , char B) char c ; c= a; a=b; b= c ; sub2(char *a , char B) char c; c = *a ; *a = b; b= c;sub3(char *a , char *B) char c ; c=*a ; *

16、a=*b;*b=c ; main()cha, a, b;a=A ; b=B ; sub3(&a , &b) putchar(分数: 1.00 )A. ;putchar(VB. ;a= A ;解析:35. 若有以下说明和定义 fun(int *C)main()int(*(分数: 1.00 )A. () =fun , *b() , w10 , c;III= a(w) ;在必要的赋值之后,对 fun 函数的正确调用语句是 ( )A) aB. (*a) (&c); VC. b=*b(w) ;D. fun(b);解析:36. 若有如下程序:sub(p , n)int(*p)3, n;int i ;for

17、(i=0 ; i a); 后, B 的值为 ( )分数: 2.00 )A.0 VB. 1C. 2D. 3解析:43. 下面程序的输出结果是 ( )main()int x = 2, y= 0, z;x+= 3+2; printf(%d , x) ;x* = y= z= 4; printf(%d , x)(分数: 2.00 )A. 7 28VB. 无法计算C. 7,4D. 8,4 解析:44. 设有 char str10 ,下列语句正确的是 ( )(分数: 2.00 )A. scanf(%s0 ,&str) ;B. printf(%c,str) ;C. printf(%s,str0);D. pri

18、ntf(%s,str) ; V解析:45. 下列关系运算的叙述中,正确的是 ( )(分数: 2.00 )A. 投影、选择、连接是从二维表行的方向进行的运算B. 并,交、差是从二维表的列的方向来进行运算C. 投影、选择、连接是从二维表列的方向进行的运算 VD. 以上 3 种说法都不对解析:46. 以下叙述中错误的是 ( )(分数: 2.00 )A. 局部变量的定义可以在函数体和复合语句的内部B. 全局变量的定义可以在函数以外的任何部位C. 同一程序内局部变量和全局变量不允许同名 VD. 函数的形参属于局部变量解析:47. 软件设计中,有利于提高模块独立性的一个准则是 ( )(分数: 2.00 )

19、A. 低内聚低耦合B. 低内聚高耦合C. 高内聚低耦合 VD. 高内聚高耦合 解析:48. 以下非法的赋值语句是 ( )分数: 2.00 )A. n = (i = 2, +i)B. j+C. +(i+1)VD. x = j 0解析:49. 设有数组定义:char array = China;则数组array所占的空间为()(分数:2.00 )A. 4个字节B. 5个字节C. 6个字节 VD. 7个字节解析:50. 有以下程序段int n=0 , p;do scanf(%d , &p); n+; while(p!=12345 &n v 3); 此处do-while循环的结束条件是()(分数:2.

20、00 )A. p的值不等于12345并且n的值小于3B. p的值等于12345并且n的值大于等于3C. p的值不等于12345或者n的值小于3D. p的值等于12345或者n的值大于等于3 V解析:二、填空题(总题数:13,分数:40.00)51. 假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为【1】(分数:2.00 )填空项1: (正确答案:n(n-1)/2 )解析:52. 类是一个支持集成的抽象数据类型,而对象是类的【2】(分数:2.00 )填空项1: (正确答案:实例)解析:53. 对软件是否能达到用户所期望的要求的测试称为【3】(分数:2.00 )填空项1: (正确答案

21、:有效性测试)解析:54. 单元测试又称模块测试,一般采用【4】 测试。(分数:2.00 )填空项1: (正确答案:白盒法)解析:55. 当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【5】。(分数:2.00)填空项1: (正确答案:物理独立性)解析:56. 在C语言中,可以利用 【6】,将一个表达式的值转换成指定的类型。(分数:2.00)填空项1: (正确答案:强制类型转换)解析:57. 下面程序的功能是根据公式e= 1+1/1!+1 /2!+1 /3!+1 /4!+ .计算e的近似值,精度要求为10-5请填空。main()i

22、nt n ;double e = 1.0,t = 1.0 ;for(n = 1 ;【7】n+);【8】e+=t ;printf(%f/n ,e);(分数:4.00 )填空项1: (正确答案:7t = le-5 ;8t=t/n;)解析:58. 以下程序的输出结果是【9】。double sub(double x ,double y ,double z)y- = 1.0 ;z = z+x ;return z ;main()double a=2.5 , b = 9.0 ;printf(function running result is: %6.1f/n ,sub(b-a , a,A);(分数:2.0

23、0 )填空项 1: (正确答案:function running result is: 9.0 )解析:59. 下面程序的功能是将字符串s中所有的字符c删除,补足所缺语句。#include main()char s80;int i , j ;gets(s);for(i=j=0 ; si!=/0; i+)if(si! =c)【10】sj=70;puts(s);(分数:2.00 )填空项1: (正确答案:sj+ = si)解析:s160. 下面程序调用fun函数动态分配两个整型存储单元,并通过形参传回这两个整型存储单元的地址给 和S2,将程序补充完整。main() int*s1 , *s2 ;IIIfun(【11】); int fun( 【12】);*p=(int *)malloc(sizeof(int)*q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论