全国计算机等级考试二级C笔试及上机试题
更新时间:2024-07-03 19:54:01 阅读量: 综合文库 文档下载
? 2005年4月全国计算机等级考试二级C笔试试卷(含参考答案)
一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)数据的存储结构是指______。
A)存储在外存中的数据 B)数据所占的存储空间量 C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示 (2)下列关于栈的描述中错误的是______。 A) 栈是先进后出的线性表 B) 栈只能顺序存储 C) 栈具有记忆作用
D) 对栈的插入与删除操作中,不需要改变栈底指针 (3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。 A)冒泡排序为n/2 B)冒泡排序为n
C)快速排序为n D)快速排序为n(n-1)/2 (4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
A)log2n B)n/2 C)n D)n+1 (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)用树形结构表示实体之间联系的模型是______。 A)关系模型 B)网状模型 C)层次模型 D)以上三个都是 (11)算法具有五个特性,以下选项中不属于算法特性的是______。 A)有穷性 B)简洁性 C)可行性 D)确定性 (12)以下选项中可作为C语言合法常量的是______。 A)-80. B) -080 C)-8e1.0 D)-80.0e (13)以下叙述中正确的是______。
A)用C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 (14)以下不能定义为用户标识符的是______。 A)Main B)_0 C)_int D)sizeof (15)以下选项中不能作为合法常量的是______。 A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0 (16)数字字符0的ASCII值为48,若有以下程序 main()
{ char a='1',b='2 '; printf(\
printf(\\\n\} 程序运行后的输出结果是______。 A) 3,2 B)50,2 C)2,2 D)2,50 (17)有以下程序 main()
{ int m=12,n=34; printf(\m++,++n); printf(\\\n\} 程序运行后的输出结果是______。
A)12353514 B)12353513 C)12343514 D)12343513 (18)有定义语句:int b;char c[10];,则正确的输入语句是______。 A) scanf(\)scanf(\C) scanf(\) scanf(\
(19)有以下程序 main() { int m,n,p;
scanf(\ printf(\\\n\}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是______。 A)m=123n=456p=789 B) m=123 n=456 p=789 C) m=123,n=456,p=789 D)123 456 789 (20)有以下程序 main() { int a,b,d=25; a=d/10%9; b=a&&(-1);
printf(\\\n\
} 程序运行后的输出结果是______。 A)6,1 B)2,1 C)6,0 D)2,0 (21)有以下程序 main() {
int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3)) printf(\\\n\ } 程序运行后的输出结果是______。
A)1 2 3 B)2 3 4 C) 2 2 3 D)2 3 3 (22)若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a
{
int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2) j+=p[i]; printf(\\\n\ } 程序运行后的输出结果是______。 A)42 B)45 C)56 D)60 (24)有以下程序 main() {
char a[7]=\\\0a0\\0\ i=sizeof(a); j=strlen(a); printf(\\\n\
} 程序运行后的输出结果是______。 A)2 2 B)7 6 C)7 2 D)6 2 (25)以下能正确定义一维数组的选项是______。
A)int a[5]={0,1,2,3,4,5}; B)char a[]={0,1,2,3,4,5}; C)char a={'A','B','C'}; D)int a[5]=\(26)有以下程序 int f1(int x,int y){return x>y?x:y;} int f2(int x,int y){return x>y?y:x;} main() {
int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); g=a+b+c+d-e-f;
printf(\\\n\ } 程序运行后的输出结果是______。 A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7
(27)已有定义:char a[]=\,以下叙述中正确的是______。 A)数组a和b的长度相同 B)a数组长度小于b数组长度 C)a数组长度大于b数组长度 D)上述说法都不对 (28)有以下程序 void f(int *x,int *y) { int t;
t=*x;*x=*y;*y=t; }
main() {
int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7];
while(p for(i=0;i<8;i++)printf(\ } 程序运行后的输出结果是______。 A)8,2,3,4,5,6,7,1, B)5,6,7,8,1,2,3,4, C)1,2,3,4,5,6,7,8, D)8,7,6,5,4,3,2,1, (29)有以下程序 main() { int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++)p[i]=i; for(i=0;i<3;i++)printf(\ } 程序运行后的输出结果是______。 A)012 B)123 C)234 D)345 (30)以下叙述中错误的是______。 A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B)数组名代表的是数组所占存储区的首地址,其值不可改变 C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 D)可以通过赋初值的方式确定数组元素的个数 (31)有以下程序 #define N 20 fun(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--)a[i+1]=a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,2,9); for(i=0;i<5;i++)printf(\ } 程序运行后的输出结果是______。 A)10234 B)12344 C)12334 D)12234 (32)有以下程序 main() { int a[3][2]={0},(*ptr)[2],i,j; for(i=0;i<2;i++) {ptr=a+i; scanf(\ for(i=0;i<3;i++) { for(j=0;j<2;j++) printf(\-\ printf(\\\n\ } } 若运行时输入:1 2 3<回车>,则输出结果是______。 A)产生错误信息 B)1 0 C)1 2 D)1 0 2 0 3 0 2 0 0 0 0 0 3 0 (33)有以下程序 prt(int *m,int n) { int i; for(i=0;i } main() { int a[]={1,2,3,4,5},i; prt(a,5); for(i=0;i<5;i++) printf(\ } 程序运行后的输出结果是______。 A)1,2,3,4,5, B)2,3,4,5,6, C)3,4,5,6,7, D)2,3,4,5,1, (34)有以下程序 main() { int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p } 程序运行后的输出结果是______。 A)1,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,8,9,10,1, C)0,1,2,3,4,5,6,7,8,9, D)1,1,1,1,1,1,1,1,1,1, (35)有以下程序 #define P 3 void F(int x){return(P*x*x);} main() {printf(\\\n\程序运行后的输出结果是______。 A)192 B)29 C)25 D)编译出错 (36)有以下程序 main() {int c=35;printf(\\\n\程序运行后的输出结果是______。 A)0 B)70 C)35 D)1 (37)以下叙述中正确的是______。 A)预处理命令行必须位于源文件的开头 B)在源文件的一行上可以有多条预处理命令 C)宏名必须用大写字母表示 D)宏替换不占用程序的运行时间 (38)若有以下说明和定义 union dt {int a;char b;double c;}data; 以下叙述中错误的是______。 A)data的每个成员起始地址都相同 B)变量data所占的内存字节数与成员c所占字节数相等 C)程序段:data.a=5;printf(\输出结果为5.000000 D)data可以作为函数的实参 (39)以下语句或语句组中,能正确进行字符串赋值的是______。 A)char *sp;*sp=\)char s[10];s=\ C)char s[10];*s=\)char *sp=\(40)设有如下说明 typedef struct ST {long a;int b;char c[2];}NEW; 则下面叙述中正确的是______。 A)以上的说明形式非法 B)ST是一个结构体类型 C)NEW是一个结构体类型 D)NEW是一个结构体变量 (41)有以下程序 main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continue;} a-=3; } printf(\\\n\ } 程序运行后的输出结果是______。 A)3 B) 4 C)5 D)6 (42)有以下程序 main() { char s[]=\ p=s; printf(\ } 程序运行后的输出结果是______。 A)15 B)16 C)12 D)59 (43)有以下函数 fun(char *a,char *b) { while((*a!='\\0')&&(*b!='\\0')&&(*a==*b)) { a++;b++; } return(*a-*b); } 该函数的功能是______。 A)计算a和b所指字符串的长度之差 B)将b所指字符串连接到a所指字符串中 C)将b所指字符串连接到a所指字符串后面 D)比较a和b所指字符串的大小 (44)有以下程序 main() { int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0;j<=i;j++) printf(\ for(j=_____;j<4;j++) printf(\ printf(\\\n\ } } 若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是______。 A)i-1 B)i C)i+1 D)4-i (45)有以下程序 point(char *p){p+=3;} main() { char b[4]={'a','b','c','d'},*p=b; point(p);printf(\\\n\ } 程序运行后的输出结果是______。 A)a B)b C)c D)d (46)程序中若有如下说明和定义语句 char fun(char *); main() { char *s=\; ...... } 以下选项中对函数fun的正确调用语句是______。 A)(*f1)(a); B)*f1(*s); C)fun(&a); D)ch=*f1(s); (47)有以下结构体说明和变量定义,如图所示: struct node {int data; struct node *next;} *p,*q,*r; data next data next data next p q r 现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是______。 A)P->next=q->next; B)p->next=p->next->next; C)p->next=r; D)p=q->next; (48)以下对结构体类型变量td的定义中,错误的是______。 A)typedef struct aa B)struct aa { int n; { int n; float m; float m; }AA; }td; AA td; struct aa td; C)struct D)struct { int n; { int n; float m; float m; }aa; }td; struct aa td; (49)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是______。 A)feof(fp) B)ftell(fp) C)fgetc(fp) D)rewind(fp) (50)有以下程序 #include void WriteStr(char *fn,char *str) { FILE *fp; fp=fopen(fn,\ } main() { WriteStr(\ WriteStr(\ } 程序运行后,文件t1.dat中的内容是______。 A)start B)end C)startend D)endrt 二、填空题(每空2分,共40分) 请将每空的正确答案写在【1】至【20】序号的横线上,答在试卷上不得分。 (1)某二叉树中度为2的结点有18个,则该二叉树中有 【1】 个叶子结点。 (2)在面向对象方法中,类的实例称为 【2】 。 (3)诊断和改正程序中错误的工作通常称为 【3】 。 (4)在关系数据库中,把数据表示成二维表,每一个二维表称为 【4】 。 (5)问题处理方案的正确而完整的描述称为 【5】 。 (6)以下程序运行时,若从键盘输入:10 20 30<回车>,输出的结果是 【6】 。 #include main() { int i=0,j=0,k=0; scanf(\ printf(\\\n\} (7)以下程序运行后的输出结果是 【7】 。 #define S(x) 4*x*x+1 main() { int i=6,j=8; printf(\\\n\ } (8)以下程序运行后的输出结果是 【8】 。 main() { int a=3,b=4,c=5,t=99; if(b if(a printf(\\\n\} (9)以下程序运行后的输出结果是 【9】 。 main() { int a,b,c; a=10; b=20; c=(a%b<1)||(a/b>1); printf(\\\n\} (10)以下程序运行后的输出结果是 【10】 。 main() { char c1,c2; for(c1='0',c2='9';c1 printf(\\\n\ } (11)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是 【11】 。 #include main() { char a,b; a=getchar();scanf(\ a=a-'A'+'0';b=b*2; printf(\\\n\ } (12)以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。 void fun(int,int,int(*)[4],int *); main() { int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,b); for(i=0;i<3;i++) printf(\ printf(\\\n\} void fun(int m,int n,int ar[][4],int *br) { int i,j,x; for(i=0;i } (13)以下程序运行后的输出结果是 【13】 。 void swap(int x,int y) { int t; t=x;x=y;y=t;printf(\ } main() { int a=3,b=4; swap(a,b); printf(\ } (14)以下程序运行后的输出结果是 【14】 。 #include void fun(char *s,int p,int k) { int i; for(i=p;i} main() { char s[]=\\; fun(s,3,strlen(s)); puts(s); } (15)以下程序运行后的输出结果是 【15】 。 #include main() { char ch[]=\ for(i=0;i<3;i++) strcpy(x[i],ch); for(i=0;i<3;i++) printf(\ printf(\\\n\} (16)以下程序运行后的输出结果是 【16】 。 fun(int a) { int b=0; static int c=3; b++;c++; return(a+b+c); } main() { int i,a=5; for(i=0;i<3;i++) printf(\ printf(\\\n\} (17)以下程序运行后的输出结果是 【17】 。 struct NODE { int k; struct NODE *link; }; main() { struct NODE m[5],*p=m,*q=m+4; int i=0; while(p!=q){ p->k=++i; p++; q->k=i++; q--; } q->k=i; for(i=0;i<5;i++) printf(\ printf(\\\n\ } (18)以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。 #include char *huiwen(char *str) { char *p1,*p2; int i,t=0; p1=str;p2= 【18】 ; for(i=0;i<=strlen(str)/2;i++) if(*p1++!=*p2--){t=1;break;} if( 【19】 ) return(\ else return(\ } main() { char str[50]; printf(\ printf(\\\n\【20】 ); 2005年4月笔试试卷参考答案 一、选择题 1-5 DBDCA 6-10 CBDDC 11-15 BACDB 16-20 CABAB 21-25 DABCB 26-30 ACDDC 31-35 CBBAD 36-40 CDCDC 41-45 BADBA 46-50 ADCDB 二、填空题 (1) 【1】19 (2) 【2】 对象 (3) 【3】程序调试 (4) 【4】关系 (5) 【5】算法 (6) 【6】 10 30 0 (7) 【7】 81 (8) 【8】 4599 (9) 【9】 10 20 0 (10) 【10】 0918273645 (11) 【11】 1B (12) 【12】br[i] (13) 【13】 4 3 3 4 (14) 【14】 abcfg (15) 【15】abcbcc (16) 【16】 0 10 1 11 2 12 (17) 【17】 13431 (18) 【18】str+strlen(str)-1【19】t==0或!t【20】huiwen(str) 2006年9月计算机二级考试C语言试题 1.下列选项中不符合良好程序设计风格的是________。 A)源程序要文档化 B)数据说明的次序要规范化 C)避免滥用goto语句 D)模块设计要保证高耦合、高内聚 A B C D 2.从工程管理角度,软件设计一般分为两步完成,它们是________。 A)概要设计与详细设计 B)数据设计与接口设计 C)软件结构设计与数据设计 D)过程设计与数据设计 A B C D 3.下列选项中不属于软件生命周期开发阶段任务的是________。 A)软件测试 B)概要设计 C)软件维护 D)详细设计 A B C D 4.在数据库系统中,用户所见的数据模式为________。 A)概念模式 B)外模式 C)内模式 D)物理模式 A B C D 5.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和________。 A)编码设计 B)测试阶段 C)运行阶段 D)物理设计 A B C D 7.下列叙述中正确的是________。 A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则其时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)上述三种说法都不对 A B C D 8.在长度为64的有序线性表中进行顺序查找,最环境情况下需要比较的次数为________。 A)63 B)64 C)6 D)7 A B C D 9.数据库技术的根本目标是要解决数据的________。 A)存储问题 B)共享问题 C)安全问题 D)保护问题 A B C D 11.下列叙述中错误的是________。 A)一个C语言程序只能实现一种算法 B)C程序可以由多个程序文件组成 C)C程序可以由一个或多个函数组成 D)一个C函数可以单独作为一个C程序文件存在 A B C D 12.下列叙述中正确的是________。 A)每个C程序文件中都必须有一个main()函数 B)在C程序中main()函数的位置是固定的 C)C程序可以由一个或多个函数组成 D)在C程序的函数中不能定义另一个函数 A B C D 13.下列定义变量的语句中错误的是________。 A)int _int; B)double int_; C)char For; D)float USS A B C D 14.若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是________。 A)++x,y=x-- B)x+1=y C)x=x+10=x+y D)double(x)/10 A B C D 15.以下关于逻辑运算符两侧运算对象的叙述中正确的是________。 A)只能是整数0或1 B)只能是整数0或非0的整数 C)可以是结构体类型的数据 D)可是任意合法的表达式 A B C D 16.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++): (y++)中的条件表达式(x-y)等价的是________。 A)(x-y>0) B)(x-y<0) C)(x-y<║x-y>0) D)(x-y==0) A B C D 17.有以下程序 main() {int x,y,z; x=y=1; z=x++,y++,++y; printf(\ } 程序运行后的输出结果是________。 A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1 A B C D 18.设有定义:int a; float b;执行scanf(\语句时,若从键盘输入876 543.0<回车>,a和b的值分别是________。 A)876和543.000000 B)87和6.000000 C)87和543.000000 D)76和543.000000 A B C D 19.有以下程序 main() {int a=0,b=0; a=10; /*给a赋值 b=20; 给b赋值 */ printf(\输出计算结果 */ } 程序运行后输出结果是________。 A)a+b=0 B)a+b=30 C)30 D)出错 A B C D 20.在嵌套使用if语句时,C语言规定else总是________。 A)和之前与其具有相同缩进位置的if配对 B)和之前与其最近的if配对 C)和之前与其最近的且不带else的if配对 D)和之前的第一个if配对 A B C D 21.下列叙述中正确的是________。 A)break语句只能用于switch语句 B)在switch语句中必须使用default C)break语句必须与switch语句中的case配对使用 D)在switch语句中,不一定使用break语句 A B C D 22.有以下程序 mian0 {int k=5; while(-k) printf(\ printf(\ } 执行后的输出结果是________。 A)1 B)2 C)4 D)死循环 A B C D 23.有以下程序 main() {int i; for(I=1;I<=40;I++) {if(I++%5=0) if (++I%8=0) printf(\ } printf(\ } 执行后的输出结果是________。 A)5 B)24 C)32 D)40 A B C D 24.以下选项中,值为1的表达式________。 A)1-\B)1-\C)\D)\ A B C D 25.有以下程序 fun(int x,int y){return(x+y);} main() {int a=1,b=2,c=3,sum; sum=fun((a++,b++b,a+b),c++); printf(\ } 执行后的输出结果是________。 A)6 B)7 C)8 D)9 A B C D 26.有以下程序 main() { char s[ ]= \ s+=2; printf(\,s[0]); } 执行后的结果是________。 A)输出字符a的ASCII码 B)输出字符c的ASCII码 C)输出字符c D)程序出错 A B C D 27.有以下程序 fun(int x,int y) {static int m=0,I=2; I+=m+1;m=I+x+y; return m; } main() {int j=1,m=I,k; k=fun(j,m); printf(\ k=fun(j,m); printf(\ } 执行后的输出结果是________。 A)5,5 B)5,11 C)11,11 D)11,5 A B C D 28.有以下程序 fun(int x) {int p; if(x==0║x= =1) return(3); p=x-fun(x=2); retum p; }main() { prinf(\ 执行后的输出结果是________。 A)7 B)3 C)3 D)0 A B C D 答案 :1~5 D A C B D 6~10C D B B A 11~15 A D D A D 16~20 C C D D C 21~25 D A C B C 26~28 A B C D 无答案的一套 全国计算机等级考试 历年真题 2007年4月计算机等级考试二级C语言考前密卷(1) 一、选择题(每题2分,共计70分) 1.栈和队列的共同特点是 A)都是先进先出 B)都是先进后出 C)只允许在端点处插入和删除元素 D)没有共同点 A B C D 2.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是 A)acbed B)decab C)deabc D)cedba A B C D 3.链表不具有的特点是 A)不必事先估计存储空间 B)可随机访问任一元素 C)插入删除不需要移动元素 D)所需空间与线性表长度成正比 A B C D 4.结构化程序设计的3种结构是 A)顺序结构、选择结构、转移结构 B)分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D)顺序结构、选择结构、循环结构 A B C D 5.为了提高测试的效率,应该 A)随机选取测试数据 B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划 D)集中对付那些错误群集的程序 A B C D 6.算法的时间复杂度是指 A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数 A B C D 7.软件生命周期中所花费用最多的阶段是 A)详细设计 B)软件编码 C)软件测试 D)软件维护 A B C D 8.数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为 A)C B)Basic C)DDL D)DML A B C D 9.下列有关数据库的描述,正确的是 A)数据库是一个DBF文件 B)数据库是一个关系 C)数据库是一个结构化的数据集合 D)数据库是一组文件 A B C D 10.下列有关数据库的描述,正确的是 A)数据处理是将信息转化为数据的过程 B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 C)关系中的每一列称为元组,一个元组就是一个字段 D)如果一个关系中的属性或属性组并非该关系的关键字, 但它是另一个关系的关键字,则称其为本关系的外关键字 A B C D 11.以下叙述中正确的是 A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行 C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C语言出现的最晚,具有其他语言的一切优点 A B C D 12.C语言中用于结构化程序设计的3种基本结构是 A)顺序结构、选择结构、循环结构 B)if,switch,break C)for,while,do-while D)if,for,continue A B C D 13.C语言中最简单的数据类型包括 A)整型、实型、逻辑型 B)整型、实型、字符型 C)整型、字符型、逻辑型 D)字符型、实型、逻辑型 A B C D 14.若变量已正确定义并赋值,以下符合C语言语法的表达式是 A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b A B C D 15.下列可用于C语言用户标识符的一组是 A)void, define, WORD B)a3_b3, _123,Car C)For, -abc, IF Case D)2a, DO, sizeof A B C D 16.C语言中运算对象必须是整型的运算符是 A)%= B)/ C)= D)<= A B C D 17.若变量a,i已正确定义,且i已正确赋值,合法的语句是 A)a= =1 B)++i; C)a=a++=5; D)a=int(i); A B C D 18.已知 int t=0; while (t=1) {...} 则以下叙述正确的是 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 A B C D 19.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列入形式是 A)10<回车>22<回车>33<回车> B)10.0,22.0,33.0<回车> C)10.0<回车>22.033.0<回车> D)10 22<回车>33<回车> A B C D 20.有如下程序: main() { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf(\\n\);} 该程序的输出结果是 A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2 A B C D 21.有以下程序 main() {int i=1,j=1,k=2; if((j++||k++)&&i++) printf(\\n\); } 执行后输出结果是 A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 A B C D 22.有如下程序 main() {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(\\n\);} 该程序的输出结果是 A)0.000000 B)0.250000 C)0.500000 D)1.000000 A B C D 23.有如下程序: main() {int n=9; while(n>6){n--; printf(\);} } 该程序的输出结果是 A)987 B)876 C)8765 D)9876 A B C D 24.在下列选项中,没有构成死循环的是 A)int i=100; while(1) {i=i0+1; if(i>100)break; } B)for(;;); C)int k=10000; do{k++;}while(k>10000); D)int s=36; while(s)--s; A B C D 25.设int x=1,y=1;表达式(!x||y--)的值是 A)0 B)1 C)2 D)-1 A B C D 26.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参 A B C D 27.有以下程序 float fun(int x,int y) {return(x+y);} main() {int a=2,b=5,c=8; printf(\\n\((int)fun(a+c,b),a-c)); } 程序运行后的输出结果是 A)编译出错 B)9 C)21 D)9.0 A B C D 28.若有以下调用语句,则不正确的fun函数的首部是 main() { … int a[50],n; … fun(n, &a[9]); … } A)void fun(int m, int x[]) B)void fun(int s, int h[41]) C)void fun(int p, int *s) D)void fun(int n, int a) A B C D 29.fseek函数的正确调用形式是 A)fseek(文件指针,起始点,位移量) B)fseek(文件指针,位移量,起始点) C)fseek(位移量,起始点,文件指针) D)fseek(起始点,位移量,文件指针) A B C D 30.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是 A)EOF B)-1 C)1 D)NULL A B C D 31.若有说明语句:char c='\72';则变量c A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法,c的值不确定 A B C D 32.若有说明 int a[3][4];则a数组元素的非法引用是 A)a[0][2*1] B)a[1][3] C)a[4-2][0 ] D)a[0][4] A B C D 33.设有以下说明语句 struct stu {int a; float b; } stutype; 则下面的叙述不正确的是 A)struct是结构体类型的关键字 B)struct stu是用户定义的结构体类型 C)stutype是用户定义的结构体类型名 D)a和b都是结构体成员名 A B C D 34.在C语言中,引用数组元素时,其数组下标的数据类型允许是 A)整型常量 B)整型表达式 C)整型常量或整型表达式 D)任何类型的表达式 A B C D 35.若运行时给变量x输入12,则以下程序的运行结果是 main() {int x,y; scanf(\); y=x>12?x+10:x-12; printf(\\n\); } A)0 B)22 C)12 D)10( A B C D 36.以下说法正确的是 A)C语言程序总是从第一个的函数开始执行 B)在C语言程序中,要调用函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 A B C D 37.表达式0x13^0x17的值是 A)0x04 B)0x13 C)0xE8 D)0x17 A B C D 38.有以下程序 #define F(X,Y)(X)*(Y) main() {int a=3, b=4; printf(\\n\(a++, b++)); } 程序运行后的输出结果是 A)12 B)15 C)16 D)20 A B C D 39.下列程序执行后的输出结果是 void func(int *a,int b[]) { b[0]=*a+6; } main() {int a,b[5]; a=0; b[0]=3; func(&a,b); printf(\\n\[0]); } A)6 B)7 C)8 D)9 A B C D 40.若有下面的程序段: char s[]=\则下列叙述正确的是 A)s和p完全相同 B)数组s中的内容和指针变量p中的内容相等 C)s数组长度和p所指向的字符串长度相等 D)*p与s[0]相等 A B C D 41.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序 void sort(int a[],int n) {int i,j,t; for(i=0;i if(a[i] {int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(&aa[3],5); for(i=0;i<10;i++)printf(\[i]); printf(\\n\); } 程序运行后的输出结果是 A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1, C)1,2,3,8,7,6,5,4,9,10, D)1,2,10,9,8,7,6,5,4,3, A B C D 42.以下程序的运行结果是 #include \main() {struct date {int year,month,day;}today; printf(\\n\(struct date)); } A)6 B)8 C)10 D)12 A B C D 43.若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是 A)a,point,*&a B)&*a,&a,*point C)*&point,*point,&a D)&a,&*point,point A B C D 44.在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是 A)地址传递 B)单向值传递 C)由实参传形参,再由形参传实参 D)传递方式由用户指定 A B C D 45.已定义以下函数 fun(char *p2, char *p1) { while((*p2=*p1)!='\0'){p1++;p2++;} } 函数的功能是 A)将p1所指字符串复制到p2所指内存空间 B)将p1所指字符串的地址赋给指针p2 C)对p1和p2两个指针所指字符串进行比较 D)检查p1和p2两个指针所指字符串中是否有'\0' A B C D 46.若执行下述程序时,若从键盘输入6和8时,结果为 main() {int a,b,s; scanf(\); s=a if(a printf(\); } A)36 B)64 C)48 D)以上都不对 A B C D 47.fscanf函数的正确调用形式是 A)fscanf(fp,格式字符串,输出表列); B)fscanf(格式字符串,输出表列,fp); C)fscanf(格式字符串,文件指针,输出表列); D)fscanf(文件指针,格式字符串,输入表列); A B C D 48.下列关于C语言数据文件的叙述中正确的是 A)文件由ASCII码字符序列组成,C语言只能读写文本文件 B)文件由二进制数据序列组成,C语言只能读写二进制文件 C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 A B C D 49.有以下程序 void ss(char *s,char t) {while(*s) {if(*s= =t)*s=t-'a'+'A'; s++; } } main() {char str1[100]=\ ss(str1,c); printf(\\n\); } 程序运行后的输出结果是 A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd A B C D 50.若以下定义: struct link {int data; struct link *next; } a,b,c,*p,*q; 且变量a和b之间已有如下图所示的链表结构: 指针p指向变量a,q指向变量c。则能够把c插入到a和b 之间并形成新的链表的语句组是: A)a.next=c; c.next=b; B)p.next=q; q.next=p.next; C)p->next=&c; q->next=p->next; D)(*p).next=q; (*q).next=&b; A B C D 二、填空题(每空2分,共计30分) 1.算法的基本特征是可行性、确定性、 【1】 和拥有足够的情报。 输入答案,中间不含空格: 2.在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 【2】 。 输入答案,中间不含空格:3.在面向对象的程序设计中,类描述的是具有相似性质的一组 【3】 。 输入答案,中间不含空格:4.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。 输入答案,中间不含空格:5.数据库管理系统常见的数据模型有层次模型、网状模型和 【5】 3种。 输入答案,中间不含空格:6.设y是int型,请写出y为奇数的关系表达式 【6】 。 输入答案,中间不含空格:7.设int a=5,b=6,表达式(++a==b--)?++a:--b的值是【7】 。 输入答案,中间不含空格:8.下列程序的输出结果是【8】。 maim () {char b []=\; b[5]=0; printf (\\n\);} 输入答案,中间不含空格:9.当调用函数时,实参是一个数组名,则向函数传递的是【9】。 输入答案,中间不含空格:10.以下程序的输出结果是【10】。 int a=1234; printf (\\n\,a); 输入答案,中间不含空格:11.用高级语言编写的程序称为【11】程序,它可以通过解释程序翻译一句 执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。 输入答案,中间不含空格:12.以下程序的输出结果是【12】。 main() {int a=0; a+=(a=8); printf(\\n\);} 输入答案,中间不含空格: 13.(13)函数 void fun(float *sn, int n)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。 void fun( float *sn, int n) { float s=0.0, w, f=-1.0; int i=0; for(i=0; i<=n; i++) { f=【13】* f; w=f/(2*i+1); s+=w; } 【14】=s;} 输入答案,中间不含空格:14.上一题【14】 输入答案,中间不含空格:15.14)函数fun的功能是:根据以下公式求p的值,结果由函数值返回。 m与n为两个正数且要求m>n。 例如:m=12,n=8时,运行结果应该是495.000000。 请在题目的空白处填写适当的程序语句,将该程序补充完整。 #include #include float fun (int m, int n) { int i; double p=1.0; for(i=1;i<=m;i++)【15】; for(i=1;i<=n;i++)【16】; for(i=1;i<=m-n;i++)p=p/i; return p;} main () { clrscr(); printf (\\n\(12,8));} 输入答案,中间不含空格: 16.上一题【16】 输入答案,中间不含空格:17.该程序运行的结果是【17】。 #include void fun(int m, int *a, int *n) { int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i==0) a[j++]=i; *n=j;} main() { int aa[M],n,k; clrscr(); fun(10,aa,&n); for(k=0;k if((k+1) ==0)printf(\\n\); else printf(\[k]); printf(\\n\);} 输入答案,中间不含空格:18.下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串123412132,输入字符1,则输出3,请填空。 #include int fun(char *ss, char c) { int i=0;
正在阅读:
全国计算机等级考试二级C笔试及上机试题07-03
沙坦类抗高血药市场分析02-02
2014年云南省特岗教师岗位计划表04-15
中国真空手套箱行业市场前景分析预测年度报告(目录) - 图文01-01
第五章 蛋白质理化性质的分析08-26
2018届新疆乌鲁木齐地区高三第一次质量监测物理试题Word版含答案03-18
牛津英语二下知识重点04-26
大一下学期英语作业三题及答案03-09
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 上机
- 等级考试
- 笔试
- 试题
- 二级
- 计算机
- 全国
- 福建省医疗用品及器材零售公司名录2018版774家 - 图文
- 道路工程技术标
- 内部营销是提升人力资源管理的关键
- 《安全原理(1)》习题及参考答案
- 机械机床毕业设计174数控机床伺服系统故障诊断与分析论文
- 2017年中国电动汽车行业市场需求预测与投资战略规划分析 - 图文
- 浅谈家谱价值
- 新项目Checklist
- 乡村道路投标施工组织设计
- 电气控制技术课后习题答案第一章
- 十三式行功心解
- 第17、18课串讲笔记
- 生命科学学院20142015学年第二学期博士生教学安排
- 德才兼考精准导向
- 2016重庆特岗教师考试:教育心理学理论流派之认知主义
- 四 事故车辆查勘案例
- 3 盐城市阜宁县陈集中学2012-2013学年高二下学期期末考试英语试
- 心理学
- 中国现代矿业发展之路 - 图文
- 电商企业客服人员晋升通道及管理办法方案试行