2018年全国计算机二级C语言笔试试题及答案
2018年9月计算机二级C语言考试章节习题及答案(7)

2018年9月计算机二级C语言考试章节习题及答案(7)第2章 C程序设计的初步知识2.4 实型数据1 [单选题] 以下定义语句中正确的是A.int a =b =0;B.char A = 65 + 1,b='b';C.float a = 1,*b=&a,*c=&b;D.double a = 0.0;b=1.1;参考答案:B参考解析:A选项中定义时赋值不能用连等。
C选项中变量C和&b的类型不匹配。
D选项中变量b前是分号,所以变量b没有类型,即未定义。
B为变量定义时赋值的正确表达形式2 [单选题] 以下选项中正确的定义语句是 ( )A.doublea;b;B.doublea=b=7;C.doublea=7,b=7;D.double,a,b;参考答案:C参考解析:C语言中语句定义的一般格式为:类型说明符变量1,变量2,…,变量n;变量在定义时初始化赋值语句的定义格式为j类型说明符变量1=表达式,变量2一表达式,…,变量n一表达式;3 [单选题] 已知char a;int b;float C;double d;则表达式a-b+c-d结果为( )型。
A.doubleB.floatC.intD.char参考答案:A参考解析:C语言中允许进行不同数据类型的混合运算,但在实际运算时,要先将不同类型的数据转化成同一类型再进行运算。
类型转换的一般规则是:①运算中将所有char型转换成int型,float 型转换成double型;②低级类型服从高级类型,并进行相应的转换,数据类型由低到高的顺序为:char->int->unsigned->long.>float->double;③赋值运算中最终结果的类型,以赋值运算符左边变量的类型为准,即赋值运算符右端值的类型向左边变量的类型看齐,并进行相应转换。
4 [单选题] 有以下程序段int j; float y; char name[50];scanf("-%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为( )A.55566B.566C.7777D.566777参考答案:B参考解析:因为在输入格式控制符中指定变量j的输入格式控制符为“%2d”,即变量j所占的宽度为2,所以变量i 只接收输入数据的前两位,从第3位开始直到空格之间的输入整数都会被保存到变量Y中,因为Y为浮点型数据,所以输出结果为选项B)。
2018年全国计算机等级考试二级C 语言真题及答案1

(14)下列不能定义的用户标识符是()。
A)MainB)_0
C)_intD)sizeof
(15)下列选项中,不能作为合法常量的是()。
A)1.234e04B)1.234e0.4
C)1.234e+4D)1.234e0
(16)数字字符0的ASCII值为48,运行下列程序的输出结果是()。
A)1B)2
C)3D)4
(23)下列程序的输出结果是()。
main( )
{intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<7) if(p[i]%2) j+=p[i]; printf("%d\n",j);
}
A)42B)45
C)56D)60
(24)下列程序的输出结果是()。
main( )
{chara[7]="a0\0a0\0"; inti,j;
i=sizeof(a);
j=strlen(a);
printf("%d%d\n",i,j);
}
A)22B)76
C)72D)62
(25)下列能正确定义一维数组的选项是()。
A)inta[5]={0,1,2,3,4,5};B)chara[ ]={0,1,2,3,4,5};
main( )Байду номын сангаас
{inti=1,j=2,k=3;
if(i++==1&&(++j==3‖k+ +==3)) printf("%d%d %d\n",i,j,k);
2018年全国计算机等级考试二级C语言真题及答案7

2018 年全国计算机等级考试笔试试卷及答案二级公共基础知识和 C 语言程序设计(考试时间120 分钟,满分100 分)一、选择题(( 1) -( 10)每小题 2 分,( 11) -(50)每小题 1 分,共 60 分)( 1)下列选项中不符合良好程序设计风格的是()。
A )源程序要文档化B)数据说明的次序要规范化C)避免滥用 goto 语句D)模块设计要保证高耦合、高内聚( 2)从工程管理角度,软件设计一般分为两步完成,它们是()。
A )概要设计与详细设计B)数据设计与接口设计C)软件结构设计与数据设计D)过程设计与数据设计( 3)下列选项中不属于软件生命周期开发阶段任务的是()。
A)软件测试 B )概要设计 C)软件维护D)详细设计( 4)在数据库系统中,用户所见的数据模式为()。
A )概念模式 B )外模式 C)内模式D)物理模式( 5)数据库设计的 4 个阶段是:需求分析、概念设计、逻辑设计和()。
A )编码设计B )测试阶段C)运行阶段 D )物理设计( 6)设有如下 3 个关系表下列操作中正确的是()。
A )T=R ∩ S B)T=R ∪ SC)T=R ×S D )T=R/S( 7)下列叙述中正确的是()。
A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对( 8)在长度为64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为()。
A )63B) 64 C ) 6 D ) 7( 9)数据库技术的根本目标是要解决数据的()。
A )存储问题B)共享问题C)安全问题D)保护问题( 10)对下列二叉树进行中序遍历的结果是()。
A) ACBDFEG B ) ACBDFGEC) ABDCGEF D ) FCADBEG(11)下列叙述中错误的是()。
A)一个 C 语言程序只能实现一种算法B) C 程序可以由多个程序文件组成C) C 程序可以由一个或多个函数组成D)一个 C 函数可以单独作为一个 C 程序文件存在(12)下列叙述中正确的是()。
2018年9月计算机二级C语言考试章节习题及答案(6)

