福建省计算机二级c语言选择题题库2011
- 格式:doc
- 大小:213.00 KB
- 文档页数:36
2011年9月全国计算机等级考试二级笔试试卷C语言程序设计一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(1)下列叙述中正确的是( )。
A)算法就是程序 B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是( )。
A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是( )。
A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A)学生成绩管理系统 B)C语言编译程序C)UNIX操作系统 D)数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是( )。
A)7 B)6 C)3 D)2(6)程序调试的任务是( )。
A)设计测试用例 B)验证程序的正确性C)发现程序中的错误 D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是( )。
A)在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括( )。
A)概念模式 B)内模式C)外模式 D)数据模式(9)有三个关系R、S利T如下:则由关系R和S得到关系T的操作是( )。
A)自然连接 B)差 C)交 D)并(10)下列选项中属于面向对象设计方法主要特征的是( )。
A)继承 B)自顶向下 C)模块化 D)逐步求精(11)以下叙述中错误的是( )。
2011年计算机等级二级C语言章节习题及答案(13)2011年计算机等级二级C语言章节习题及答案(13)第13章文件一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)13.1 fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案: B13.2 若fp是指向某文件的指针,且已读到文件末尾,则函数feof (f p)的返回值是A)EOFB)-1C)1D)NULL正确答案: C13.3 fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案: D13.4 下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案: D13.5 函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是A)文件开始B)文件末尾C)文件当前位置D)以上都不对正确答案: B13.6 C语言中,能识别处理的文件为A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件正确答案: B13.7 若调用fputc函数输出字符成功,则其返回值是A)EOFB)1C)0D)输出的字符正确答案: D13.8 已知函数的调用形式:fread(buf,size,count,fp),参数buf 的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项正确答案: C13.9 当顺利执行了文件关闭操作时,fclose函数的返回值是A)-1B)TRUEC)0D)1正确答案: C13.10 如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");正确答案: D13.11 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A)fopen("A:\user\abc.txt","r")B)fopen("A:\\user\\abc.txt","rt+")C)fopen("A:\user\abc.txt","rb")D)fopen("A:\user\abc.txt","w")正确答案: B13.12 fwrite函数的一般调用形式是A)fwrite(buffer,count,size,fp);B)fwrite(fp,size,count,buffer);C)fwrite(fp,count,size,buffer);D)fwrite(buffer,size,count,fp);正确答案: D13.13 C语言中,文件组成的基本单位为A)记录B)数据行C)数据块D)字符序列正确答案: D13.14 C 语言中,系统的标准输入文件是指A)键盘B)显示器C)软盘D)硬盘正确答案: A13.15 有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20正确答案: A13.16 阅读以下程序及对程序功能的描述,其中正确的描述是#includemain(){ FILE *in,*out;char ch,infile[10],outfile[10];printf("Enter the infile name:\n");scanf("%s",infile);printf("Enter the outfile name:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){ printf("cannot open infile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){ printf("cannot open outfile\n");exit(0);}while(! feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完成将磁盘文件的信息在屏幕上显示的功能B)程序完成将两个磁盘文件合二为一的功能C)程序完成将一个磁盘文件复制到另一个磁盘文件中D)程序完成将两个磁盘文件合并并在屏幕上输出正确答案: C13.17 下面的程序执行后,文件test中的内容是#includevoid fun(char *fname,char *st){ FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;ifclose(myf);}main(){ fun("test","new world"); fun("test","hello,");} A)hello, B)new worldhello,C)new worldD)hello, rld正确答案: A13.18 假定当前盘符下有两个文本文件,如下文件名a1.txt a2.txt内容123# 321#则下面程序段执行后的结果为#include "stdio.h"void fc(FILE *p){ char c;while((c=fgetc(p))!=′#′)putchar(C);}main(){ FILE *fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar(′\n′);}A)123321B)123C)321D)以上答案都不正确正确答案: A13.19 阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)#include "stdio.h"void main(){ FILE *fp;int a[10],*p=a;fp=fopen("a123.txt","w");while(strlen(gets(p))>0 ){ fputs(a,fp);fputs("\n",fp);}fclose(fp);}A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt 中B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中C)从键盘输入若干行字符,第一行写入文本文件a123.txt中D)从键盘输入若干行字符,依次写入文本文件a123.txt中正确答案: D13.20 阅读下面程序,此程序的功能为#include "stdio.h"main(int argc,char *argv[]){ FILE *p1,*p2;int c;p1=fopen(argv[1],"r");p2=fopen(argv[2],"a");c=fseek(p2,0L,2);while((c=fgetc(p1))!=EOF)fputc(c,p2);fclose(p1);fclose(p2);}A)实现将p1打开的文件中的内容复制到p2打开的文件B)实现将p2打开的文件中的内容复制到p1打开的文件C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后正确答案: C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
2011年全国计算机等级二级C语言模拟试题及答案(9)一、选择题1.一个C语言程序是由()构成。
A.语句B.行号C.数据D.函数2.下面标识符中正确的是()。
A.d&efB.6aC.z4x5cD.a3/b43.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
A.1、2、4B.1、1、4C.1、2、8D.2、2、84.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。
A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未配对的最近的ifD. 在同一行上的if5.下列表达式的结果正确的是()。
int aa,bb,cc,dd;aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1==2)?bb=aa+2:aa+3A.2B.3C. 1D.56.设有int x=11 ;则表达式(x+1/3)的值是()。
A.3B. 4C. 11D.127.设有字符串A=“He has 钱!”,则该字符串的长度为()。
A. 9B. 10C. 11D. 88.有如下程序段,则正确的执行结果是()int m=3;while(m<=5){ printf(“%d”,m-3); m++;}A. 0 0 0B.0 1 2C.1 2 3D.无结果9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。
A.无输出B.结果不确定C.-1D. 110.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。
int x; char y; char z[20];A. scanf("%d%c%c",&x,&y,&z);B. scanf("%d%c%s",&x,&y,&z);C. scanf("%d%c%c",&x,&y,z);D. scanf("%d%c%s",&x,&y,z);11. struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是()。
福建省计算机2级C语言精确版题库福建省计算机2级c语言精确版题库第一部分:选择题(40分,20小题/套)概述1、下面关于c语言的描述中,恰当的就是(d)a.每行只能写一条语句b.程序中必须包含有输入语句c.main函数必须坐落于文件的结尾d.每条语句最后必须存有一个分号2、下面关于c语言的叙述中,错误的是(b)a.若一条语句较长,也可分写在下一行上b.构成c语言源程序的基本单位是表达式c.c语言源程序中大、小写字母是有区别的d.一个c语言源程序可由一个或多个函数组成3、关于c语言数据类型的叙述,正确的是(c)a.枚举类型不是基本类型b.数组不是构造类型c.变量必须先定义后使用d.不允许使用空类型4、c程序中main函数的位置(b)a.必须在最为已经开始b.必须在系统库函数后面c.可以在自定义函数后面d.必须在最后5、c语言的函数体由(b)内加出来a.()b.{}c.[]d./**/6、关于c语言的描述中,不恰当的就是(d)a.c程序可由一个或多个函数组成b.c程序必须包含1一个main()函数c.c程序的基本共同组成单位就是函数d.注解表明就可以坐落于一条语句的后面7、一个程序的执行是从(b)a.本程序的第一个函数已经开始,至最后一个函数完结b.本程序的main函数已经开始,至main函数完结c.本程序的main函数已经开始,至最后一个函数完结d.本程序的第一个函数已经开始,至main函数完结8、结构化程序设计的三种基本结构就是(c)a.函数结构、分支结构、判断结构b.函数结构、嵌套结构、平行结构c.顺序结构、分支结构、循环结构d.分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(c)a.编辑b.编程c.查错和排错d.相连接10、c语言中,无机语句的形成就是将一系列语句放在(c)a.begin与end之间b.一对圆括号“()”之间c.一对花掉括号“{}”之间d.一对方括号“[]”之间11、形成c语言源程序的基本单位就是(d)a.语句b.过程c.表达式d.函数语法基础212、在c语言中,正确的用户标识符是(b)a.3fb._forc.structd._f.513、c语言的基本数据类型包含(a)a.整型、实型、字符型b.整型、实型、字符型、逻辑型c.整型、字符型、逻辑型d.整型、实型、逻辑型14、以下(d)是正确的常量a.e-5b.1e5.1c.?a12?d.32766l15、以下(d)是正确的变量名a.a.beeb.cp11c.intd.p_1116、以下(c)就是恰当的字符常量a.“c”b.?//”c.?w?d.“\\32a”17、以下(a)是不正确的字符串常量a.?abc?b.“12?12”c.“0”d.““18、c语言的整型数据在内存中的存储形式就是(d)a.原码b.反码c.补码d.ascii码19、以下(b)是正确的浮点数a.e3b..62c.2e4.5d.123320、以下不属于c语言关键字的就是(b)a.continueb.integerc.staticd.signed21、c语言的字符型数据在内存中的存储形式就是(b)a.原码b.补码c.反码d.ascii22、在c语言中,变量所分配的内存空间大小就是(a)a.由变量的类型同意b.由用户自己同意c.任一的d.均为两个字节23、若存有定义:inta=2;则恰当的赋值表达式就是(a)a.a-=(a*3)b.double(-1)c.a*3d.a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为(c)a.3,3,4b.4,4,3c.4,4,4d.3,4,325、语句a=(3/4)+3%2;运行后,a的值为(b)a.0b.1c.2d.326、以下四项中,合乎c语言语法的语句就是(c)a.inta+b=c;b.inta=12:b=12:c=12;c.inta=12,b=12,c=12;d.inta,b=12,floatc=2127、若存有定义:intx,a;则语句x=(a=3,a+1);运转后,x、a的值依次为(c)a.3,3b.4,4c.4,3d.3,428、若变量已恰当定义并赋值,合乎c语言语法的表达式就是4(a)a.a=8+b+c,a++b.a=3ac.int(12.3%4)d.a=a+1=c+b29、若存有定义:inta,b;doublex;则以下不合乎c语言语法的表达式就是(a)a.x%(-3)b.a+=-1c.a=b=2d.x=a+b30、若存有定义:intx=2,y=3;floati;则以下合乎c语言语法的表达式就是(b)a.x=x*3=2b.x=(y==1)c.i=float(x)d.i%(-3)31、若存有定义:intx;则语句x=(2*3)+6%5;运转后,x的值就是(b)a.8b.7c.6d.532、下面关于c语言变量的描述中,错误的就是(c)a.可以用const关键字定义变量b.在c程序中,sum和sum就是相同的变量c.变量名必须由字母或下划线组成d.变量的类型确定了变量的取值范围33、若存有定义:intx=5,y=6;则表达式x=(y==6)的值(b)a.5b.1c.6d.034、下面描述恰当的就是(b)5。
1、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计A. 详细设计B. 需求分析C. 总体设计D. 编程调试2、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)A. 控制流B. 加工C. 数据存储D. 源和潭3、数据的存储结构是指(B)A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据4、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表5、下列关于队列的叙述中正确的是(C)A. 在队列中只能插入数据B. 在队列中只能删除数据C. 队列是先进先出的线性表D. 队列是先进后出的线性表6、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈7、在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报8、下面不属于软件设计原则的是(C)A. 抽象B. 模块化C. 自底向上D. 信息隐蔽9、数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库10、在关系数据库中,用来表示实体之间联系的是(D)A. 树结构B. 网结构C. 线性表D. 二维表11、数据的存储结构是指(B)A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据12、在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型13、数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库。
福建省计算机等级考试(二级C语言)-答案选择题答案1.D2.B3.C4.C5.B6.D7.B8.C9.C 10.C11.D 12.B 13.A 14.D 15.D 16.C 17.A 18.C 19.B 20.B 21.D 22.A 23.A 24.C 25.B 26.C 27.C 28.A 29.A 30.B 31.B 32.C 33.B 34.B 35.A 36.A 37.C 38.C 39.C 40.B 41.B 42.A 43.C 44.C 45.D 46.B 47.B 48.B49.C50.D51.A52.A 53.D 54.B55.A56.B 57.B 58.A 59.A60.A61.A 62.C 63.D 64.A65.D66.D 67.A 68.A 69.A70.D71.B 72.D 73.A 74.B75.C76.C 77.A 78.D 79.B80.B81.C 82.D 83.D 84.C85.C86.D 87.A 88.D 89.A90.D91.A 92.B 93.A 94.D95.A96.C 97.B 98.C 99.D 100.B101.A 102.C 103.B 104.B 105.C 106.D 107.C 108.A 109.A 110.C 111.A 112.B 113.C 114.A 115.A 116.C 117.D 118.C 119.A 120.A 121.D 122.B 123.D 124.C 125.B 126.C 127.B 128.C 129.A 130.B 131.D 132.A 133.D 134.A 135.C 136.B 137.D 138.B 139.D 140.D 141.B 142.A 143.B 144.C 145.B 146.A 147.C 148.A 149.C 150.D 151.C 152.B 153.B 154.B 155.D156.C 157.C 158.A 159.C 160.B 161.D 162.A 163.B 164.B 165.D 166.D 167.B 168.C 169.D 170.B 171.B 172.A 173.A 174.A175.D 176.A 177.B 178.C 179.B 180.C 181.C 182.D 183.D184.D 185.D 186.D 187.D199.A 200.A201.C 202.B 203.C 204.D 205.B 206.C 207.C 208.B 209.B 210.C 211.A 212.C 213.A 214.D 215.C 216.B 217.C 218.D 219.A 220.D 改错题答案第1套1./**/j=0;/**//**/if((str1[i]%2==0)&&(i%2==0))/**/ 2./**/if((i>10)&&(i%3==0))/**//**/y+=1.0/i;/**/第2套1./**/int i,j;/**//**/ for(j=1;j<=2*i-1;j++)/**/2./**/int fun()/**//**/if(cock+hen+chicken==100)/**/ 第3套1./**/char ch;/**//**/switch (ch)/**/2./**/if(m%i==0)/**//**/if(i>k)/**/ 或/**/if(i==k+1)/**/ 第4套1./**/int i,len,sum=0;/**//**/if(str1[i]>='a'&&str1[i]<='z')/**/ 2./**/&a[i]/**//**/for(i=M-1;i>=0;i--)/**/第5套1./**/char str1[128];/**//**/sum++;/**/2./**/#define M 5/**//**/if(a[i]%2==0)/**/第6套1./**/for(i=0;i<="" p="">/**/str2[i]='\0';/**/2./**/ps2=s2;/**//**/while(*ps1!=NULL)/**/ 或/**/while(*ps1)/**/ 第7套1./**/&a[i]/**//**/if(a[0]+a[1]>a[2]&&a[1]+a[2]>a[0]&&a[0]+a[2]>a[1])/**/2./**/int fun()/**//**/if(large+middle+small==100)/**/ 第8套1./**/for(i=100;i<200;i++)/**//**/i/**/2./**/void swap(int *p1,int *p2)/**//**/*p1=*p2;/**/第9套1、/**/int a=0,c=0; /**//**/for(i=0;i<=100;i+=2)/**/2、/**/for(z=0;z<10;z++)/**//**/if(i= =result) /**/第10套1、/**/float s;/**//**/&c/**//**/ s=F(a)+F(b)-F(c); /**/2、/**/t=n/100;/**//**/if(t*t*t+s*s*s+f*f*f= =n)/**/ 第11套1、/**/int i,j; /**//**/for(i=6;i>=1;i--)/**/printf(/**/"\n"/**/);填空题答案第1套1、/**/float f; /**/f = /**/ (abs(x)-2.0)/(x*x+1)/**/ ; 2、sign=/**/-sign/**/;pi*=/**/ 4 /**/;3、for(q=p; qif(/**/ max<*q /**/ ) max=*q;find_max_min(/**/ num /**/,10);第2套1、int plu = /**/403; /**/k = (a*10+b) * /**/(b*10+a) /**/ ;2、/**/a=b=0; /**/while(/**/n!=0 /**/)else /**/ b++; /**/3、if (n%k==0) { flag=/**/0 /**/ ; break;} if(prime(a) && prime(/**/num-a /**/))第3套1、/**/main() /**/}/**/ while /**/(fabs(x-x0)>=1e-6);2、for(i=0;s[i]!='\0';/**/i++ /**/)else if(/**/s[i]>='A'&&s[i]<='Z' /**/) 3、/**/float avg=0.0; /**/avg = avg+/**/ pa[k] /**/;m=average(/**/a /**/, 5);第4套1、/**/#include /**//**/char /**/ str[11];2、for(i=0;iif/**/ (a[j]<="" p="">a[j]=/**/ a[j+1] /**/;3、int fun(/**/float a,float b,float c /**/if(fabs(/**/ a*a /**/-(b*b+c*c))<1.0e-15)第5套1、scanf("%d",/**/ &x /**/);printf("%d*%d=%d\n",x,x,/**/ x*x /**/);2、for(j=i+1;jif(a[j]<="" k="j" p="">a[i]=/**/ t /**/;3、/**/ float /**/ fun(float a,float b,float c) s=/**/ (a+b+c)/2 /**/; 第6套1、int i,/**/ j /**/;sum=/**/ 0 /**/;/**/ sum+=a[i][0]; /**/2、int fun(int a[],int n,/**/int q /**/){ mid=/**/ (left+right)/2 /**/;3、int fun(/**/ float r /**/,float x,float y) bIn=/**/ sqrt(x*x+y*y) /**/<r;< p="">第7套1、/**/ #include /**//**/ return x*x-2*x+6; /**/y2=fun(/**/ sin(x) /**/);2、/**/p=p*i; /**//**/p=p/i; /**/3、printf("The max is %d\n",/**/ findmax(a,10) /**/);int i,/**/ max=array[0] /**/;第8套1、unsigned i,/**/sum=0; /**//**/ return sum; /**/printf("\nThe sum is %d\n",/**/ sum(m) /**/);2、char str[]="1234567",/**/ k /**/;for(i=0,/**/ j=strlen(str)-1 /**/;i<j;i++,j--)< p="">3、/**/STU temp; /**/if(/**/ ps[i].num>ps[i+1].num /**/)if(/**/ flag==0 /**/) break;第9套1、/**/ max=min=a[0][0]; /**/if(/**/ a[i][j]>max /**/)/**/ min=a[i][j]; /**/2、int t=0,/**/ s=0 /**/,i;t=/**/ t*10+i /**/;3、/**/ return 1; /**/return /**/ fib(n-1)+fib(n-2) /**/;第10套1、/**/struct stu /**/ stu[3]={"Mary",76,"John",85,"T om",81 };total=total+/**/ stu[i].score /**/;2、min2=a[0]>a[1]?/**/a[0]:a[1]; /**//**/ min2=a[i]; /**/3、/**/double mysqrt(double,double); /**/ x1=/**/ (x0+a/x0)/2; /**/y=mysqrt(/**/a,x1 /**/);第11套1、#define /**/ N 20/**//**/flag=0;/**//**/m++;/**/2、/**/s=1;tem=1;/**// for(i=1; **/i<=m/**/;i++) 3、aver=/**/sum/N;/**/return(/**/c/**/);cn=/**/count/**/(score);编程题答案第1套1.double fun1(double x){/**/double y=0.0;y=(1+sin(x)+exp(x))/(1+x); return y; /**/2.int fun2(int a[], int n, int b[],int c[]) { /**/int i,len,j,k,temp;for(i=0,len=0;i<n;i++)< p="">if(a[i]>-20)b[len++]=a[i];for(i=0;i<len;i++)< p="">c[i]=b[i];for(i=0;i<len-1;i++)< p="">{k=i;for(j=i+1;j<8;j++)if(c[k]>c[j]) k=j;if(k!=i){temp=c[i];c[i]=c[k];c[k]=temp;}return len;/**/}第2套1.double fun1(double x){/**/double y=0.0;y=(exp(x)+fabs(x-6))/(x+1.3); return y;/**/}2.void fun2(char a[],char b[],char c[]) {/**/char temp[15];if(strcmp(a,b)>0)strcpy(temp,a); strcpy(a,b); strcpy(b,temp); }if(strcmp(b,c)>0) {strcpy(temp,b); strcpy(b,c); strcpy(c,temp); }if(strcmp(a,b)>0) {strcpy(temp,a); strcpy(a,b); strcpy(b,temp); }/**/}第3套1.double fun1(double x) {/**/double y=0.0;if(x<3) y=1.2; else if(x==3) y=10; else y=2*x+1; return y; /**/}2.int fun(char *s){int n=0;while(*s){if(*s==' ')n++;s++;}return n;第4套1.double f(float x){/**/double y=0.0;if(x<=0) y=0;else y=(fabs(x)+3.2)/(sin(x)+2); return y; /**/}2.double fun(int a[],int m){/**/int i;a[0]=a[1]=1;for(i=2;i<m;i++)< p="">a[i]=a[i-1]+a[i-2];/**/</m;i++)<></len-1;i++)<> </len;i++)<> </n;i++)<></j;i++,j--)<> </r;<>。
51001.以下数组定义中,正确的是()。
AA)int a[5]={0};B)int a[]={0 1 2};C)int a[5]=0;D)int a[];51002.下列数组定义中,正确的是().AA)int a[10];B)int n=10,a[n];C)int N=10;int a[N];D)int n;scanf("%d",&n); int a[n]; 51003.已知int a[10];则对a数组元素引用不正确的是().AA)a[10]B)a[3+5]C)a[10-10]D)a[5]51004.若有定义:int a[3]={0,1,2};则a[1]的值为()。
BA)0B) 1C) 2D) 351005.若有定义:int a[5]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为()。
AA) 6B) 5C) 1D) 251006.以下能对一维数组a进行正确初始化的语句是()。
DA)int a[5]=(0,0,0,0,0);B)int a[5]=[0];C)int a[5]={1,2,3,4,5,6,7};D)int a[]={0};51007.下面程序段的运行结果是()。
Dint i=0,a[]={3,4,5,4,3};do{a[i]++;}while(a[++i]<5);for(i=0;i<5;i++)printf("%d ",a[i]);A) 4 5 6 5 4B) 3 4 5 4 3 C) 4 5 5 5 4D) 4 5 5 4 351008.下面程序段的运行结果是()。
Cint i=0,a[]={7,5,7,3,8,3};do{a[i]+=2;}while(a[++i]>5);for(i=0;i<6;i++)printf("%d ",a[i]);A)9 7 9 5 10 5B)9 5 9 3 10 3C)9 5 7 3 8 3D)7 5 7 3 8 351009.下面程序段的运行结果是()。
2011年计算机等级二级C语言笔试题及答案(1)计算机等级考试网更新:2011-6-19 编辑:风清云淡一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。
2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。
3、整数-35在机内的补码表示为__________。
4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。
5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。
6、符号”a”和’a’的区别是__________。
7、所谓“指针”就是__________ 。
“&”运算符的作用是__________。
“*”运算符的作用是__________ 。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。
二、选择题1、设整型变量a为5,使b不为2的表达式是()。
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。
int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。
2011年3月计算机二级考试c 语言试题及答案详细解析2011年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(1-10,21-40每题2分,11-20每题1分,共70分)(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name 的值为A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次 B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运行后的输出结果是A) BY B) BT C) YT D) YE(26)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
答案试题C 1. 在C语言源程序中,以下叙述正确的是()。
A. main函数必须位于文件的开头B. 每行只能写一条语句C. 程序中的一个语句可以写成多行D. 每个语句的最后必须有点号C 2. 关于C语言的源程序的叙述中,错误的是()。
A. C语言的源程序由函数构成B. main函数可以书写在自定义函数之后C. 必须包含有输入语句D. 一行可以书写多个语句C 3. 关于C语言数据类型的叙述,正确的是()。
A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型C★P6 4. C程序中main函数的位置()。
A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后B 5. C语言的函数体由()括起来。
A. ()B. { }C. [ ]D. /* */D 6. 关于C语言的叙述中,不正确的是()。
A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面D 7. 以下叙述不正确的是()。
A. C程序的执行总是从main函数开始vB. 一个C源程序必须包含一个main函数C. C语言程序的基本组成单位是函数D. 在编译C程序源程序时,可发现注释中的拼写错误C 8. 结构化程序设计的三种基本结构是()。
A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构C 9. 对于C语言源程序,以下叙述错误的是()。
A. 可以有空语句B. 函数之间是平等的,在一个函数内部不能定义其它函数C. 程序调试时如果没有提示错误,就能得到正确结果D. 注释可以出现在语句的前面D★P39 10. 下面关于C语言用户标识符的描述,正确的是()。
A. 不区分大小写B. 用户标识符不能描述常量C. 类型名也是用户标识符D. 用户标识符可以作为变量名D 11. 以下()是正确的变量名。
A. 5fB. ifC. f.5D. _f5D 12. 以下()是正确的常量。
A. E-5B. 1E5.1C. 'a12'D. 32766LD 13. 以下()是正确的变量名。
A. a.beeB. -p11C. intD. p_11C 14. 以下()是正确的字符常量。
A. "c"B. '\ \' 'C. 'W'D. "\32a"A ★P52 15. 以下()是不正确的字符串常量。
字符常量是一对‘’。
字符串常量一对“”A. 'abc'B. "12'12"C. "0"D. " "B P40 16. 以下()是错误的整型常量。
A. -0xcdfB. 018 /* 以0开头的是八进制数C. 0xeD. 011B 17. 以下()是正确的浮点数。
A. e3B. .62C. 2e4.5D. 123A 18. 若有说明语句:char c='\95'; 则变量c包含()个字符。
A. 1B. 2C. 3D. 语法错误A 19. 若有定义:int a=2; 则正确的赋值表达式是()。
A. a-=(a*3)B. double(-a)C. a*3D. a*4=3C ★与23题对比 20. 语句x=(a=3,b=++a);运行后,x、a、b的值依次为()。
A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,3B 21. 语句a=(3/4)+3%2;运行后,a的值为()。
A. 0B. 1C. 2D. 3A 22. char型变量存放的是()。
A. ASCII代码值B. 字符本身C. 十进制代码值D. 十六进制代码值C★与20题对比 23. 若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()。
A. 3,3B. 4,4C. 4,3D. 3,4B 24. 若有定义:int a; 则语句a=(3 * 4)+ 2 % 3;运行后,a的值为()。
A. 12B. 14C. 11D. 17A 25. 若有定义:int a,b; double x,则以下不符合C语言语法的表达式是()。
A. x%(-3)B. a+=-2C. a=b=2D. x=a+b26. 若有定义:int x=2,y=3;float i;,则以下符合C语言语法的表达式是()。
B★ A. x=x*3=2B. x=(y==1)C. i=float(x)D. i%(-3)C 27. 设double型变量a,b,c,e均有值;对代数式(3ae)/(bc),不正确的C语言表达式是()。
A. a/b/c*e*3B. 3*a*e/b/cC. 3*a*e/b*cD. a*e/c/b*3B 28. 下面叙述正确的是()。
A. 2/3 与 2.0/3.0 等价B. (int)2.0/3 与 2/3 等价C. ++5 与 6 等价D. 'A'与"A"等价A 29. 下面叙述中,错误的是()。
A. 其算术运算对象不包含函数B. %(模运算符)的运算对象只能为整型量????C. 算术运算符的结合方向是"自左至右"D. 自加和自减运算符的结合方向是"自右至左"A 30. 下面叙述正确的是()。
A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的C. 'A'*'B' 是不合法的D. "A"+"B"是合法的B 31. 若有定义:int k,i=2,j=4; 则表达式 k=(++i)*(j--) 的值是()。
A. 8B. 12C. 6D. 9C 32. 设整型变量a为5,使b不为2的表达式是()。
A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/2C★ 33. 若有定义:int a=1,b=2,c=3; 则语句 ++a||++b&&++c;运行后b的值为()。
A. 1B. 0C. 2 || 一个真,则真。
因为(++a)成立,所以(++b)没运行,即输出原值D. 3B 34. 若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是()。
A. 7B. 8C. 9D. 10B★35. 若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是()。
A. 7B. 8 a=2 , b=6..C. 9D. 10B★ 36. 若有定义:int m=5,n=3;则表达式(m+1,n+1,(--m)+(n--))的值是()。
A. 6B. 7 m=4 n=3C. 8D. 9B 37. 已知 int a;使用scanf()函数输入一个整数给变量a,正确的函数调用是()。
A. scanf("%d",a);B. scanf("%d",&a);C. scanf("%f",&a);D. scanf("%lf",&a);D 38. 已知 double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()。
A. scanf("%ld",&a);B. scanf("%d",&a);C. scanf("%7.2f",&a);D. scanf("%lf",&a);B 39. 已知 char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()。
A. scanf("%d",&a);B. scanf("%lf",&a);C. scanf("%c",&a);D. scanf("%u",&a);B 40. putchar()函数的功能是向终端输出()。
A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式D 41. getchar()函数的功能是从终端输入()。
A. 一个整型变量值B. 一个实型变量值C. 多个字符D. 一个字符D 42. 若有定义:int x=1234,y=123,z=12;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为()。
A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1243. 已有如下定义和输入语句,A int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()。
A. 10ABB. 10 A BC. 10A BD. 10 ABB 44. 已有如下定义和输入语句:int a,b;scanf("%d,%d",&a,&b);若要求a、b的值分别为10和20,正确的数据输入是()。
A. 10 20B. 10,20C. a=10,b=20D. 10;20D 45. 以下程序的运行结果是()。
void main(){int a=65;char c='A';printf("%x,%d",a,c);}A. 65,aB. 41,aC. 65,65D. 41,65A 46. 下面叙述中,()不是结构化程序设计中的三种基本结构之一。
A. 数据结构B. 选择结构C. 循环结构D. 顺序结构A 47. 下面叙述中,()不是结构化程序设计三种基本结构的共同特点。
A. 先判断后执行B. 单入口,单出口C. 程序中没有执行不到的语句D. 无死循环A★P34 48. 结构化程序设计不包括()。
A. 最优化B. 自顶而下,逐步细化C. 模块化设计D. 结构化编码D 49. 以下运算符中优先级最高的是()。
A. >B. ||C. &&D. +A 50. 若有定义:int x=3,y=4;则表达式 !x||y 的值为()。
A. 1B. OC. 3D. 4A 51. 若有定义:int i=7,j=8;则表达式 i>=j||i<j 的值为()。