2010年春江苏省二级考试C语言真题

合集下载

2010春C语言上机试卷与答案

2010春C语言上机试卷与答案

江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2010年春)二级C语言(试卷代号C02)(本试卷完成时间70分钟)一、改错题(16分)【程序功能】先将一个正整数转换为十进制数字字符串,再将千位分隔符插入到该字符串中,最后输出该字符串。

【测试数据及运行结果】输入:1234567输出:12345671,234,567【含有错误的源程序】#include <stdio.h>#include <string.h>void ltoa(char s[],long num){ long n=num,i=0;printf("%ld\n",num);while(n){ i++; n/=10; }s[i]= \0 ;while(num){ s[--i]=num%10+'0'; num/=10;}}void insert(char s[]){ char j,k,t;t=j=strlen(s);while(j>3){ j=j-3;for(k=t; k>j; k--)s[k]=s[k+1];s[j]= ',';t++;}}void main(){ static char s[20]; long num;scanf("%d",&num);ltoa(s,num);insert(s,num);puts(s);getch();}【要求】1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。

2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。

3.改正后的源程序(文件名myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。

二、编程题(24分)【程序功能】一个整数的“真因子”是指包括1但不包括整数自身的因子。

2010江苏省计算机等级考试试题 二级C试题理论考试试题及答案

2010江苏省计算机等级考试试题 二级C试题理论考试试题及答案
A、小巨型机 B、小型计算机
C、微型计算机 D、中型计算机
34、在图形卡与系统内存之间提供了一条直接的访问途径的总线标准是( B )
A、PCI B、AGP C、ISA D、EISA
28、在图形卡与系统内存之间提供了一条直接的访问途径的总线标准是( B )
A、PCI B、AGP C、ISA D、EISA
29、软磁盘格式化时,被划分为一定数量的同心圆磁道,软盘上最外圈的磁道是( A )
A、0磁道 B、39磁道 C、1磁道 D、80磁道
40、性能价格比也是一种用来衡量计算机产品优劣的概括性指标。性能代表系统的使用价值,它一般不包括( D )
A、计算机的运算速度
B、内存储器容量和存取周期
C、通道信息流量速率及输入输出设备的配置
D、计算机外形尺寸
41、在衡量计算机的主要性能指标中,字长是( A )
A、计算机运算部件一次能够处理的二进制数据位数
4、在进位计数制中,当某一位的值达到某个固定量时,就要向高位产生进位。这个固定量就是该种进位计数制的( D )
A、阶码 B、尾数 C、原码 D、基数
5、我国颁布汉字编码标准GB 2313-1980,是规定了汉字的( B )
A、CPU,内存储器及辅助存储器 B、CPU和内存储器
C、存放在主机箱内部的全部器件 D、计算机的主板上的全部器件
27、下列字符中,ASCII码值最小的是( B )
A、a B、A C、x D、Y
A、内部码 B、交换码 C、外部码 D、机内码
6、下列4种设备中,属于计算机输出设备的是( C )
A、UPS B、条形码阅读器 C、绘图仪 D、鼠标器
7、我国颁布汉字编码标准GB 2313-1980,是规定了汉字的( B )

江苏省计算机二级考试(C语言)

江苏省计算机二级考试(C语言)

答案: 2
[单选题]以下选项中,不能用作标识符的是 。
A. print
B. FOR
C. &a D. _00
答案:C
[单选题] 以下选项中,
是C语言关键字。
A. printf B.include
C.fun
D.default
答案:D
[学校单选题] 执行语句“printf(”bye\bye101\101“);”时输出到 屏幕的结果为 (22) 。
“while(--a > 0&& --b>0)a=b;”后变量a、b的值是

A. 0,2
B. 0,1
C. 1,1
答案:A 短路运算,--b不执行 18
D. 2,2
2. 语句
⑴ 实现顺序结构的语句
① 表达式语句,空语句,复合语句,函数调用语句
② 标准输入输出库函数printf(), scanf(),getchar() , putchar() ,gets(),puts()
答案:D
10
⑶ 运算符和表达式的表示及使用
① 赋值表达式,赋值运算符的左值要求
② 算术表达式。++、--运算符左值要求。溢出。
③ 关系表达式与逻辑表达式,逻辑表达式优化处理
④ 逗号表达式
⑤ 条件表达式
⑥ 表达式运算中操作数类型自动转换与强制转换
【考题解析】
[单选题] 若有声明“double x=3,c,*a=&x,*b=&c;”,则下列语
时“x+1>x”为假。 答案: 32767
13
[填空题] 若有声明“float y=3.14619;int x;”,则计算表达式

计算机二级c语言历年(2004-2010)真题及标准答案

计算机二级c语言历年(2004-2010)真题及标准答案

2010年3月计算机等级考试二级C笔试试题(文字版)一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间 B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件 B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误 C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具 B)软件详细设计的工具C)结构化方法的需求分析工具 D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段 C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言 B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段 B)逻辑设计一阶段 C)概念设计阶段 D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择 B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1 B)AaBc C)a_b D)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++; B)i=(a+k)<=(i+k); C)i=a;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1 B)0 C)2 D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a< p>if(a< p>else k=c;elseif(b else k=c;以下选项中与上述if语句等价的语句是A)k=(a< p>B)k=(ac)?b:c);C)k=(a< p>D)k=(a< p>(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#include计算机二级C 语言第 3 页 共 80 页void fun(char *c,int d) {*c=*c+1;d=d+1; printf("%c,%c,",*c,d); main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b ,a); }程序运行后的输出结果是 A)b ,B ,b ,A B)b ,B ,B ,A C)a ,B ,B ,a D)a ,B ,a ,B(27)若有定义int(*Pt)[3];,则下列说法正确的是 A)定义了基类型为int 的三个指针变量B)定义了基类型为int 的具有三个元素的指针数组pt C)定义了一个名为*pt 、具有三个元素的整型数组D)定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是 A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3 (29)有以下程序 #include(stdio.h) main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0; for(i=0;i<5;i++) s=s+a[b[i]]); printf("%d\n", s); }程序运行后的输出结果是 A)6 B)10 C)11 D)15(30)有以下程序 #includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1; for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]]; printf("%d\n",t); }程序运行后的输出结果是 A)1 B)3C)4 D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\"; printf("%d %d\n", strlen(s1),strlen(s2)); 则输出结果是 A)5 5 B)10 5 C)10 7D)5 8(32)有以下程序 #include#define N 8void fun(int *x,int i) {*x=*(x+i);} main(){int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=O;i<>{printf("%d",a[i]);} printf("\n"); }程序运行后的输出结果是 A)1313 B)2234 C)3234 D)1234 (33)有以下程序 #includeint f(int t[],int n); main{ int a[4]={1,2,3,4},s; s=f(a,4); printf("%d\n",s); }int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0; }程序运行后的输出结果是 A)4 B)1O C)14 D)6(34)有以下程序 #includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun();printf("%d\n",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);} void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;} s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28计算机二级C 语言第 5 页 共 80 页D)因类型不一致而出错 二、填空题(1)一个队列的初始状态为空。

2010年3月全国计算机二级C语言笔试真题及答案(word版)带解析-推荐下载

2010年3月全国计算机二级C语言笔试真题及答案(word版)带解析-推荐下载

D、不知道 a 的值,不能确定
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

2010年春江苏省计算机等级考试二级C语言(2010春)

2010年春江苏省计算机等级考试二级C语言(2010春)

江苏省计算机等级考试二级C语言(2010春)第一部分计算机基础知识1.下面关于通信技术的叙述中,错误的是 1 。

A.任何一个通信系统都有信源、信道和信宿这三个基本组成部分B.为了实现远距离传输信息,在模拟通信和数字通信中均采用载波技术C.为了降低传输信息的成本,在通信中广泛采用多路复用技术D.数字通信系统的一个主要性能参数是信道带宽,它指实际进行数据传输时单位时问内传输的二进位数目2.在下列有关集成电路及其应用的叙述中,错误的是 2 。

A.集成电路的制造工序繁多,工艺复杂且技术难度高B.经过抛光后的硅片称为晶圆,每个品圆最多可以制成一个合格的集成电路芯片C.IC卡分为接触式IC卡和非接触式IC卡,后者通常又称为射频卡或感应卡D.集成电路应用十分广泛,目前我国第2代居民身份证中就有集成电路芯片3.在下列有关数字技术的一些叙述中,错误的是 3 。

A.数字技术是采用有限个状态(例如"0"和"1")来表示、处理、存储和传输信息的B.在逻辑代数中,1与1进行逻辑加(∨)和逻辑乘(∧)的结果相同C.任何一个十进制数,均可以精确地转换成等值的二进制数D.在PC机中,通常用原码表示正整数、用补码表示负整数4.在下列有关PC机主机的叙述中,错误的是 4 。

A.BIOS和CMOS存储器安装在主板上,普通用户一般不能自己更换B.由于PC机主板的物理尺寸等没有标准化,所以不同PC机的主板均不能互换C.芯片组是PC机各组成部分相互连接和通信的枢纽,一般由2块VLSI芯片组成D.芯片组决定了主板上所能安装的内存最大容量、速度及可使用的内存条类型5.在下列4个Intel微处理器产品中,采用双核结构的是 5 。

A.Core 2 Duo B.Pentium PRO C.Pentium ⅢD.Pentium 46.在下列四种PC机主存储器类型中,目前常用的是 6 。

A.EDO DRAM B·SDRAM C·RDRAM D.DDR SDRAM7.在下列有关PC机常用I/O接口的叙述中,错误的是7 。

2010春江苏省二级C语言上机第一套

2010春江苏省二级C语言上机第一套

2010春江苏省二级C语言上机第一套(总分:40.00,做题时间:70分钟)一、改错题(16分)(总题数:1,分数:16.00)1. 【程序功能】验证3(n范围内的任意两个相邻素数的平方之间至少存在4个素数。

例如,5和7是两个相邻素数,5^2(25)与7^2(49)之间存在6个素数:29 31 37 41 43 47。

【测试数据与运行结果】显示:input n:输入:10 输出: 3~5 k=5 11 13 17 19 23 5~7 k=6 29 31 37 41 43 47 【含有错误的源程序】#include 样include int prime(int n) {int i,flag=1; for(i=1;i<=sqrt(n);i++) if(n%i==0)flag=0; return flag; } int fun(int a[],int n) { int i,k=0; for(i=3;i<=n;i++) if(prime(i)) a[k++]=i; return k; void fun1(int m,int n, int b[]) { int i,k=0; if(m>n) return 0; for(i=m*m;i(分数:16.00)__________________________________________________________________________________________ 正确答案:( for(i=1;i<=sqrt(n);i++) 改为i=2 void fun1(int m,int n,int b[]) 改为int{k=fun1(a[i],a[i+1],b[0]); 改为b {if(j%10=0)printf("/n"); 改为j%10==0 )解析:二、编程题(24分)(总题数:1,分数:24.00)2. 【程序功能】在给定范围内查找k使得用公式k^2+k+17生成的整数满足以下条件:该数的十进制表示中低3位数字相同,去掉低3位后的整数是回文数。

江苏省计算机二级c语言机考试题及答案

江苏省计算机二级c语言机考试题及答案

江苏省计算机二级c语言机考试题及答案一、选择题1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言是一种面向过程的语言C. C语言源于B语言D. C语言是一种解释型语言答案:D. C语言是一种解释型语言2. 在C语言中,可以用于定义宏的命令是:A. #ifB. #defineC. #includeD. #endif答案:B. #define3. 在C语言中,标识符的命名规则中,不允许使用的符号是:A. 下划线(_)B. 感叹号(!)C. 加号(+)D. 美元符号($)答案:B. 感叹号(!)4. C语言中的运算符中,以下优先级最高的是:A. 关系运算符B. 逻辑运算符C. 赋值运算符D. 算术运算符答案:C. 赋值运算符5. 下列程序中,有语法错误的是:A.```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```B.```c#include <stdio.h>int main() {printf("Hello, World!\n") return 0;}```C.```c#include <stdio.h>int main() {printf("Hello, World!\n"); return;}```D.```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;```答案:B.```c#include <stdio.h>int main() {printf("Hello, World!\n")return 0;}```二、填空题1. 下列程序的输出结果是______:```c#include <stdio.h>int main() {int a = 5;printf("%d", a++);printf("%d", ++a);return 0;}```答案:562. 下列程序的输出结果是______:```c#include <stdio.h>int main() {int a = 2;int b = 3;int c = a | b;int d = a & b;printf("%d\n", c);printf("%d\n", d);return 0;}```答案:3, 2三、编程题编写一个程序,输出1~100之间所有能同时被3和5整除的数,并计算这些数的平均值。

2010上半年计算机等考二级C语言真题及答案

2010上半年计算机等考二级C语言真题及答案

《C++语言程序设计》第一次作业讲评说明:本次作业对应教材第一、二、三章的内容。

【讲评】本章主要考核大家对C++语言的基本概念、基本数据类型和表达式、流程控制的掌握程度,其中有一些需要记忆的概念,但多数问题还是需要理解的,希望通过作业讲评能够帮助大家把学习中的难题一一解决。

下面是对部分问题的讲评。

一、填空题1.C++语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。

2.用于输出表达式值的标准输出流对象是cout,用于从键盘上为变量输入值的标准输入流对象是cin 。

3.当不需要函数返回任何值时,则应把该函数类型定义为void 。

4.执行“cout<<143<<’+’<<18<<’=’<<143+18<<endl;”语句后得到的输出结果为143+18=161。

【讲评】这里143、’+’、18和’=’分别是整型变量、字符常量、整型变量和字符常量,在通过cout输出语句时直接将其值输出,而143+18是一个表达式,需要计算加法后输出其值。

5.执行“cout<<“ning”<<“chen”<<38<<endl;”语句后得到的输出结果为ningchen38 。

6.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为main。

7.C++源程序文件的缺省扩展名为.cpp ,由C++源程序文件编译而成的目标文件的缺省扩展名为.obj,由C++目标文件连接而成的可执行文件的缺省扩展名为 .exe。

8.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用空格或回车符号作为分隔符。

9.十进制数25表示成符合C++语言规则的八进制和十六进制数分别为031和0x19符号。

10.在C++语言中,用转义字符序列‘\n’或操纵符endl表示输出一个换行符。

11.执行“cout<<char(’b’+2)<<endl;”语句后得到的输出结果为d。

历年江苏省计算机二级C语言历年真题及答案(笔试).docx

历年江苏省计算机二级C语言历年真题及答案(笔试).docx

2009年春季江苏省高校计算机等级考试考试试题第一部分计算机基础知识1. 在下列有关现代信息技术的一些叙述中,正确的是 1 。

A.集成电路是20世纪90年代初出现的,它的出现直接导致了微型计算机的诞生B.集成电路的集成度越来越高,目前集成度最高的已包含几百个电子元件C.目前所有数字通信均不再需要使用调制解调技术和载波技术D.光纤主要用于数字通信,它采用波分多路复用技术以增大信道容量‘.2. 最大的10位无符号二进制整数转换成八进制数是 2 .。

A.1023B.1777C.1000D.10243. 在下列有关目前PC机CPU的叙述中,错误的是 3 。

A.CPU芯片主要是由Intel公司和AMD公司提供的B."双核"是指PC机主板上含有两个独立的CPU芯片C.Pentium 4微处理器的指令系统由数百条指令组成D.Pentium 4微处理器中包含一定容量的Cache存储器4. 在下列有关当前PC机主板和内存的叙述中,正确的是 4 。

A.主板上的BIOS芯片是一种只读存储器,其内容不可在线改写B.绝大多数主板上仅有一个内存插座,因此PC机只能安装一根内存条C.内存条上的存储器芯片属于SRAM(静态随机存取存储器)D.目前内存的存取时间大多在几个到十几个ns(纳秒)之间5. 在下列有关PC机辅助存储器的叙述中,正确的是 5 。

A.硬盘的内部传输速率远远大于外部传输速率B.对于光盘刻录机来说,其刻录信息的速度一般小于读取信息的速度C.使用USB 2.0接口的移动硬盘,其数据传输速率大约为每秒数百兆字节D.CD-ROM的数据传输速率一般比USB 2.0还快6. 在下列PC机I/O接口中,数据传输速率最快的是 6 。

B 2.0B.IEEE-1394C.IrDA (红外)D.SATA7. 计算机软件可以分为商品软件、共享软件和自由软件等类型。

在下列相关叙述中,错误的是7 。

A.通常用户需要付费才能得到商品软件的使用权,但这类软件的升级总是免费的B.共享软件通常是一种"买前免费试用"的具有版权的软件C.自由软件的原则是用户可共享,并允许拷贝和自由传播D.软件许可证是一种法律合同,它确定了用户对软件的使用权限8. 人们通常将计算机软件划分为系统软件和应用软件。

c语言二级考试 江苏省计算机基础统考试卷(2010.6HVFN)

c语言二级考试 江苏省计算机基础统考试卷(2010.6HVFN)

江苏省计算机基础统考试卷(2010.6HVFN)1.调入考生文件夹中的ED2.RTF文件,参考样张(附后)按下列要求进行操作。

(1)将页面设置为:A4纸,上、下、左、右页边距均为3厘米,每页40行,每行38个字符;(2)给文章加标题“火山的形成”,设置其格式为:隶书、小一号、红色、居中对齐,字符间距缩放200%,文字动态效果“礼花绽放”;(3)设置正文第一段首字下沉2行,首字字体为楷体、蓝色,距正文0.5厘米,设置其它所有段落首行缩进2字符;(4)为正文第四段设置天蓝色双波浪线方框;(5)参考样张,在适当位置插入艺术字“火山资源”,要求采用第三行第四列式样,艺术字字体为楷体、40号、加粗,环绕方式为四周型;(6)将正文中所有“火山”设置为红色、带着重号格式;(7)将正文最后两段分为等宽两栏,栏间加分隔线;(8)参考样张,在正文第一个“火山”右侧插入编号格式为“①,②,③…”的脚注,内容为“英文名称Volcano”;(9)保存文档“ED2.RTF”。

2.打开考生文件夹中的EX.XLS文件,按下列要求进行操作(除题目要求外,不得增加、删除、移动工作表中内容)。

(1)在“就业”工作表A1单元格中,输入标题“就业人员总数”,设置其字体为隶书、加粗、20号字,并设置其在A至C列范围跨列居中;(2)在“就业”工作表中C4单元格中,输入“增长率”,在C6到C17中用公式分别计算历年就业人数增长率(增长率=(当年人数-上年人数)/上年人数);(3)在“就业”工作表中,设置表格区域C6:C17为百分比格式,1位小数位;(4)在“就业”工作表中,设置表格区域A4:C17内框线为最细单线,外框线为蓝色最粗线;(5)在“就业”工作表中,根据A4:B17区域数据,生成一张簇状柱形图嵌入当前工作表中,要求数据系列产生在列,图表标题为“历年就业人数”,无图例;(6)将“就业数据.rtf”文档中的表格数据转换到工作表“Sheet1”中,要求表格数据自第三行第一列开始存放;(7)将“Sheet1”工作表改名为“部分行业就业人数”;(8)在“工资”工作表中按“教育”进行升序排序;(9)保存工作簿“EX.XLS”。

江苏计算机二级C语言2010年春笔试、上机真题与答案

江苏计算机二级C语言2010年春笔试、上机真题与答案

2010年春一.选择题21.C语言规定,在一个源程序中main函数的位置()A.必须在最开始B.必须在在最后C.必须在预处理命令的后面D.可以在其他函数之前或之后22.以下选项中,()是C语言的关键字A.printfB.includeC.funD.default23.已知有声明“int a=3,b=4,c;”,则执行语句“c=1/2*(a+b);”后,c的值为()A.0B.3C.3.5D.424.设指针变量占2个字节的内存空间,若有声明“char *p=”123”;int c;”,则执行语句“c=sizeof(p);”后,c的值为()A.1B.2C.3D.425.已知有声明“int a=3,b=4;”,下列表达式中合法的是()A.a+b=7B.a=∣b∣C.a=b=0D.(a++)++26.已知有声明“char s[20]=”hello”;”,在程序运行过程中,若要想使数组s中的内容修改为”Good”,则以下语句中能够实现此功能的是()A.s=”Good‟;B.s[20]=”Good”;C.strcat(s,”Good”);D.strcpy(s,”Good”);27. 已知有声明“int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};”,若需要引用值为12的数组元素,则下列选项中错误的是()A.*(a+2)+3B.*(*(a+2)+3)C.*(a[2]+3)D.a[2][3]28. 已知有声明“int n;float x,y;”,则执行语句“y=n=x=3.89;”后,y的值为()A.3B.3.0C.3.89D.4.029. 已知有声明“int a=12,b=15,c;”,则执行表达式“c=(a||(b-=a))”后,变量b和c的值分别为()A.3 , 1B.15 , 12C.15 , 1D.3 , 1230.下列叙述中,正确的是()A.C语言中的文件是流式文件,因此只能顺序存取文件中的数据。

江苏等级考试二级C语言上机真题汇编解析

江苏等级考试二级C语言上机真题汇编解析

1江苏省高等高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷二级 C语言(本试卷完成时间70分钟)一、改错题(16分)【程序功能】输入两个正确日期且年份在1900-9999范围内,计算并输出两个日期之间间隔的天数。

例如:2008-8-1和2009-8-1之间间隔的天数为365。

提示:被4整除并且不能被100整除的年份是闰年,能被400整除的年份也是闰年,其他年份则是平年。

【测试数据与运行结果】显示:first date:输入:1980-2-1显示:second date:输入:2009-8-1输出:10774 days【含有错误的源程序】#include<stdio.h>#define leap(int y) ((y)%4==0&&(y)%100!=0||(y)%400==0)struct d{ int y,m,d; };int days(struct d d1, struct d d2){ int mon[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};int i; long td=0;for(i=d1.y;i<d2.y;i++)td=leap(i)?366:365;for(i=1;i<d1.m;i++)td- =mon[leap(d1.y)][i];td-=d1.d-1;for(i=1;i<d2.m;i++)td+=mon[leap(d2.y)][i];td+=d2.d-1;return td;}void main(){ struct d1,d2;puts(“\n first date:”);scanf(“%d-%d-%d”,&d1.y,&d1.m,&d1.d);puts(“\n second date:”);scanf(“%d-%d-%d”,&d2.y,&d2.m,&d2.d);printf(“%d days”,days(d1.y,d2.y));getch();}【要求】1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。

2010江苏省计算机等级考试试题二级C试题试题及答案

2010江苏省计算机等级考试试题二级C试题试题及答案

2010江苏省计算机等级考试试题二级C试题试题及答案1、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/22、数据的存储结构是指(B)A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据3、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈4、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考5、索引属于(B)A. 模式B. 内模式C. 外模式D. 概念模式6、数据库设计包括两个方面的设计内容,它们是(A)A. 概念设计和逻辑设计B. 模式设计和内模式设计C. 内模式设计和物理设计D. 结构特性设计和行为特性设计7、信息隐蔽的概念与下述哪一种概念直接相关(B)A.软件结构定义B. 模块独立性C. 模块类型划分D. 模拟耦合度8、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间9、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈10、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环11、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)12、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)A. 调用语句B. 命令C. 口令D. 消息13、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间14、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)15、下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表16、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式17、下列叙述中正确的是(A)A. 线性表是线性结构B. 栈与队列是非线性结构C. 线性链表是非线性结构D. 二叉树是线性结构18、检查软件产品是否符合需求定义的过程称为(A)A. 确认测试B. 集成测试C. 验证测试D. 验收测试19、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表20、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/221、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码22、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境23、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境24、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能25、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式26、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)A. 自顶向下B. 由底向上C. 由内向外D. 由整体到局部27、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)28、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考29、下列工具中属于需求分析常用工具的是(D)A. PADB. PFDC. N-SD. DFD30、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)A. 自顶向下B. 由底向上C. 由内向外D. 由整体到局部31、索引属于(B)A. 模式B. 内模式C. 外模式D. 概念模式32、信息隐蔽的概念与下述哪一种概念直接相关(B)A.软件结构定义B. 模块独立性C. 模块类型划分D. 模拟耦合度33、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性34、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表35、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A. 概要设计B. 详细设计C. 可行性分析D. 需求分析36、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能37、对建立良好的程序设计风格,下面描述正确的是(A)A. 程序应简单、清晰、可读性好B. 符号名的命名要符合语法C. 充分考虑程序的执行效率D. 程序的注释可有可无38、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