2018年9月计算机二级C语言考试章节习题及答案(6) 第2章 C程序设计的初步知识2.3 整型数据1[单选题] 用8位无符号二进制数能表示的最大十进制数为( )A.127B.128C.255D.256参考答案:C参考解析:2^8-1=256-1=2552[单选题] 若有以下程序段(n所赋的是八进制数)int m=32767,n=032767printf("%d,%o/n",m,n);执行后输出结果是( )A.32767,32767B.32767,032767C.32767,77777D.32767,077777参考答案:A3[单选题] 有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是( )A.n,twoB.t,oneC.w,oneD.o,two参考答案:C4[单选题] 以下定义语句中正确的是A.int a =b =0;B.char A = 65 + 1,b='b';C.float a = 1,*b=&a,*c=&b;D.double a = 0.0;b=1.1;参考答案:B参考解析:A选项中定义时赋值不能用连等。
C选项中变量C和&b的类型不匹配。
D选项中变量b前是分号,所以变量b没有类型,即未定义。
B为变量定义时赋值的正确表达形式5[单选题] 设有定义:int x=2;以下表达式中,值不为6的是 ( )A.x*=x+1B.x++=2*XC.X*=(1 X)D.2*X,X+=2参考答案:D参考解析:选项A和C很容易看出结果是6。
选项B和D是逗号表达式,逗号表达式是从左到右顺序求子表达式的值,整体的逗号表达式的值取最后一个子表达式的值,很容易判断出答案D错误。
2018年计算机等级考试二级C++笔试试题及答案2

