全国计算机等级考试二级C语言真题库之选择题(07)
全国二级计算机考试c语言试题及答案
全国二级计算机考试c语言试题及答案全国二级计算机考试C语言试题及答案一、选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. _intC. intD. variable2答案:B2. 下列关于C语言中数组的描述,正确的是:A. 数组的大小在定义后可以改变B. 数组的索引从0开始C. 数组可以存储不同类型的数据D. 数组必须在程序开始时定义答案:B3. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. return答案:C4. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以被赋值为NULLC. 指针可以存储任何类型的数据D. 指针可以被解引用答案:C6. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A7. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D9. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A10. 在C语言中,以下哪个选项是正确的条件语句?A. if (x)B. if xC. if (x == 0)D. if (x != 0)答案:A二、填空题(每题2分,共10分)1. 在C语言中,______关键字用于声明一个变量。
答案:int2. 一个C语言程序的执行从______函数开始。
全国计算机二级考试《C语言》真题练习及答案
全国计算机二级考试《C语言》真题练习及答案全国计算机二级考试《C语言》真题练习及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234B)'\123'C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 34 5 0<回车>,则输出结果是A)6566456B)66656C)66666D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n);continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行。
全国计算机等级考试二级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语言试题及答案
计算机二级考试c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项是合法的标识符?A. 2abcB. abc123C. _abcD. abc$答案:C2. 在C语言中,下面哪个运算符具有左结合性?A. 赋值运算符B. 逻辑运算符C. 位运算符D. 关系运算符答案:A3. 下面哪个函数用于实现字符串的复制?A. strcpyB. strcatC. strlenD. strcmp答案:A4. 下面哪个选项是正确的整型常量的表示方法?A. 1234BB. 0x1234C. 1234DD. 01234答案:D5. 下面哪个选项是合法的实型常量的表示方法?A. 123.B. 123.C. 123.D. 123.答案:C6. 在C语言中,下面哪个函数用于实现字符串的连接?A. strcpyB. strcatC. strlenD. strcmp答案:B7. 下面哪个选项是正确的关于一维数组的描述?A. 数组名是一个指向数组首元素的指针B. 数组名是一个指向数组首元素的指针C. 数组名是一个指向数组首元素的指针D. 数组名是一个指向数组首元素的指针答案:A8. 下面哪个选项是正确的关于二维数组的描述?A. 二维数组可以看作是多个一维数组的组合B. 二维数组可以看作是多个一维数组的组合C. 二维数组可以看作是多个一维数组的组合D. 二维数组可以看作是多个一维数组的组合答案:A9. 在C语言中,下面哪个函数用于实现字符串的比较?A. strcpyB. strcatC. strlenD. strcmp答案:D10. 下面哪个选项是合法的C语言语句?A. if(条件) {B. while(条件)C. do {D. }答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的存储空间为_____个字节。
答案:42. C语言中,定义一个整型变量的一般形式为_____。
答案:int 变量名;3. C语言中,定义一个实型变量的一般形式为_____。
计算机二级证考试c语言试题及答案
计算机二级证考试c语言试题及答案一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是面向对象编程语言B. C语言是一种解释性语言C. C语言是一种编译性语言D. C语言主要用于网页开发2. C语言中的数组下标是从几开始计数的?A. 0B. 1C. -1D. 由用户指定3. 下列代码中,输出的结果是什么?```cint a = 10;int b = 5;printf("%d", a % b);```B. 5C. 2D. 04. 下列关于函数的说法中,正确的是:A. 函数只能在主函数中调用B. 函数可以在任何地方调用C. 函数只能接收一个参数D. 函数不能返回值5. 下列代码中,循环体会执行几次? ```cint i;for(i = 0; i < 5; i++) {printf("%d ", i);}```A. 0次B. 4次D. 6次二、填空题1. C语言中,用于定义常量的关键字是 __________。
2. 下列代码中,空格处应该填入什么值才能使程序输出结果为20?```cint a = 10;int b = __________;printf("%d", a * b);```3. 下列代码中,空格处应该填入什么运算符才能使程序输出结果为1?```cint a = 5;int b = 4;printf("%d", a ________ b);```三、编程题1. 编写一个程序,要求用户输入一个整数n,然后输出1到n之间所有偶数的和。
2. 编写一个函数,实现计算两个整数之间的最大公约数(GCD)的功能,并在主函数中调用该函数。
3. 编写一个程序,定义一个字符串数组,其中有5个元素,每个元素是一个字符串。
然后使用循环输出该数组中所有的字符串内容。
四、综合题1. 下面是一个简化的学生成绩管理程序的代码,有一些错误,请帮助找出并修复错误。
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)下列叙述中正确的是()。
2007—2008年全国计算机等级考试二级C语言真题及参考答案
2007年9月全国计算机等级考试二级C语言真题及参考答案一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题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)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#includemain(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c 中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
全国计算机等级考试二级c语言题库及答案
全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。
国家二级计算机考试c语言试题及答案
国家二级计算机考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是:A. 变量名必须以字母开头B. 变量名可以包含数字和下划线C. 变量名区分大小写D. 变量名可以以数字开头答案:D2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 函数结构5. 在C语言中,用于定义函数的关键字是:A. intB. voidC. returnD. function答案:B6. C语言中,用于声明一个字符型变量的关键字是:A. intB. charC. floatD. double答案:B7. 在C语言中,以下哪个选项是正确的注释方式?A. //B. /* */C.D. @@答案:B8. C语言中,用于定义一个浮点型变量的关键字是:A. intB. floatC. doubleD. char答案:B9. 在C语言中,以下哪个选项不是合法的整数常量?B. 0x1AC. 0123D. 1.23答案:D10. 在C语言中,以下哪个选项不是合法的标识符?A. _nameB. name2C. 2nameD. name-name答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个数组。
答案:int2. C语言中,使用________函数可以输出格式化的字符串。
答案:printf3. 如果要定义一个指向整型数据的指针,应该使用________关键字。
答案:int*4. 在C语言中,使用________关键字可以定义一个结构体。
答案:struct5. 使用________函数可以获取当前系统时间。
答案:time6. 在C语言中,使用________关键字可以定义一个枚举类型。
全国计算机等级考试二级C语言笔试试卷及标准解析
全国计算机等级考试二级C语言笔试试卷及标准解析全国计算机等级考试二级C语言笔试试卷及标准解析一、选择题((1)一(10)每题2分(11)一(50)每题1分共60分) 下列各题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)对如下二叉树 ABDECF 进行后序遍历的结果为A)ABCDEFB)DBEAFC C)ABDECFD)DEBFCA (7)在深度为7的满二叉树中叶子结点的个数为A)32B)31 C)64D)63 (8)“商品”与“顾客”两个实体集之间的联系一般是 A)一对一B)一对多 C)多对一D)多对多 (9)在E-R图中用来表示实体的图形是 A)矩形B)椭圆形 C)菱形D)三角形 (10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB 和DBMS D)没有任何关系 (11)以下不合法的用户标识符是A)j2_KEYB)Double C)4dD)_8_ (12)以下不合法的数值常量是 A)011B)1e1 C)8.0E0.5D)0xabcd (13)以下不合法的字符常量是A)′\018′B)′\"′ C)′\\′D)′\xcc′(14)表达式3.6-5/2+1.2+5%2的值是 A)4.3B)4.8C)3.3 D)3.8(15)以下能正确定义字符串的语句是 A)char str[]={′\064′};B)char str="kx43"; C)charstr="; D)char str[]="\0";(16)以下数组定义中错误的是 A)int x[][3]={0};B)int x[2][3]={{l2}{34}{56}}; C)int x[][3]={{l23}{456}}; D)int x[2][3]={l23456};(17)若要求从键盘读入含有空格字符的字符串应使用函数A)getcB)gets C)getcharD)scanf(18)以下四个程序中完全正确的是 A)#includeB)#include main;main {/_programming_/{/_/programming /_/ printf("programming!\n");}printf("programming!\n");}C) #include D) include mainmain{/_/_programming_/_/{/_programming_/printf("programming!\n");} printf("programming!\n");}(19)若有定义:float x=1.5;int a=1b=3c=2;则正确的switch语句是 A)switch(x)B)switch((int)x); {case1.0:printf("_\n"); {case 1:printf("_\n");case2.0:printf("__\n");} case 2:printf("__\n");} C)switch(a+b) D)switch(a+b) {case 1:printf("_\n");{case 1:printf("_\n"); case 2+1:printf("__\n");}case c:printf("__\n");} (20)若各选项中所用变量已正确定义函数fun中通过return语句返回一个函数值以下选项中错误的程序是 A)mainB)float fun(int aint b){……} {……x=fun(210);……}main float fun(int aintb){……}{……x=fun(i,j);……} C)floatfun(intint); D)main main {floatfun(int iint j);{……x=fun(210);……}……x=fun(i,j);……}float fun(int aint b){……}float fun(int aint b){……} (21)在以下给出的表达式中与while(E)中的(E)不等价的表达式是A)(!E==0)B)(E>0‖EB)while(ch=getchar!=′N′)printf("%c",ch);C)while(ch=getchar==′N′)printf("%c",ch);D)while((ch=getchar)==′N′)printf("%c",ch); (23)已定义以下函数int fun(int _p){return _p;)fun函数返回值是 A)不确定的值 B)一个整数 C)形参P中存放的值 D)形参P的地址值 (24)若有说明语句:double _pa;则能通过scanf语句正确给输入项读入数据的程序段是 A)_p=&a; scanf("%1f"p);B)_p=&a; scanf("%f"p); C)p=&a; scanf("%1f"_p); D)p=&a; scanf("%1f"p); (25)现有以下结构体说明和变量定义如图所示指针p、q、r分别指向一个链表中连续的三个结点。
计算机二级c语言试题及答案解析
计算机二级c语言试题及答案解析一、选择题1. C语言中,下列哪个选项是正确的字符串定义方法?A. char str = "Hello World";B. char str[] = "Hello World";C. string str = "Hello World";D. string str[] = "Hello World";答案:B解析:C语言中,字符串需要使用字符数组来定义,可以使用字符数组名或者指针来存储字符串的地址。
2. 下列哪个选项可以用于在C语言中接收用户输入的整数?A. get()B. scanf()C. read()D. input()答案:B解析:scanf()函数可以用于从标准输入中接收用户的输入,并将其存储到指定的变量中。
3. 以下哪个选项是C语言中的关键字?A. printB. whileC. ifD. void答案:C解析:C语言中的关键字用于表示特定的语法结构或功能,而print、while、void都不是C语言的关键字。
二、填空题1. C语言中,用于循环控制的语句是______。
答案:for、while、do-while解析:C语言中可以使用for、while、do-while三种语句进行循环控制。
2. C语言中,用于定义宏的关键字是______。
答案:#define解析:C语言中使用#define关键字来定义宏,宏是一种简单的文本替换方式。
三、代码题请编写一个C语言函数,实现将一个整数数组中的所有元素逆序排列的功能。
```c#include <stdio.h>void reverseArray(int arr[], int length) {int i, temp;for (i = 0; i < length / 2; i++) {temp = arr[i];arr[i] = arr[length - 1 - i];arr[length - 1 - i] = temp;}}int main() {int i;int arr[] = {1, 2, 3, 4, 5};int length = sizeof(arr) / sizeof(arr[0]);printf("Original Array: ");for (i = 0; i < length; i++) {printf("%d ", arr[i]);}reverseArray(arr, length);printf("\nReversed Array: ");for (i = 0; i < length; i++) {printf("%d ", arr[i]);}return 0;}```答案解析:以上是一个简单的C语言程序,通过reverseArray函数来实现将数组中的元素逆序排列的功能。
全国计算机等级考试二级C语言附详解
以下选项中非法的字符常量是
A、’\102’ B、’\65’ C、’\xff’ D、’\019’
转义字符,即反斜杠加数字或字母的形式(例如'\n'是换行 符),转义字符本身就是一个字符。 C的\X后面是十六进制数 数字不需要以0开头的,以0开头了,0所代表的意义是指八进 制,例如01,是指八进制的1,八进制里是没有数字8和9的, 所以09是错误的,同理,D项的019错了 C以x开头代表了xff这个数是16进制,16进制里是有f的,数值 上等于十进制里的15 数字前什么都不加,例如A和B项,C语言默认为十进制。
软件设计包括概要设计和详细设计
软件详细设计--程序流程图(PDF)和PAD(问题分析图) 是过程设计的常用工具
数据流图(DFD图)是软件定义阶段结构化分析方法常 用的工具。
针对简单程序设计,以下叙述的实施步骤正确的是 A、确定算法和数据结构、编码、调试、整理文档 B、编码、确定算法和数据结构、调试、整理文档 C、整理文档、确定算法和数据结构、编码、调试 D、确定算法和数据结构、调试、编码、整理文档
指针的概念和应用 数组名本身就是地址,所以不需要用&符号。C选项不能对所 有元素赋值而是反复再给一个数值赋值且是死循环。D
有以下程序
#include <sthio.h> Main() {int a,b,k,m,*p1,*p2; k=1,m=8; p1=&k,p2=&m; a=/*p1-m; b=*p1+*p2+6; printf(“%d ”,a); printf(“%d\n”,b);
一个正确的算法可以有零个或者多个输入,必须有一个或者多 个输出
以下叙述错误的是 A、一个C程序可以包含多个不同名的函数 B、一个C程序只能有一个主函数 C、C程序在书写时,有严格的缩进要求,否 则不能编译通过 D、C程序的主函数必须用main作为函数名
计算机等级考试二级C语言试题及答案
{ int a=5; s+=f(&a);
}
s+=f(&a); printf(“%d\nC)7 D)8
38、有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2);
15、 若以下选项中的变量已正确定义,则正确的赋值语句 是
(C) A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;
//%为模式运算,又称为求余运算,二侧均为整形数据 16、 设有以下定义
int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是(D) A)a++; B)b++ C)c++; D)d++;
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
} 程序执行后的输出结果是(D)
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和 D)自然数1~10中的偶数 之和
25、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是(D) A)n=5 B)n=2 C)n=3 D) n=4
全国计算机等级考试二级C语言选择题
全国计算机等级考试二级C语言选择题全国计算机等级考试二级C语言选择题大全C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。
下面给大家整理了全国计算机等级考试二级C语言选择题大全,欢迎阅读!全国计算机等级考试二级C语言选择题大全在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图 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)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性 B)关系 C)键 D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TBCDa0k1由关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF CaseD)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b; D)double a=00;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d ",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d ",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b)a=b; c=a;if(c!=a)c=b;printf("%d,%d,%d ",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#includemain(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d ",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d ",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s ",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbAD)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′′;j+=2)s=10*s+p[i][j]-′0′;printf("%d ",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)以下叙述中错误的是A)在程序中凡是以"#"开始的`语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束 C)#define MAX 是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名 B)PER是结构体类型名 C)typedef struct 是结构体类型 D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′′};C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#includemain(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d ",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include#includevoid fun(char *s[],int n){ char *t; int i,j;for(i=0;ifor(j=i+1;jif(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s ",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#includeint f(int x){ int y;if(x==0||x==1) return(3);y=x*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d ",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d ",*(p+3));A)67 B)0 C)字符′C′的地址 D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
计算机等级考试二级C语言考前密卷(7)
(1)最简单的交换排序⽅法是 A)快速排序B)选择排序 C)堆排序D)冒泡排序(2)栈通常采⽤的两种存储结构是 A)线性存储结构和链表存储结构 B)散列⽅式和索引⽅式 C)链表存储结构和数组 D)线性存储结构和⾮线性存储结构(3)线性表的顺序存储结构和线性表的链式存储结构分别是 A)顺序存取的存储结构、顺序存取的存储结构 B)随机存取的存储结构、顺序存取的存储结构 C)随机存取的存储结构、随机存取的存储结构 D)任意存取的存储结构、任意存取的存储结构(4)完全不考虑程序的内部结构和内部特征,⽽只是根据程序功能导出测试⽤例的测试⽅法是 A)⿊箱测试法 B)⽩箱测试法 C)错误推测法 D)安装测试法(5)在结构化设计⽅法中,⽣成的结构图(SC)中,带有箭头的连线表⽰ A)模块之间的调⽤关系 B)程序的组成成分 C)控制程序的执⾏顺序 D)数据的流向(6)下列选项中,不属于模块间耦合的是 A)数据耦合 B)同构耦合 C)异构耦合 D)公⽤耦合(7)⼀个关系中属性个数为1时,称此关系为 A)对应关系 B)单⼀关系 C)⼀元关系 D)⼆元关系(8)为⽤户与数据库系统提供接⼝的语⾔是 A)⾼级语⾔B)数据描述语⾔(DDL) C)数据操纵语⾔(DML)D)汇编语⾔(9)相对于数据库系统,⽂件系统的主要缺陷有数据关联差、数据不⼀致性和 A)可重⽤性差 B)安全性差 C)⾮持久性 D)冗余性(10)需求分析阶段的任务是确定 A)软件开发⽅法 B)软件开发⼯具 C)软件开发费⽤ D)软件系统功能(11)下列关于C语⾔的说法不正确的是 A)C语⾔既具有⾼级语⾔的⼀切功能,也具有低级语⾔的⼀些功能 B)C语⾔中的每⼀条执⾏语句都必须⽤分号结束,分号不是C语⾔的⼀部分,是语句之间的分隔符号 C)注释可以出现在程序中任意合适的地⽅ D)命令⾏后⾯不能加分号,命令⾏不是C语⾔的语句(12)下列关于标识符的说法中错误的是 A)合法的标识符是由字母、数字和下划线组成 B)C语⾔的标识符中,⼤写字母和⼩写字母被认为是两个不同的字符 C)C语⾔的标识符可以分为三类,即关键字、预定义标识符和⽤户标识符 D)⽤户标识符与关键字不同时,程序在执⾏时将给出出错信息(13)下列合法的整型常量的表⽰是 A)098 B)oXde C)32767 D)0xDG(14)现在有以下定义,int a;double b;float c;char k;则下⾯的表达式a/b+c-k值的类型为: A)int B)double C)float D)char(15)假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为 A)17 B)16 C)15 D)14(16)下列关于复合语句和空语句的说法错误的是 A)复合语句是由“{”开头,由“}”结尾的 B)复合语句在语法上视为⼀条语句 C)复合语句内,可以有执⾏语句,不可以有定义语句部分 D)C程序中的所有语句都必须由⼀个分号作为结束(17)关于printf()函数的返回值叙述正确的是 A)通常是本次调⽤中输出字符的个数 B)通常是输出的第⼀个数值 C)通常返回布尔值真 D)通常返回⾮零值(18)现有格式化输⼊语句,scanf("x=%dц,sumцy=%d,lineцz=%dL",&x,&y,&z);,现在已知在输⼊数据后,x,y,z的值分别是12,34,45,则下列数据是正确的输⼊格式的是 A)12,34,45 B)x=12,y=34,z=45 C)x=12C,sumy=34,z=45 D)x=12],sum]y=34,line]z=45 [注]:“ц”表⽰空格, 表⽰回车(19)设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x||++y&&++z;则执⾏这个语句后t的值为 A)2 B)1 C)0 D)不定值(20)现有如下程序段,此程序段编译有错误,则程序段的错误出在 #include main() { int a=30,b=40,c=50,d; d=a>30?b:c; switch(d){case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c); default:printf("#");}} A)default:printf("#");这个语句 B)d=a>30?b:c;这个语句 C)case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c);这三个语句 D)switch(d)这个语句(21)下列语句中,错误的是(x,y,a,b假设已经定义好) A)while(x=y)5; B)do x++ while(x==10); C)while(0); D)do 2;while(a==b);(22)若i,j已经定义为整型,则以下程序段中,内循环体的执⾏次数是 for(i=6;i;i--) for(j=0;j<5;j++){……} A)40 B)35 C)30 D)25(23)下列说法中错误的是 A)只能在循环体内使⽤break语句 B)在循环体内使⽤break语句可以使流程跳出本层循环体,从⽽提前结束本层循环 C)在while和do…while循环中,continue语句并没有使整个循环终⽌ D)continue的作⽤是结束本次循环,即跳过本次循环体中余下尚未执⾏的语句,接着再⼀次进⾏循环判断(24)阅读如下程序段 #include "stdio.h" main() { int x,a,b; scanf("%d",&x); a=b=x; for(;x!=0;) { if(x if(x>a)a=x; scanf("%d",&x);} printf("a=%d,b=%d\n",a,b);} 现输⼊如下。
全国计算机等级考试二级C语言笔试试题及答案解析
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
计算机等级考试二级C语言模拟试卷(七)
全国计算机等级考试二级C语言模拟试卷(七)一、选择题(每小题1分,共40分)1、下列关于循环队列的叙述,正确的是A.循环队列是队列的一种顺序存储结构B.循环队列是队列的一种链式存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构2、下列叙述中,正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈和队列都是非线性结构D.栈和队列都是操作受限的线性结构3、一棵二叉树共有25个节点,其中5个叶子节点,那么度为1的节点数为A.4 B.6 C.10 D.164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A.内模式B.外模式C.概念模式D.逻辑模式5、在满足实体完整性约束的条件下A.一个关系中可以没有候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中应该有一个或者多个候选关键字6、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A.自然连接B.并C.差D.交7、软件生命周期中的活动不包括A.软件维护B.市场调研C.软件测试D.需求分析8、下列不属于需求分析阶段任务的是A.确定软件系统的功能需求B.确定软件系统的性能需求C.制定软件集成测试计划D.需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A.程序外部功能B.程序内部逻辑C.程序数据结构D.程序流程图10、在软件设计中不使用的工具是A.系统结构图B.程序流程图C.PAD图D.数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是A.确定算法和数据结构、编码、调试、整理文档B.编码、确定算法和数据结构、调试、整理文档C.整理文档、确定算法和数据结构、编码、调试D.确定算法和数据结构、调试、编码、整理文档12、下列关于C语言中数的表示的叙述,正确的是A.只有整型数在允许范围内能精确无误的表示,实型数会有误差B.只要在允许范围内整型和实型都能精确的表示C.只有实型数在允许范围内能精确无误的表示,整型数会有误差D.只有用八进制表示的数才不会有误差13、下列关于算法的叙述,错误的是A.算法可以用伪代码、流程图等多种形式来描述B.一个正确的算法必须有输入C.一个正确的算法必须有输出D.用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A.一个C程序可以包含多个不同名的函数B.一个C程序只能有一个主函数C.C程序在书写时,有严格的缩进要求,否则不能编译通过D.C程序的主函数必须用main作为函数名15、设有以下语句char ch1,ch2; scanf(”%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A.A和B之间用逗号间隔B.A和B之间不能有任何间隔符C.A和B之间可以用回车间隔D.A和B之间用空格间隔16、下列选项中,非法的字符常量是A.’\102’B.’\65’C.’\xff’D.’\019’17、有以下程序#include <stdio.h>main(){int a=0,b=0,c=0;c=(a-=a-5); a=b,b+=4;p rintf(“%d, %d, %d\n”,a,b,c)}程序运行后输出的结果是A.0,0,0 B.0,4,5 C.4,4,4 D.4,4,518、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A.x++; printf((“%d\n”,x); B.n=++x; printf((“%d\n”,n);C.++x; printf((“%d\n”,x); D.n=x++; printf((“%d\n”,n); 19、以下选项中,能表示逻辑值“假”的是A.0 B.0.000001 C.1 D.100.020、有以下程序#include <stdio.h>main(){ int a;s canf(“%d”,&a);if (a++<9) printf((“%d\n”,a);else printf(“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结果是A.8 B.9 C.10 D.11 21、有以下程序#include <stdio.h>int main(){int s=0,n;for (n=0;n<3;n++){switch(s){ case 0:case 1:s+=1;case 2:s+=2;break;case 3:s+=3;default:s+=4;}printf("%d,",s);}return 0;}程序运行后的结果是A.1,2,4, B.1,3,6 , C.3,6,10, D.3,10,14, 22、若k是int类型变量,且有以下for语句for(k=-1;k<0;k++)printf(“****\n”);下面关于语句执行情况的叙述中正确的是A.循环体执行一次B.循环体执行两次C.循环体一次也不执行D.构成无限循环23、有以下程序#include <stdio.h>int main(){char a,b,c;b='1';c='A';for (a=0;a<6;a++){if(a%2) putchar(b+a);else putchar(c+a);}return 0;}程序运行后输出的结果是A.123456 B.1B3D5F C.A2C4E6 D.ABCDEF24、设有如下定义语句int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A.*(k+2) B.k+2 C.*k+2 D.*k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
计算机二级证c语言试题及答案
计算机二级证c语言试题及答案一、选择题(每题2分,共40分)1. 下列哪个是C语言的关键字?A. mainB. ifC. forD. print2. C语言中,用于定义常量的关键字是:A. constB. staticC. finalD. volatile3. 在C语言中,定义整型变量的关键字是:A. floatB. intC. doubleD. char4. 下面哪个是C语言的赋值运算符?A. =B. ==C. +D. *5. 下列哪个运算符具有最高的优先级?A. +B. *C. =D. /二、填空题(每题4分,共40分)1. C语言中,用于输入函数的是______函数。
2. C语言中,用于输出函数的是______函数。
3. 声明函数的返回类型为整型时,应使用关键字______。
4. 下面代码的运行结果是:______。
int a = 5;int b = 2;double result = a / b;5. C语言中,用于定义宏的关键字是______。
三、编程题(共20分)请编写一个C语言程序,接受用户输入的四个整数,计算它们的和并输出结果。
```c#include <stdio.h>int main() {int num1, num2, num3, num4;printf("请输入四个整数:\n");scanf("%d %d %d %d", &num1, &num2, &num3, &num4);int sum = num1 + num2 + num3 + num4;printf("四个整数的和为:%d\n", sum);return 0;}```四、简答题(每题10分,共20分)1. 什么是C语言?C语言是一种广泛应用于系统编程和应用程序开发的程序设计语言,由Dennis Ritchie在20世纪70年代早期在贝尔实验室开发。
全国计算机等级考试二级c语言笔试试题及答案
全国计算机等级考试二级c语言笔试试题及答案1. 单项选择题:以下哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 单项选择题:在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. 单项选择题:C语言中,哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C4. 单项选择题:以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello''';D. char str[] = "Hello";答案:A5. 单项选择题:C语言中,哪个函数用于计算数组中元素的个数?A. sizeofB. lengthC. countD. size答案:A6. 单项选择题:在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[3,4];C. int array[3][];D. int array[][];答案:A7. 单项选择题:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 单项选择题:在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr*[];答案:A9. 单项选择题:C语言中,哪个函数用于输入一个字符?A. scanfB. printfC. getcharD. putchar答案:C10. 单项选择题:在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. default (condition)答案:A11. 单项选择题:C语言中,哪个关键字用于定义一个循环?A. forB. whileC. doD. All of the above答案:D12. 单项选择题:在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. float myFunction();D. All of the above答案:D13. 单项选择题:C语言中,哪个运算符用于计算两个数的除法?A. /B. *C. %D. //答案:A14. 单项选择题:在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. define PI 3.14C. #define "PI" 3.14D. #define PI = 3.14答案:A15. 单项选择题:C语言中,哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A16. 单项选择题:在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. freadD. All of the above答案:D17. 单项选择题:C语言中,哪个关键字用于定义一个联合体?A. unionB. structC. enumD. typedef答案:A18. 单项选择题:在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D19. 单项选择题:C语言中,哪个函数用于输出一个字符串?A. scanfB. printfC. getcharD. putchar答案:B20. 单项选择题:在C语言中,以下哪个选项是正确的递归函数声明?A. int factorial(int n);B. int factorial();C. int factorial(int);D. int factorial(int n) { if (n <= 1) return 1; else return n * factorial(n - 1); }答案:D。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试二级C语言真题库之选择题(07)全国计算机等级考试等级考试真题库之选择题(07)1.下列叙述中正确的是()。
A) 循环队列是队列的一种链式存储结构B) 循环队列是队列的一种顺序存储结构C) 循环队列是非线性结构D) 循环队列是一种逻辑结构参考答案:B【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式。
2.下列关于线性链表的叙述中,正确的是()。
A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C) 进行插入与删除时,不需要移动表中的元素D) 以上说法均不正确参考答案:C【解析】一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。
线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。
3.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()A) 16B) 10C) 6D) 4参考答案:A【解析】根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个。
4.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
A) 外模式B) 内模式C) 概念模式D) 逻辑模式参考答案:B【解析】数据库系统的三级模式是概念模式、外模式和内模式。
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。
外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。
内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,所以选择B)。
5.在满足实体完整性约束的条件下()。
A) 一个关系中应该有一个或多个候选关键字B) 一个关系中只能有一个候选关键字C) 一个关系中必须有多关键字个候选D) 一个关系中可以没有候选关键字参考答案:A【解析】实体完整性约束要求关系的主键中属性值不能为空值,所以选择A)。
6.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。
A) 自然连接B) 交C) 除D) 并参考答案:C【解析】如果S=T/R,则S称为T除以R的商。
在除运算中S的域由T中那些不出现在R中的域所组成,对于S中的任一有序组,由它与关系R 中每个有序组所构成的有序组均出现在关系T 中。
所以本题选择C)。
7.下面描述中,不属于软件危机表现的是()。
A) 软件过程不规范B) 软件开发生产率低C) 软件质量难以控制D) 软件成本不断提高参考答案:A【解析】软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。
所以选择A)。
8.下面不属于需求分析阶段任务的是()。
A) 确定软件系统的功能需求B) 确定软件系统的性能需求C) 需求规格说明书评审D) 制定软件集成测试计划参考答案:D【解析】需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审,所以选择D)。
9.在黑盒测试方法中,设计测试用例的主要根据是()。
A) 程序内部逻辑B) 程序外部功能C) 程序数据结构D) 程序流程图参考答案:B【解析】黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B)。
10.在软件设计中不使用的工具是()。
A) 系统结构图B) PAD图C) 数据流图(DFD图)D) 程序流程图参考答案:C【解析】系统结构图是对软件系统结构的总体设计的图形显示。
在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。
PAD图是在详细设计阶段用到的。
程序流程图是对程序流程的图形表示,在详细设计过程中用到。
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C)。
11.以下选项中关于程序模块化的叙述错误的是A) 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序B) 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C) 把程序分成若干相对独立的模块,可便于编码和调试D) 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序参考答案:A【解析】程序模块化思想中,可以采用自顶向下、逐步细化的方法。所以选项A中"自底向上"的说法是错误的。12.以下叙述中正确的是A) 用C语言编写的程序只能放在一个程序文件中B) C程序书写格式严格,要求一行内只能写一个语句C) C程序中的注释只能出现在程序的开始位置和语句的后面D) C程序书写格式自由,一个语句可以写在多行上参考答案:D【解析】C语言编写的程序可以放置于多个程序文件中,所以A错误。C程序中的一行可以有多条语句,所以B错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C错误。13.以下不合法的数值常量是A) 8.0E0.5B) 1e1C) 011D) 0xabcd参考答案:A【解析】A选项中E后面的指数必须为整型数据,所以A错误。C选项中011表示的是八进制常量,0xabcd表示的是十六进制常量。14.以下关于C语言数据类型使用的叙述中错误的是A) 若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型B) 若要保存带有多位小数的数据,可使用双精度类型C) 若只处理"真"和"假"两种逻辑值,应使用逻辑类型D) 整数类型表示的自然数是准确无误差的参考答案:C【解析】C语言中没有逻辑类型,所以C错误。若要保存带有多位小数的数据,可以用单精度类型也可以用双精度类型。处理包含不同类型的相关数据可以定义为结构体类型。整数类型可以无误差的表示自然数。15.设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是A) ++kB) k+=1C) k++D) k+1参考答案:C【解析】++k,先使得k的值自增1后再使用,k++是先取得k的值再将k的值自增1,所以C选项中表达式的值为0,而其他三个表达式的值均为1,所以选择C。16.有如下程序段:int x=12;double y=3.141593;printf("%d%8.6f", x, y);其输出结果是A) 123.141593B) 12 3.141593C) 12, 3.141593D) 123.1415930参考答案:A【解析】printf函数中格式字符"%8.6"的含义是:变量y的输出宽度为8(包括小数点),小数点后面保留6位小数,且右对齐。所以选择A。17.已知字符'A'的ASCII代码值是65,字符变量c1的值是'A',c2的值是'D'。
则执行语句printf("%d,%d", c1, c2-2 );的输出结果是A) 65,68B) A,68C) A,BD) 65,66参考答案:D【解析】打印时以%d整型格式打印输出,所以字符标量c1的值打印出来就是65,从c2-2的值打印出来就是68-2,即66。所以选择D。18.以下选项中,当x为大于1的奇数时,值为0的表达式是A) x%2==0B) x/2C) x%2!=0D) x%2==1参考答案:A【解析】算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是0。C选项的值为真,即1。D选项的值为真,即1。19.有以下程序#include <stdio.h>main(){ int x;scanf("%d", &x);if(x<=3) ; elseif(x!=10) printf("%d\n", x);}程序运行时,输入的值在哪个范围才会有输出结果A) 小于3的整数B) 不等于10的整数C) 大于3或等于10的整数D) 大于3且不等10的整数参考答案:D【解析】根据代码可知如果x的值小于3,执行空语句,不进行打印操作。如果x的值大于3,再判断x的值是否不等于10,如果不等于10就打印x的值,所以选择D选项。20.有以下程序#include <stdio.h>main(){ int a = 7;while ( a-- ) ;printf ("%d\n", a);}程序运行后的输出结果是A) 0B) -1C) 1D) 7参考答案:B【解析】a- -的含义是先用后减1,所以当a的值为0时,跳出循环,但是仍要执行a-- ,a的值变为-1。21.有以下程序#include <stdio.h>main(){char b,c;int i;b= 'a';c = 'A';for (i=0; i<6; i++){if (i%2) putchar(i+b);else putchar(i+c);}printf("\n");}程序运行后的输出结果是A) abcdefB) ABCDEFC) aBcDeFD) AbCdEf参考答案:D【解析】函数的含义是如果i的值能被2整除,以字符格式打印输出i+c的值,如果i的值不能被2整除打印i+b的值。第一次i值为0,执行else语句打印字符'A',第二次i值为1,打印1+b的值即字符'b',第三次i值为2,打印字符'C',依此类推选择D选项。22.有以下程序#include <stdio.h>main(){int i, j, x=0;for(i=0; i<2; i++){x++;for( j=0; j<=3; j++){if(j%2) continue;x++;}x++;}printf("x=%d\n",x);}程序执行后的输出结果是A) x=4B) x=8C) x=6D) x=12参考答案:B【解析】coutinue的作用是跳出循环体中剩余的语句而进行下一次循环。第一次执行外循环i的值为0,执行x++,x的值变为1,第一次执行内层循环j的值为0,不满足if条件,执行x++,x的值变为2,第二次内循环j的值为1,if条件成立,跳出本次循环,第三次执行内循环j的值为2,不满足if条件,x的值变为3,第四次执行内循环j的值为3满足条件跳出本次内循环,x的值加1,即为4,第一次外循环结束。第二次执行外循环时,同理,i 的值被加了,4次,变为8,所以选择B选项。23.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A) 函数的形参和实参分别占用不同的存储单元B) 形参只是形式上的存在,不占用具体存储单元C) 同名的实参和形参占同一存储单元D) 函数的实参和其对应的形参共占同一存储单元参考答案:A【解析】本题重点考察的是函数的形参和实参。