二级C语言笔试模拟319

合集下载

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案
常将有日思无日,莫待无时思有时。——《增广贤文》
老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
D) 4 (31) 有如下类定义:
class XX( int xx; public: XX(): xx(0) {cout<<' A';} XX( int n):xx ( n) {tout<<' B';} }; Class YY:public XX( Int yy; public: YY(): yy ( 0) (cout+yy;} YY ( int n ): XX (n+1 ), yy(n) (cout<<yy;} YY ( int m, int n):XX (m), yy (n) (cout<<yy;} }; 下列选项中,输出结果为 A0 的语句是 A) YY y1 (0,0); B) YY y2(1); C) YYy3(0); D) YYy4; (32) 有如下程序: #include<iostream> Using namespace std; class A( public: virtual void f () (cout+1;} void g () (cout<<2;} }; class B:public A( public: virtual void f () (cout<<3;} void g()(ecut<<4;} }; void show (A &a)(a.f();a.g( ) ; } int main()( B b; show(b); return 0; } 运行时的输出结果是 A) 12 B) 34 C) 14 D) 32 (33) 有如下程序: #include<iostream> using namespace std; class Pair( int m; int n; public: Pair ( int i, int j ): m(i), n(j) (} boot operator > ( pair p ) const;//须在类体外给出定义 ); int main () { Pair Al(3,4),p2(4,3); p3(4,5); Cout<< (pl>p2) << (P2>P1) << (p2>p3) << (p3>p2); return 0; } 运算符函数。operator〉的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则 返 回 false。比较规则是首先比较两对象的 m 成员,m 大者为大;当 m 相等时比较 n, n 大者为大。程序输 出 0101, 下列对运算符重载函数的正确定义是 A ) bool Pair::operator> ( Pair p ) const {if (m!=p.m) return m>p.m; return n>p.n;}

计算机二级C语言考试模拟题包括答案.doc

计算机二级C语言考试模拟题包括答案.doc

2019 年 12 月计算机二级 C 语言考试模拟题及答案A.用户自己定义的函数只能调用库函数B. 实用的 C语言源程序总是由一个或多个函数组成C.不同函数的形式参数不能使用相同名称的标识符D.在 C语言的函数内部,能够定义局部嵌套函数参考答案: B参考解析: A 选项中,”用户自己定义的函数只能调用库函数”描述是不准确的,也能够调用自定义函数 ;C 选项中,对于不同函数的形式参数能够使用相同名称的标识符 ;D 选项中,关于函数的定义不能够嵌套,但函数的调用能够嵌套。

所以 B 选项准确。

2[ 单选题 ] 以下关于 C语言数据类型使用的叙述中错误的是( ) 。

A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型B.若要保存带有多位小数的数据,可使用双精度类型C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型D.整数类型表示的自然数是准确无误差的参考答案: C参考解析: C语言中没有逻辑类型,所以 c 错误。

若要保存带有多位小数的数据,能够用单精度类型也能够用双精度类型。

处理包含不同类型的相关数据能够定义为结构体类型。

整数类型能够无误差的表示自然数。

3[ 单选题 ] 下面选项中关于编译预处理的叙述准确的是A.预处理命令行必须使用分号结尾B.凡是以 #号开头的行,都被称为编译预处理命令行C.预处理命令行不能出现在程序的最后一行D.预处理命令行的作用域是到最近的函数结束处参考答案: B参考解析:本题考查预编译的预编译处理命令行,预处理命令行不能以分号结尾,所以A 选项错误,预处理命令行能够出现在程序的最后一行,预处理命令行作用域是整个文件。

4[ 单选题 ] 设--X 树共有 150 个结点,其中度为 l 的结点有 l0 个,则该---X 树中的叶子结点数为 ( ) 。

A.71B.70C.69D. 不可能有这样的二叉树参考答案: D参考解析:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中的度称为树的度。

全国计算机二级《C语言》考试题库与答案

全国计算机二级《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中的大写字母转换为对应小写字母的语句是( )。

计算机二级C语言模拟练习题

计算机二级C语言模拟练习题

计算机二级C语言模拟练习题计算机二级C语言模拟练习题在学习和工作的日常里,我们最熟悉的就是试题了,借助试题可以更好地考核参考者的知识才能。

你所了解的试题是什么样的呢?下面是店铺整理的计算机二级C语言模拟练习题,希望能够帮助到大家。

计算机二级C语言模拟练习题篇1(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图转换成关系数据模型的过程属于( )。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段(9)有三个关系R、s和T如下:由关系R和s通过运算得到关系T,则所使用的运算为( )。

A.并B.自然连接C.笛卡尔积D.交(10)设有表示学生选课的三张表,学生s(学号,姓名,性别,年龄,身份证号),课程c(课号,课名),选课SC(学号,课号,成绩),则表sc的关键字(键或码)为( )。

A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩参考答案:(1)C【解析】在数据流图中,用标有名字的箭头表示数据流。

国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析)