2018年全国计算机等级考试二级笔试试卷C++语言程序设计及答案一、选择题(每小题2分,共70分)下列个体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 以上三种说法都不对(8)一棵二叉树中共有70个叶子结点于80个度为1的结点,则该二叉树重的总结点数为A 219B 221C 229D 221(9)下列叙述重正确的是A 数据库系统是一个独立的系统,它需要操作系统的支持B 数据库技术的根本目标是要解决数据的共享问题C 数据库管理系统是数据库系统D 以上说法都不正确(10)下列叙述中正确的是A 为了建立一个关系,首先是要构造数据的逻辑关系B 表示关系的二维表中各各组的每一个分量还可以分成若干数据项C 一个关系的属性名称为关系模式D 一个关系可以包括多个二维表(11)在函数中,可以用auto,extem,register,和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是A autoB extemC registerD static(12)对于一个类定义,下列叙述中错误的是A 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数(13)如果派生类以public方式继承基类,则原基类的protected成员和public 成员在派生类中的访问类型分别是A public和publicB public和protectedC protected 和publicD protected 和protected (14)下列运算符函数中肯定不属于类FunNumber的成员函数的是A int operator-(FunNumber)B FunNumber operator-()C FunNumber operator-(int)D int operator – (FunNumber)(15)C++中的模板包括A 对象模板和函数模板B 对象模板和类模板C 函数模板和类模板D 变量模板和对象模板(16)如果调用C++流进行输入输出,下面的叙述中正确的是A 只能借助于流对象进行输入输出B 只能进行格式化输入输出C 只能借助于cin和cout进行输入输出D 只能使用运算符》和《进行输入输出(17)下列富豪中不属于C++关键字的是A friendB namespaceC continueD byte (18)下列各组的量申明中,含义相同的一组是A unsigned long int 和longB signed short int 和shortB unsigned short 和short D short int 和int(19) 必须用一对打括号括起来的程序段是A switch 语句中的case标号语句B if 语句的分支C 循环语句的循环体D 函数的函数体(20)语句的int*p=&k定义于指针P,于这个语句等效的语句序列是A int*p;p=&kB int*p;p=kC int*p;*p=&kD int*p;*p=k(21)关于函数重载,下列叙述中错误的是A 重载函数的函数名必须相同B 重载函数必须在函数个数或类型上有所不同C 重载函数的返回值类型必须相同D 重载函数的函数体可以有所不同(22)有如下头文件Int f1();Static int f2();Class MA{PublicInt f3();Static int f4();};在所描述的函数中,具有隐含的this指针的是A f1B f2C f3D f4(23)派生类的成员函数不能访问基类的A 共有成员和保护成员B 共有成员C 私有成员D 保护成员(24)下列关于运算符重载的描述中,正确的是A 运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符B 一元运算符只能作为成员函数重载C 二元运算符重载为非成员函数时,参数表中有一个参数D C++中可以重载所有的运算符(25)下列关于类模板的模板参数的叙述中,错误的是A 模板参数可以作为数据成员的类型B 模板参数可以作为成员函数的返回类型C 模板参数可以作为成员函数的参数类型D 模板函数不能作为成员函数的局部变量的类型(26)已知一程序运行后执行的第一个输出操作是Cout<<setw(10)<<setfill(*)<<1234则此操作的输出结构是A 1234B ******1234C **********1234D 1234******(27)有如下程序#include <iostrcam>Using namespace std;Class myclass{Public:MyClass(){++count;}~MyClass(){--count;}Static int getcount(){return count;}PrivateStatic int count;};Int MyClass::count=0;Int main(){Myclass obj;Cout<<obj,getCount();MyClass*ptr=new MyClass;Cout<<MyClass::getcount();Delete ptr;Cout<<MyClass::gercount();Return();}程序的输出结果是A 121B 232C 221D 122程序的输出结果是A val=10 const:val=20B const:val=10 const:val=20C const:val=10 val=20D val=10 val=20(29)有如下程序#include <iostream>Using namespace std;Class part{Public;Part(int x=(\):val(x){cout,,val;}-part(){cout<<val;}Private;Int val;};Class whole{Public;Whole(int x,int y,int z=0):p2(x),p1(y),val(z){cout<<val;}Whole(){count,,val;}Private;Part p1,p2;Int val;};Int maint{Whole obj(1,2,3);Resturn();}程序输出的结果是A 123321B 213312C 213(30) 有如下程序:#include <iostream>Using namespace std;Class base{Public:Base(int x=0){cout<<x;}};Class derived : public base{Public:Derivedrin(x=y){cout<<x;}Priblic:Base val;};Int main(){Derived d(!);Return();}程序的输出结果是A 0B 1C 01D 001 (31)若有如下类定义:Classs B {V oid fun(){}Protected;Double varl;Public:V oid fun2(){}};Class D:public B{Protected;V oid fun3(){}};已知obj是类D的对象,下列语句中不违反成员访问控制的权限的是A obj.fun1();B obj.var1;C obj.fun2();D obj.fun3();(32)有如下程序:#include<iostream>Using namespace sid;Class base{Public;V oid output(){cout<<1;}Virtual void print() {cout<<B;}};Class derived:public base{Public:V oid output(){cout<<2;}V oid print(){cout<<’D’;}};Int main()Base * passnew derived;Ptr->output();Ptr->print();Delete ptr;Return();}程序的输出结果是A 1B B 1DC 2BD 2D下列是重载乘法运算的函数原型声明,其中错误的是A myclass operator*(double,double);B myclass operator*(double,myclass);C myclass operator*(myclass,double);D myclass operator*( myclass , myclass);(35) 有如下程序:#include <iostream>Using namespace std:Class B{Public:Virtual void show(){cout<<”b”;}};Class D:public B {Public:V oid show(){cout<<D;}};V oid fun1(B*ptr){ptr->show();}V oid fun2(B &ref){ref.show();}V oid fun3(B b){b.show();}Int main(){B b,*p=new D;D d;Fun1(p);Fun2(b);Fun3(d);Return();}程序的输出结果是A DBDB BBDC DBBD DBD二、填空题(每空2分,共三十分)(1).请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
2018年国家计算机二级C语言笔试真题及答案解析2