2010春江苏C++二级试卷 无答案

2010春江苏C++二级试卷 无答案

2010春江苏C++考试试题2010年春二级试卷试卷语种:C++语言第一部分计算机基础知识第二部分 C++语言程序设计 .一、选择题(用答题卡答题,答案依次填在21-30答题号内)21.若有;int x=6;则执行语句:x+=x-=x*x;后,x的值是 (21)A.36B.-60C.60D.-2422.以下语句中,存在编译错误的是 (22)A.char a[7],*p; p=a="China";B.char a[7],*p=a; p="China";C.char *a; a="China";D.char a[7]={"China"};23.以下有关函数的叙述中,正确的是 (23) 。

A.函数必须返回一个值B.函数体中必须有return语句C.函数可以多次重载D.函数可以嵌套定义24.执行以下语句序列int j=0;while(j<25) j+=3; cout<<j<<'\n';输出的结果是 (24)A.24B.25C.27D.2825.实现运行时的多态性需要使用 (25)A.重载函数B.析构函数C.构造函数D.虚函数26.以下有关类成员的描述中,正确的是 (26)A.友元函数是类的成员函数B.类成员缺省的访问权限是私有的C.类成员函数必须说明为公有的D.派生类成员函数能访问其基类的所有成员27.对于任意一个类,其析构函数 (27)A.是唯一的B.可有多个C.只能是缺省的D.允许重载28.类的成员函数中,没有this指针的是 (28)A.构造函数B.析构函数C.虚函数D.静态成员函数29.以下有关继承的叙述中,不正确的是(29) 。

