2011年3月全国计算机等级考试二级笔试试卷C语言程序设计试题及参考答案
www.233.com 2011年3月计算机等级考试二级C语言笔试:文字版
一、 选择题 (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)软件设计是将软件需求转换为软件表示的过程 www.233.com C)数据结构与数据库设计是软件设计的任务之一
D)PAD图是软件详细设计的表示工具 (7)负责数据库中查询操作的数据库语言是 A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言 (8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是
A)1:1联系 B)1:m联系 C)m:1联系 D)m:n联系 (9)有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是 A)自然连接 B)交 C)除 D)并 (10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是 A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5} (11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 A)C语言程序仅可以编译执行 B)C语言程序仅可以解释执行 www.233.com C)C语言程序既可以编译执行又可以解释执行
D)以上说法都不对 (12)以下叙述中错误的是 A)C语言的可执行程序是由一系列机器指令构成的 B)用C语言编写的源程序不能直接在计算机上运行 C)通过编译得到的二进制目标程序需要连接才可以运行 D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件 (13)以下选项中不能用作C程序合法常量的是 A)1,234 B)'123' C)123 D)"\x7G" (14)以下选项中可用作C程序合法实数的是 A).1e0 B)3.0e0.2 C)E9 D)9.12E (15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是 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= www.233.com D)name=Lili num=1001
(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是 A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值 (18)有以下程序 #include main() { int x=011; printf("%d\n",++x); } 程序运行后的输出结果是 A)12 B)11 C)10 D)9 (19)有以下程序 #include main() { 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; } www.233.com 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)有以下程序 www.233.com #include
main() { 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)有以下程序 #include main() { char b,c; int i; b='a'; c='A'; for(i=0;i<6;i++) { if(i%2) putchar(i+b); www.233.com 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) #include void 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)有以下程序段 www.233.com #include
main() { … while( getchar()!='\n'); … } 以下叙述中正确的是 A)此while语句将无限循环 B) getchar()不可以出现在while语句的条件表达式中 C)当执行此while语句时,只有按回车键程序才能继续执行 D)当执行此while语句时,按任意键程序就能继续执行 (27)有以下程序 #include main() { 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;,则以下赋值语句正确的是 www.233.com A)p=s; B)p=k; C)p=s[0]; D)k=s;
(29)有以下程序 #include void 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)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #include #define N 10 void fun(int x[N]) { int i=0; while(i<> } 在程序中下划线处应填入的是 A)x+i B)&x[i+1]
2011年计算机等级二级C语言章节习题及答案(13)
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语言等级考试上机题库100题(含答案)
2011年全国计算机二级C语言上机题题库(超值100题)1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0)k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
2011计算机等考二级C语言课后练习题及答案
2011计算机等级二级C语言课后练习题及答案(1)一、单项选择题1.C语言程序的执行,总是起始于【】。
A) 程序中的第一条可执行语句B) 程序中的第一个函数C) main函数D) 包含文件中的第一个函数分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。
本题正确答案为C。
2.下列说法中正确的是【】。
A) C程序书写时,不区分大小写字母B) C程序书写时,一行只能写一个语句C) C程序书写时,一个语句可分成几行书写D) C程序书写时每行必须有行号分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。
本题正确答案为C。
3.下面对C语言特点,不正确描述的是【】。
A) C语言兼有高级语言和低级语言的双重特点,执行效率高B) C语言既可以用来编写应用程序,又可以用来编写系统软件C) C语言的可移植性较差D) C语言是一种结构式模块化程序设计语言分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。
本题正确答案为C。
4.C语言源程序的最小单位是【】。
A) 程序行B) 语句C) 函数D) 字符分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。
本题正确答案为D。
5.以下四项中属于C语言关键字的是【】。
A) CHAR B) define C) unsigned D) return分析:C语言有32个关键字(或称保留字),它们都有特定的含意,并且由小写字母组成,所以选项A是错的,选项B不是保留字,选项D是return的错误拼写。
本题正确答案为C。
2011年计算机等级二级C语言课后练习题及答案解析(3)
一、单项选择题1.下面不属于C语言的数据类型是【】。
A) 整型B) 实型C) 逻辑型D) 双精度实型分析:和其它高级语言相比,C语言中没有逻辑型数据,也没有逻辑型变量。
本题正确答案为C。
2.C语言中,下列属于构造类型的是【】。
A) 整型B) 实型C) 指针类型D) 结构体类型分析:C语言中构造类型的数据有三种:数组、结构体和共用体,数组是同类型数据的集合,结构体是不同类型的数据集合。
本题正确答案为D。
3.下列字符串不符合标识符规定的是【】。
A) SUM B) sum C) 3cd D) end分析:标识符规定只能由26个英文字母(大小写均可),数字0~9和下划线组成,且不能以数字开头,题中的3cd不符合规定。
本题正确答案为C。
4.下面能正确表示八进制数的是【】。
A) 0x16 B) 029 C) -114 D) 033分析:选项A)以0x开头是十六进制数,选项B)虽然是0开头,但出现了数字9,选项C)是十进制数。
本题正确答案为D。
5.下面四个选项中,均是合法实数的选项是【】。
A) 2e-4.2 B)-0.50 C) 0.2e-.5 D)-e5分析:实数有两种表示形式:小数形式和指数形式,小数形式必须有小数点,指数形式中,字母e之前必须有数字,e之后必须是整数。
选项A)中的"2e-4.2",选项C)中的"0.2e-.5",选项D)中的"-e5"均是不合法的。
本题正确答案为B。
6.C语言中,字符型数据在内存中存储形式是【】。
A) 原码B) 反码C) 补码D) ASCII码分析:C语言中int型数据是以补码形式存放的,字符型数据是以ASCII码形式存放的。
本题正确答案为D。
7.下列正确的字符型常量是【】。
A) "a" B) ′\\\\′ C) "\\r" D) 277分析:字符常量的定义是用单引号括起来的一个字符,A和C的定界符不对,D超过了char型数据的表示范围,′\\\\′是转义字符。
2011年计算机等级考试二级C语言上机题库92-96套(含答案)
第92套1程序填空给定程序中,函数fun的功能是:计算f(x)=1+x+x2/2!+…+xn/n!的前n项。
若x=2.5,函数值为:12.182340。
的前n项。
若x=2.5,函数值为:12.182340。
第1处t=1;第2处for(i=1;i<n;i++)第3处t*=x/i;2程序修改给定程序MODI1.C中函数fun的功能是;找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,把这些整数放在s所指数组中,个数作为函数值返回。
int fum(int *s,int n){ int i,j,k,a,b,c;j=0;for(i=100;i<n;++){/*******found******/k=i;a=k%10;k/=10;b=k%10;k/=10;/*******found******/c=k%10;if(a==b&&a==c)s[j++]=i;}return j;}3程序设计请编写函数fun的功能是:计算并输出给定10个数的方差:例如:给定的10个数为95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0,l输出为s=11.730729。
double fun(double x[10]){int i;double avg=0.0,sum=0.0,abs=0.0,fc;for(i=0;i<10;i++)sum+=x[i];avg=sum/10;for(i=0;i<10;i++)abs+=(x[i]-avg)*(x[i]-avg);fc=sqrt(abs/10);return fc;}第93套1程序填空给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
第1处t=t->next;第2处printf(“%d”,t->data);第3处free(t);2程序修改给定程序MODI1.C中fun函数的功能是:将字符串中的字符按逆序输出,但不改变字符串的内容。
2011年计算机等级考试二级C语言上机题库63-67套(含答案)
1程序填空给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边值为0。
第1处for(i=0;i<N;i++)第2处t[i][j+m]=t[i][j];第3处for(j=0;j<m;j++)2程序修改给定程序MODI1.C是函数fun的功能是:计算并输出high以内最大的10个素数之和。
high的值由主函数传给fun函数。
int fun(int high){ int sum=0,n=0,j,yes;/*******found******/while((2<=high)&&(n<10)){ yes=1;for(j=2;j<=high/2;j++)if(high%j==0){/*******found******/yes=0;break;}if(yes){sum+=high;n++;}}return sum;}3程序设计编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。
xn+1=cos(xn)迭代步骤如下:1. 取x1初值为0.02. x0=x1,把x1的值赋给x03. x1=cos(x0),求出一个新的x14. 若x0-x1的绝对值小于0.000001执行步骤(5)否则执行步骤(2)5. 所求x1就是方程cos(x)-x=0的一个实根作为函数值返回。
程序将输出结果Root=0.739058。
float fun(){float x0,x1=0.0;do {x0=x1;x1=cos(x0);}while(fabs(x0-x1)>0.000001);return x1;}第64套1程序填空给定程序中,函数fun的功能是:将a所指3×5矩阵中第k 列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。
第1处for(p=1;p<=k;p++)第2处for(j=0;j<N-1;j++)a[i][j]=a[i][j+1];第3处a[i][N-1]=temp;2程序修改给定程序MODI1.C是函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。
2011年计算机等级二级C语言章节习题及答案(2)
2011年计算机等级二级C语言章节习题及答案(2)2011年计算机等级二级C语言章节习题及答案(2)第3章数据类型运算符与表达式一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)3.1 C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案: B3.2 C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符正确答案: C3.3 下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof正确答案: B3.4 下面四个选项中,均是不正确的8进制数或16进制数的选项是A)016 0x8f 018B)0abc 017 0xaC)010 -0x11 0x16D)0a12 7ff -123正确答案: D3.5 下列数据中,不合法的C语言实型数据的是A)0.123B)123e3C)2.1e3.5D)789.0正确答案: C3.6 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L;3.7 若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案: A3.8 有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为A)6B)7C)8D)9正确答案: D3.9 C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)<=正确答案: A3.10 若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b正确答案: B3.11 若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1B)++i;C)a=a++=5;D)a=int(i);正确答案: B3.12 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000B)2.750000C)3.500000D)0.000000正确答案: A3.13 若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是A)sizeof,&=,<<,^B)sizeof,<<,^,&=C)^,<<,sizeof,&=D)<<,^,&=,sizeof3.14 以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案: D3.15 已知int i,a;执行语句i=(a=3,a++,- -a,a+4,a+5,++a);后,变量i的值为A)2B)3C)4D)5正确答案: C3.16 设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为A)intB)floatC)doubleD)不确定正确答案: C3.17 在C语言中,char型数据在内存中的存储形式是A)补码B)反码C)原码D)ASCII码正确答案: D3.18 字符型数据在机器中是用ASCII码表示的,字符’5’和’7’在机器中表示为A)10100011和01110111B)01000101和01100011C)00110101和00110111D)01100101和01100111正确答案: C3.19 不能进行++和- -运算的数据类型为A)指针B)整型C)长整型D)常量正确答案: D3.20 设有int x=11;则表达式(x++*1/3)的值是A)3B)4C)11D)12正确答案: A3.21 以下程序的输出结果是main(){ int a=21,b=11;printf("%d\n",- -a+b,- -b+a);}A)30B)31C)32D)33正确答案: A3.22 假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为A)17B)16C)15D)14正确答案: C3.23 已知int a=6; 则执行a+=a-=a*a;语句后,a的值为A)36B)0C)-24D)-60正确答案: D3.24 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0正确答案: B3.25 sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式正确答案: B3.26 在C语言中,int,char和short三种类型数据在内存中所占用的字节数A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定正确答案: D3.27 以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C 语言表达式是A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z正确答案: A3.28 下列关于复合语句和空语句的说法错误的是A)复合语句是由“{”开头,由“}”结尾的B)复合语句在语法上视为一条语句C)复合语句内,可以有执行语句,不可以有定义语句部分D)C程序中的所有语句都必须由一个分号作为结束正确答案: C3.29 下列关于字符串的说法中错误的是A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志B)′\0′作为标志占用存储空间,计入串的实际长度C)在表示字符串常量的时候不需要人为在其末尾加入′\0′D)在C语言中,字符串常量隐含处理成以′\0′结尾正确答案: B二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
2011年3月全国计算机等级考试二级Access笔试试题及参考答案1
2011年3月全国计算机等级考试二级Access笔试试题及参考答案12011年3月全国计算机等级考试二级Access笔试试题及参考答案2011年3月全国计算机等级考试二级Access笔试试题一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)在学生表中要查找所有年龄大于30岁姓王的男同学,应该采用的关系运算是A)选择B)投影C)联接D)组合框(21)在报表中要显示格式为“共N页,第N页”的页码,正确的页码格式设置是A)="共"+Pages+"页,第"+Page+"页"B)="共"+[Pages]+"页,第"++"页"C)="共"&Pages&"页,第"&Page&"页"D)="共" & [Pages] & "页,第" & [Page] & "页"(22)某窗体上有一个命令按钮,要求单击该按钮后调用宏打开应用程序Word,则设计该宏时应选择的宏命令是A)RunAppB)RunCodeC)RunMacroD)RunCommand(23)下列表达式中,能正确表示条件“x和y都是奇数”的是A)x Mod 2=0 And y Mod 2=0B)x Mod 2=0 Or y Mod 2=0C)x Mod 2=1 And y Mod 2=1D)x Mod 2=1 Or y Mod 2=1(24)若在窗体设计过程中,命令按钮Command0的事件属性设置如下图所示,则含义是A)只能为"进入"事件和"单击"事件编写事件过程B)不能为"进入"事件和"单击"事件编写事件过程C)“进入”事件和“单击”事件执行的是同一事件过程D)已经为“进入”事件和“单击”事件编写了事件过程(25)若窗体Frm1中有一个命令按钮Cmd1,则窗体和命令按钮的Click事件过程名分别为A)Form_Click() Command1_Click()B)Frm1_Click() Command1_Click()C)Form_Click() Cmd1_Click()D) Frm1_Click() Cmd1_Click()(26)在VBA中,能自动检查出来的错误是A)语法错误B)逻辑错误C)运行错误D)注释错误(27)下列给出的选项中,非法的变量名是A)SumB)Integer_2C)RemD)Form1(28)如果在被调用的过程中改变了形参变量的值;但又不影响实参变量本身,这种参数传递方式称为A)按值传递ByvalB)按地址传递C)ByRef传递D)按形参传递(29)表达式“B=INT(A+0.5)”的功能是A)将变量A保留小数点后1位B)将变量A四舍五入取整C)将变量A保留小数点后5位D)舍去变量A的小数部分(30)VBA语句“ Dim NewArray(10) as Integer ”的含义是NewArray(0)、NewArray(1)、NewArray(2)、……NewArray(10)A)定义10个整型数构成的数组NewArrayB)定义11个整型数构成的数组NewArrayC)定义1个值为整型数的变量NewArray(10)D)定义1个值为10的变量NewArray(31)运行下列程序段,结果是For m=10 to 1 step 0k=k+3Next mA)形成死循环B)循环体不执行即结束循环C)出现语法错误D)循环体执行一次后结束循环(32)运行下列程序,结果是Private Sub Command32_Click()f0=1:f1=1:k=1Do While k<=5f=f0+f1f0=f1f1=fk=k+1LoopMsgBox "f="&fEnd SubA)f=5B)f=7C)f=8D)f=13(33)有如下事件程序,运行该程序后输出结果是Private Sub Command33_Click()Dim x As Integer,y As Integerx=1:y=0Do Until y<=25y=y+x*xx=x+1LoopMsgBox "x="& x &", y=" & y End Sub、A)x=1,y=0B) x=4,y=25C)x=5,y=30D)输出其他结果(34)下列程序的功能是计算sum=1+(1+3)+(1+3+5)+......+(1+3+5+ (39)Private Sub Command34_Click()t=0m=1sum=0Dot=t+msum=sum+tm=______Loop While m<=39MsgBox "Sum="&sumEnd Sub为保证程序正确完成上述功能,空白处应填入的语句是A)m+1B)m+2C)t+1D)t+2(35)下列程序的功能是返回当前窗体的记录集Sub GetRecNum()Dim rs As ObjectSet rs=______MsgBox rs.RecordCountEnd Sub为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的语句是A)RecordsetB)Me.RecordsetC)RecordSourceD)Me.RecordSource二、填空题(1)有序线性表能进行二分查找的前提是该线性表必须是【1】存储的。
2011年全国计算机二级C语言上机题题库大全
2011年全国计算机二级C语言上机题题库1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2:第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int*a,int*n){int i,j=0;for(i=2;i<1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}3:第3题请编写函数void fun(int x,int pp[],int*n),它的功能是:求出能整除x 且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x,int pp[],int*n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4:第4题请编写一个函数void fun(char*tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char*tt,int pp[]){int i;for(i=0;i<26;i++)pp[i]=0;while(*tt){switch(*tt){case‘a’:pp[0]++;break;case‘b’:pp[1]++;break;case‘c’:pp[2]++;break;case‘d’:pp[3]++;break;case‘e’:pp[4]++;break;case‘f’:pp[5]++;break;case‘g’:pp[6]++;break;case‘h’:pp[7]++;break;case‘i’:pp[8]++;break;case‘j’:pp[9]++;break;case‘k’:pp[10]++;break;case‘l’:pp[11]++;break;case‘m’:pp[12]++;break;case‘n’:pp[12]++;break;case‘o’:pp[14]++;break;case‘p’:pp[15]++;break;case‘q’:pp[16]++;break;case‘r’:pp[17]++;break;case‘s’:pp[18]++;break;case‘t’:pp[19]++;break;case‘u’:pp[20]++;break;case‘v’:pp[21]++;break;case‘w’:pp[22]++;break;case‘x’:pp[23]++;break;case‘y’:pp[24]++;break;case‘z’:pp[25]++;break;}tt++;}}5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
2011年计算机二级考试C语言十套上机题
2011年计算机二级考试C语言十套上机题1.填空题请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“ you do?”,结果输出:How do you do?注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:#include#include#define N 40void fun(char *str1,char *str2){int i=0;char *p1=str1;char *p2=str2;while(【1】)i++;for( ;【2】;i++)*(p1+i)=【3】;*(p1+i)='\0';}main(){char str1[N],str2[N];clrscr();printf("*****Input the string str1 &str2*****\n");printf(" \nstr1:");gets(str1);printf(" \nstr2:");gets(str2);printf("**The string str1 & str2**\n");puts(str1);puts(str2);fun(str1,str2);printf("*****The new string *****\n");puts(str1);}答案及评析:【1】*(p1+i) 【2】*p2 【3】*p2++【解析】填空1:变量i用来记录字符串str1的长度,当指针指到字符串str1结束标志符‘\0'时,while循环结束,变量i停止累加。
填空2:指针p2指向字符串str2,通过for循环将字符串str2接在str1后面,循环结束的条件是指针p2所指的字符是字符串结束标志符‘\0'。