2018年国家计算机二级C语言笔试真题及答案解析(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA (2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间5)数据流图中带有箭头的线段表示的是()。
A)控制流 B)事件驱动 C)模块调用 D)数据流6)在软件开发中,需求分析阶段可以使用的工具是()。
A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。
A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同(10)有三个关系R、S 和T 如下:R S TA B B C A B Cm 1 1 3 m 1 3n 2 3 5由关系R 和S 通过运算得到关系T,则所使用的运算为()。
2018年3月国家二级C语言机试(操作题)真题汇编2(题后含答案及解析)

2018年3月国家二级C语言机试(操作题)真题汇编2(题后含答案及解析)全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.使用VC++2010打开考生文件夹下blank1中的解决方案。
此解决方案的项目中包含一个源程序文件blank1.c。
函数fun的功能是将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制整数值返回。
该串长度最大不超过15。
例如,若表示二进制数的字符串为:”10011”,则运行结果应为:10011﹣>19请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在文件BLANK1.C中,不得增行或删行,也不得更改程序的结构!#include<stdio.h>#pragma warning(disable:4996)#define N16/*********found*********/int fun(char【1】){int i,n=0;/*********found*********/for(i=0;【2】;++i)/*********found*********/rl=n*2+(s[i]﹣【3】);return n;}main( ){char num[]=“10011”;int n;n=fun(num);printf(“%s﹣﹣>%d\n”,num,n);}正确答案:(1)s[](2)s[i]!=‘\0’&&i<N(3)48解析:填空1:该函数所接受的参数为字符数组,所以形参也为字符数组,根据函数内所用的字符数组s[i],所以该空填s[]。
答案为s[]。
填空2:访问一个字符数组的所有元素时,当该元素不为字符串结束符’\0’时,继续访问,当访问到字符串结束符’\0’时,表示该字符串结束了,结束循环返回计算结果,因为串的长度最大不超过15,所以定义了一个常量N为16,在for循环的第二个表达式中i<N用来控制其不超过15,当其超过了15位时后面的不做计算,所以该空填s[i]!=‘\0’&&i<N。
2018年计算机二级考试C语言试题及答案(1)

