好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机二级c语言历年真题及答案(共37页).docx

37页
  • 卖家[上传人]:文库****9
  • 文档编号:212328686
  • 上传时间:2021-11-19
  • 文档格式:DOCX
  • 文档大小:25.07KB
  • / 37 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 精选优质文档-----倾情为你奉上计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (1)下列数据结构中,属于非线性结构的是 a)循环队列 b) 带链队列 c) 二叉树 d)带链栈 (2)下列数据结果中,能够按照“先进后出”原则存取数据的是 a) 循环队列 b) 栈 c)队列 d)二叉树 (3)对于循环队列,下列叙述中正确的是 a)队头指针是固定不变的 b)队头指针一定大于队尾指针 c)队头指针一定小于队尾指针 d)队头指针可以大于队尾指针,也可以小于队尾指针 (4)算法的空间复杂度是指 a)算法在执行过程中所需要的计算机存储空间 b)算法所处理的数据量 c)算法程序中的语句或指令条数 d)算法在执行过程中所需要的临时工作单元数 (5)软件设计中划分模块的一个准则是 a) 低内聚低耦合 b) 高内聚低耦合 c) 低内聚高耦合 d) 高内聚高耦合 (6)下列选项中不属于结构化程序设计原则的是 a) 可封装 d) 自顶向下 c) 模块化 d) 逐步求精 (7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图 c) 程序流程图 d) e-r图 (8)数据库管理系统是 a)操作系统的一部分 b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统 (9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形 (10)有三个关系r,s和t如下: 其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并 (11)以下叙述中正确的是 a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法d)以上三种说法都不完整 (12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_ d)unsigned (13)阅读以下程序 #include main() { int case; float printf; printf(“请输入2个数:”); scanf(“%d %f”,case,pjrintf); printf(“%d %f\n”,case,printf); } 该程序编译时产生错误,其出错原因是 a)定义语句出错,case是关键字,不能用作用户自定义标识符 b)定义语句出错,printf不能用作用户自定义标识符 c)定义语句无错,scanf不能作为输入函数使用 d)定义语句无错,printf不能输出case的值 (14)表达式:(int)((double)9/2)-(9)%2的值是 a)0 b)3 c)4 d)5 (15)若有定义语句:int x=10;,则表达式x-=x+x的值为 a)-20 b)-10 c)0 d)10 (16)有以下程序 #include main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d\n”,a=2*b); } 程序运行后的输出结果是 a)0,0 c)3,2 d)1,2 17)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是 a)if(ab) c=a,a=b,b=c; b)if(ab) {c=a,a=b,b=c;} c)if(ab) c=a;a=b;b=c; d)if(ab) {c=a;a=b;b=c;} (18)有以下程序 #include main() { int c=0,k; for (k=1;k3;k++) switch (k) { default: c+=k case 2: c++;break; case 4: c+=2;break; } printf(“%d\n”,c); } 程序运行后的输出结果是 a)3 b)5 c)7 d)9 (19)以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是 a)if((ab)(bc)) k=1; else k=0; b)if((ab)||(bc) k=1; else k=0; c)if(a=b) k=0; else if(b=c) k=1; d)if(ab) k=1; else if(bc) k=1; else k=0; 20)有以下程序 #include { char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]=’a’s[i]=’z’) n++; printf(“%d\n”,n); } 程序运行后的输出结果是 a)0 b)2 c)3 d)5 (21)有以下程序 #include main() { int n=2,k=0; while(k++n++2); printf(“%d %d\n”,k,n); } 程序运行后的输出结果是 a)0 2 b)1 3 c)5 7 d)1 2 (22)有以下定义语句,编译时会出现编译错误的是 a)char a=’a’; b)char a=’\n’; c)char a=’aa’; d)char a=’\x2d’; (23)有以下程序 #include main() { char c1,c2; c1=’a’+’8’-‘4’; c2=’a’+’8’-‘5’; printf(“%c,%d\n”,c1,c2); } 已知字母a的ascii码为65,程序运行后的输出结果是 a)e,68【篇二:2014年三月全国计算机二级c语言上机考试题库】txt>题库100套 第01套: 给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去 除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回 所指变量。

      例如,输入一个数:,新的数:为739 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果 注意:源程序存放在考生文件夹下的blank1.c中 不得增行或删行,也不得更改程序的结构! 给定源程序: #include stdio.h void fun(unsigned long *n) { unsigned long x=0, i; int t; i=1; while(*n) { t=*n % __1__; if(t%2!= __2__) { x=x+t*i; i=i*10; } *n =*n /10; } *n=__3__; } main() { unsigned long n=-1; while(n||n0) { printf(please input(0n): ); scanf(%ld,n); } fun(n); printf(\nthe result is: %ld\n,n); } 解题思路: 第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10 第二处:判断是否是奇数,所以应填:0 第三处:最后通形参n来返回新数x,所以应填:x。

      给定程序modi1.c中函数 fun 的功能是:计算n! 例如,给n输入5,则输出120. 请改正程序中的错误,使程序能输出正确的结果 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include stdio.h double fun ( int n ) { double result = 1.0 ; if n = = 0 return 1.0 ; while( n 1 n 170 ) result *= n-- return result ; } main ( ) { int n ; printf(input n:) ; scanf(%d, n) ; printf(\n\n%d! =%lf\n\n, n, fun(n)) ; } 解题思路: 第一处:条件语句书写格式错误,应改为:if (n==0) 第二处:语句后缺少分号 *************************************************** 请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用c语言提供的将字符串转换为整数的。

      例如,若输入字符串-1234,则函数把它转换为整数值 -1234函数fun中给出的语句仅供参考 注意: 部分源程序存在文件prog1.c文件中 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句 给定源程序: #include stdio.h #include string.h long fun ( char *p) {int i, len, t; /* len为串长,t为正负标识 */ long x=0; len=strlen(p); if(p[0]==-) { t=-1; len--; p++; } else t=1; /* 以下完成数字字符串转换为一个数字 */ return x*t; } main() /* 主函数 */ { char s[6]; long n; printf(enter a string:\n) ; gets(s); n = fun(s); printf(%ld\n,n); nono ( ); } nono ( ) {/* 本函数用于打开文件,输入数 据,调用函数,输出数据,关闭 文件 */ file *fp, *wf ; int i ; char s[20] ; long n ; fp = fopen(c:\\test\\in.dat,r) ; wf = fopen(c:\\test\\out.dat,w) ; for(i = 0 ; i 10 ; i++) { fscanf(fp, %s, s) ; n = fun(s); fprintf(wf, %ld\n, n) ; } fclose(fp) ; fclose(wf) ; } 解题思路: 本题是将一个数字字符串转换为一个整数。

      参考答案: #include stdio.h #include string.h long fun ( char *p) { int i, len, t; /* len为串长,t为正负标识 */ long x=0; len=strlen(p); if(p[0]==-) { t=-1; len--; p++; } else t=1; /* 以下完成数字字符串转换为一个数字 */ while(*p) x = x*10-48+(*p++); return x*t; } main() /* 主函数 */ { char s[6]; long n;。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.