A.继承可以实现软件复用B.虚基类可解决多继承产生的二义性问题C.派生类不继承基类的私有成员D.派生类的构造函数要调用基类的构造函数30.静态数据成员是 ( 30 ) 的数据。

2010年3月二级c语言笔试真题及答案

2010年3月二级c语言笔试真题及答案

2010年3月二级c语言笔试真题及答案试题:一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分。

共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。

(1) 下列叙述中正确的是AA)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D) 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n)(2) 算法的时间复杂度是指DA)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是BA)编辑软件B)操作系统C)教务管理系统D)浏览器(4) 软件(程序)调试的任务是AA)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5) 数据流程图(DFD图)是CA)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6) 软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于BA)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7) 数据库管理系统中负责数据模式定义的语言是AA)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8) 在学生管理的关系数据库中,存取一个学生信息的数据单位是DA)文件B)数据库C)字段D)记录(9) 数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的BA)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10) 有两个关系R和T如下:RTA B Ca 1 2b 2 2c 3 2A B Cc 3 2d 3 2则由关系R得到关系T的操作是A选择B)投影C)交D)并(11) 以下叙述正确的是BA)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文件形式存在(12) 以下关于C语言的叙述中正确的是BA)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以再使用之前的任何位置进行定义C)在C语言算术的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13) 以下C语言用户标示符中,不合法的是DA)_1 B)AaBcC)a_b D)a--b(14) 若有定义:double a=22;int i=0,k=18;则不符合C语言规定的赋值语句是CA)a=a++,i++ B)i=(a+k)<=(i+k)C)i=a%11 D)i=!a(15)#include <stdio.h>Void main(){char a,b,c,d;scanf(”%c%c”,&a,&b);c=getchar(); d=getchar();printf(”%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是:CA、1234B、12C、12D、123 3416、以下关于C语言数据类型使用的叙述中错误的是:DA、若要准确无误的表示自然数,应使用整数类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2010年江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试第二部分C语言程序设计一.选择题21.C语言规定,在一个源程序中main函数的位置()A.必须在最开始B.必须在在最后C.必须在预处理命令的后面D.可以在其他函数之前或之后22.以下选项中,()是C语言的关键字A.printfB.includeC.funD.default23.已知有声明“int a=3,b=4,c;”,则执行语句“c=1/2*(a+b);”后,c的值为()A.0B.3C.3.5D.424.设指针变量占2个字节的内存空间,若有声明“char *p=”123”;int c;”,则执行语句“c=sizeof(p);”后,c的值为()A.1B.2C.3D.425.已知有声明“int a=3,b=4;”,下列表达式中合法的是()A.a+b=7B.a=∣b∣C.a=b=0D.(a++)++26.已知有声明“char s[20]=”hello”;”,在程序运行过程中,若要想使数组s中的内容修改为”Good”,则以下语句中能够实现此功能的是()A.s=”Good‟;B.s[20]=”Good”;C.strcat(s,”Good”);D.strcpy(s,”Good”);27. 已知有声明“int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};”,若需要引用值为12的数组元素,则下列选项中错误的是()A.*(a+2)+3B.*(*(a+2)+3)C.*(a[2]+3)D.a[2][3]28. 已知有声明“int n;float x,y;”,则执行语句“y=n=x=3.89;”后,y的值为()A.3B.3.0C.3.89D.4.029. 已知有声明“int a=12,b=15,c;”,则执行表达式“c=(a||(b-=a))”后,变量b和c的值分别为()A.3 , 1B.15 , 12C.15 , 1D.3 , 1230.下列叙述中,正确的是()A.C语言中的文件是流式文件,因此只能顺序存取文件中的数据。