2018年计算机二级考试C语言试题及答案(1)2018年计算机等级考试即将开始,为考生们整理了2018年计算机二级考试C语言试题及答案,希望能帮到大家,想了解更多资讯,请关注小编的及时更新哦。
2018年计算机二级考试C语言试题及答案(1)选择题1). 在软件设计中,不属于过程设计工具的是( )A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图正确答案:D答案解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。
它直接支持系统功能建模。
在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。
常见的过程设计工具有:图形工具:程序流程图,N-S,PAD,HIPO;表格工具:判定表;语言工具:PDL(伪码)。
2). 数据结构中,与所使用的计算机无关的是数据的( )。
A.存储结构B.物理结构C.逻辑结构D.线性结构正确答案:C答案解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。
3). 设有定义: int x=2; 以下表达式中,值不为6的是( )A.2*x, x+=2B.x++,2*xC.x*=(1+x)D.x*=x+1正确答案:A答案解析:本题考查逗号表达式。
逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值,因此,选项A中值为4;选项B中,值为6。
选项C中x*=x+1 等价于x=x*(x+1),所以等于6;选项D与选项C等价,结果也为6。
4). 在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )A.63B.64C.6D.7正确答案:B答案解析:顺序查找又称顺序搜索。
顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。
2018年9月计算机二级C语言考试章节习题及答案(4)

2018年9月计算机二级C语言考试章节习题及答案(4)第2章 C程序设计的初步知识2.1 简单C语言程序的构成和格式1[单选题] 下面程序的输出结果是( )。
#includemain(){int a[] = {1,2,3,4,5,6,7,10},*p;p =a;printf("%d\n",*p+8);}A.0B.1C.10D.9参考答案:D参考解析:“*”号的优先级比“+”的优先级高,所以先执行“*p”;指针P指向的是数组的首地址,因此*p=1;再加8得9。
3[单选题] 下面说法正确的是( )。
A.一个C程序可以有多个主函数B.一个C语言的函数中只允许有一对花括号C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内D.在对C程序进行编译时,可以发现注释行中的拼写错误参考答案:C参考解析:本题涉及C语言基本的3个知识点:①C 语言规定一个程序只允许有一个主函数,一个函数内可以允许有多个花括号;②C程序的注释部分仅仅是方便程序员阅读,提高程序的可读性和可移植性,它并不参与程序的编译,所以编译器也就不会发现注释中的错误。
4[单选题] 以下4个选项,不能看作一条语句的是( )。
A.{;}B.int x=0,y=1,z=0;C.if(!a);D.if(b==0)m=1:n=2:参考答案:D参考解析:语句是用来判定所给的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。
在if和else后面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时用花括号“{}”将几个语句括起来成为一个复合语句。
选项D)中没有将两个操作语句括起来,不能看作一条语句。
5[单选题] 以下程序的输出结果是( )。
A.1B.3C.2D.4参考答案:D参考解析:本题首先判断a>b,当a>b时结果等于a,否则等于“d>c?d:b”,因为a>b,所以直接输出a的值,注:这里“a:d>c?d:b”是用来干扰考生的。
2018年C语言二级考试及答案

2018年C语言二级考试及答案一、选择题1. 下列关于C语言中变量的描述,错误的是:A. 变量必须先声明后使用B. 变量的声明可以放在程序的任何位置C. 变量的类型决定了它所占用的内存大小D. 变量的声明必须在函数的开始处完成答案:B2. 在C语言中,以下哪个选项不是合法的标识符?A. _sumB. sum$C. 2valueD. sum答案:C3. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[5] = "Hello";B. char str[] = "Hello";C. char str[6] = "Hello";D. char str = "Hello";答案:B4. 关于C语言中的数组,以下哪个说法是错误的?A. 数组名代表数组的首地址B. 数组的大小在定义后不能改变C. 数组的元素可以是不同类型的D. 数组的下标从0开始答案:C5. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b);B. int add();C. int add(int a, int b) {}D. int add(int a, int b) { return a + b; }答案:D二、填空题1. 在C语言中,使用____关键字可以定义一个整型变量。
答案:int2. 字符串"Hello"在内存中所占的字节数是____。
答案:63. 若定义一个二维数组int arr[3][4],则该数组的元素总数为____。
答案:124. 在C语言中,使用____运算符可以实现逻辑与操作。
答案:&&5. 若变量a的值为5,b的值为10,则表达式a++ + b的值为____。
答案:15三、编程题1. 编写一个C语言程序,实现计算并输出两个整数的和。
```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两数之和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现判断输入的年份是否为闰年,并输出结果。
计算机二级C语言2018年试题及答案

计算机二级C语言2018年试题及答案一、选择题1. 在C语言中,下面哪个选项是正确的定义一个整型变量的语句?A. int a;B. int a[];C. int a[10];D. int a(10);答案:A2. 下列关于C语言函数的描述中,错误的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以有多个参数D. 函数可以嵌套定义答案:D二、填空题1. 在C语言中,表示逻辑“与”操作的运算符是______。
答案:&&2. 若有定义 int a[10], *p=a; 则*(p+5)表示数组的第______个元素。
答案:6三、编程题1. 编写一个C语言程序,实现输入一个整数,输出该整数的绝对值。
```c#include <stdio.h>#include <stdlib.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num < 0) {num = -num;}printf("该整数的绝对值是:%d\n", num);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出该字符串的逆序。
```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");gets(str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```四、简答题1. 请简述C语言中指针和数组的关系。
2018年计算机二级考试C语言试题及答案(5)