国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析)

国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。

操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。

例如,若N=3,有下列矩阵: 1 2 3 计算结果为7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #define N 43 void fun(int(*t)[N])4 { int j,r[N];5 for(j=0;j<N;j++)r[j]=t[0][j];6 for(j=0;j<N;j++)7 /**********found**********/8 t[0][N-j-1]=t[j][__1__];9 for(j=0;j<N;j++)10 t[j][0]=t[N-1][j];11 /**********found**********/12 for(j=N-1;j>=0;__2__)13 t[N-1][N-1-j]=t[j][N-1];14 for(j=N-1;j>=0;j--)15 /**********found**********/16 t[j][N-1]=r[__3__];17 }18 main( )19 {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;20 printf(‘‘\nThe original array:\n’’);21 for(2=0;i<N;i++)22 {for(j=0;j<N;j++)printf(‘‘%2d”,t[i][j]);23 printf(‘‘\n’’);24 }25 fun(t);26 printf(‘‘\nThe result is:\n’’);27 for(i=0;i<N;i++)28 { for(j=0;j<N;j++)printf(‘‘%2d’’,t[i][j]);29 printf(‘‘\n’’);30 }31 }正确答案:(1)0 (2)j-- (3)j解析:第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是“t[j][0]”,第一行元素是“t[0][N-j-1]”,故第一空处应为“0”。

二级C语言程序设计模拟试题及答案解析(最终)

二级C语言程序设计模拟试题及答案解析(最终)

二级C语言程序设计模拟试题及答案解析〔9〕(1/2) 程序填空题第1 题程序通过定义学生布局体变量,存储了学生的学号、姓名和三门课的成就。

所有学生数据均以二进制方式输出到文件中。

函数fun 的功能是重写形参filename 所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生本来的数据,其他学生的数据不变。

请在程序的下划线处填入正确的内容,使程序得出正确的成果。

注意:局部源程序给出如下。

!不得增行或删行,也不得更改程序的布局试题程序:#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(______,"rb+");/**********found**********/fseek(______,-(long)sizeof(STU),SEEK_END);/**********found**********/fwrite(&n,sizeof(STU),1,______);fclose(fp);}main()(STUt[N]={{10001,"MaChao",91,92,77},{10002,"CaoKai",75,60,88},{10003,"LiSi",85,70,78},{10004,"Fa ngFang",90,82,87},{10005,"ZhangSan",95,80,88}};STU n={10006,"ZhaoSi",55,70,68},ss[N];inti,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 <N; j++){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]);}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 <N;j++){printf("\nNo:%ld Name:%-8s Scores:",ss[j]. sno,ss[j].name);for(i=0; i <3;i++)printf 〔““. ss[j].score[i];printf(:\n");}}下一题(2/2) 程序填空题第2 题给定程序中,函数fun 的功能是:判定形参 a 所指的N×N(规定N 为奇数)的矩阵是否是“幻方〞,假设是,那么函数返回值为1;假设不是,那么函数返回值为0。

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。

2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。

他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。

在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。

C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。

丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。

2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。

3. 输出结果为“helloworld”。

strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。

在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。

如果第一个字符串不够大,程序会出现内存溢出等问题。

4. A、B、C三个数据类型可以用来存储浮点数。

5. 输出结果为“6”。

在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。

二级C模拟试卷.doc