B.调用fopen函数时若用“r”或“r+”模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在。

C.当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据。

D.无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖。

二.填空题●基本概念1.数学式3x所对应的C语言表达式为pow(x, (1) )。

2.已知有声明“char ch=‟g‟;”,则表达式ch=ch-…a‟+‟A‟的值为字符(2)的编码。

3.在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占(3) 个字节。

4.已知有声明“int a[3][2]={{1,2},{3,4},{5,6}},*p=a[0];”,则执行语句“printf(“%d\n”,*(p+4));”后的输出结果为(4)。

5.已知有声明和语句“int a;scanf(“a=%d”,&a);”,欲从键盘上输入数据使a中的值为3,则正确的输入应是(5)。

●阅读程序6.以下程序运行时输出到屏幕的结果为(6)。

#include<stdio.h>#define MAX(A,B) A>B?2*A:2*Bvoid main(){ int a=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d);printf(“%d\n”,t);}7.以下程序运行时输出到屏幕的结果是(7)。

#include<stdio.h>void main(){ int a=1,b=2;a+=b;b=a-b;a-=b;printf(“%d,%d\n”,a,b);}8.以下程序运行时输出到屏幕的结果为(8)。

#include<stdio.h>void swap(int a,int b){ int t;if (a>b) t=a,a=b,b=t;}void main(){ int x=13,y=11,z=12;if(x>y) swap(x,y);if(x>z) swap(x,z);if(y>z) swap(y,z);printf(“%d\t%d\t%d\n”,x,y,z);}9.以下程序运行时输出到屏幕的结果第一行是(9),第二行是(10),第三行是(11)。

