2000年9月二级C语言试卷
全国计算机二级C语言笔试历届真题汇编2006年4月-2010年9月
2010年9月全国计算机二级C语言笔试试题一、选择题(每小题2分,共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)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;doublex,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200B)实数:1.5E2.0C )字符斜杠:‘\’D)字符串:"\007"(16)表达式a+=a-=a=9的值是A)9 B)_9C)18 D)0(17)若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是A)a<>b+c B)ch=getchar()C)a==b+c D)a++(18)有以下程序#include<stdio.h>main(){int a=1,b=0;if(!a)b++;else if(a==0)if(a)b+=2;else b+=3;printf(”%d\n”,b);}程序运行后的输出结果是A)0 B)1C)2 D)3(19)若有定义语句int a, b;double x;则下列选项中没有错误的是A)switch(x%2)B)switch((int)x/2.0{case 0: a++; break; {case 0: a++; break;case 1: b++; break; case 1: b++; break;default : a++; b++; default : a++; b++;} }C)switch((int)x%2)D)switch((int)(x)%2){case 0: a++; break; {case 0.0: a++; break;case 1: b++; break; case 1.0: b++; break;default : a++; b++; default : a++; b++;} }(20)有以下程序#include <stdio.h>main(){int a=1,b=2;while(a<6){b+=a;a+=2;b%二10;}printf(”%d,%d\n”,a,b);}程序运行后的输出结果是A)5,11 B)7,1C)7,11 D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0 B)y= -1C)y=1 D)while 构成无限循环(22)有以下程序#include<stdio .h>main(){char s[」=”rstuv";printf(”%c\n”,*s+2);}程序运行后的输出结果是A)tuv B)字符t的ASCII 码值C)t D)出错(23)有以下程序#include<stdio.h>#include<string.h>main(){char x[]=”STRING”;x[0」=0;x[1]=’\0’;x[2」=’0’;printf(”%d %d\n”,sizeof(x),strlen (x));}程序运行后的输出结果是A)6 1 B)7 0C)6 3 D)7 1(24)有以下程序#include<stdio.h>Int f(int x);main(){int n=1,m;m=f(f(f(n)));printf(”%d\n”,m); }int f(int x){return x*2;}程序运行后的输出结果是A)1 B)2C)4 D)8(25)以下程序段完全正确的是A)int *p; scanf("%d",&p);B)int *p; scanf(“%d”,p);C)int k, *p=&k; scanf("%d",p);D)int k, *p:; *p= &k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4]; B)int **p;C)int *(p「4」); D)int (*p)「4」;(27)下列定义数组的语句中,正确的是A)int N=10;B)#define N 10int x[N]; int x[N];C)int x[0..10];D)int x[];(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是A)int a[5]=﹛0﹜;B)int b[]={0,0,0,0,0};C)int c[2+3];D)int i=5,d[i];(29)有以下程序#include<stdio.h>void f(int *p);main(){int a[5]={1,2,3,4,5},*r=a;f(r);printf(”%d\n”;*r);}void f(int *p){p=p+3;printf(”%d,”,*p);}程序运行后的输出结果是A)1,4 B)4,4C)3,1 D)4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)# include<stdio.h>void fun(int*a;int n){int i、j、k、t;for (i=0;i<n 一1;1+=2){k=i;‘for(j=i;j<n;j+=2)if(a[j]>a〔k])k=j;t=a〔i];a〔i]=a[k];a〔k]=t;}}main(){int aa「10」={1、2、3、4、5、6、7},i;fun(aa、7);for(i=0,i<7; i++)printf(”%d,”,aa[i]));printf(”\n”);}程序运行后的输出结果是A)7,2,5,4,3,6,1B)1,6,3,4,5,2,7C)7,6,5,4,3,2,1D)1,7,3,5,6;2,1(31)下列选项中,能够满足“若字符串s1 等于字符串s2,则执行ST"要求的是A)if(strcmp(s2,s1)==0)ST;B)if(sl==s2)ST;C)if(strcpy(s l ,s2)==1)ST;D)if(sl-s2==0)ST;(32)以下不能将s所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++;s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++];);(33)有以下程序(strcat 函数用以连接两个字符串)#include<stdio.h>#include<string .h>main(){char a[20]=”ABCD\OEFG\0”,b[]=”IJK”;strcat(a,b);printf(”%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJKB)ABCDIJKC)IJKD)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母#include<stdio.h>#include<ctype.h>void fun(char*p){int i=0;while (p[i]){if(p[i]==’’&&islower(p「i-1」))p[i-1]=p[i-1]-‘a’+‘A’;i++;}}main(){char s1[100]=”ab cd EFG!”;fun(s1);printf(”%s\n”,s1);}程序运行后的输出结果是A)ab cd EFG!B)Ab Cd EFg!C)aB cD EFG!D)ab cd EFg!(35)有以下程序#include<stdio.h>void fun(int x){if(x/2>1)fun(x/2);printf(”%d”,x);}main(){fun(7);printf(”\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1C)7 3 D)3 7(36)有以下程序#include<stdio.h>int fun(){static int x=1;x+=1;return x;}main(){int i;s=1;for(i=1;i<=5;i++)s+=fun();printf(”%d\n”,s);}程序运行后的输出结果是A)11 B)21C)6 D)120(37)有以下程序#inctude<stdio.h>#include<stdlib.h>Main(){int *a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3C)1,2,3 D)1,1,3(38)有以下程序#include<stdio.h>main(){int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6 平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6(39)若有以下语句Typedef struct S{int g; char h;}T;以下叙述中正确的是A)可用S 定义结构体变量B)可用T定义结构体变量C)S是struct 类型的变量D)T是struct S 类型的变量(40)有以下程序#include<stdio.h>main(){short c=124;c=c_______;printf(“%d\n”、C);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B)|248 C)&0248 D)<<I二、填空题(每空2分,共30分)(1)一个栈的初始状态为空。
二级C语言程序设计全真试题及解答_3套
二级C语言程序设计全真试题及解答_3套二级 C 语言程序设计全真试题及解答说明:上机考试正式系统题库中共有 50 套题目,考生随机从中抽取一套进行考试。
例如,如果你考的是二级C 语言上机考试,那么你输入准考证号并确认后,机器将从正式题库的 50 套题中随机为你抽取一套题目(包括一道程序填空题(30 分)、一道程序修改题(30 分)、一道程序设计题(40 分)共3 题)让你考试,如果 3 题都完全答对,那么你上机考试的成绩就是满分100 分。
(注:一般来说,抽题时,填空题第 1 题和修改题第 1 题和编程题第 1 题会对应同时出现,如此类推)第 1 套第一题(30 分)程序通过定义学生结构体变量,存储了学生的学号、姓名和3 门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun 的功能是重写形参 filename 所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C 中。
不得增行或删行,也不得更改程序的结构!源程序 BLANK1.C:#include#define N 5typedef struct student{ long sno;char name[10];float score[3];} STU;void fun(char *filename, STU n){ FILE *fp;/**********found**********/fp = fopen( 1 , "rb+");/**********found**********/fseek( 2 ,-(long)sizeof(STU), SEEK_END);/**********found**********/fwrite(&n, sizeof(STU), 1, 3 );fclose(fp);}main(){ STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88},{10003,"LiSi", 85, 70, 78},{10004,"FangFang", 90, 82, 87}, {10005,"ZhangSan", 95, 80, 88}};STU n={10006,"ZhaoSi", 55, 70, 68}, ss[N]; int i,j; FILE *fp;fp = fopen("student.dat", "wb");fwrite(t, sizeof(STU), N, fp);fclose(fp);fp = fopen("student.dat", "rb");fread(ss, sizeof(STU), N, fp);fclose(fp);printf("\nThe original data :\n\n");for (j=0; j<="" p="">{ printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);printf("\n");}fun("student.dat", n);printf("\nThe data after modifing :\n\n"); fp = fopen("student.dat", "rb");fread(ss, sizeof(STU), N, fp);fclose(fp);for (j=0; j<="" p="">{printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);printf("\n");}}应填入答案:1.filename2.fp3.fp第二题(30 分)给定程序 MODI1.C 中的函数 Creatlink 的功能是创建带头结点的单向链表, 并为各结点数据域赋 0 到m-1 的值。
2000-2011年二级C语言笔试真题及答案
2008年4月二级C语言笔试真题及答案(考试时间:120分钟,满分100分)一、选择题(共70分)下列各题A),B),C),D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(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)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序 B)冒泡排序C)直接插入排序 D)堆排序(7)下列关于栈的叙述正确的是A)栈按“先进先出”组织数据 B)栈按“先进后出”组织数据C)只能在栈底插入数据 D)不能删除数据(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于[C]A)需求分析阶段 B)概念设计阶段C)逻辑设计阶段 D)物理设计阶段(9)有三个关系R、S和T如下:TB C Da 0 k1R SB C Da 0 k1b 1 n1B C Df 3 h2a 0 k1n 2 x1有关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩 B)学号,成绩C)学号,课号 D) 学号,姓名,成绩(11)以下叙述中正确的是A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中(12)以下选项中不合法的标识符是A)print B)FOR C)&a D)_00(13)以下选项中不属于字符常量的是A)'C' B)"C" C)'\xCC0' D)'\072'(14)设变量已正确定义并赋值,以下正确的表达式是A)x=y*5=x+z B)int(15.8%5)C)x=y+z+5,++y D)x=25%5.0(15)以下定义语句中正确的是A)int a=b=0 ; B)char A=65+1,b='b';C)float a=1,*b=&a,*c=&b ; D)double a=0.0,b=1.1;(16)有以下程序段char ch; int k;ch='a'; k=12;printf("%c,%d,",ch,ch,k); printf("k=%d\n",k);已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z')C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91)(18)当变量c的值不为2、4、6时,值也为“真”的表达式是A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5)C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0: a++; break;case 1: b++; break;}case 2: a++; b++; break;case 3: a++; b++;}printf(“a=%d,b=%d\n”,a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2C)a=1,b=1 D)a=2,b=1(21)有以下程序#include <stdio.h>main(){ int x=8;for( ; x>0; x--){ if(x%3) {printf(“%d,”,x--); continue;}printf(“%d,”,--x);}}程序的运行结果是A)7,4,2 B)8,7,5,2C)9,7,6,4 D)8,5,4,2(22)以下不构成无限循环的语句或者语句组是A)n=0; B)n=0;do{++n;}while(n<=0); while(1){n++;}C)n=10; D)for(n=0,i=1; ;i++) n+=i;while(n);{n--;}(23)有以下程序#include <stdio.h>main(){ int a[ ]={1,2,3,4},y,*p=&a[3];--p; y=*p; printf(“y=%d\n”,y);}程序的运行结果是A)y=0 B)y=1 C)y=2 D)y=3(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}};B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)设有如下程序段char s[20]= “Bejing”,*p;p=s;则执行p=s;语句后,以下叙述正确的是A)可以用*p表示s[0]B)s数组中元素的个数和p所指字符串长度相等C)s和p都是指针变量D)数组s中的内容和指针变量p中的内容相等(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][ !1](27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf(“%s”,s+1);C)gets(s); D)scanf(“%s”,s[1]);(28)以下叙述中错误的是A)在程序中凡是以“#”开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)以下结构体类型说明和变量定义中正确的是A)typedef struct B)struct REC;{int n; char c;}REC; {int n; char c;};REC t1,t2; REC t1,t2;C)typedef struct REC ; D)struct{int n=0; char c=’A’;}t1,t2; {int n;char c;}REC t1,t2;(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)有以下程序#include <stdio.h>main(){ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++;for(i=1;i<5;i++) printf(“%d”,c[i]);printf(“\n”);}程序的运行结果是A)1 2 3 4 B)2 3 4 4 C)4 3 3 2 D )1 1 2 3(32)有以下程序#include <stdio.h>void fun(int *s,int nl,int n2){ int i,j,t;i=nl; j=n2;while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k<10;k++)prin tf(“%d”,a[k]); printf(“\n”);}程序运行的结果是A)0987654321 B)4321098765C)5678901234 D)0987651234(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[ ],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;} }main(){char *ss[]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”}; fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){int y;if(x==0||x==1) return (3);y=x*x-f(x-2);return y;}main(){int z;z=f(3); printf(“%d\n”,z);}程序的运行结果是A)0 B)9 C)6 D)8(35) 有以下程序#include <stdio.h>void fun(char *a,char *b){while(*a==’*’) a++;while(*b=*a) {b++;a++;}}main(){ch ar *s=”****a*b****”,t[80];fun(s,t); puts(t);}程序的运行结果是A)*****a*b B) a*b C) a*b**** D) ab(36) 有以程序#include <stdio.h>#include <string.h>typedef struct { char name[9]; char sex; float score[2]; } STU;void f( STU a){ STU b={“Zhao” ,’m’,85.0,90.0} ; int i;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++) a.score[i]=b.score[i];}main(){ STU c={“Qian”,’p’,95.0,92.0};f(c);printf(“%s,%c,%2.0f,%2.0f\n”,,c.sex,c.score[0],c.score[1]);}程序的运行结果是A)Qian,f,95,92 B) Qian,m,85,90C) Zhao,f,95,92 D) Zhao,m,85,90(37) 有以下程序#include <stdio.h>main(){FILE *fp; int a[10]={1,2,3},i,n;fp=fopen(“dl.dat”,”w”);for(i=0;i<3;i++) fprintf(fp,”%d”,a[i]);fprintf(fp,”\n”);fclose(fp);fp=fopen(“dl.dat”,”r”);fscanf(fp,”%d”,&n);fclose(fp);printf(“%d\n”,n);}程序的运行结果是A)12300 B) 123 C) 1 D) 321(38)变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。
全国计算机二级《C语言》考试题库与答案
全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。
什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。
全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
2000年9月全国计算机等级考试二级C笔试试题详解
2000年9月全国计算机等级考试二级C笔试试题详解一、选择题(16)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b希希讲解(16):用排除法。
A)中包含一个不合法的运算符“:=”,错;C)明显错;D)可分解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C规定:赋值号的左面只能是单个变量,不能是表达式或常量等。
因此,正确答案是B),它实际上相当于:a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。
(17)C语言中运算对象必须是整型的运算符是A) %= B) / C) = D) <=希希讲解(17):前几年曾经考过类似的题目,很简单,正确答案是A)。
C规定:取余运算符的运算对象必须是整型,复合运算符“%=”中包含%运算,它的运算对象也必须是整型。
(18)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是A) 1 B)2 C)2.0 D)2.5希希讲解(18):该题的解答请参阅本站的“整数除法的注意事项”和“逗号表达式”两个主题讲座,那里有详细的分析。
正确答案是C)。
(19)若变量a,i已正确定义,且i已正确赋值,合法的语句是A) a==1 B)++i;C)a=a++=5; D)a=int(i);希希讲解(19):(A)中是一个表达式,因为缺少分号,所以不是语句;(C)的错误同(16)题(D)的错误一样;(D)若改为a=(int)i;则是合法的语句,小括号写错了位置,从另一个角度理解,(D)的写法应该是一个函数调用语句,函数名是int,小括号中的i是实参,这样的话,函数名int又是不合法的,因为C 规定:用户标识符(包括函数名)不能是关键字,而int是一个关键字。
所以,正确答案是(B),它相当于语句i=i+1;(20)若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后c3中的值是A)0 B)0.5 C)1 D)2希希讲解(20):因为运算表达式中有一个浮点型数据1.0,所以,运算结果应该也是一个浮点类型,只有(B)符合这一条件,仅根据这一点就可以确定(B)是正确答案。
全国计算机二级C语言历年真题完整版
2010年3月全国计算机等级考试二级C 笔试试卷一、选择题(1)A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n)(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)维护阶段C)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:R T A B C c 32d 32则由关系R得到关系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语言的数值常量中夹带空格不影响常量值的正确表示AB C a12b22c32d 32(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a--b(14)若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#include<stdio.h>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);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是A)1234B)12C)12D)12(16)以下关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==I)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是A)switch(a){case1:a=b;break;default:a++;}B)switch(a==1){case0:a=b;break;case1:a++;}C)switch(a){default:a++;break;case1:a=b;}D)switch(a==1){case1:a=b;break;case0:a++;}(19)如下嵌套的if语句if(a<b)if(a<c)k=a;else k=c;if(b<c)k=b;else k=c;以下选项中与上述if语句等价的语句是A)k=(a<b)?a:b;k=(b<c)?b:c;B)k=(a<b)?((b<c)?a:b)((b>c)?b:c);C)k=(a<b)?((a<c)?a:c)((b<c)?b:c);D)k=(a<b)?a:b;k=(a<c)?a:c;(20)有以下程序#include<stdio.h>main(){int i,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;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=1,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的初值为八进制数#include<stdio.h>main(){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;D)#define N2008int num[N];int num[N];(26)有以下程序#include<stdio.h>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(“%c,%c\n”,b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*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]={0,2,1,3,0},i,s=0;for(i=1;i<3;i++)s=s+a[b[i]];printf(“%d\n”,s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#include<stdio.h>main(){int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=1;i<3;i++)for(j=1;j<=1;j++)t+=b[i][b[j][i]];printf(“%d\n”,t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",s2="\n123\\";printf("%d%d\n",strlen(s1),strlen(s2));则输出结果是A)55B)105C)107D)58(32)有以下程序#include<stdio.h>#define N8void 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=1;i<N/2;i++){printf(“%d”,a[i]);}printf(“\n”);}程序运行后的输山结果是A)1313B)2234C)3234D)1234(33)有以下程序#include<stdio.h>int 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 return0;}程序运行后的输出结果是A)4B)10C)14D)6(34)有以下程序#include<stdio.h>int 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)0B)1C)4D)8(35)有以下程序#include<stdio.h>#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<stdio.h>#include<string.h>struct A{int a;char b[10];double c;};void f(struct At);main(){struct Aa={1001,“ZhangDa”,1098.0};f(a);printf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);}void f(struct At){t.a=1002;strcpy(t.b,“ChangRong”);t.c=1202.0;}输出结果是A)1001,ZhangDa,1098.0B)1002,ChangRong,1202.0C)1001,ChangRong,10980D)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=1980;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#include<stdio.h>main(){int a=2,b=a,c=2;printf(“%d\n”,a/b&c);}程序运行后的输出结果是A)0B)1C)2D)3(40)有以下程序#include<stdio.h>main(){FILE*fp;char str[10];fp=open(“myfile.dat”,“w”);fputs(“abc”,pf);close(pf);fp=open(“myfile.dat”,“a+”);fprintf(pf,“%d”,28);rewind(pf);fscanf(pf,“%s”,str);puts(str);close(pf);}程序运行后的输出结果是A)abcB)28cC)abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。
C语言二级考试试题及答案
1.若i,j和k都是int型变量,则表达式(i=4,j=16,k=32,i=j)的值为A. 4B. 16C. 32D. 522.若有函数内部说明:int a[3][4];则数组a中各元素A. 可在程序的运行阶段得到初值0B. 可在程序的编译阶段得到初值0C. 不能得到确定的初值D. 可在程序的编译或运行阶段得到初值03.一个C语言程序是由A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成4.若有说明 int a[2][4];则a数组元素的非法引用是A. a[0][2*1]B. a[1][3]C. a[4-3][0]D. a[0][4]5.阅读下面程序,则执行后的输出结果是___。
#include "stdio.h"main(){int x,y,z;x=1;y=2;z=3;if(x>y)if(x>z)printf("%d",x);else printf("%d",y);printf("%d\n",z);}A. 0B. 1C. 2D. 36.下面程序的输出结果为main(){ int a,b;b=(a=3*5,a*4,a*5);printf("%d",b ;}A. 60B. 75C. 65D. 无确定值7.下列选项中不是结构化程序基本结构的是A. 顺序结构B. 跳转分支结构C. 选择结构D. 循环结构8.所有C函数的结构都包括的三部分是A. 语句、花括号和函数体B. 函数名、语句和函数体C. 函数名、形式参数和函数体D. 形式参数、语句和函数体9.设int a=5,b=6,表达式(--b==6)?++a:--b的值是___A. 5B. 6C. 7D. 410.下列叙述中不是C语言的特点的是______。
A. 简洁、紧凑,使用方便、灵活,易于学习和应用B. C语言是面向对象的程序设计语言C. C语言允许直接对位、字节和地址进行操作D. C语言数据类型丰富、生成的目标代码质量高11.下列关于C语言注释的叙述中错误的是______。
二级C语言考试必备(真题)考点27 函数的概念
二级C语言考试必备(真题)考点27 函数的概念二级c语言考试必备(真题)考点27函数的概念[April 2000](9)以下函数用于查找两个整数的和,并通过形式参数返回两个数字的和值。
请填空。
intadd(intx,inty,【】z){【】=x+y;}[答:]int*,*Z【2000年9月】(30)有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是a)语法错误[答案]a【2000年9月】(36)在c语言中,函数的隐含存储类别是a) [externic]存储类别[externic]b)否【2000年9月】(38)有以下函数char*fun(char*p){returnp;}该函数的返回值是a)无确切的值b)存储在参数pc中的地址值)临时存储单元的地址D)参数P本身的地址值[answer]b【2000年9月】(12)以下函数用来求出两整数之和,并通过形参将结果传回,请填空。
voidfunc(intx,inty,[12]z){*z=x+y;}【答案】int*[2000年9月](14)在main函数中设置了以下定义和函数调用语句,fun函数为void类型;请写出乐趣函数的第一部分[]。
形式参数名称必须是B.main(){doubles[10][22];intn;┆┆fun(s);┆}[答:]void-fun(双倍[10][22])【2001年4月】(29)以下所列的各函数首部中,正确的是a)voidplay(var:integer,varb:integer)b)voidplay(inta,b)c)虚空游戏(inta、intb)d)subplay(aasinteger,basinteger)【答案】c[2002年4月](46)在解释性声明中:int*f();在中,标识符f表示a)用于指向整数数据的指针变量,b)用于指向一维数组的行指针,c)用于指向函数的指针变量,d)返回值为指针类型[answer]d的函数名【2002年9月】(27)c语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。
历年全国计算机等级考试-二级C语言上机考试题库及答案
1.填空给定程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!void check();/**********found**********/int fun(___1___ *std){/**********found**********/___2___ *fp; int i;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\nOutput data to file !\n");for(i=0; i<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, ___3___);fclose(fp);return (1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl;sl = strlen(s);/************found************/for( i=0; i<=s1; i ++)t[i] = s[i];for (i=0; i<sl; i++)t[sl+i] = s[sl-i-1];/************found************/t[sl] = '\0';}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。
2000年9月全国计算机等级考试二级C语言笔试试题及答案
一、选择题((1)--(40)每小题1分, (41)--(50)每小题2分, 共60分下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。
(1) 下列电子邮件地址中正确的是(其中□表示空格)()。
A) Malin& B) malin@C) Lin□Ma& D) Lin□Ma@(2) 下列说法中正确的是()。
A) 为了使用Novell网提供的服务,必须采用FTP协议B) 为了使用Internet网提供的服务,必须采用TELNET协议C) 为了使用Novell网提供的服务,必须采用TCP/IP协议D) 为了使用Internet网提供的服务,必须采用TCP/IP协议 s(3) 下列说法中不正确的是()。
A) 调制解调器(Modem)是局域网络设备B) 集线器(Hub)是局域网络设备C) 网卡(NIC)是局域网络设备D) 中继器(Repeater)是局域网络设备(4) 十进制数397的十六进制值为()。
A) 18D B) 18E C) 277 D) 361(5) 下列说法中不正确的是()。
A) CD-ROM是一种只读存储器但不是内存储器B) CD-ROM驱动器是多媒体计算机的基本部分C) 只有存放在CD-ROM盘上的数据才称为多媒体信息D) CD-ROM盘上最多能够存储大约650兆字节的信息(6) Windows应用环境中鼠标的拖动操作不能完成的是()。
A) 当窗口不是最大时,可以移动窗口的位置B) 当窗口最大时,可以将窗口缩小成图标C) 当窗口有滚动条时可以实现窗口内容的滚动D) 可以将一个文件移动(或复制)到另一个目录中去(7) 从Windows中启动MS-DOS方式进入了DOS状态,如果想回到Windos状态,在DOS提示符下,应键入的命令为()。
A) EXIT B) QUIT C) WIN D) DOS -U(8) 要在WINDOWS标准窗口的下拉菜单中选择命令,下列操作错误的是()。
历年计算机二级C语言笔试真题及答案
2009 年9 月计算机等级考试二级笔试试卷B)程序设计的任务就是确定所用数据结main1)下列数据结构中,属于非线性结构的构int c0k是C)程序设计的任务就是确定所用算法for k1klt3kA)循环队列B 带链队列 C 二叉树D)以上三种说法都不完整switch kD)带链栈12)以下选项中,能用作用户标识符的是default: ck2)下列数据结果中,能够按照“先进后A)void B)8_8 C)_0_ D)unsigned case 2: cbreak 出”原则存取数据的是13)阅读以下程序case 4: c2breakA 循环队列 B 栈C队列D二叉树include ltstdio.hgt 3)对于循环队列,下列叙述中正确的是main printf“dn”cA)队头指针是固定不变的B)队头指针int case float printF 一定大于队尾指针C)队头指针一定小于printf“请输入2 个数:” 程序运行后的输出结果是队尾指针D)队头指针可以大于队尾指scanf“d f”ampcaseamppjrintF A)3 B)5 C)7 D)9针,也可以小于队尾指针printf“d fn”caseprintF 19 )以下程序段中,与语句:4)算法的空间复杂度是指kagtbbgtc1:0:0;功能相同的是A)算法在执行过程中所需要的计算机存该程序编译时产生错误,其出错原因是A)ifagtbampampbgtc k1else k0储空间B)算法所处理的数据量C)A)定义语句出错,case 是关键字,不能B)ifagtbbgtc k1else k0算法程序中的语句或指令条数用作用户自定义标识符B)定义语句C)ifaltb k0else ifbltc k1D)算法在执行过程中所需要的临时工作出错,printF不能用作用户自定义标D)ifagtb k1else ifbgtc k1 else k0单元数识符20)有以下程序5)软件设计中划分模块的一个准则是C)定义语句无错,scanf 不能作为输入函include ltstdio.hgtA 低内聚低耦合B 高内聚低耦合数使用D)定义语句无错,printf mainC 低内聚高耦合 D 高内聚高耦合不能输出case 的值char s“012xy”int in06)下列选项中不属于结构化程序设计原14)表达式:intdouble9/2-92 的值fori0si0i则的是是ifsigt’a’ampampsilt’z’ nA 可封装 B 自顶向下C 模块化A)0 B)3 C)4 D)5 printf“dn”nD 逐步求精15)若有定义语句:int x10,则表达式程序运行后的输出结果是7)软件详细设计x-xx 的值为A)0 B)2 C)3 D)5产生的图如下:A)-20B)-10C)0D)10 21)有以下程序该图是16)有以下程序include ltstdio.hgtA N-S 图 B include ltstdio.hgt mainPAD 图C 程序main int n2k0流程图D E-R 图inta1b0 whilekampampngt28)数据库管理系统是printf“d”bab printf“d dn”knA)操作系统的一部分B 在操作系统支printf“dn”a2b 程序运行后的输出结果是持下的系统软件C 一种编译系统A)0 2 B)1 3 C)5 7 D)1 2D 一种操作系统程序运行后的输出结果是22)有以下定义语句,编译时会出现编译9)在E-R 图中,用来表示实体联系的图A)00 B)10 C)32 D)12 错误的是形是17)设有定义:int a1b2c3,以下语A)char a’a’ B)char a’n’ C)charA 椭圆图B矩形C 菱形 D 三角形句中执行效果与其它三个不同的是a’aa’ D)char a’x2d’10)有三个关A )ifagtb 23)有以下程序系R,S 和T caabbc include ltstdio.hgt如下:B )ifagtb main其中关系T 由caabb char c1c2关系R 和S 通c C)c1’A’’8’-‘4’过某种操作得ifagtb c2’A’’8’-‘5’到,该操作为caabb printf“cdn”c1c2A 选择B 投影C 交D 并c D)ifagtb caabbc 11)以下叙述中正确的是A)程序设18)有以下程序已知字母 A 的ASCII 码为65,程序运行计的任务就是编写程序代码并上机include ltstdio.hgt 后的输出结果是A)E68 B)D69 C)ED D)printf“d”strlenpprintf“sn”p A)void pf pffun B)viod pf 输出无定值程序运行后的输出结果是pffun C)void pf pffun D)24)有以下程序A)9OneWorld B)9OneDream C)void pfintcharpfampfun include ltstdio.hgt 10OneDream D)10OneWorld (34)有以下程序void funint p 29)有以下程序i nclude ltstdio.hgt int d2 include ltstdio.hgt int fint n pd printf“d”p main main main int a 2354i int a3s int a1 fori0ilt4i sfassfaprintf“dn”s funa printf“dn”a 程序运行switchi2 后的输出结果是case 0:switchai2 int fint n A)32 B)12 C)21 D)22 case 0:aibreak static int a125)以下函数findmax 拟实现在数组中查case 1:ai-- na找最大值并作为函数值返回,但程序中有break return n错导致不能实现预定功能case 1:ai0 程序运行以后的输出结果define MIN -2147483647 是int findmax int xint nfori0ilt4i printf“d”ai A)7 B)8 C)9 D)10 int imax printf“n” 35)有以下程序fori0iltni include ltstdio.hgt maxMIN 3 A)3 4 4 B)0 5 0 2 3 C)0 4 0 D)define fx xxx ifmaxltxi maxxi 0304 main return max 30)有以下程序int a3st 造成错误的原因是include ltstdio.hgt sfa1tfa1A)定义语句int imax中max 未赋初值includeltstring.hgt printf“ddn’stB)赋值语句maxMIN中,不应给max main 程序运行后的输出结果赋MIN 值chara10”abcd” 是C)语句ifmaxltxi maxxi中判断条件printf“ddn”strlenasizeofa A)1064 B)1010 C)6410 D)设置错D)赋值语句maxMIN 程序运行后的输出结果是6464 放错了位置A)74 B)410 C)88 D)1010 36)下面结构体的定义语句中,错误的是(26)有以下程序31)下面是有关 C 语言字符数组的描述,A)struct ord int xint yint z struct ord a include ltstdio.hgt 其中错误的是B)struct ord int xint yint z struct main A)不可以用赋值语句给字符数组名赋字ord a int m1n2pampmqampnr 符串B)可以用输入语句把字符串C )struct ord int xint yint z a rppqqr 整体输入给字符数组D)struct int xint yint z a C)字符数组中的内容不一定是字符串37)设有定义:char c,以下选项中能够printf“ddddn”mnpq D)字符数组只能存放字符串使字符型指针c 正确指向一个字符串程序运行后的输出结果是32)下列函数的功能是的是A)121 B)1221 C)212 D)funchar achar b A )char str ”string”cstrB)2112 whileba’0’ ab scanf“s”c C )cgetchar27)若有定义语句:int a410pq4 A)将 a 所指字符串赋给b 所指空间B)D)c”string”且0≤ilt4,则错误的赋值是使指针b 指向a 所指字符串C)将 a 38)有以下程序A)pa B)qiai C)pai D)所指字符串和 b 所指字符串进行比较include ltstdio.hgt pampa21 D)检查a 和b 所指字符串中是否有’0’ includeltstring.hgt28)有以下程序33)设有以下函数struct A include ltstdio.hgt void funint nchar s …… 则下面对int a char b10 double c includeltstring.hgt 函数指针的定义和赋值均是正确的struct A fstruct A t main 是main char str 20“OneWorld” struct A “OneDream”pstr1 a1001”ZhangDa”1098.0 main 程序运行时从键盘输入:How are afajprintf“ds6.1fn”a.aa.b int x20 yoult 回车gt 则输出结果为【13】。
2000年秋试卷及答案
2000年秋浙江省高校计算机等级考试试卷(二级C)说明:考生应将全部答案填写在答卷上,否则作无效处理。
考试时间为120分钟。
试题一、计算机基础题(本题共15分)(一)单选题(每题1分,共10分)1.软盘加上写保护后,对它可以进行的操作是(1)。
A.只能读盘,不能写盘B.只能写盘,不能读盘C.既可读盘,又可写盘D.不能读盘,也不能写盘2.在语言处理程序中,编译程序的功能是(2)。
A.解释执行高级语言程序B.将汇编语言程序编译成目标程序C.解释执行汇编语言程序D.将高级语言程序翻译成目标程序3.下列有关计算机病毒的说法中,(3)是错误的。
A.游戏软件常常是计算机病毒的载体B.尽量做到专机专用或安装正版软件,是预防计算机病毒的有效措施C.用消毒软件将一片软盘消毒之后,该软盘就没有病毒了D.计算机病毒在某些条件下被激活之后,才开始起干扰和破坏作用4.在Windows95中,桌面是指(4)。
A.电脑桌B.活动窗口C.文档窗口D.窗口、图标和对话框所在的屏幕背景5.在Windows95资源管理器窗口的左窗格中,文件夹图标含有“+”时,表示该文件夹(5)。
A.只含有文件B.是空文件夹C.含有子文件夹D.只含有文件而不含有文件夹6.以下是用十六进制表示的两个连续的存储单元的内容,其中(6)一定不是汉字编码。
A.A0A0H B.1234H C.BBBBH D.ABCDH7.下列有关Word 97格式刷的叙述中,(7)是正确的。
A.格式刷既可以复制字体格式也可以复制段落格式B.格式刷只能复制字体格式C.格式刷只能复制段落格式D.格式刷只能复制纯文本的内容8.在Word 97表格中,单元格内能填写的信息(8)。
A.只能是文字B.只能是文字或符号C.只能是图像D.文字、符号、图像均可9.调制解调器的功能是实现(9)。
A.数字信号与模拟信号的转换B.数字信号的整形C.模拟信号的放大D.数字信号的编码10.计算机网络最突出的优点是(10)。
全国计算机等级考试_二级_笔试_C语言_200209至200409
2002年9月全国计算机等级考试二级C语言试卷一、选择题。
下列各题A)、B)、C)、D)中,只有一个选项是正确的,请选择。
(11) 以下叙述中正确的是。
A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C) main()函数必须放在其它函数之前D)所有被调用的函数一定要在调用之前进行定义(12) 以下选项中合法的实型常数是。
A) 5E2.0 B)E-3 C) .2E1. D) 1.3E5(13) 以下选项中合法的用户标识符是。
A) long B) _2Test C) 3Dmax D) A.dat(15) 以下非法的赋值语句是。
A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;(16) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是。
A)6.500000 B)6 C) 5.500000 D) 6.000000(17) 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是。
A)scanf(“%2d%2d%2d”,&i,&j,&k); B)scanf(“%d %d %d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k);D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);(18) 与数学式子3x n/(2x-1)对应的C语言表达式是。
A) 3*x^n(2*x-1) B) 3*x**n(2*x-1)C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)(19) 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是。
计算机二级c语言题库及答案
2016年计算机二级c语言题库及答案一、选择题(每小题1分,共40小题,共40分)1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。
A.20B.0或35C.15D.162.下列关于栈的叙述中,正确的是( )。
A.栈底元素一定是最后入栈的元素B.栈操作遵循先进后出的原则C.栈顶元素一定是最先入栈的元素D.以上三种说法都不对3.下列链表中,其逻辑结构属于非线性结构的是( )0、A.双向链表B.带链的栈C.二叉链表D.循环链表4.在关系数据库中,用来表示实体间联系的是( )。
A.网状结构B.树状结构C.属性D.二维表5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。
则实体部门和职员间的联系是( )。
A.1:m联系B.m:n联系C.1:1联系D.m:l联系6.右两个关系R和S如下:则由关系R得到关系S的操作是( )。
A.自然连接B.并C.选择D.投影7.数据字典(DD)所定义的对象都包含于( )。
A.软件结构图B.方框图C.数据流图(DFD图)D.程序流程图8.软件需求规格说明书的作用不包括( )。
A.软件设计的依据B.软件可行性研究的依据C.软件验收的依据D.用户与开发人员对软件要做什么的共同理解9.下面属于黑盒测试方法的是( )。
A.边界值分析B.路径覆盖C.语句覆盖D.逻辑覆盖10.下面不属于软件设计阶段任务的是( )。
A.制订软件确认测试计划B.数据库设计C.软件总体设计D.算法设计11.以下叙述中正确的是( )。
A.在C语言程序中,main函数必须放在其他函数的最前面B.每个后缀为C的C语言源程序都可以单独进行编译C.在C语言程序中,只有main函数才可单独进行编译D.每个后缀为.C的C语言源程序都应该包含一个main函数12.C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是( )。
2004年9月全国计算机等级考试二级C语言笔试试卷含答案
全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间:120分钟,满分100分)2004年9月一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)二、下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)与十进制数200等值的十六进制数为A) A8 B)A4 C)C8 D)C4(2)DOS文件系统的组织结构属于A)星形结构B)网形结构C)环形结构D)树形结构(3)对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为A)1KB B)2KB C)4KB D)8KB(4)在DOS环境下,代表键盘和显示器的设备文件名为A)PRN B)CON C)NUL D)LPT(5)计算机网络的主要特点是A)运算速度快B)运算精度高C)资源共享D)人机交互(6)磁盘处于写保护状态时其中的数据A)不能读出,不能删改B)可以读出,不能删改C)不能读出,可以删改D)可以读出,可以删改(7)从Windows环境进入MS—DOS方式后,返回Windows环境的DOS命令为A)EXIT B)QUIT C)RET D)MSDOS(8)在Windows环境下,若资源管理器左窗口中的某文件夹左边标有“+”标记,则表示A)该文件夹为空 B)该文件夹中含有子文件夹C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件(9)在Windows菜单中,暗淡的命令名项目表示该命令A)暂时不能使用B)正在执行C)包含下一层菜单D)包含对话框(10)在Windows环境下,单击当前窗口中的按钮“ ”,其功能是A)将当前应用程序转为后台运行B)退出Windows后再关机C)终止当前应用程序的运行D)退出Windows后重新启动计算机(11)用C语言编写的代码程序A) 可立即执行B) 是一个源程序C) 经过编译即可执行D) 经过编译解释才能执行(12)结构化程序由三种基本结构组成,三种基本结构组成的算法A) 可以完成任何复杂的任务B) 只能完成部分复杂的任务C) 只能完成符合结构化的任务D) 只能完成一些简单的任务(13)以下定义语句中正确的是A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;(14)下列选项中,不能用作标识符的是A) _1234_ B) _1_2 C) int_2_ D) 2_int_(15)有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是A) a=a+b=b++ B) w%(int)a+b)C) (c+w)%(int)a D) w=a==b;(16)有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是A) 3 B) 5 C) -1 D) -2(17)有以下程序main(){ char a='a',b;print("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是A) b,b B) b,c C)a,b D) a,c(18)有以下程序main(){ int m=0256,n=256;printf("%o %o\n",mn,n);}程序运行后的输出结果是A) 0256 0400 B) 0256 256 C) 256 400 D) 400 400(19)有以下程序main(){ int a=666,b=888;printf("%d\n",a,b);}程序运行后的输出结果是A) 错误信息B) 666 C) 888 D) 666,888(20)有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}程序运行后的输出结果是A) 022111 B) 021021 C) 000122 D) 012(21)若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是A) abs(x-y)<10 B) x-y>-10&& x-y<10C) @(x-y)<-10||!(y-x)>10 D) (x-y)*(x-y)<100(22)有以下程序main(){int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf("%d",d++ +1);elseprintf("%d",++d +1);printf("%d\n",d);}程序运行后的输出结果是A) 2 B) 3 C) 43 D) 44(23)下列条件语句中,功能与其他语句不同的是A) if(a) printf("%d\n",x); else printf("%d\n",y);B) if(a==0) printf("%d\n",y); else printf("%d\n",x);C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);D) if(a==0) printf("%d\n",x); else printf("%d\n",y);(24)有以下程序main(){ int i=0,x=0;for (;;){if(i==3||i==5) continue;if (i==6) break;i++;s+=i;};printf("%d\n",s);}程序运行后的输出结果是A) 10 B) 13 C) 21 D) 程序进入死循环(25)若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是A) for(i=1,p=1;i<=5;i++) p*=i;B) for(i=1;i<=5;i++){ p=1; p*=i;}C) i=1;p=1;while(i<=5){p*=i; i++;}D) i=1;p=1;do{p*=i; i++; }while(i<=5);(26)有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("c,%c,%c,%c\n",a,b,c,d);}若运行时从键盘上输入:6,5,65,66<回车>。
国家二级(C语言)机试历年真题试卷汇编26(题后含答案及解析)_0
国家二级(C语言)机试历年真题试卷汇编26(题后含答案及解析) 题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.下列叙述中正确的是( )。
A.快速排序法适用于顺序存储的线性表B.快速排序适用于链式存储的线性表C.链式存储的线性表不可能排序D.堆排序适用于非线性结构正确答案:A解析:排序可以在不同的存储结构上实现,但快速排序法适用于顺序存储的线性表,不适用于链式存储的线性表。
堆排序适用于线性结构,不适用于非线性结构。
故本题选择A选项。
2.循环队列的存储空间为Q(1:50)。
经过一系列正常的入队与退队操作后,front=rear=25。
后又成功地将一个元素入队,此时队列中的元素个数为( )。
A.50B.1C.26D.2正确答案:B解析:当front=rear=25时可知队列要么为空要么队列满,题目中又成功地将一个元素入队,说明之前队列为空(为满时队列中无法入队元素),为空的队列入队一个元素后队列中元素个数为1。
故本题选择B选项。
3.树的度为3,且有9个度为3的节点,5个度为1的节点,但没有度为2的节点。
则该树总的节点数为( )。
A.32B.14C.33D.19正确答案:C解析:在树中,树中的节点数等于树中所有节点的度之和再加1。
题干中树的度为3,有9个度为3的节点,5个度为1的节点,无度为2的节点,设有n 个度为0的节点,则总节点数=9×3+5×1+0×2+n×0+1=33个。
故本题选择C 选项。
4.设栈与队列初始状态为空。
首先A,B,C,D,E依次入栈,再F,G,H,I,J依次入队;然后依次出栈至栈空,再依次出队至队空。
则输出序列为( )。
A.F,G,H,I,J,A,B,C,D,EB.F,G,H,I,J,E,D,C,B,AC.E,D,C,B,A,J,I,H,G,FD.E,D,C,B,A,F,G,H,I,J正确答案:D解析:栈称为“后进先出”表或“先进后出”的线性表;队列称为“先进先出”或“后进后出”的线性表。
国家二级(C语言)机试历年真题试卷汇编26(题后含答案及解析)
国家二级(C语言)机试历年真题试卷汇编26(题后含答案及解析) 题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。
则栈中的元素个数为( )。
A.30B.29C.20D.19正确答案:C解析:栈底指针bottom=49,栈顶指针top=30,则栈中的元素个数为49—30+1=20个,答案选C。
2.下列与队列结构有关联的是( )。
A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度正确答案:D解析:队列的修改是依“先进先出”的原则进行的,故D选项正确。
3.下列叙述中正确的是( )。
A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构正确答案:B解析:线性结构应满足:①有且只有一个根结点;②每个结点最多有一个前驱,也最多有一个后继,所以B选项正确。
有一个以上根结点的数据结构一定是非线性结构,所以A选项错误。
循环链表和双向链表都是线性结构的数据结构,所以CD选项错误。
故B选项正确。
4.面向对象方法中,继承是指( )。
A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制正确答案:D解析:继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。
广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,因此继承是指类之间共享属性和操作的机制,选项D正确。
5.数据库设计中反映用户对数据要求的模式是( )。
A.内模式B.概念模式C.外模式D.设计模式正确答案:C解析:数据库系统的三级模式是概念模式、外模式和内模式。
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户的公共数据视图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2000年9月全国计算机等级考试二级笔试试卷(考试时间:120分钟,满分100分)一、选择题((1)--(40)每小题1分, (41)--(50)每小题2分, 共60分下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。
(1) 下列电子邮件地址中正确的是(其中□表示空格)A) Malin& B) malin@C) Lin□Ma& D) Lin□Ma@(2) 下列说法中正确的是A) 为了使用Novell网提供的服务,必须采用FTP协议B) 为了使用Internet网提供的服务,必须采用TELNET协议C) 为了使用Novell网提供的服务,必须采用TCP/IP协议D) 为了使用Internet网提供的服务,必须采用TCP/IP协议(3) 下列说法中不正确的是A) 调制解调器(Modem)是局域网络设备B) 集线器(Hub)是局域网络设备C) 网卡(NIC)是局域网络设备D) 中继器(Repeater)是局域网络设备(4) 十进制数397的十六进制值为A) 18D B) 18E C) 277 D) 361(5) 下列说法中不正确的是A) CD-ROM是一种只读存储器但不是内存储器B) CD-ROM驱动器是多媒体计算机的基本部分C) 只有存放在CD-ROM盘上的数据才称为多媒体信息D) CD-ROM盘上最多能够存储大约650兆字节的信息(6) Windows应用环境中鼠标的拖动操作不能完成的是A) 当窗口不是最大时,可以移动窗口的位置B) 当窗口最大时,可以将窗口缩小成图标C) 当窗口有滚动条时可以实现窗口内容的滚动D) 可以将一个文件移动(或复制)到另一个目录中去(7) 从Windows中启动MS-DOS方式进入了DOS状态,如果想回到Windos状态,在DOS 提示符下,应键入的命令为A) EXIT B) QUIT C) WIN D) DOS -U(8) 要在WINDOWS标准窗口的下拉菜单中选择命令,下列操作错误的是A) 用鼠标单击该命令选项B) 用键盘上的上下方向键将高亮度条移至该命令选项后再按回车键C) 同时按下ALT键与该命令选项后括号中带有下划线的字母键D) 直接按该命令选项后面括号中带有下划线的字母键(9) ASCLL码(含扩展)可以用一个字节表示,则可以表示的ASCLL码值个数为A) 1024 B) 256 C) 128 D) 8O(10) 字长为32位的计算机是指A) 该计算机能够处理的最大数不超过232B) 该计算机中的CPU可以同时处理32位的二进制信息C) 该计算机的内存量为32MBD) 该计算机每秒钟所能执行的指令条数为32MIPS(11) 在DOS系统中,下列文件名中非法的是A) ABCDEFG1 B) ABCDEFG1.234 C)ABCD_EFG D)ABCD\EFG(12) DOS系统启动后,下列文件中驻留内存的是A) CONFIG.SYS B) C) AUTOEXEC.BAT D) MEM.EXE(13) DOS下的“DIR *2”命令将列出当前目录下的A) 所有名字末尾为字符2的非隐含文件和目录B) 所有名字末尾为字符2的非隐含文件C) 所有非隐含文件D) 所有非隐含文件和目录(14) 软驱的盘符为A,A盘上只有一个目录\XYZ,而\XYZ下有若干子目录和文件,若想把A盘的所有内容复制到C盘根目录下,应使用的命令为A) COPY A:\*.* C: B) COPY A:\*.* C:\*.*C) XCOPY A:\*.* C:\ /S D) DISKCOPY A: C:(15) 若要将当前盘目录下的文件A.TXT连接在文件B.TXT后面,应使用的命令为A) COPY A.TXT>>B.TXT B) MOVE A.TXT>>B.TXTC) PATH A.TXT>>B.TXT D) TYPE A.TXT>>B.TXT(16) 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b(17) C语言中运算对象必须是整型的运算符是A) %= B) / C) = D) 〈=(18) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是A) 1 B) 2 C) 2.0 D) 2.5(19) 若变量a、iI已正确定义,且i已正确赋值,合法的语句是A) a==1 B) ++i; C) a=a++=5; D) a=int(i);(20) 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是A) 0 B) 0.5 C) 1 D) 2(21) 有如下程序main0{ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是A) 3 4 B) 4 2 C) 4 3 D) 3 3(22) 能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0(23) 有如下程序main0{ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++case 2: a++;b++}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(24) 有如下程序main0{ float x=2.0,y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y);}该程序的输出结果是A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(25) 有如下程序main0{ int a=2,b=-1,c=2;if(a if(b<0) c=0;else c++pr intf(“%d\n”,c);}该程序的输出结果是A) 0 B) 1 C) 2 D) 3(26) 有如下程序main0{ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是A) 6 B) 3 C) 死循环D) 0(27) 有如下程序main0{ int x=23;do{ printf(“%d”,x--);}while(!x);}该程序的执行结果是A) 321 B) 23 C) 不输出任何内容D) 陷入死循环(28) 有如下程序main0{ int n=9;while(n>6) {n--;printf(“%d”,n);}}该程序段的输出结果是A) 987 B) 876 C) 8765 D) 9876(29) 设有说明语句:char a='\72';,则变量aA) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法(30) 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是A) 3 B) 4 C) 5 D) 有语法错(31) 有如下程序int runc(int a,int b){ return(a+b);}main0{ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r) ;}该程序的输出的结果是A) 12 B) 13 C) 14 D) 15(32) 有如下程序段int *p,a=10,b=1p=&a; a=*p+b;执行该程序段后,a的值为A) 12 B) 11 C) 10 D) 编译出错(33) 对于基类型相同的两个指针变量之间,不能进行的运算是A) < B) = C) + D) -(34) 以下函数返回a所指数组中最小的值所在的下标值fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i if(a[i] return(p);}在下划线处应填入的是A) i=p B) a[p]=a[i] C) p=j D) p=i(35) 有如下程序long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2);}main0{ printf(“%d\n”,fib(3));该程序的输出结果是A) 2 B) 4 C) 6 D) 8(36) 在C语言中,函数的隐含存储类别是A) auto B) static C) extern D) 无存储类别(37) 有如下程序#define N 2#define M N+1#define NUM 2*M+1#main(){ int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是A) 5 B) 6 C) 7 D) 8(38) 有以下函数char fun(char *p){ return p; }该函数的返回值是A) 无确切的值B) 形参p中存放的地址值B) 一个临时存储单元的地址D) 形参p自身的地址值(39) 有如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为A) ture B) false C) 0 D) 1(40) 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是A) EOF B) 0 C) 非零值D) NULL(41) 若有以下说明和定义fun(int *c){ }main(){ int (*a)()=fun,*b(),w[10],c;┆}在必要的赋值之后,对fun函数的正确调用语句是A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);(42) 有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是A) *P+9 B) *(P+8) C) *P+=9 D) P+8(43) 有如下程序main0{ int n[5]={0,0,0},i,k=2;for(i=0;i printf(“%d\n”,n[k]);}该程序的输出结果是A) 不确定的值B) 2 C) 1 D) 0(44) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是A) &t[3][2] B) t[3] C) t[1] D) t[2](45) 有如下程序main0{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j printf(“%d\n”,s);}该程序的输出结果是A) 18 B) 19 C) 20 D) 21(46) 有如下定义struct person{char name[9]; int age;};strict person class[10]={“Johu”, 17,“Paul”, 19“Mary”, 18,“Adam 16,};根据上述定义,能输出字母M的语句是A) prinft(“%c\n”,class[3].mane);B) pfintf(“%c\n”,class[3].name[1]);C) prinft(“%c\n”,class[2].name[1]);D) printf(“%^c\n”,class[2].name[0]);(47) 以下对结构体类型变量的定义中,不正确的是A) typedef struct aa B) #define AA struct aa{ int n; AA {int n;float m; float m;}AA; }td1;AA td1;C) struct D) struct{ int n; { int n;float m; float m;}aa; }td1;stuct aa td1;(48) 若已建立如下图所示的单向链表结构,在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是A) p =p->next; s->next=p; p->next=s;B) p =p->next; s->next=p->next; p->next=s;C) s->next=NULL; p=p->next; p->next=s;D) p=(*p).next; (*s).next=(*p).next; (*p).next=s;(49) 有如下程序main(){ char s[]=”ABCD”, *P;for(p=s+l; p }该程序的输出结果是A) ABCD B) A C) B D) BCDBCD B C CDCD C D DD D(50) 有如下程序main(){ char ch[2][5]={“6937”,”8254”},*p[2];int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-…0';printf(“%d\n”,s);}该程序的输出结果是A) 69825 B) 63825 C) 6385 D) 693825二、填空题(每空2分,共40分)请将每空的正确答案写在答题卡上[1]至[20]序号的横线上,答在试卷上不得分。