计算机考试二级C语言上机试题下[23]
计算机二级C语言上机题库及答案(100套)

计算机二级c 语言上机题库及答案.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。
试题程序: #include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。
全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。
答案:42. C语言中,逻辑运算符“或”用______表示。
答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。
答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。
答案:无返回值5. 在C语言中,以下函数的返回类型为______。
int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。
(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。
(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。
(正确)4. 在C语言中,函数的参数传递都是按值传递的。
(错误,部分按引用传递)5. 在C语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。
计算机二级C语言考试上机试题及答案

xx年计算机二级C语言考试上机试题及答案1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中=的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.以下表达中正确的选项是( )。
A.一个逻辑数据构造只能有一种存储构造B.逻辑构造属于线性构造,存储构造属于非线性构造C.一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率D.一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率3.简单的交换排序方法是( )。
A.快速排序B.选择排序C.堆排序D.冒泡排序4.关于构造化程序设计原那么和方法的描述错误的选项是( )。
A.选用的构造只准许有一个入口和一个出口B.复杂构造应该用嵌套的根本控制构造进展组合嵌套来实现C.不允许使用GOT0语句D.语言中假设没有控制构造,应该采用前后一致的方法来模拟5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。
A.可重用性差B.平安性差C.非持久性D.冗余性6.面向对象的设计方法与传统的面向过程的方法有本质不同,它的根本原理是( )。
A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.不强调模拟现实世界中的算法而强调概念7.对如下二叉树进展后序遍历的结果为( )。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA8.软件设计包括软件的构造、数据接口和过程设计,其中软件的过程设计是指( )。
A.模块间的关系B.系统构造部件转换成软件的过程描述C.软件层次构造D.软件开发过程9.两个或两个以上模块之间关联的严密程度称为( )。
A.耦合度B.内聚度C.复杂度D.数据传输特性10.以下描述错误的选项是( )。
A.继承分为多重继承和单继承B.对象之间的通信靠传递消息来实现C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征D.类是具有共同属性、共同方法的对象的集合11.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
计算机二级C语言上机测试题附答案

计算机二级C语言上机测试题附答案2017计算机二级C语言上机测试题附答案引导语:计算机上机考试要灵活应变,以下是店铺分享给大家的2017计算机二级C语言上机测试题附答案,欢迎测试!1.程序填空给定程序的功能是判断字符ch是否与串str中的某个字符相同:若相同,什么也不做,若不同,则插在串的最后。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:不得增行或删行,也不得更改程序的结构!试题程序:#include#includevoid fun(char*str, char ch ){ while ( *str && *str != ch ) str++;if( *str 1 ch ){ str[0] =ch;2 = 0;}}main( ){ char s[81], c;printf( "\nPlease enter a string:\n" ); gets ( s );printf ("\n Please enter the character to search : " );c = getcharO;fun( 3 ) ;printf( "\nThe result is %s\n", s);2.程序修改【答案】(1)错误:第5行fun(int**a,int m)正确:fun(int a[][M],Int m)(2)错误:第9行 a[j][k]=k*j;正确:a[j][k]=(k+1)*(j+1);【评析】第5行:第二个形参m是用户输入的维数,没有别的名堂,第一个形参是为了指明在函数fun()中要产生的多维数组,"**a"是不能正确表示一个多维数组的,我们应当使用"int a[M][M]"。
第9行:循环体的.内容是给m维的多维数组赋值,这个多维数组在列方向是由1开始的自然数,在行方向上是行首第一数的n倍数,显然,"a[j][k]=k*j;"不符合题意,我们应当使用"a[j][k]=(k+1)*(j+1);"。
全国计算机等级考试二级C语言上机题库(全)

int i; for(i=1;i<strlen(ss);i+=2) {if(ss[i]>=’a’&&ss[i]<=’z’) ss[i]-=32; } } 第五套 1. 程序填空 给定程序中,函数 fun 的功能是:计算下式前 n 项的和作为函数值返 回。例如:当形参 n 的值为 10 的时,函数返回:9.6125588。 第一处 s=0; 第二处 for(i=1;i<=n;i++) 第三处 s=s+(2.0*i-1)*(2.0*i+1)/(t*t); 2. 程序修改 给定程序 MODI1.C 中函数 fun 的功能是:统计 substr 所指字符串在 str 所指字符串中出现次数。 /**found**/ for(i=0;str[i];i++) /**found**/ if(substr[k+1]==’\0’) 3. 程序设计 请编写一个函数 fun,它的功能是:根据以下公
for(i=1;i<N;i++) if(max<a[i].s)max=a[i].s; for(i=0;i<N;i++) if(max==a[i].s)b[n++]=a[i]; return n; } 第九套 1. 程序填空 给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的平 均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至 数据的前部,大于等于平均数的移至 x 所指数组的后部,平均值作为 函数值返回,在主函数中输出平均值和移动后的数据。 第一处 for(i=0;i<N;i++) av+=x[i]/N 第二处 y[j]=x[i]; x[i]=-1;j++;} 第三处 i++; 2. 程序修改 给定程序 MODI1.C 中函数 fun 的功能是:统计字符串各元音字母 (即:A、E、I、O、U)的个数。注意字母不分大小写。 /**found**/ num[k]=0;
下半年计算机等级二级C语言上机模拟试题及答案