#include<stdio.h>int g(int x,int y){ return x+y;}int f(int x,int y){{static int x=2;if (y>2){ x=x*x;y=x;}else y=x+1;}return x+y;}void main(){ int a=3;printf(“%d\n”,g(a,2));printf(“%d\n”,f(a,3));printf(“%d\n”,f(a,2));}10.以下程序运行时输出到屏幕的结果是(12)。

#include<stdio.h>void fun(int m,int n){ if (m>=n)printf(“%d”,m);elsefun(m+1,n);printf(“%d”,m);}void main(){ fun(1,2); }11以下程序运行时输出到屏幕的结果第二行是(13),第四行是(14)。

#include<stdio.h>#define N 6void main(){ int i,j,a[N+1][N+1];for (i=1;i<=N;i++){ a[i][i]=1;a[i][1]=1; }for(i=3;i<=N;i++)for (j=2;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=1;i<=N;i++){ for(j=1;j<=i;j++)printf(“%4d”,a[i][j]);printf(“\n”);}}12.以下程序运行时输出到屏幕的结果第一行是(15),第二行是(16),#include<stdio.h>void fun(char *p1,char *p2);void main(){ int i; char a[]=”54321”;puts(a+2);fun(a,a+4);puts(a);}void fun(char *p1,char *p2){ char t;while(p1<p2){ t=*p1;*p1=*p2;*p2=t;p1+=2,p2-=2;}}13.以下程序运行时输出到屏幕的结果第一行是(17),第二行是(18)。

