2007年(秋)江苏二级C语言笔试试卷及答案和答案分析.doc_第1页
2007年(秋)江苏二级C语言笔试试卷及答案和答案分析.doc_第2页
2007年(秋)江苏二级C语言笔试试卷及答案和答案分析.doc_第3页
2007年(秋)江苏二级C语言笔试试卷及答案和答案分析.doc_第4页
2007年(秋)江苏二级C语言笔试试卷及答案和答案分析.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试二级 C 语言程序设计 2007 年(秋)笔试试卷(考试时间 120 分钟,满分 60 分)第一部分计算机基础知识(1)下面关于比特的叙述中,错误的是_。A)比特是组成数字信息的最小单位B)比特只有“0”和“1”两个符号C)比特既可以表示数值和文字,也可以表示图像和声音D)比特“1”总是大于比特“0”(2)在下列有关集成电路的叙述中,错误的是_。A)现代集成电路使用的半导体材料主要是硅B)大规模集成电路一般以功能部件、子系统为集成对象C)我国第 2 代居民身份证中包含有 IC 芯片D)目前超大规模集成电路中晶体管的基本线条已小到 1nm 左右(3)在下列有关通信技术的叙述中,错误的是_。A)通信的基本任务是传递信息,因而至少需由信源、信宿和信道组成B)通信可分为模拟通信和数字通信,计算机网络属于模拟通信C)在通信系统中,采用多路复用技术的目的主要是提高传输线路的利用率D)学校的计算机机房一般采用 5 类无屏蔽双绞线作为局域网的传输介质(4)下面是关于 PC 机主存储器的一些叙述,其中正确的是_。A)主存储器是一种动态随机存取存储器(RAM)B)主存储器的基本编址单位是字(即 32 个二进位)C)目前市场上销售的 PC 机,其内存容量可达数十 GBD)所有 PC 机的内存条都是通用的,可以互换(5)现行 PC 机中,IDE(或 SATA)接口标准主要用于_。A)打印机与主机的连接C)声卡与主机的连接B)显示器与主机的连接D)硬盘与主机的连接(6)下列有关 PC 机的 CPU、内存和主板的叙述中,正确的是_。A)大多数 PC 机只有一块 CPU 芯片,即使是“双核”CPU 也是一块芯片B)所有 Pentium 系列微机的内存条相同,仅有速度和容量大小之分C)主板上芯片组的作用是提供存储器控制功能,I/O 控制与芯片组无关D)主板上 CMOS 芯片用于存储 CMOS 设置程序和一些软硬件设置信息(7)下列有关目前 PC 机辅助存储器的叙述中,错误的是_。A)硬盘的容量越来越大,这是因为硬盘中磁盘碟片的数目越来越多B)硬盘的内部传输速率一般小于外部传输速率C)优盘采用 Flash 存储器技术,属于半导体存储器D)目前常见的 COMBO 光驱是一种将 CD-RW 和 DVD-ROM 组合在一起的光驱(8)下面有关 Windows 操作系统(95 以后版本)的叙述中,错误的是_。A)Windows 操作系统支持系统中多个任务的并发执行B)利用 Windows 附件“系统工具”中的“系统信息”可以查看内存的工作情况C)系统规定文件名最多由 128 个字符组成D)Vista 是 Microsoft 公司推出的 Windows XP 操作系统的后继版本2007 年(秋)笔试试卷第 1 页(共 7 页)(9)算法设计是编写程序的基础。下列关于算法的叙述中,正确的是_。A)算法必须产生正确的结果C)算法可以没有输出B)算法必须具有确定性D)算法的表示必须使计算机能理解(10)因特网使用TCP/IP协议实现全球范围的计算机网络互连,连接在因特网上的每一台主机都有一个IP 地址。下面不能作为 IP 地址的是_。A)8 B)201.256.39.68C)8 D) (11)常用局域网有以太网、FDDI 网等,下面的叙述中错误的是_。A)总线式以太网采用带冲突检测的载波侦听多路访问(CSMA/CD)方法进行通信B)FDDI 网和以太网可以直接进行互连C)交换式集线器比总线式集线器具有更高的性能,它能提高整个网络的带宽D)FDDI 网采用光纤双环结构,具有高可靠性和数据传输的保密性(12)某用户在 WWW 浏览器地址栏内键入一个 URIL“/index.htm”,其中的“/index.htm”代表_。A)协议类型C)路径及文件名B)主机域名D)用户名(13)交换式以太网与总线式以太网在技术上有许多相同之处,下面叙述中错误的是_。A)使用的传输介质相同C)传输的信息帧格式相同B)网络拓扑结构相同D)使用的网卡相同(14)下面是关于我国汉字编码标准的叙述,其中正确的是A)Unicode 是我国最新发布的也是收字最多的汉字编码国家标准B)不同字型(如宋体、楷体等)的同一个汉字在计算机中的内码不同C)在 GB18030 汉字编码标准中,共有 2 万多个汉字D)GB18030 与 GB2312、GBK 汉字编码标准不能兼容( 15) 数 字 图 像 的 文 件 格 式 有 多 种 , 下 列 哪 一 种 图 像 文 件 能 够 在 网 页 上 发 布 且 可 具 有 动 画 效 果 ?_。A)BMPC)JPEGB)GIFD)TIF(16)声卡是获取数字声音的重要设备,在下列有关声卡的叙述中,错误的是_。A)声卡既负责声音的数字化(输入),也负责声音的重建(输出)B)声卡既处理波形声音,也负责 MIDI 音乐的合成C)声卡中的数字信号处理器(DSP)在完成数字声音编码、解码及编辑操作中起着重要的作用D)因为声卡非常复杂,所以它们都被做成独立的 PCI 插卡形式(17)彩色图像所使用的颜色描述方法称为颜色模型。显示器使用的颜色模型为RGB三基色模型,PAL制式的电视系统在传输图像时所使用的颜色模型为_。A)YUV B)HSBC)CMYKD)RGB(18)在信息系统的结构化生命周期开发方法中,绘制 E-R 图属于_阶段的工作。A)系统规划C)系统设计B)系统分析D)系统实施(19)在下列有关 Microsoft Word 2000/2003(中文版)功能的叙述中,错误的是_。A)起始页的页码可以不为 1B)利用菜单命令,可更改所选英文文本的大小写C)利用菜单命令“字数统计”,可以统计出当前文档的行数和段落数D)表格中的数据不可排序,也不能利用公式进行统计计算(20)在下列有关 Microsoft PowerPoint 2000/2003(中文版)功能的叙述中,错误的是_。A)可通过“另存为”操作,将每张幻灯片保存为一个图片文件B)幻灯片的大小是固定的,用户不可以对其进行设置C)在排练计时的基础上,可以将幻灯片设置为循环放映D)可以对字体进行替换,例如将幻灯片中的“宋体”替换为“楷体”第二部分 C 语言程序设计一、选择题(21)在下列 C 语言源程序的错误中,通常不能在编译时发现的是_。A)括号不匹配C)数组元素下标值越界B)非法标识符D)程序结构不完整(22)在以下各组标识符中,均可以用作变量名的一组是_。A)a01,Int B)table_1,a*.1 C)0_a,W12D)for,point (23)若有声明“long a,b;”且变量 a 和 b 都需要通过键盘输入获得初值,则下列语句中正确的是_。A)scanf(%ld%ld,&a,&b);C)scanf(%d%d,&a,&b);B)scanf(%d%d,a,b);D)scanf(%ld%ld,&a,&b);(24)若有程序段“char c=256;int a=c;”,则执行该程序段后 a 的值是_。A)256 B)65536 C)0D)-1(25)若在一个 C 语言源程序中“el”和“e3”是表达式,“s;”是语句,则下列选项中与语句“for(el;e3)s;”功能等同的语句是_。A)el;while(10)s;e3; B)el;while(10)s;e3;C)el;while(10)e3;s; D)while(10)el;s;e3(26)若有声明“int a34,*p=a0,(*q)4=a;”,则下列叙述中错误的是_。A)a23与 q23等价C)a23与*(p+11)等价B)a23与 p23等价D)a23与 p=p+11,*p 等价(27)若有结构类型定义“typedef struct testint x,y2;TEST;”,则以下声明中正确的是_。A)struct test x;B)struct x;C)test x; D)struct TEST x;(28)若有声明“long fun(int *x,int n,long *s);int a4=1,2,3,4;long b,c;”,则以下函数调用形式中正确的是_。A)c=fun(a,4,b); B)c=fun(a,4,&b); C)c=fun(a4,4,b); D)e=fun(a,4,&b);(29)若有枚举类型定义“enum listlxl,x2,x3,x4=6,x5,x6;”,则枚举常量x2和x6代表的值分别是_。A)1,6 B)1,8 C)2,6 D)2,8(30)已知在函数 f 中声明了局部变量 x,如果希望 f 函数第一次被调用返回后变量 x 中存储的数据保持到下次 f 函数被调用时仍可以使用,则在声明 x 时必须指定其存储类型为_。A)auto二、填空题基本概念题(共 5 分)B)register C)staticD)extern(1)若有声明“int a=5,b=2;”,则表达式“b+=(float)(a+b)/2”运算后 b 的值为【1】。(2)若有声明“char sl0=remind;”,执行“puts(s+2);”后的输出结果是【2】。(3)若有声明“double x=10,Y=5;”,则计算 x7的库函数调用形式是【3】。(4)已知某程序中有预处理命令“#include”,为使语句“zx=fopen(c:a.txt,r);”能正常执行,在该语句之前必须有声明【4】。阅读程序题(共 13 分)(5)以下程序运行时输出结果是【5】。#define EVEN(x) x%2=0? l:0main() if(EVEN(5+1) printf(Even); else printf(Odd);(6)以下程序运行时输出结果是【6】。#includemain() int s=1,n=235; do s*=n%10: n/=10;while(n); printf(%dn,s);(7)以下程序运行时输出结果是【7】。#includeint t;int sub(int *s) *s+=1; t+=*S: return t;main() int i; for(i=1;i4;i+) printf(%4d,sub(&i);(8)以下程序运行时输出结果是【8】。#includevoid f(long x) if(x100) printf(%d,x/l0); else f(x/100); printf(%d,x%100/10);main() f(123456); (9)以下程序运行时输出结果的第一行是【9】,第二行是【10】。#includeint fun(int *x,int n) int i, j; for(i=j=0;in;i+) if(*(x+i)%2) *(x+j+)=*(x+i); return j;main() int10=1,5,2,3,8,3,9,7,4,10,n,i; n=fun(a,10); for(i=0;in; i +) printf(%5d,ai); if(i+1)%3=0) printf(n);(10)以下程序运行时输出结果中第一行是【11】,第二行是【12】,第三行是【13】。#includemain() int i,j,a33=0; for(i=0;i3;i+) for(j=O;j3;j+) switch(i-j+2) case 0:case 1:aij=1;break; case 2:aij=2;break; case 3:aij=3;break; case 4:aij=5;break; 2007 年(秋)笔试试卷第 4 页(共 7 页) for(i=0;i3;i+) for(j=0;j3;j+) printf(%4d,aij); printf(n);(11)以下程序运行时输出结果中第一行是【14】,第二行是【15】。#include#include void fun(char str20,int n) int i,j,k; char s20; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(strcmp(strj,strk)0) k=j; strcpy(s,stri); strcpy(stri,strk); strcpy(strk,s);main() char str620=PASCAL,BASIC,FORTRAN,C,COBOL,Smalltalk; int i; fun(str,6); for(i=0;i6;i+) printf(%sn,stri);(12)以下程序运行时输出结果的第一行是【16】;第二行是【17】;第三行是【18】。#include #define N 10 int merge(int a,int b,int c,int mN+1) int i=0,j,k; while(k=m0i)!=2) j=m1i; if(k=0) ci=aj; else ci=bj; i+; return i;main() int aN=1,3,5,bN=2,4,6,c2*N,i,n; int m2N+1=0,1,0,1,0,1,2,0,0,1,2,2,1,-1; n=merge(a,b,c,m); printf(%dn,n); for(i=0;in;i+) printf(%d,ci); if(i+1)%3=0) printf(n);完善程序题(共 12 分)(13)程序功能:寻找具有下列特性的四位正整数,其百位数为 0,去掉百位数 0 可得到一个三位正整数,而该三位正整数乘以 9 等于原四位正整数。例如,6075=6759,所以 6075 是具有上述特性的正整数。#includeint fun(int n) int a4,i,k; k=n; for(i=0;k0;i+) ai= 【19】 ; k/=10; if( 【20】 &(a3*100+a1*10+a0)*9=n) return 1; else return 0; main() int i,n=0; for(i=1000;i10000;i+) if(fun(i) printf(%4dt,i);2007 年(秋)笔试试卷第 5 页(共 7 页) printf(n);(14)程序功能:用牛顿迭代法求方程 3x3-3x2+x-1=0 在 2.0 附近的一个实根,精度要求为 10-5。函数 F 求f(x)的值,函数 F1 求 f(x)的一阶导数值。牛顿迭代公式如下:f(x )x= x00f (x )0#include #include float F(float x) return x*(3*x*(x-1)+1)-1;float F1(float x) return 9*x*x-6*x+1; float newtoon(float x) float f,fl,x0; do 【21】 ; f=F(x0); f1=F1(x0); x= 【22】 ;while(fabs(x-x0)1e-5); return x; main() float x0; scanf(%f,&x0); printf(The result=%.2fn,newtoon(x0);(15)程序功能:选票统计。二维数组 s 中保存了投票后 10 张有效选票上所填写的候选人姓名,结构数组stat 中保存统计结果。程序运行后的输出结果是liu:2 wang:5 zhao:3。#include#include typedef struct char name20; /*候选人姓名*/ int count; /*候选人得票数*/COUNT; int count(char x20,int n, 【23】 ) int i,j,k=0; for(i=0; 【24】 ;i+) for(j=0;j=k) 【26】 ; stk.count+; k+: return k;main() char s1020=liu,wang,zhao,zhao,wang,liu,wang,zhao,wang,wang; COUNT stat5=0; int i,n; n=count(s,10,stat); for(i=0;in;i+) printf(%s:%dt,,stati.count);(16)设一个单向链表结点的数据类型定义为:struct node int x; struct node *next;fun 函数从 h 指向的链表第二个结点开始遍历所有结点,当遇到 x 值为奇数的结点时,将该结点移到 h 链表第一个结点之前,函数返回链表首结点地址。print 函数输出 p 指向的链表中所有结点的 x值。程序运行后的输出结果是“1 3 4 2”。#include#define N 42007 年(秋)笔试试卷第 6 页(共 7 页)struct node int x; struct node *next; void print(struct node *p) while 【27】 printf(%4d, 【28】 );P=P-next; printf(n);struct node *fun(struct node *h) struct node *pl,*p2,*p3; pl=h;p2=pl-next; while(p2) if(p2-x%2) p3=p2; pl-next= 【29】 ;p2=pl-next:p3-next=h; 【30】 ; else pl=p2;p2=p2-next; return h;main() struct node aN=4,3,2,1,*head=a;int i,num; for(i=0;iint-unsigned-long-double。该题中,(float)(a+b)/2=3.5,b=b+3.5=2+3=5。(2)【2】mind【解析】puts(s)函数,用于输出易s为首地址的字符串。puts(s+2)地址向后移动了两位,所以从字符串数组的第3个字符开始打印。(3)【3】pow(x,y)或pow(10,5)【解析】pow(x,y)函数就是求x的y次幂。(4)【4】FILE*zx【解析】操作之前要定义文件指针。阅读程序题(5)【5】Odd【解析】EVEN(5+1)经预处理之后是:5+1%2=0?l:0,表达式5+1%2!=0,所以if括号中运算结果是0,运行else语句打印Odd。(6)【6】30【解析】do_while循环:s=s*235%10=1*5=5,n=23;s=s*23%10=5*3=15,n=2;s=s*2%10=15*2=30,参考答案及解析第2页共4页n=0,跳出循环;所以s=30。(7)【7】26【解析】sub(1):s=2,t=t+2=2,返回值是2,打印输出。因为形参是地址,i中的值已经改变,此时i=2,for循环,i+,所以i=3。sub(3):s=4,t=2+4=6,返回6,此时i=4,不满足循环条件,跳出循环。(8)【8】135【解析】f(123456):不满足if条件:调用f(1234),不满足if条件,调用f(12)-打印1-回溯到f(1234),打印3,(1234%100/10=34/10=3)-回溯到f(123456),打印5(123456%100/10=5)。(9)【9】153【10】397【解析】函数fun:i=0,j=0,1%2!=0;*x=1,j=1;i=1,j=1,5%2!=0;*(x+1)=5,j=2;i=2,j=2,2%2=0;i=3,j=2,3%2!=0;*(x+2)=3.j=3i=4,j=3,8%2=0;i=5,j=3,3%2!=0;*(x+3)=3,j=4i=6,j=4,9%2!=0;*(x+4)=9,j=5i=7,j=5,7%2!=0;*(x+5)=7,j=6;i=8,j=6,4%2=0;i=9,j=6,10%2=0;返回j=6,分两行打印a数组的前六个元素:153,397。(10)【11】211【12】321【13】532【解析】i=0,j=0,i-j+2=2,a00=2;i=0,j=1,i-j+2=1,a01=1;i=0,j=2,i-j+2=0,a02=1;i=1,j=0,i-j+2=3,a10=3;i=1,j=1,i-j+2=2,a11=2;i=1,j=2,i-j+2=1,a12=1;i=2,j=0,i-j+2=4,a20=5;i=2,j=1,i-j+2=3,a21=3;i=2,j=2,i-j+2=2,a22=2;分三行打印a数组。(11)【14】BASIC【15】C【解析】fun(charstr20,intn):i=0,j=1,strcmp(str1,str0)0,k=1,str1,str0做一个交换。i=0,j=2,strcmp(str2,str1)0,str2,str0做一个交换。i=0,j=4,strcmp(str4,str2)0,str4,str0做一个交换。可以看出,该操作是将二维数组按照由大到小的顺序进行排列,最后的结果是BASIC,C,COBOL,FORTRAN,PASCAL,Smalltalk。(12)【16】6【17】123【18】654【解析】merge函数:i=0,k=m00=0!=2,j=m10=0,k=0,c0=

温馨提示

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

评论

0/150

提交评论