9512.net
甜梦文库
当前位置:首页 >> IT/计算机 >>

二级C语言考试模拟试题3


    本文由hbslsdfdf贡献     doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。     笔试部分     一,选择题     (1)栈和队列的共同特点是     A)都是先进先出     B)都是先进后出     C)只允许在端点处插入和删除元素     D)没有共同点     【参考答案】C     (2)已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序 列是     A)acbed B)decab C)deabc D)cedba     【参考答案】D     (3)链表不具有的特点是     A)不必事先估计存储空间     B)可随机访问任一元素     C)插入删除不需要移动元素     D)所需空间与线性表长度成正比     【参考答案】B     (4)结构化程序设计的 3 种结构是     A)顺序结构,选择结构,转移结构     B)分支结构,等价结构,循环结构     C)多分支结构,赋值结构,等价结构     D)顺序结构,选择结构,循环结构     【参考答案】D     (5)为了提高测试的效率,应该     A)随机选取测试数据     B)取一切可能的输入数据作为测试数据     C)在完成编码以后制定软件的测试计划     D)集中对付那些错误群集的程序     【参考答案】D     (6)算法的时间复杂度是指     A)执行算法程序所需要的时间     B)算法程序的长度     C)算法执行过程中所需要的基本运算次数     D)算法程序中的指令条数     【参考答案】C     (7)软件生命周期中所花费用最多的阶段是     A)详细设计 B)软件编码 C)软件测试 D)软件维护     【参考答案】D     (8)数据库管理系统 DBMS 中用来定义模式,内模式和外模式的语言为     A)C B)Basic C)DDL D)DML     【参考答案】C     (9)下列有关数据库的描述,正确的是     A)数据库是一个 DBF 文件     B)数据库是一个关系     C)数据库是一个结构化的数据集合 D)数据库是一组文件     【参考答案】C     (10)下列有关数据库的描述,正确的是     A)数据处理是将信息转化为数据的过程 page 1

    B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变     C)关系中的每一列称为元组,一个元组就是一个字段     D) 如果一个关系中的属性或属性组并非该关系的关键字, 但它是另一个关系的 关键字, 则称其为本关系的外关键字     【参考答案】D     (11)以下叙述中正确的是     A)C 语言比其他语言高级     B)C 语言可以不用编译就能被计算机识别执行     C)C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式     D)C 语言出现的最晚,具有其他语言的一切优点     【参考答案】C     (12)C 语言中用于结构化程序设计的 3 种基本结构是     A)顺序结构,选择结构,循环结构     B)if,switch,break     C)for,while,do-while     D)if,for,continue     【参考答案】A     (13)C 语言中最简单的数据类型包括     A)整型,实型,逻辑型     B)整型,实型,字符型     C)整型,字符型,逻辑型 D)字符型,实型,逻辑型     【参考答案】B     (14)若变量已正确定义并赋值,以下符合 C 语言语法的表达式是     A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b     【参考答案】B     (15)下列可用于 C 语言用户标识符的一组是     A)void, define, WORD B)a3_b3, _123,Car     C)For, -abc, IF Case D)2a, DO, sizeof     【参考答案】B     (16)C 语言中运算对象必须是整型的运算符是     A)%= B)/ C)= D)<=     【参考答案】A     (17)若变量 a,i 已正确定义,且 i 已正确赋值,合法的语句是     A)a= =1 B)++i; C)a=a++=5; D)a=int(i);     【参考答案】B     (18)已知     int t=0;     while (t=1)     {……}     则以下叙述正确的是     A)循环控制表达式的值为 0     B)循环控制表达式的值为 1     C)循环控制表达式不合法     D)以上说法都不对     【参考答案】B     (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<回车>     【参考答案】B     (20)有如下程序:     main() page 2

    {     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     【参考答案】A     (21)有以下程序     main()     {int i=1,j=1,k=2;     if((j++||k++)&&i++)     printf("%d,%d,%d\n",i,j,k);     }     执行后输出结果是     A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3     【参考答案】C     (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("%f\n",y);}     该程序的输出结果是     A)0.000000 B)0.250000 C)0.500000 D)1.000000     【参考答案】C     (23)有如下程序:     main()     {int n=9;     while(n>6){n--; printf("%d",n);}     }     该程序的输出结果是     A)987 B)876 C)8765 D)9876     【参考答案】B     (24)在下列选项中,没有构成死循环的是     A)int i=100;     B)for(;;);     while(1)     {i=i%100+1;     if(i>100)break;     }     C)int k=10000;     D)int s=36;     do{k++;}while(k>10000);     while(s)--s;     【参考答案】D     (25)设 int x=1,y=1;表达式(!x||y--)的值是 page 3

    A)0 B)1 C)2 D)-1     【参考答案】B     (26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是     A)函数调用可以作为独立的语句存在     B)函数调用可以作为一个函数的实参     C)函数调用可以出现在表达式中     D)函数调用可以作为一个函数的形参     【参考答案】D     (27)有以下程序     float fun(int x,int y)     {return(x+y);}     main()     {int a=2,b=5,c=8;     printf("%3.0f\n",fun((int)fun(a+c,b),a-c));     }     程序运行后的输出结果是     A)编译出错 B)9 C)21 D)9.0     【参考答案】B     (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)     【参考答案】D     (29)fseek 函数的正确调用形式是     A)fseek(文件指针,起始点,位移量) B)fseek(文件指针,位移量,起始点)     C)fseek(位移量,起始点,文件指针) D)fseek(起始点,位移量,文件指针)     【参考答案】B     (30)若 fp 是指向某文件的指针,且已读到文件末尾,则函数 feof(fp)的返回值 是     A)EOF B)-1 C)1 D)NULL     【参考答案】C     (31)若有说明语句:char c='\72';则变量 c     A)包含 1 个字符     B)包含 2 个字符     C)包含 3 个字符     D)说明不合法,c 的值不确定     【参考答案】A     (32)若有说明 int a[3][4];则 a 数组元素的非法引用是     A)a[0][2*1] B)a[1][3]     C)a[4-2][0] D)a[0][4]     【参考答案】D     (33)设有以下说明语句     struct stu     {int a; page 4

    float b;     } stutype;     则下面的叙述不正确的是     A)struct 是结构体类型的关键字     B)struct stu 是用户定义的结构体类型     C)stutype 是用户定义的结构体类型名     D)a 和 b 都是结构体成员名     【参考答案】C     (34)在 C 语言中,引用数组元素时,其数组下标的数据类型允许是     A)整型常量     B)整型表达式     C)整型常量或整型表达式 D)任何类型的表达式     【参考答案】C     (35)若运行时给变量 x 输入 12,则以下程序的运行结果是     main()     {int x,y;     scanf("%d",&x);     y=x>12?x+10:x-12;     printf("%d\n",y);     }     A)0 B)22 C)12 D)10     【参考答案】A     (36)以下说法正确的是     A)C 语言程序总是从第一个的函数开始执行     B)在 C 语言程序中,要调用函数必须在 main()函数中定义     C)C 语言程序总是从 main()函数开始执行     D)C 语言程序中的 main()函数必须放在程序的开始部分     【参考答案】C     (37)表达式 0x13^0x17 的值是     A)0x04 B)0x13 C)0xE8 D)0x17     【参考答案】A     (38)有以下程序     #define F(X,Y)(X)*(Y)     main()     {int a=3, b=4;     printf("%d\n", F(a++, b++));     }     程序运行后的输出结果是     A)12 B)15 C)16 D)20     【参考答案】A     (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("%d\n",b[0]);     }     A)6 B)7 C)8 D)9     【参考答案】A     (40)若有下面的程序段:     char s[]="china";char *p; p=s; page 5

    则下列叙述正确的是     A)s 和 p 完全相同     B)数组 s 中的内容和指针变量 p 中的内容相等     C)s 数组长度和 p 所指向的字符串长度相等     D)*p 与 s[0]相等     【参考答案】D     (41) 以下程序中函数 sort 的功能是对 a 数组中的数据进行由大到小的排序     void sort(int a[],int n)     {int i,j,t;     for(i=0;i<n-1;i++)     for(j=i+1;j<n;j++)     if(a[i]next=&c; q->next=p->next;     D)(*p).next=q; (*q).next=&b;     【参考答案】D     二, 填空题     (1)算法的基本特征是可行性,确定性,【1】和拥有足够的情报.     【参考答案】     【1】有穷性     (2) 在长度为 n 的有序线性表中进行二分查找. 最坏的情况下, 需要的比较次 数为 【2】 .     【参考答案】     【2】log2n     (3)在面向对象的程序设计中,类描述的是具有相似性质的一组【3】.     【参考答案】     【2】对象     (4)通常,将软件产品从提出,实现,使用维护到停止使用退役的过程称为【4】.     【参考答案】     【4】软件生命周期     (5)数据库管理系统常见的数据模型有层次模型,网状模型和【5】3 种.     【参考答案】     【5】关系模型     (6)设 y 是 int 型,请写出 y 为奇数的关系表达式【6】.     【参考答案】     【6】(Y%2)==1 或(Y%2)!=0     (7)设 int a=5,b=6,表达式(++a==b--)?++a:--b 的值是【7】.     【参考答案】     【7】7     (8)下列程序的输出结果是【8】.     maim ()     {char b []="Hello you";     b[5]=0;     printf ("%s\n",b);}     【参考答案】     【8】Hello     (9)当调用函数时,实参是一个数组名,则向函数传递的是【9】.     【参考答案】     【9】数组的首地址     (10)以下程序的输出结果是【10】.     int a=1234;     printf ("%2d\n",a);     【参考答案】     【10】1234 page 6

    (11) 用高级语言编写的程序称为【11】 程序,它可以通过解释程序翻译一句执 行一 句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行.     【参考答案】     【11】源程序     (12) 以下程序的输出结果是【12】.     main()     {int a=0;     a+=(a=8);     printf("%d\n",a);}     【参考答案】     【12】16     (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;}     【参考答案】     【13】-1 【14】 *sn     (14)函数 fun 的功能是:根据以下公式求 p 的值,结果由函数值返回.m 与 n 为 两个 正数且要求 m>n.     例如:m=12,n=8 时,运行结果应该是 495.000000.请在题目的空白处填写适当的 程 序语句,将该程序补充完整.     #include <conio.h>     #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 ("p=%f\n",fun (12,8));}     【参考答案】     【15】p=p*I 【16】p=p/i     (15)该程序运行的结果是【17】.     #include<conio.h>     #include     #define M 100     void fun(int m, int *a, int *n)     { int i,j=0;     for(i=1;i<=m;i++)     if(i%7==0||i%11==0)     a[j++]=i;     *n=j;}     main() page 7

    { int aa[M],n,k;     clrscr();     fun(10,aa,&n);     for(k=0;k<n;k++)     if((k+1)%20==0)printf("\n");     else printf("%4d",aa[k]);     printf("\n");}本题中,欲求 p 的值,需要先求 m,n,m-n 的阶乘值,可用循环语 句 实现.     【参考答案】     【17】7     (16)下列程序的功能是:求出 ss 所指字符串中指定字符的个数,并返回此值.     例如,若输入字符串 123412132,输入字符 1,则输出 3,请填空.     #include <conio.h>     #include      #define M 81     int fun(char *ss, char c)     { int i=0;     for(;【18】;ss++)     if(*ss==c)i++;     return i;}     main()     { char a[M], ch;     clrscr();     printf("\nPlease enter a string: "); gets(a);     printf("\nPlease enter a char: "); ch=getchar();     printf("\nThe number of the char is: %d\n", fun(a,ch));}     【参考答案】     【18】*ss!='\0'     (17)下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为 bi. dat 的新文件中,请填空.     #include "stdio.h"     FILE *fp;     { char ch;     if((fp=fopen(【19】))==NULL)exit(0);     while((ch=getchar( ))!='@')fputc (ch,fp);     fclose(fp);}     【参考答案】     【19】"bi.dat","w"或"bi.dat","w+"     (18)设有如下宏定义     #define MYSWAP(z,x,y)     {z=x;x=y;y=z;}     以下程序段通过宏调用实现变量 a,b 内容交换,请填空.     float a=5,b=16,c;     MYSWAP(【20】,a,b);     【参考答案】     【20】c     上机部分     一,填空题     程序通过定义学生结构体变量,存储了学生的学号,姓名和 3 门课的成绩.函数  fun 的 功能是将形参 a 所指结构体变量中的数据赋给函数中的结构体变量 b,并修改  b 中的学号和 姓名,最后输出修改后的数据.     例如:a 所指变量中的学号,姓名,和三门课的成绩依次是:10001,"ZhangSan",95 page 8

, 80,88,则修改后输出 b 中的数据应为:10002,"LiSi",95,80,88.     请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果.     注意:不得增行或删行,也不得更改程序的结构!     #include      #include      struct student     {long sno;     char name[10];     float score[3];     };     void fun(struct student a)     {     struct student b; int i;     b= 1     ;     b.sno=10002;     strcpy( 2     ,"LiSi");     printf("The data after modified:\n");     printf("No:%ld Name:%s\n Scores: ",     b.sno,b.name);     for(i=0;i<3;i++)     printf("%6.2f",b.     3     );     printf("\n");     }     main()     {     struct student     s={10001,"ZhangSan",95,80,88};     int i;     printf("The original data :\n");     printf("No:%ld Name:%s\nScores: ",     s.sno,s.name);     for(i=0;i<3;i++)     printf("%6.2f", s.score[i]);     printf("\n");     fun(s);     }     【答案与解析】     (1)b 是一个局部结构体变量,赋初值,显然是结构体对应赋值,因此空 1 应该填 入: a.(2)空 2 是将字符串"LiSi"赋值给 b 的成员 name,因此应该填入:b.name.(3) 空 3 显然是输出 b 的 3 门课成绩,因此应该填入:score[i].     二,改错题     给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值.函数 fu n 的功 能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函 数值返回.     请改正程序中的错误,使其能得出正确的结果.     注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!     #include      #include  page 9

    typedef struct aa     {int data; struct aa*next;}NODE;     int fun(NODE*h)     {     int sum=0;     NODE *p;     p=h;     while(p)     {     if(p->data%2==0)     sum+=p->data;     p=h->next;     }     return sum;     }     NODE *creatlink(int n)     {     NODE *h,*p,*s,*q;     int I,x;     h=p=(NODE *)malloc(sizeof(NODE));     for(I=1;I<=n;I++)     {     s=(NODE*)malloc(sizeof(NODE));     s->data=rand()%16;     s->next=p->next;     p->next=s;     p=p->next;     }     p->next=NULL;     return h;     }     outlink(NODE *h,FILE *pf)     {     NODE *p;     p=h->next;     fprintf(pf,"THE LIST :\n HEAD");     while(p)     {     fprintf(pf,"->%d",p->data);     p=p->next;     }     fprintf(pf,"\n");     }     outresult(int s,FILE *pf)     {     fprintf(pf,"The sum of even numbers :     %d\n",s);     }     main()     {     NODE *head; int even;     head=creatlink(12); page 10

    head->data=9000;     outlink(head,stdout);     even=fun(head);     printf("The result :\n");     outresult(even, stdout);     }     【答案与解析】     (1)由于 fun 函数中 h 是带头结点链表的头指针,若要访问链表的结点,需要访 问 h->next,因此语句 p=h;应该改为 p=h->next;(2)由于 p 是循环变量,每次循环 p  应该指向 p 的下一个结点,因此应该改为:p=p->next;.     三,编程题     请编写一个函数 void fun(int m,int k,int xx[]),该函数的功能是将大于整数  m 且紧靠 m 的 k 个非素数存入所指的数组中.     例如,若输入 15,5,则输出 16,18,20,21,22.     注意:部分源程序已给出.请勿改动主函数 main 和其他函数中的任何内容,仅在 函数 fun 的花括号中填入所编写的若干语句.     #include <conio.h>     #include      void fun(int m,int k,int xx[])     {     }     main()     {     int m,n,zz[1000];     system("cls");     printf("\nplease enter two integers: ");     scanf("%d%d",&m,&n);     fun(m,n,zz);     for(m=0;m<n;m++) printf("%d",zz[m]);     printf("\n");     }     【答案与解析】     本题主要考查素数的概念, 即只能被自然数本身和 1 整除的奇数. 这里只要掌 握了判断 素数和非素数的算法就不难完成了.     void fun(int m,int k,int xx[])     {     int i,j,n;     for(i=m+1,n=0; n<k; i++)     for(j=2; j<i; j++)     if(i%j==0)     { xx[n++]=i; break;}     } 1

page 11


赞助商链接

更多相关文章:
二级C语言模拟题
第三套二级C语言模拟题 - 全国高等学校(安徽考区)计算机水平考试 2016 模拟题(二级 C 语言) 第三套模拟 一、单项选择题 1:用计算机进行论文检索,属于计算机在_...
C语言二级考试三模拟题_图文
C语言二级考试三模拟题 - 计算机二级 C 语言考试考前第一套模拟题 一、选择题 (1)下列叙述中错误的是( )。 A.C 程序可以由多个程序文件组成 B.一个 c...
2017年3月全国计算机等级考试二级C语言上机-题库
2017年3月全国计算机等级考试二级C语言上机-题库_IT认证_资格考试/认证_教育专区。2017 年 3 月全国计算机等级考试二级 C 语言上机题库-(全) 第一套 1. 程序...
2016年3月份全国计算机等级考试二级C语言_题库(全)
2016 年 3 月份全国计算机等级考试二级 C 语言 题库 2016 年 3 月份全国计算机等级考试二级 C 语言 题库(全)一、选择题 在下列各题的 A) 、B) 、C) 、...
2016年3月份全国计算机等级考试二级C语言_题库(全)
2016年3月份全国计算机等级考试二级C语言_题库(全)_工学_高等教育_教育专区。2016 年 3 月份全国计算机等级考试二级 C 语言 题库 2016 年 3 月份全国计算机...
2011年3月份全国计算机等级考试二级C语言试题库
2011 年 3 月份全国计算机等级考试二级 C 语言试题库 第 01 套: 给定程序中,函数 fun 的功能是:将形参 n 所指变量中,各位上为偶数的数去 除,剩余的数 ...
2017年3月全国计算机等级考试二级C语言上机题库100套(...
2017年3月全国计算机等级考试二级C语言上机题库100套(最新光碟拷贝版)_IT认证_资格考试/认证_教育专区。从书本附赠的光盘里面拷贝出来的! ...
2018年3月计算机二级C语言考试操作题冲刺题二
2018 年 3 月计算机二级 C 语言考试操作题冲刺题二一、程序填空题 1 [填空题] 下列给定程序中,函数 fun 的功能是:从形参 ss 所指字符串数组中,删除 所有串...
最新2018年3月全国计算机等级考试二级C语言上机题库100...
最新2018年3月全国计算机等级考试二级C语言上机题库100套(最新光碟拷贝版)_IT认证_资格考试/认证_教育专区。最新最全的题库,从光盘拷出来的 ...
2018年3月全国计算机等级考试二级C语言上机题库100套(...
2018 年 3 月全国计算机等级考试 二级 C 语言上机题库 100 套(从光碟拷贝出来的最完整版) (可以拷贝在 U 盘里,然后 ctrl+F 搜索,百分百 有答案,祝考试...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图