#include<stdio.h>typedef struct { int x,y;}direction;int visible(direction s,direction A,direction B,direction C){ direction p1,p2;int d;p1.x=B.x-A.x;p1.y=B.y-A.y;p2.x=C.x-A.x;p2.y=C.y-A.y;d=s.x*p1.x*p2.x+s.y*p1.y*p2.y;printf(“%4d\n”,d);return d>0;}void main(){ char *ss[]={“invisible”,”visible”};direction s={1,1},T={1,1},A={0,0},B={2,1};puts(ss[visible(s,T,A,B)]);}●完善程序14.以下程序的功能是:统计一个字符串中数字字符“0”到“9”各自出现的次数,统计结果保存在数组count中。

例如,如果字符串为“1enterschar4543123564879ffgh”,则统计结果为:1:2 2:1 3:2 4:3 5:2 6:1 7:1 8:1 9:1。

试完善程序以达到要求的功能。

#include<stdio.h>void fun(char *t,int count[]){ char *p=t;while( (19) ){ if (*p>=”0”&&*p<=”9”)count[ (20) ]++;p++;}}void main(){ char s[80]=” 1enterschar4543123564879ffgh”; int count[10]={0},i;fun(s,count);for(i=0;i<10;i++)if (count[i]) printf(“%d:%d ”,i,count[i]);}15.下列程序的功能是对a数组a[0]~a[n-1]中存储的n个整数从小到大排序。

