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



更多相关文章:
2018年3月国家计算机二级C语言模拟试题及答案.doc
2018年3月国家计算机二级C语言模拟试题及答案_计算机软件及应用_IT/计算机_专业资料。李专家在这多年的经验,此试题在2018年3月份考试中命中率达到99% ...
全国计算机等级考试二级C语言模拟试题及答案(一).doc
语言模拟试题及答案( 全国计算机等级考试二级 C 语言模拟试题及答案(一) 一
2018年二级C语言笔试及上机模拟考试题库.doc
2018年二级C语言笔试及上机模拟考试题库 - 全国计算机等级考试 2018 年二级 C 语言笔试及上机考试模拟题库 题库在手,逢考必过 一、选择题 在下列各题的 A) ...
二级C语言考试模拟试题3.pdf
二级C语言考试模拟试题3 - 本文由hbslsdfdf贡献 doc文档可能在WA
全国计算机等级考试二级c语言模拟试卷及答案.doc
全国计算机等级考试二级c语言模拟试卷及答案 - ---精品 word 文档 值得
2017年全国计算机2级考试(C语言程序设计)笔试模拟试题及答案.doc
2017年全国计算机2级考试(C语言程序设计)笔试模拟试题及答案_IT认证_资格考试/认证_教育专区。2017 年全国计算机等级考试二级笔试模拟试题 C 语言程序设计 (考试时间...
2018年全国计算机等级考试二级C语言考试题库107套.pdf
学生练习用第一套至第二十套第一套: 2018 年全国计算机等级考试 C 语言上机考试题库 1、程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的...
2016最新二级C语言考试题及答案(选择题专项练习 精华版).doc
2016最新二级C语言考试题及答案(选择题专项练习 精华版)_IT认证_资格考试/认证_教育专区。C 语言理论上机考试选择题部分 1、下面程序的输出是___D___ #inclu...
全国计算机等级考试二级C语言模拟试题3.pdf
全国计算机等级考试二级C语言模拟试题3 - 全国计算机等级考试二级 C 语言模拟试题 3 一、选择题 1、 下列叙述中正确的是: A、循环队列是队列的一种顺序存储结构...
计算机等级考试二级C语言模拟试题(三).doc
计算机等级考试二级C语计算机等级考试二级C语隐藏>> 语言模拟试题及答案 及答案(...确认测试 B)集成测试 C)验证测试 D)验收测试 7.数据流图用于抽象描述一个...
2008年9月全国计算机等级考试二级C语言模拟试题及答案(三).doc
2008年9月全国计算机等级考试二级C语言模拟试题及答案(三)_IT认证_资格考试/认证_教育专区。看看吧 2008 年 9 月全国计算机等级考试二级 C 语言模拟试题及答案 ...
2016年计算机二级c语言题及答案;.doc
2016年计算机二级c语言题及答案;_IT认证_资格考试/认证_教育专区。2016 年计算机二级 c 语言题及答案一 、选择题 ( 每小题 1 分,共 40 小题,共 40 ...
《国家计算机二级c语言历年真题及答案》.doc
《国家计算机二级c语言历年真题及答案》 - 2009 年 9 月全国计算机等级考试二级笔试试卷 C 语言程序设计 (考试时间 90 分钟,满分 100 分) 一、选择题((1)...
2018年3月全国计算机等级考试二级C语言上机题库100套(....doc
2018 年 3 月全国计算机等级考试 二级 C 语言上机题库 100 套(从光碟拷贝出来的最完整版) (可以拷贝在 U 盘里,然后 ctrl+F 搜索,百分百 有答案,祝考试...
全国计算机等级考试二级C语言模拟试题及答案(三).doc
语言模拟试题及答案( 全国计算机等级考试二级 C 语言模拟试题及答案(三) 一
2011年全国计算机等级二级C语言模拟试题及答案(3).txt
2011年全国计算机等级二级C语言模拟试题及答案(3) - 一.单项选择题 1.
2015年《全国计算机二级C语言考试真题.doc
2015年《全国计算机二级C语言考试真题_IT认证_资格考试/认证_教育专区。
计算机等级考试二级C语言模拟试题.pdf
计算机等级考试二级C语言模拟试题 - 本文由jishi1949贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 语言模拟试题(...
计算机等考二级C语言模拟试题及答案.doc
计算机等考二级C语言模拟试题及答案 - 计算机等考二级 C 语言模拟试题 一、填
2013年3月全国计算机2级考试(C语言程序设计)笔试模拟试题及答案_....doc
2013 年 3 月全国计算机等级考试二级笔试模拟试题 C 语言程序设计 (考试
更多相关标签:

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

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