下半年计算机等级二级 C语言上机模拟试题及答案
2016下半年计算机等级二级C语言上机模拟试题及答案 给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找 不到相同的字符则函数不做任何处理。
二级C语言上机真题及答案(最新完整版)

1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值1.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.请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书2.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.请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按3. 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.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,4. 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[13]++;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.请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数5. void fun(int m,int k,int xx[]){int g=0,i,j,flag=1;for(i=m+1;i<m*m;i++){for(j=2;j<i;j++){if (i%j!=0)flag=1;else{flag=0;break;}}if (flag==1&j>=i){if (k>0){xx[g++]=i;k--;}elsebreak;}}}6.请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。
计算机二级c语言试题及详细解答答案资料

一、选择题在下列各题的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下列选项中不属于结构化程序设计原则的是________..A可封装B自顶向下C模块化D逐步求精7软件详细设计产生的图如下:该图是..AN-S图BPAD图C程序流程图DE-R图8数据库管理系统是________..A操作系统的一部分B在操作系统支持下的系统软件C一种编译系统D一种操作系统9在E-R图中;用来表示实体联系的图形是________..A椭圆形B矩形C菱形D三角形10有三个关系R;S和T如下:其中关系T由关系R和S..A选择B投影C交D并11以下叙述中正确的是________..A程序设计的任务就是编写程序代码并上机调试B程序设计的任务就是确定所用数据结构C程序设计的任务就是确定所用算法D以上三种说法都不完整12以下选项中;能用作用户标识符的是________..Avoid B 8_8C_0_ Dunsigned13阅读以下程序:#include <stdio.h>main{int case;float printF;printf"请输入2个数:";scanf"%d%f";&case;&printF;printf"% d%f\n";case;printF;}该程序在编译时产生错误;其出错原因是________..A定义语句出错;case是关键字;不能用作用户自定义标识符B定义语句出错;printF不能用作用户自定义标识符C定义语句无错;scanf不能作为输入函数使用D定义语句无错;printf不能输出case的值14表达式:intdouble9/2-9%2的值是________..A0 B3C4 D515若有定义语句:int x=10;;则表达式x-=x+x的值为________..A-20 B-10C0 D1016有以下程序:#include <stdio.h>main{int a=1;b=0;printf"%d;";b=a+b;printf"%d\n";a=2程序运行后的输出结果是________..A0;0 B1;0C3;2 D1;217设有定义:int a=1;b=2;c=3;;以下语句中执行效果与其他三个不同的是________..Aifa>bc=a;a=b;b=c;Bifa>b{c=a;a=b;b=c;}Cifa>bc=a;a=b;b=c;Difa>b{c=a;a=b;b=c;}18有以下程序:#include<stdio.h>main{int c=0;k;for k=1;k<3;k++switchk{default: c+=k;case 2:c++;break;case 4:c+=2;break;}printf"%d\n";c;}程序运行后的输出结果是________..A3 B5C7 D919以下程序段中;与语句:k=a>b b>c1:0:0;功能相同的是________.. Aifa>b&&b>ck=1;else k=0;Bifa>b‖b>ck=1;else k=0;Cifa<=bk=0;else ifb<=ck=1;Difa>bk=1;else ifb>c k=1;else k=0;20有以下程序:#include <stdio.h>main{char s={"012xy"};int i;n=0;fori=0;si=0;i++if si>='a'&&si<='z'n++;printf"%d\n";n;}程序运行后的输出结果是________..A0 B2C3 D521有以下程序:#include <stdio.h>main{int n=2;k=0;whilek++&&n++>2;printf"%d%d\n";k;n;}程序运行后的输出结果是________..A0 2 B1 3C57 D1 222有以下定义语句;编译时会出现编译错误的是________..Achar a='a';Bchar a='\n';Cchar a='aa';Dchar a='\x2d';23有以下程序:#include <stdio.h>main{char cl;c2;cl='A'+'8'-'4';c2='A'+'8'-'5';printf"%c;%d\n";cl;c2;}已知字母A的ASCIl码为65;程序运行后的输出结果是________..AE;68 BD;69CE;D D输出无定值24有以下程序:#include <stdio.h>void funint p{int d=2;p=d++;printf"%d";p;}main{int a=1;funa;printf"%d\n";a;}程序运行后的输出结果是________..A32 B12C21 D2225以下函数findmax拟实现在数组中查找最大值并作为函数值返回;但程序中有错导致不能实现预定功能..#define MIN -int findmaxint x;int n{int i;max;fori=0;i<n;i++{max=MIN;ifmax<xi max=xi;}return max;}造成错误的原因是________..A定义语句int i;max;中max未赋初值B赋值语句max=MIN;中;不应给max赋MIN值C语句ifmax<ximax=xi;中判断条件设置错误D赋值语句max=MIN;放错了位置26有以下程序:#include <stdio.h>main{int m=1;n=2;*p=&m;*q=&n;*r;r=p;p=q;q=r;printf"%d;%d;%d;%d\n";m;n;*p;*q;}程序运行后的输出结果是________..A1;2;1;2 B1;2;2;1C2;1;2;1 D2;1;1;227若有定义语句:int a410;*p;*q4;且0≤i<4;则错误的赋值是________..Ap=a Bqi=aiCp=ai Dp=&a2128有以下程序:#include <stdio.h>#include <string.h>main{char str20={"Qne*World";"one*Dream"};*p=str1;printf"%d;";strlenp;printf"%s\n";p;}程序运行后的输出结果是________..A9;One*World B9;One*DreamC10;One*Dream D10;One*World29有以下程序:#include <stdio.h>main{int a={2;3;5;4};i;fori=0;i<4;i++switchi%2{case 0:switchai%2{case 0:ai++;break;case 1:ai--;}break;case 1:ai=0;}fori=0;i<4;i++printf"%d";ai;printf"\n";}程序运行后的输出结果是________..A3 3 4 4 B2 0 5 0C3 0 4 0 D0 3 0 430有以下程序:#include <stdio.h>#include <string.h>main{char a10="abcd";printf"%d;%d\n";strlena;sizeofa;}程序运行后的输出结果是________..A7;4 B4;10C8;8 D10;1031下面是有关C语言字符数组的描述;其中错误的是________.. A不可以用赋值语句给字符数组名赋字符串B可以用输入语句把字符串整体输入给字符数组C字符数组中的内容不一定是字符串D字符数组只能存放字符串32下列函数的功能是________..funchar*a;char*b{while*b=*a='\0'{a++;b++;}}A将a所指字符串赋给b所指空间B使指针b指向a所指字符串C将a所指字符串和b所指字符串进行比较D检查a和b所指字符串中是否有'\0'33设有以下函数:void funint n;char*s{ …… }则下面对函数指针的定义和赋值均正确的是________..Avoid*pf;pf=fun;Bvoid*pf;pf=fun;Cvoid*pf;*pf=fun;Dvoid*pfint;char;pf=&fun;34有以下程序:#include <stdio.h>int fint n;main{int a=3;s;s=fa;s=s+fa;printf"%d\n";s;}int fint n{static int a=1;n+=a++;return n;}程序运行后的输出结果是________..A7 B8C9 D1035有以下程序:#include <stdio.h>#define fx x*x*xmain{int a=3;s;t;s=fa+1;t=fa+1;printf"%d;%d\n";s;t;}程序运行后的输出结果是________..A10;64 B10;10C64;10 D64;6436下面结构体的定义语句中;错误的是________..Astruct ord{int x;int y;int z;};struct ord a;Bstruct ord{int x;int y;int z;}struct ord a;Cstruct ord{int x;int y;int z;}a;Dstruct{int x;int y;int z;a;37设有定义:char*c;;以下选项中能够使字符型指针c正确指向一个字符串的是________..Achar str="string";c=str;Bscanf"%s";c;Cc=getchar;D*c="string";38有以下程序:#include<stdio.h>#include<string.h>struct A{int a;char b10;double c;};struct A fstruct A t;main{struct A a={1001;"ZhangDa";1098.0;a=fa; printf"%d;%s;%6.1f\n";a.a;a.b;a.c;}struct A fstruct A t{t.a=1002;strcpyt.b;"changRong";t.c=1202.0;return t;}程序运行后的输出结果是________..A1001;ZhangDa;1098.0B1002;ZhangDa;1202.0C1001;ChangRong;1098.0D1002;ChangRong;1202.039若有以下程序段:int r=8;printf"%d\n";r>>1;输出结果是________..A16 B8C4 D240下列关于C语言文件的叙述中正确的是________..A文件由一系列数据依次排列组成;只能构成二进制文件B文件由结构序列组成;可以构成二进制文件或文本文件C文件由数据序列组成;可以构成二进制文件或文本文件D文件由字符序列组成;其类型只能是文本文件二、填空题请将每一个空的正确答案写在答题卡序号的横线上;答在试卷上不给分..1某二叉树有5个度为2的结点以及3个度为1的结点;则该二叉树中共有__1__个结点..2程序流程图中的菱形框表示的是__2__..3软件开发过程主要分为需求分析、设计、编码与测试四个阶段;其中__3__ 阶段产生"软件需求规格说明书"..4在数据库技术中;实体集之间的联系可以是一对一或一对多或多对多的;那么"学生"和"可选课程"的联系为__4__..5人员基本信息一般包括:身份证号;姓名;性别;年龄等..其中可以作为主关键字是__5__..6若有定义语句:int a=5;;则表达式:a++的值是__6__..7若有语句double x=17;int y;;当执行y=intx/5%2;之后y的值为__7__..8以下程序运行后的输出结果是__8__..#include <stdio.h>main{int x=20;printf"%d";0<x<20;printf"%d\n";0<x&&x<20;}9以下程序运行后的输出结果是__9__..#include <stdio.h>main{int a=1;b=7;do{b=b/2; a+=b;} whileb>1;printf"%d\n";a;}10有以下程序:#include<stdio.h>main{int f;fl;f2;i;f1=0;f2=1;printf"%d%d";f1;f2;for i=3;i<=5;i++{ f=f1+f2;printf"%d";f;f1=f2;f2=f;}printf"\n";}程序运行后的输出结果是__10__..11有以下程序:#include <stdio.h>int a=5;void funint b{int a=10;a+=b;printf"%d";a;}main{int c=20;func;a+=c;printf"%d\n";a;}程序运行后的输出结果是__11__..12设有定义:struct person{int ID;char name12;}p;请将scanf"%d";__12__;语句补充完整;使其能够为结构体变量p的成员ID正确读入数据..13有以下程序:#include <stdio.h>main{char a20="How are you";b20;scanf"%s";b;printf"%s %s\n";a;b;}程序运行时从键盘输入:How are you<回车>则输出结果为__13__..14有以下程序:#include <stdio.h>typedef struct{int num;double s;}REC;void funlREC x{x.num=23;x.s=88.5;}main{REC a={16;90.0;fun1a;printf"%d\n";a.num;}程序运行后的输出结果是__14__..15有以下程序:#include <stdio.h>funint x{ifx/2>0 funx/2;printf"%d.";x;}main{fun6;printf"\n";}程序运行后的输出结果是__15__..一、选择题1C解析根据数据结构中各数据元素之间前后关系的复杂程度;一般将数据结构分为两大类型:线性结构与非线性结构..线性结构表示数据元素之间为一对一的关系;非线性结构表示数据元素之间为一对多或者多对一的关系..根据各种结构的定义知二叉树是一种非线性结构..2B解析栈是限定只在一端进行插入与删除的线性表;通常称插入、删除的这一端为栈顶;另一端为栈底..栈顶元素总是后被插入的元素;也是最先被删除的元素;栈底元素总是最先被插入的元素;也是最后才能被删除的元素..栈是按照"先进后出"或"后进先出"的原则组织数据的..3D解析循环队列是将顺序队列首尾相连形成的;随着插入元素或删除元素的进行;其队头指针及队尾指针是在不断变化的;有时可能会出现队头指针大于队尾指针的情况;也可能是队尾指针大于队头指针;故答案为D..4A解析算法的空间复杂度是指:算法执行过程中所需的存储空间..一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间..5B解析模块划分应考虑的因素包括模块之间的耦合和内聚..一般来说;要求模块之间的耦合尽可能地低;即模块尽可能独立;要求模块的内聚程度尽可能地高;即遵循高内聚、低耦合的原则..6A解析模块化、自顶向下、逐步求精都是结构化程序设计的原则;可封装是面向对象程序设计原则..7C解析N-S图是由若干基本框图构成的流程图;其特点是没有流程线;PAD图即问题分析图Problem Analysis Diagram;它是一种由左往右展开的二维树形结构;程序流程图用于描述问题解决的过程和步骤;其中方框表示处理步骤;菱形框表示逻辑判断;箭头表示控制流向;E-R图即实体-联系图Entity Relationship Diagram;用来描述现实世界的概念模型;构成元素有实体、属性和联系;分别用矩形、椭圆形和菱形表示..本题答案为C..8B解析数据库管理系统是指位于用户与操作系统之间的数据管理软件..数据库管理系统是为数据库建立、使用和维护而配置的软件..9C解析E-R图中用矩形表示实体等同于表;用椭圆形表示实体的属性等同于表中字段;用菱形表示实体关系等同于外键..10D解析两个相同结构关系的并是由属于这两个关系的元组组成的集合..11D解析程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段..所以选项A、B、C说法都不完整..12C解析C语言的标识符命名规则为:①只能由字母、数值和下划线3种字符组成;②第一个字符必须是字母或下划线;③不能与C语言中的关键字或保留字相同..13A解析标识符不能与C编译系统已经预定义的、具有特殊用途的保留标识符即关键字同名;否则程序在编译时会出现错误..题目源程序中使用了已经预定义的关键字case;所以将出现错误.. 14B解析intdouble9/2的值为4;9%2的值为1;因此intdouble9/2-9%2的值为3..15B解析x-=x+x可化为:x=x-x+x;由于x初始值为10;所以计算后;x=10-20=-10;因此选B..16D解析执行第一个printf语句时;b=a+b=1;所以输出1;执行第二个printf语句时;a=2*b=2;所以输出结果为2..17C解析逗号表达式的求解过程是:按表达式顺序从左往右依次求解..本题中由于判断条件a>b 的值为假;所以选项A、B、D中if语句后面的语句均未被执行;而C中的后两条语句a=b和b=c被执行;因此选项C的执行效果与其他三个不同..18A解析第一次循环时;k=1;在switch语句中;先执行default后面的语句;即c=c+k=1;因为没有break语句;所以不会跳出switch结构;会接着执行case2后面的语句;即c=c+1=2;然后跳出switch;第二次循环时;k=2;直接执行case2后面的语句;即c=c+1=3;然后跳出switch语句;结束循环;执行输出语句..19A解析表达式k=a>b b>c1∶0∶0表示:如果a>b条件为真;则k取值b>c1∶0;否则k取值0;当a>b 的情况下;如果b>c;则k值为1;否则为0..所以该表达式与选项A功能相同..20B解析在字符串数组si中;只有当下标i=3和i=4时;才满足if条件;所以n的值从0增加两次;结果为2..21D解析本题考查逻辑运算符的"短路"现象;由于k的值为0;表达式首先去求k++的值;因为表达式k++的值为0;系统完全可以确定逻辑表达式的运算结果总是为0;因此将跳过n++>2;不再对它进行求值;即k的值加1;n的值不变..22C解析aa是字符串;不用加上单引号..23A解析c1输出字符的ASCII码比字母A大4;即字母E;c2以十进制数字形式输出;因此可以判断本题答案为A..24C解析程序运行后;首先输出的是p的值;然后输出a的值..p=d++;得到p的值为d的初始值2;a 的值不变;仍为1..25D解析对max赋初值;应该放在循环语句之前;不然每次循环都将是从MIN开始比较..26B解析m和n的值不变;输出结果为1;2..指针*p和*q交换了指向的位置;即*p=&n;*q=&m;输出结果分别为2;1..27A解析直接将二维数组a赋给p不合法;两者类型不匹配..28C解析可以将二维数组str看成是一个特殊的一维数组;其元素也是一个数组..那么;str0为"One*World";str1为"One*Dream"..29C解析第一次循环;i=0;i%2=0;a0%2=0;a0=a0+1=3;第二次循环;i=1;1%2=1;a1=0;第三次循环;i=2;a2%2=1;a2=a2-1=4;第四次循环;i=3;i%2=1;a3=0..30B解析strlen用来返回字符串的长度;而sizeof返回的是一个对象或者类型所占的内存字节数;即数组所占的内存..31D解析字符数组中的内容既可以是字符;也可以是字符串;选项D说法不正确..32A解析表达式*b=*a是将a所指的字符赋给b所指的空间;然后;指针a和b依次后移;直到到达指针a所指字符串的结尾..33A解析函数指针的定义形式是:数据类型标识符*指针变量名..void*pf定义了一个没有返回值的函数指针pf;在给函数指针变量赋值时;只需给出函数名而不必给出参数..所以给pf赋值时;只把函数名fun赋给pf即可..所以正确答案为选项A..34C解析s=fa表达式第一次调用fn函数时;fn函数运行结果为n=4;a=2;即s等于4;s=s+fa表达式第二次调用fn函数时;fn函数运行结果为n=5;所以得到s值为9..35A解析s=fa+1=a+1*a+1*a+1=10;s=fa+1=a+1*a+1*a+1=64..36B解析定义结构体变量有三种方式:①先声明结构体类型;再定义变量名;如选项A所示;②在声明类型的同时定义变量;如选项C所示;③直接定义结构体类型变量;如选项D所示..37A解析选项B、D中;没有为字符串分配空间;因此不能用c指向字符串..选项C中getchar函数返回一个字符;不能将字符赋给字符指针c..选项A中首先定义了字符数组str;然后将str的首地址赋给指针c;这样就使指针c指向了字符串"string"..38D解析在主函数中;通过a=fa实现函数调用;所以输出的结构体变量相应变为1002;ChangRong;1202.0..39C解析8用二进制表示为1000;右移1位后为0100;即十进制4..40C解析文件由数据序列组成;可以构成二进制文件;也可以构成文本文件..二、填空题1114解析在二叉树中;度为0的结点数是度为2的结点数加1;故二叉树中结点数的总和为度为0的结点数、度为1的结点数及度为2的结点数三者相加;得出结果为14个结点..22逻辑判断解析绘制流程图时事实描述用椭圆形表示、行动方案用矩形表示、问题用菱形表示、箭头代表流动方向..33需求分析解析需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等四方面;产生的主要文档为软件需求规格说明书;它可以为用户、分析人员和设计人员之间的交流提供方便;直接支持目标软件系统的确认;也可以作为控制软件开发进程的依据..44多对多解析一名学生可以选择多门课程;一门课程也可以由多名学生选择;因此是多对多的联系..55身份证号解析主关键字是表中区别不同的记录的标识;在该表中只有身份证号能具有这个作用;所以用其作为主关键字..665解析a++的含义是在使用a值以后;使a值加1;所以a++的值为5..771解析y=intx/5%2=int3.4%2=3%2=1..881 0解析第一个printf语句输出的结果是逻辑表达式x>0||x<20的值;显然为真;即为1;第二个printf 语句输出的是逻辑表达式x>0&&x<20的值;该值为假;即为0..995解析第一次循环执行后;b=3;a=4;满足条件b>1;循环继续;第二次循环执行后;b=1;a=5;不满足条件b>1;结束循环..所以输出的a值为5..10100 1 123解析第一个printf语句输出结果为0 1..循环体总共循环三次;第一次循环结果为;f=1;f1=1;f2=1;第二次循环结果为f=2;f1=1;f2=2;第三次循环结果为f=3;f1=2;f2=3..11113025解析func调用函数funb;函数执行结果为a=a+b=10+20=30;调用完函数后;主函数继续执行;输出结果a=a+c=5+20=25..1212&p.ID解析结构体成员的引用通过符号"."来表示;通过scanf语句对变量进行赋值时;要用取地址符&..1313How are you How解析用%s格式输入字符串时;空格和回车都作为输入数据的分隔符;不能被读入;因此数组b的输出结果为How..141416解析主函数中;通过funl 函数将a值传递给x;但没有把形参x的值返回;此时变量a的值并没有发生变化;所以输出a.num的值为16..15151 3 6解析依次执行fun6;fun3;fun1;当执行fun6时要调用fun3;执行fun3时要调用fun1;所以输出的结果为1 3 6..。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机考试二级C语言上机试题下[23]
第 53套
试题说明
***********************************
第一题(30分)
给定程序中,函数fun的功能是将不带头结点的单向链表逆置。
即若原链表中
从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结
果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
***********************************
第二题(30分)
给定程序MODI1.C中函数fun的功能是: 将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。
例如, 字符串中的数据为: AABBCCDDEEFF,
则输出应当是:ABBCDDEFF。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
***********************************
第三题(40分)
请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据, 按列的顺序依次放到一维数组中。
例如, 二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应是:
33 44 55 33 44 55 33 44 55 33 44 55。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。
1 2。