排序算法是:第一趟通过比较将n个整数中的最小值放在a[0]中,最大值放在a[n-1]中;第二趟通过比较将n个整数中的次小值放在a[1]中,次大值放在a[n-2]中;……,依次类推,直到待排序序列为递增序列。

试完善程序以达到要求的功能。

#include<stdio.h>#define N 7void sort(int a[], int n){ int i,j,min,max,t;for(i=0;i< (21) ;i++){ (22) ;for(j=i+1;j<n-i;j++)if(a[j]<a[min]) min=j;else if(a[j]>a[max]) max=j;if(min!=i){ t=a[min];a[min]=a[i];a[i]=t; }if(max!=n-i-1)if(max==i){ t=a[min];a[min]=a[n-i-1];a[n-i-1]=t; }else{ t=a[max];a[max]=a[n-i-1];a[n-i-1]=t; }}}void main(){ int a[N]={8,4,9,3,2,1,5},i;sort(a,N);printf(“sorted:\n”);for(i=0;i<N;i++) printf(“%d\t”,a[i]);printf(”\n”);}16.下列程序中函数find_replace的功能是:在s1指向的字符串中查找s2指向的字符串,并用s3指向的字符串替换在s1中找到的所有s2字符串。

若s1字符串中没有出现s2字符串,则不作替换并使函数返回0,否则函数返回1.是完善程序以达到要求的功能。

#include<stdio.h>#include<string.h>int find_replace(char s1[],char s2[],char s3[]){ int i,j,k,t=0; char temp[80];if(s1[0]==‟\0‟||s2[0]==‟\0‟) return t;for(i=0;s1[i]!=‟\0‟;i++){ k=0; j=i;while (s1[j]==s2[k]&&s2[k]!=‟\0‟){ j++;(23) ;}if(s2[k]==‟\0‟){ strcpy(temp,&s1[j]);(24) ;i=i+strlen(s3);(25) ;t=1;}}return t;}void main(){ char line[80]=”This is a test program and a test data.”;char substr1[10]=”test”,substr2[10]=”actual”;int k;k=find_replace(line,substr1,substr2);if( (26) )puts(line);elseprintf(“not found\n”);}17.设h1和h2分别为两个单链表的头指针,链表中结点的数据结构为:typedef struct node{ int data;Struct node *next;}NODE;Sea_del函数的功能是:删除h1指向的链表中首次出现的与h2指向的链表中数据完全匹配的若干个连续结点,函数返回h1指向链表的头指针。

相关文档
最新文档