二级C模拟试卷.doc
8.设有定义语句struct ( int x; int y;} d[2] = ({1, 3), {2, 7}};,则printf ("%d\n”, d[0]. y/d[0]. x*d[l]. x);的输出结果是()。
(A)0(B)l (03(D) 6
9.若有以下说明和语句,则下列引用方式不正确的是()。
18.若程序中需要表示关系xN y 3 z,应使用C语言表达式为()o
(A) (x>=y) && (y>=z)(B) (x>=y) AND(y>=z)
(C) (x>=y>=z)(D) (x>=y) & (y>=z)
19.以下程序运行后,输出结果是()o
#include<stdio. h>
#define PT 5. 5
(
wh i1e (*sl)
%1;//sl++;
while((*sl++=*s2++)!=' \0')
%1//;
2.下面程序用于计算1+(1+2) + (1+2+3)+……+(1+2+3+……+10),请填空完善程序。#include<stdio.h> void niainO {
int total, sum, m, n;
struct worker
tint no;
char * name ;
}work, *p=&work;
(A)work, no (B)(*p). no (0)p->no (D)work->no
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二级C语言笔试模拟319一、选择题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.N-S图 B.PADC.程序流程图 D.E-R图8、数据库管理系统是( )。

A.操作系统的一部分 B.在操作系统支持下的系统软件C.一种编译系统 D.一种操作系统9、在E-R图中,用来表示实体联系的图形是( )。

A.椭圆形 B.矩形C.菱形 D.三角形10R,S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为( )。

A.选择 B.投影C.交 D.并11、以下叙述中正确的是( )。

A.程序设计的任务就是编写程序代码并上机调试 B.程序设计的任务就是确定所用数据结构C.程序设计的任务就是确定所用算法 D.以上三种说法都不完整12、以下选项中,能用做用户标识符的是( )。

A.void B.8 8C._0_ D.unsigned13、阅读以下程序:#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、表达式:(int)((double)9/2)-(9)%2的值是( )。

A.0 B.3C.4 D.515、若有定义语句:int x=10;,则表达式x-=x+x的值为( )。

A.-20 B.-10C.0 D.1016、有以下程序:#include<stdio.h>main(){ int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2+b);}程序运行后的输出结果是( )。

A.0,0 B.1,0C.3,2 D.1,217、设有定义“int a=1,b=2,c=3;”,以下浯句中执行效果与其他三个不同的是( )。

A.if(a>b)c=a,a=b,b=c; B.if(a>b){c=a,a=b,b=c;}C.if(a>b)c=a;a=b;b=c; D.if(a>b){c=a;a=b;b=c;}18、有以下程序:#include<stdio.h>main(){ int c=0,k;for(k=1;k<3;k++)switch(k){ default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d\n",c);}程序运行后的输出结果是( )。

A.3 B.5 C.7 D.919、以下程序段中,与语句“k=a>b?(b>c?1:0):0;”功能相同的是( )。

A.if(a>b)&&(b>c)k=1;else k=0;B.if(a>b)||(b>c))k=1;else k=0;C.if(a<=b)k=0;else if(b<=c)k=1;else k=0;D.if(a>b)k=1;else if(b>c)k=1;20、有以下程序:#include<stdio.h>main(){ char s[]-{"012xy"};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='a'&&s[i]<='z')n++;printf("%d\n",n);}程序运行后的输出结果是( )。

A.0 B.2 C.3 D.521、有以下程序:#include<stdio.h>main(){ int n=2,k=0;while(k++&&n++>2);printf("%d%d\n",k,n);}程序运行后的输出结果是( )。

A.02 B.13 C.57 D.1222、以下定义语句中,编译时会出现编译错误的是( )。

A.char a='a'; B.char a='\n'C.char a='aa'; D.char a='\xgd';23、有以下程序:#include<stdio.h>main(){ char c1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf("%c,%d\n",c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是( )。

A.E,68 B.D,69 C.E,D D.输出无定值24、有以下程序:#include<stdio.h>void fun(int D){ int d=2;p=d++;printf("%d",p);}main(){ int a=1;fun(a);printf("%d\n",a);}程序运行后的输出结果是( )。

A.32 B.12 C.21 D.2225、以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

#define MIN-2147483647int findmax(int x[],int n){ int i,max;for(i=0;i<n;i++){ max=MIN;if(max<x[i])max=x[i];}return max;}造成错误的原因是( )。

A.定义语句“int i,max;”中,max未赋初值B.赋值语句“max=MIN”;中,不应给max赋MIN值C.语句“if(max<x[i]max=x[i])”中,判断条件设置错误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);}程序运行后的输出结果是( )。

A.1,2,1,2 B.1,2,2,1 C.2,1,2,1 D.2,1,1,227、若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是( )。

A.p=a B.q[i]=a[i]C.p=a[i] D.p=&a[2][1]28、有以下程序:#include<stdio.h>#include<string.h>main(){ char str[][20][("One*world","One*Dream!"},*p=str[1];prinft("%d,",strlen(p));printf("%s\n",p);}程序运行后的输出结果是( )。

A.9,One*World B.9,One*Dream!C.10,One*Dream! D.10,One*World29、有以下程序:#include<stdio.h>main(){ int a[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){ case0:switch(a[i]%2){ case0:a[i]++;break;case1:a[i]--;} break;case1:a[i]=0;}for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");}程序运行后的输出结果是( )。

A.3344 B.2050 C.3040 D.030430、有以下程序:#include<stdio.h>#include<string.h>main(){ char a[10]="abed";printf("%d,%d\n",strlen(a),sizeof(a));}程序运行后的输出结果是( )。

A.7,4 B.4,10 C.8,8 D.10,1031、下面是有关C语言字符数组的描述,其中错误的是( )。

A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串32、下列函数的功能是fun(char*a,char*b){while((*b=*a)!='\0'){a++;b++;)}A.将a所指字符串赋给b所指空间B.使指针b指向a所指字符串C.将a所指字符串和b所指字符串进行比较D.检查a和b所指字符串中是否有'\0'33、设有以下函数:void fun(int n,char*s){……)则下面对函数指针的定义和赋值均正确的是( )。

A.void(*pf)( );pf=fun; B.void*pf( );pf=funC.void*pf( );*pf=fun; D.void(*pf)(int,char);pf=&fun;34、有以下程序:#include<stdio.h>int f(int n):main(){ int a=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}mt f(int n){ static int a=1;n+=a++;return n;}程序运行后的输出结果是( )。

相关文档
最新文档