ImageVerifierCode 换一换
格式:DOC , 页数:31 ,大小:77KB ,
资源ID:503481      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-503481.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级(C语言)笔试模拟试卷61及答案与解析.doc)为本站会员(unhappyhay135)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级(C语言)笔试模拟试卷61及答案与解析.doc

1、国家二级( C语言)笔试模拟试卷 61及答案与解析 1 在计算机中,算法是指 _。 ( A)查询方法 ( B)加工方法 ( C)解题方案的准确而完整的描述 ( D)排序方法 2 栈和队列的共同点是 _。 ( A)都是先进后出 ( B)都是先进先出 ( C)只允许在端点处插入和删除元素 ( D)没有共同点 3 已知二叉树 BT的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 _。 ( A) cedba ( B) acbed ( C) dccab ( D) deabc 4 在下列几种排序方法中,要求内存量最大的是 _。 ( A)插入排序 ( B)选择排序 ( C)快速排

2、序 ( D)归并排序 5 在设计程序时,应采纳的原则之一是 _。 ( A)程序结构应有助于读者理解 ( B)不限制 goto语句的使用 ( C)减少或取消注解行 ( D)程序越短越好 6 下列不属于软件调试技术的是 _。 ( A)强行排错法 ( B)集成测试法 ( C)回溯法 ( D)原因排除法 7 下列叙述中,不属于软件需求规格说明书的作用的是 _。 ( A)便于用户、开发人员进行理解和交流 ( B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 ( C)作为确认测试和验收的依据 ( D)便于开发人员进行需求分析 8 在数据流图 (DFD)中,带有名字的箭头表示 _。 ( A)控制程

3、序的执行顺序 ( B)模块之间的调用关系 ( C)数据的流向 ( D)程序的组成成分 9 SQL语言又称为 _。 ( A)结构化定义语言 ( B)结构化控制语言 ( C)结构化查询语言 ( D)结构化操纵语言 10 视图设计一般有 3种设计次序,下 列不属于视图设计的是 _。 ( A)自顶向下 ( B)由外向内 ( C)由内向外 ( D)自底向上 11 以下所列的 c语言常量中,错误的是 _。 ( A) 0xFF ( B) 1.2e0.5 ( C) 2L ( D) 72 12 若 a为 int类型,且其值为 3,则执行完表达式 a+=a-=a*a后, a的值是_。 ( A) -3 ( B) 9

4、 ( C) -12 ( D) 6 13 C语言中,运算对象必须是整型数的运算符是 _。 ( A) % ( B) / ( C) %和 / ( D) * 14 设 x、 y、 t均为血型变量,则执行语句 x=y=3; t=+x|+y;后, y的值为_。 ( A)不定值 ( B) 4 ( C) 3 ( D) 1 15 已知字母 A的 ASC 码为十进制数的 65,下面程序的输出是 _。 main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(“%d,%cn“,ch1,ch2); ( A) 67, D ( B) B, C ( C) C, D ( D)不确定的

5、值 16 在下列叙述中,正确的一条是 _。 ( A)对 while循环、 do-while循环和 for循环,可以用 continue语句跳出循环 ( B)表达式 1+2 3和 sizeof(3.8)的结果分别为 24和 8 ( C)函数 fputc(c, stdout)与 putchar(c)的结果相同 ( D)在有参函数中,定义函数中指定的形参变量在程序一开始执行时便分配内存单元 17 若有以下定义,则正确的 swish语句是 _。 float x;int a,b; ( A) switch(x) case 1.0:printf(“*n“); case 2.0:printf(“*n“); (

6、 B) switch(x) case 1,2:printf(“*n“); case 3:printf(“*n“); ( C) switch(a+b) case 1:printf(“n“); case 1+2:printf(“*n“); ( D) switch(a+b); case 1:printf(“*n“); case 2:printf(“*n“); 18 当 a=1, b=3, c=5, d=4时,执行下面一段程序后, x的值为 _。 if(a b) if(c d) x=1; else if(a c) if(b d) x=2; elsex=3; elsex=6; elsex=7; ( A)

7、 1 ( B) 2 ( C) 3 ( D) 6 19 以下程序段的输出结果是 _。 int x=5; do ptintf(“%2dn“,x-); while(!x); ( A) 5 ( B)无任何输出 ( C) 4 ( D)陷入死循环 20 设有如下的函数 _。 f(x) float x; printf(“n%d“,x*x); 则函数类型 ( A)与参数 x类型相同 ( B)是 void ( C)是 int ( D)无法确定 21 设 a、 b和 c都是 int型变量,且 a=3、 b=4、 c=5,则下面的表达式中,值为 0的表达式是 _。 ( A) a printf(“%x“,d1); (

8、 A) cde ( B)字符 c的 AScII码值 ( C)字符 c的地址 ( D)出错 23 设有如下程序 #include stdio.h main() int *k, *j,i=100; j= k= printf(“%dn“”,*k); 上述程序的输出结果是 _。 ( A)运行错误 ( B) 100 ( C) i的地址 ( D) j的地址 24 设有以下语句,其中不是对 a数组元素的正确引用的是: _(其中 0i 10) int a10=0,1,2,3,4,5,6,7,8,9,*p=a; ( A) ap-a ( B) *( s0=a0,s1=a1; pp=s; p=(int*)mallo

9、c(sizeof(int); *pp=s11; p=*pp; printf(“%dn“,*p); ( A) 1 ( B) 7 ( C) 9 ( D) 11 26 有以下程序: #include stdio.h main() char c6; int i=0; for(;i6;ci=getchar(),i+); for(i=0;i 6;i+)putchar(ci; printf(“n“); 如果从键盘上输入: ab回车 c回车 def回车 则输出结果为 _。 ( A) a b c d e f ( B) a b c d ( C) ab c d ( D) abcdef 27 在调用函数时,如果实参是

10、简单变量,它与对应形参之间的数据传递方式是_。 ( A)地址传递 ( B)单向值传递 ( C)由实参传递给形参,再由形参传递给实参 ( D)传递方式由用户指定 28 以下程序 #include stdio.h #include string.h main() char*p1=“abc“,*p2=“ABC“,str50=“xyz“; strcpy(ar+2,strcat(p1,p2); printf(“%sn“,str); 的输出是 _。 ( A) xyzabcABC ( B) zabeABC ( C) yzabcABC ( D) xyabcABC 29 以下程序 int aa33=2,4,6;

11、 main() int i,*p= for(i=0;i 2;i+) if(i=0)aaii+1=*p+1; else +p; printf(“%d“,*p); 的输出是 _。 ( A) 23 ( B) 26 ( C) 33 ( D) 36 30 以下程序的输出结果是 _。 #include stdio.h #include siring.h fun(char *w,int n) char t,*s1,*s2; s1=w;s2=w+n-1; while(s1 s2) t=*s1+; *s1=*s2-; *s2=t; main() char *p; p=“1234567“; fun(p,strle

12、n(p); puts(p); ( A) 1234567 ( B) 7654321 ( C) 1711717 ( D) 7177171 31 下面程序 main() int x=100, a=10, b=20, ok1=5, ok2=0; if(a b) if(b!=15) if(!ok1) x=1; else if(ok2)x=10; x=1; printf(“%dn“,x); 的输出是 _。 ( A) -1 ( B) 0 ( C) 1 ( D)不确定的值 32 下面程序 main() int x=32; printf(“%dn“,x=x 1); 的输出是 _。 ( A) 100 ( B) 1

13、60 ( C) 120 ( D) 64 33 设有以下定义和语句,输出的结果是 (用 small模式编译,指针变量 2个字节 )_。 struct date long *cat; struct date *next; double dog; too; printf(“%d“,sizeof(too); ( A) 20 ( B) 16 ( C) 14 ( D) 12 34 以下程序的输出结果是 _。 #include stdio.h #define FUDGE(y) 2.84+y #define PR(a) printf(“%d“,(int)(a) #define PRINT1(a) PR(a);

14、putchar(n) main() int x=2; PRINT1(FUDGE(5)*x); ( A) 11 ( B) 12 ( C) 13 ( D) 15 35 以 下程序段给数组所有的元素输入数据,请选择正确答案填入。 #includestdio.h main() int a10,i=0; while(i 10)scanf(“%d“,_); ( A) a+(i+) ( B) ( B) enum aon=9,two=-1,three; ( C) enum a=“one“,“two“,“three“; ( D) enum a“one“,“two“,“three“; 37 字符 (char)型数

15、据在微机内存中的存储形式是 _。 ( A)反码 ( B)补码 ( C) EBCDIC码 ( D) ASCII码 38 下面程序的输出是 _。 typedef union long x2; int y4; char z8; MYTYPE; MYTYPE them; mare() printf(“%dn“,sizeof(them); ( A) 32 ( B) 16 ( C) 8 ( D) 24 39 有以下程序,程序运行后的输出结果是 _。 int f(int b4) int i,j,s=0; for(j=0;j 4;j+) i=j; if(i 2)i=3-j; s+=bij; return s;

16、 main() int a44=1,2,3,4,0,2,4,6,3,6,9,12,3,2,1,0; printf(“%dn“,f(a); ( A) 22 ( B) 11 ( C) 18 ( D) 16 40 不能把字符串 “Hello!“赋给数组 b的语句是 _。 ( A) char b10=H,e,l,l,o,!; ( B) char b10=h,e,l,l,o,!; ( C) char b10;strcpy(b,“Hello!“); ( D) char b10=“Hello!“; 41 下面程序的输出是 _。 main() int x=3,y=6,a=0; while(x+!=(y-=1)

17、 a+=1; if(y x)break; printf(“x=%d,y=%d,a=%dn“,x,y,a); ( A) x=4,y=4,a=1 ( B) x=5,y=5,a=1 ( C) x=5,y=4,a=3 ( D) x=5,y=4,a=1 42 若有程序 fun(int a,int b) static int c=0; c+=a+b; rerurn c; main() int x=5,y=3,z=7,r; r=fun(y,x+y),z); r=fun(x,y); printf(“%dn“,r); 上面程序的输出结果是 _。 ( A) 23 ( B) 15 ( C) 19 ( D) 18 4

18、3 下面程序的输出是 _。 main() char *s=“12134211“; int v1=0,v2=0,v3=0,v4=0,k; for (k=0;sk;k+) switch(sk) default:v4+; case1:v1+; case3:v3+; case2:v2+; printf(“v1=%d,v2=%d,v3=%d,v4=%dn“,v1,v2,v3,v4); ( A) v1=4,v2=2,v3=1,v4=1 ( B) v1=4,v2=9,v3=3,v4=1 ( C) v1=5,v2=8,v3=6,v4=1 ( D) v1=8,v2=8,v3=8,v4=8 44 下面程序的输出是

19、 _。 main() int k=11; printf(“k=%d,k=%o,k=%xn“,k,k,k); ( A) k=11,k=12,k=11 ( B) k=11,k=13,k=13 ( C) k=11,k=013,k=0xb ( D) k=11,k=13,k=B 45 下面程序段中 c的二进制值是 _。 char a=3,b=6,c; c=ab 1; ( A) 1011 ( B) 1111 ( C) 11110 ( D) 11100 46 以下叙述中正确的是 _。 ( A) C语言比其他语言高级 ( B) C语言可以不用编译就能被计算机识别执行 ( C) C语言以接近英语国家的自然语言和

20、数学语言作为语言的表达形式 ( D) C语言出现的最晚,具有其他语言的 切优点 47 下列司用于 C语言用户标识符的 组是 _。 ( A) void define WORD ( B) a3_b3 _123 Car ( C) For -abc IFCase ( D) 2a DO sizeof 48 fgetc函数的作用 是从指定文件读入 个字符,该文件的打开方式必须是_。 ( A)只读 ( B)追加 ( C)读或读写 ( D)以上均正确 49 请选出正确的程序段 _。 ( A) int *p scanf(“%d“,p); ( B) int *s,k; *s=100; ( C) int *s,k;

21、 char *p,c; s= p= *p=a; ( D) int *s,k; char *p,e; s= p= s=p; *s=1; 50 若有下面的说明和定义,则 sizeof(struct aa)的值是 _。 struct aa int r1;double r2;float r3; union uuchar u15;long u22ua; mya; ( A) 30 ( B) 29 ( C) 24 ( D) 22 51 排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、【 】和选择排序等。 52 当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情

22、况称为【 】。 53 【 】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。 54 为了便于对照检查,测试用例应由输入数据和预期的【 】两部分组成。 55 【 】是从二维表列的方向进行的运算。 56 将以下程序写成三目运算表达式是【 】。 if(a b)max=a; else max=b; 57 若有以下定义: char a; int b; float c; double d; 则表达式 a*b+d-c值的类型为【 】。 58 下面程序的输出结果是【 】。 unsigned fun6(unsigned num) unsigned k=1; do k*=hum%10; num/=1

23、0; while(num); return(k); main() unsigned n=26; printf(“%dn“, fun6(n); 59 设 x和 y均为 int型变量, 且 x=1, y=2,则表达式 double(1+x/y)的值为【 】。 60 下面程序的运行结果是【 】。 main() int i=0, j=10, k=2, s=0; for(;) i+=k; if(i j) printf(“%dn“, s); break; s+=i; 61 在内存中,存储字符 x要占用 1个字节,存储字符串 “x“要占 用【 】个字节。 62 以下程序的运行结果是【 】。 #include

24、 stdio.h main() int a=1, b=2, c; c=max(a, b); printf(“max is%dn“, c); max(int x, int y) int z; z=(x y)? x:y; return(z); 63 以下程序是用递归方法求数组中的最大值及其下标值。请填空。 #define M 10 void findmax(int *a, int n, int i, int *pk) if(i n) if(ai a *pk)【 】; findmax(a, n, i+1, i+)scanf(“%d“ , a+i); findmax(a, M, 0, 。 49 【正确

25、答案】 C 【试题解析】 本题的 A和 B犯了一个同样的错误,即指针变量 p定义后并没有指向具体的变量,因此不能进行赋值操作。另外,在选项 D中, s是 int指针变量, p是 char型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量 p的值赋给整型指针变量 s。 50 【正确答案】 D 【试题解析】 结构伸变量所占内存长度是各成员占的内存长度之和,每个成员分别占有自己的内存单元;共用体变量所占的内存长度等 于最长的成员的长度。结构体变量 aa中,成员 r1占 2个字节, r2占 8个字节, r3占 4个字节,共用体 ua占 8个字节,所以共占用 2+8+4+8=22

26、个字节。 51 【正确答案】 交换排序 【试题解析】 常见的排序方法有插入排序 (包括简单插入排序法和希尔排序法等 )、交换排序 (包括冒泡排序和快速排序法等 )和选择排序 (包括简单选择排序和堆排序等 )。注意:常见的排序方法及其作用机制和区别。 52 【正确答案】 上溢 【试题解析】 入队运算是指在循环队列的队尾加入一个新元素。这个运算有两个基本操作:首先 将队尾指针进一 (即 rear=rear+1),并当 rear=m+1时置 rear =1;然后将新元素插入队尾指针指向的位置。当循环队列非空 (s=1)时且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算,这种情况称为 “上

27、溢 ”。 53 【正确答案】 封装 【试题解析】 面向对象技术中包括以下几个基本概念,即对象、类、方法、消息、继承和封装,其中封装是一种信息隐蔽技术,目的在于将对象的使用者对象的和设计者分开。 54 【正确答案】 输出结果 【试题解析】 注意:测试的基本方法和步骤。 55 【正确答案】 投影 【试题解析】 在关系模型的数据语言中,一般除了运用常规的集合运算, (并、交,差、笛卡尔积等 )外,还定义了一些专门的关系运算,如投影、选择、连接等。投影是从二维表的列方向上进行的运算。 56 【正确答案】 max=(a b)?a: b; 【试题解析】 本题考查三目运算符的用法,条件运算符要求有三个操作对

28、象,称三目 (元 )运算符,它是 C语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式 1?表达式 2:表达式 3所以,我们可以写成 (a, b)?a: b,它是一个 “条件表达式 ”。执行顺序是:如果 (a b)条件为真,则条件表达式取值 a,否则取值b。注意:逗号表达式的执行原理。 57 【正确答案】 double或双精度型 【试题解析】 C语言中,如果运算符两边的数据类型不同,将进行类型转换,根据转换规则,短整型转为长整型;整型转换为实型。注意:数据类型的强制转换。 58 【正确答案】 12 【试题解析】 dowhile 循环的一个比较显著的特点是:先执行一次循环体然后再判断循环

29、的条件是否满足,若满足则接着进入下一次循环,否则就退出循环。注意: 3种循环结构的比较。 59 【正确答案】 1 【试题解析】 本题考查两个知识点一是 x/y的值为整型即为 0,二是数字 1存放在 double中是 double类型。 60 【正确答案】 30 【试题解析】 题目中 for(; )表示: for循环的初始化表达式,条件表达式和修正表达式都省略了,表示进行 for循环和 for循环的终止都没有限制。注意: while循环的执行原理。 61 【正确答案】 2 【试题解析】 计算机存储一个字符用 1个字节,存储字符串时,每个字符用占用1个字节,另在字符串的有效字符之后存储 1个字符串

30、的结束标记符。所以存储字符串 “X”要占用 2个字节,存储字符 x只要 1个字节。注意: sizeof()函数和 strlen()函数的作用。 62 【正确答案】 max is 2 【试题解析】 函数通过参数来传递数据是单向的,只能由实参传给形参而不能由形参传给实参,但是可以通过函数的返回值将函数中的数据带回。注意:函数的两种调用方式及函数调用的语法要求。 63 【正确答案】 *pk=ai 【试题解析】 通过参数传递, findmax函数接收到 4个参数,分别是数组 a(需要对其中的数据按 照题目的要求进行计算 )、 10(数组 a中的元素个数 )、 0(数组 a的起始位置 )、指针变量 n(对数组 a中的元素进行遍历 )。我们了解了这些参数的作用后,再对递归调用的函数进行分析,就不难得出结论了。注意:通过对本例中递归函数的分析掌握递归算法的执行原理。 64 【正确答案】 SO 【试题解析】 题中需要注意两个问题:一是 for循环的修正表达式共执行两次 “i-”操作;二是 *pi是对某个字符的引用。 65 【正确答案】 4321

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1