2018年计算机二级考试C语言试题及答案(5)2018年3月计算机等级考试开始报名啦!为考生们整理了2018年计算机二级考试C语言试题及答案,希望能帮到大家,想了解更多内容,请关注小编的及时更新。
2018年计算机二级考试C语言试题及答案(5)1[单选题] 耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是( )。
A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块问互相连接的紧密程度参考答案:B参考解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。
耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素问彼此结合的紧密程度,所以C与D错误。
2[单选题] 软件设计中划分模块的一个准则是( )。
A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合参考答案:B参考解析:一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
3[单选题] 下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
A.循环队列B.栈C.队列D.二叉树参考答案:B参考解析:栈是按先进后出的原则组织数据的。
队列是先进先出的原则组织数据。
4[单选题] 以下叙述中错误的是( )。
A.gets函数用于从终端读入字符串B.getchar函数用于从磁盘文件读入字符C.fput,函数用于把字符串输出到文件D.fwrite函数用于以二进制形式输出数据到文件参考答案:B参考解析:本题考查字符处理函数和文件操作函数,属于基础知识,其中B选项getehar函数是用于从终端读入一个字符。
2018c语言二级考试答案

2018c语言二级考试答案一、选择题1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. stringC. floatD. bool答案:A、C2. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. =D. ==答案:A、B3. C语言中,以下哪个关键字用于定义函数?A. structB. returnC. voidD. function答案:C4. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int [10] array;D. int array;答案:A5. 下列哪个选项是C语言中的循环控制语句?A. ifB. whileC. switchD. for答案:B、D二、填空题1. 在C语言中,使用________关键字可以定义一个结构体。
答案:struct2. C语言中,________运算符用于计算两个整数的乘积。
答案:*3. 若要声明一个指向整数的指针变量,应使用________关键字。
答案:int*4. 在C语言中,使用________函数可以输出格式化的字符串。
答案:printf5. C语言中,________函数用于计算数组的长度。
答案:sizeof三、简答题1. 请简述C语言中指针和数组的区别。
答案:指针是一个变量,它存储了另一个变量的地址。
数组是一个连续的内存块,用于存储相同类型的多个元素。
指针可以被重新赋值指向不同的内存地址,而数组的大小在定义后是固定的。
2. 描述C语言中如何实现字符串的连接。
答案:在C语言中,可以使用`strcat`函数来实现字符串的连接。
该函数将源字符串追加到目标字符串的末尾,并返回目标字符串的指针。
四、编程题1. 编写一个C语言程序,计算并输出1到100之间所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("The sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 请编写一个C语言函数,实现字符串反转的功能。
2018计算机二级C语言考试真题汇总

模拟卷11 [填空题]下列给定程序中,函数fun得功能就是:在形参S所指字符串中寻找与参数C相同得字符,并在其后插入一个与之相同得字符,若找不到相同得字符则不做任何处理。
例如,若s所指字符串为“baacda”,c中得字符为a,执行后S所指字符串为“baaaacdaa”。
请在程序得下画线处填入正确得内容并将下画线删除,使程序得出正确得结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序得结构!试题程序:参考解析:【参考答案】【解题思路】填空1:for语句循环条件就是判断就是否到达字符串结尾,即当前字符就是否为‘\0’。
填空2:while语句用以确定字符串得长度,所以变量n赋初值为0。
填空3:题目要求如果找到与参数c相同得字符,就在后面插入一个相同得字符,且找到后应该给数组元素赋值,本题目给出参数为c。
二、程序修改题2 [简答题]下列给定程序中函数fun得功能就是:逐个比较p、q所指两个字符串对应位置上得字符,并把ASCII值大或相等得字符依次存放到c所指得数组中,形成一个新得字符串。
例如,若主函数中a字符串为“aBCDeFgH”,b字符串为"Abcd",则c中得字符串应为“aBcdeFgH”。
请改正程序中得错误,使它能得出正确得结果。
注意:部分源程序在文件MODl1、C中,不得增行或删行,也不得更改程序得结构!参考解析:【参考答案】 (1)int k=0;(2)while(*p||*q)【考点分析】本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作;while循环语句。
【解题思路】(1)变量k存放数组e得下标,因此应初始化为0。
(2)while循环语句得循环条件就是判断两个字符串就是否到达结尾。
三、程序设计题3 [简答题]规定输入得字符串中只包含字母与*号。
请编写函数fun,其功能就是:将字符串尾部得*号全部删除,前面与中间得*号不动。
例如,字符串中得内容为:“****A*BC*DEF*G*******”、删除后,字符串中得内容应当就是:“****A*BC*DEF*G”。
2018年计算机等级考试二级C语言程序题练习35_真题(含答案与解析)-交互

2018年计算机等级考试二级C语言程序题练习35(总分100, 做题时间60分钟)程序填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。
函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。
例如:a所指变量中的学号、姓名和三门课的成绩依次是10001、“ZhangSan”、95、80、88,则修改后输出b中的数据应为10002、“LiSi”、95、80、 88 。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序保存在考生文件夹下的BLANK1. C中。
不得增行或删行,也不得更改程序的结构!给定源程序如下。
SSS_FILL(1)分值: 10答案:a题目要求先将形参a所指结构体变量中的数据赋给函数中的结构体变量b,所以此处 b=a。
SSS_FILL(2)分值: 10答案:通过strcpy函数修改b中的学生姓名,注意结构变量成员的表示方法。
SSS_FILL(3)分值: 10答案:score[i]printf函数输出结果。
程序改错题给定程序MODI1.C中函数fun的功能是从s所指字符串中删除所有小写字母c。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序如下。
SSS_TEXT_QUSTI分值: 30答案:(1)s[j++]=s[i];或{s[j]=s[i];j++;}(2) s[j]= 0;由循环条件if(s[i]!='c')可知,如果字符串中的字符不是'c',则将保留该字符到s[j]位置,然后下标 j 进行加1操作。
循环结束后要在新串的结尾加上'\0'。
程序设计题假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是将字符串中的前导*号全部移到字符串的尾部。
2018年计算机二级考试C语言章节习题答案一

2018年计算机⼆级考试C语⾔章节习题答案⼀ 2018年计算机等级考试即将开始啦!⼩编在这⾥为考⽣们整理了2018年计算机⼆级考试C语⾔章节习题答案,希望能帮到⼤家,想了解更多资讯,请关注店铺的及时更新哦。
2018年计算机⼆级考试C语⾔章节习题答案⼀ 第1章程序设计基本概念 1.1 程序和程序设计 1[单选题] 以下叙述中错误的是( )。
A.C语⾔源程序经编译后⽣成后缀为.obj的⽬标程序 B.C程序经过编译、连接步骤之后才能形成⼀个真正可执⾏的⼆进制机器指令⽂件 C.⽤c语⾔编写的程序称为源程序,它以ASCIl代码形式存放在⼀个⽂本⽂件中 D.C语⾔中的每条可执⾏语句和⾮执⾏语句最终都将被转换成⼆进制的机器指令 参考答案:D 参考解析:并不是源程序中的所有⾏都参加编译。
在条件编译形式下,相关内容只在满⾜⼀定条件时才进⾏编译。
选项D)中的⾮执⾏语句不在其范围内。
2[单选题] 下列描述中正确的是( )。
A.算法是指对解题⽅案的准确⽽完整的描述 B.算法的有穷性是指算法程序的长度是有限的 C.算法是否有效与拥有的情报⽆关 D.算法的基本特征有可⾏性、确定性和有穷性 参考答案:A 参考解析:算法是指对解题⽅案的准确⽽完整的描述。
算法具有4个特征:可⾏性、确定性、有穷性和拥有⾜够的情报。
有穷性指算法必需在有限时间内做完,即算法必需能在执⾏有限个步骤之后终⽌。
当算法拥有⾜够的情报时,此算法才是有效的;⽽当提供的情报不够时,算法可能⽆效。
3[单选题] 下列数据结构中属于⾮线性结构的是( )。
A.队列 B.线性表 C.⼆叉树 D.栈 参考答案:C 参考解析:线性结构满⾜两个条件:有且只有⼀个根结点;每个结点最多只有⼀个前件,也最多只有⼀个后件。
栈、队列、线性表都属于线性结构,⼆叉树是⼀种⾮线性结构,因为除叶⼦结点外,每个结点都有两个后件,不满⾜线性结构的条件。
4[单选题] 4个元素A、B、C、D依次⼊栈,⼊栈过程中允许栈顶元素出栈,假设某⼀时刻栈的状态是C(栈顶)、B、A(栈底),则不可能的出栈顺序是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年全国计算机二级C语言笔试试题及答案
一、选择题(每小题2分,共70分)
下列各题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)层次型、网状型和关系型数据库划分原则是
A)记录长度
B)文件的大小
C)联系的复杂程度
D)数据之间的联系方式
(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是
A)一对一
B)一对多
C)多对多
D)多对一
(9)数据库设计中反映用户对数据要求的模式是
A)内模式
B)概念模式
C)外模式
D)设计模式
(10)有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是
A)自然连接
B)交
C)投影
D)并
(11)以下关于结构化程序设计的叙述中正确的是
A)一个结构化程序必须同时由顺序、分支、循环三种结构组成
B)结构化程序使用goto语句会很便捷
C)在C语言中,程序的模块化是利用函数实现的
D)由三种基本结构构成的程序只能解决小规模的问题
(12)以下关于简单程序设计的步骤和顺序的说法中正确的是
A)确定算法后,整理并写出文档,最后进行编码和上机调试
B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
(13)以下叙述中错误的是
A) C程序在运行过程中所有计算都以二进制方式进行
B)C程序在运行过程中所有计算都以十进制方式进行
C)所有C程序都需要编译链接无误后才能运行
D)C程序中整型变量只能存放整数,实型变量只能存放浮点数
(14)有以下定义:int a; long b; double x,y;则以下选项中正确的表达式是
A)a%(int)(x-y)
B)a=x!=y;
C)(a*y)%b
D)y=x+y=x
(15)以下选项中能表示合法常量的是
A)整数:1,200
B)实数:1.5E2.0
C )字符斜杠:‘\’
D)字符串:"\007"
(16)表达式a+=a-=a=9的值是
A)9
B)_9
C)18
D)0
(17)若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是
A)a<>b+c
B)ch=getchar()
C)a==b+c
D)a++
(18)有以下程序
#include
main()
{int a=1,b=0;
if(!a) b++;
else if(a==0)if(a)b+=2;
else b+=3;。