全国计算机等级考试二级c模拟试卷6
最新全国计算机等级考试二级c++题库6(共17套)
第六套1、下列叙述中正确的是______。
A、栈是"先进先出"的线性表B、队列是"先进后出"的线性表C、循环队列是非线性结构D、有序线性表既可以采用顺序存储结构,也可以采用链式存储结构栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。
一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。
所以栈又称"后进先出"表,所以选项A是错误的。
队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。
在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。
因此队列又称"先进先出"表,所以选项B是错误的。
循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。
它的逻辑结构仍然是线性结构,所以选项C是错误的。
有序线性表既可以采用顺序存储结构,也可以采用链式存储结构,所以选项D是正确的。
故本题答案为D。
2、将E-R图转换为关系模式时,实体和联系都可以表示为______。
A、属性B、键C、关系D、域将E-R图转换为关系模式时,实体和联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。
实体集也可以转换成关系。
故本题答案为C。
3、下面叙述中错误的是______。
A、软件测试的目的是发现错误并改正错误B、对被调试的程序进行"错误定位"是程序调试的必要步骤C、程序调试通常也称为DebugD、软件测试应严格执行测试计划,排除测试的随意性1983年IEEE将软件测试定义为:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
因此选项A的叙述是错误的。
软件测试的基本准则为:①所有测试都应追溯到需求。
全国计算机等级考试二级C历年真题及答案
全国计算机等级考试二级C历年真题及答案一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列B)线性表C)二叉树D)栈(3)在一棵二叉树上第5层的结点数最多是A)8B)16C)32D)15(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象B)继承C)类D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析B)需求分析C)详细设计D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计B)给出系统模块结构C)定义模块算法D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型C)软件工具B)数据库管理系统D)数据库(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式B)外模式C)概念模式D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)―封装性‖指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)―多态性‖指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A)ch>='A'&ch<='Z'B)ch<='A'||ch>='Z'C)'A'<=ch<='Z'D)ch>='A'&& ch<='Z'(13)已知下列语句中的某和y都是int型变量,其中错误的语句A)某=y++;B)某=++y;C)(某+y)++;D)++某=y;(14)执行语句序列intn;cin>>n;witch(n){cae1:cae2:cout<<'1';cae3:cae4:cout<<'2';break;default:cout<<'3';}时,若键盘输入1,则屏幕显示A)1B)2C)3D)12(15)下列程序的输出结果是#includeuingnamepacetd;intmain(){chara[]=\char某ptr=a;while(某ptr){if(某ptr>='a'&&某ptr<='z')cout<<char(某ptr+'A'-'a');elecout<<某ptr;ptr++;}return0;}A)HELLO,WORLDB)Hello,WorldC)hELLO,wORLDD)hello,world(16)已知:intm=10;在下列定义引用的语句中,正确的是A)int&某=m;B)inty=&m;C)int&z;D)int&t=&m;(17)下列函数原型声明中错误的是A)voidFun(int某=0,inty=0);B)voidFun(int某,inty);C)voidFun(int某,inty=0);D)voidFun(int某=0,inty);(18)已知程序中已经定义了函数tet,其原型是inttet(int,int,int);,则下列重载形式中正确的是A)chartet(int,int,int);B)doubletet(int,int,double);C)inttet( int,int,int=0);D)floattet(int,int,float=3.5F);(19)有以下程序#includeinti=0;voidfun(){{taticinti=1;td::cout<td::cout<2intmain(){fun();fun();return0;}程序执行后的输出结果是A)1,2,1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,0,(20)已知函数f的原型是:voidf(int某a,long&b);变量v1、v2的定义是:intv1;longv2;,正确的调用语句是A)f(v1,&v2);B)f(v1,v2);C)f(&v1,v2);D)f(&v1,&v2);(21)有以下类定义claMyCla{public:MyCla(){cout<<1;}};则执行语句MyClaa,b[2],某p[2];后,程序的输出结果是A)11B)111C)1111D)11111(22)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C++语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#includeuingnamepacetd;claMyCla{public:MyCla(intn){number=n;}//拷贝构造函数MyCla(MyCla&other){number=other.number;}~MyCla(){}private: intnumber;};MyClafun(MyClap){3MyClatemp(p);returntemp;}intmain(){MyClaobj1(10),obj2(0);MyClaobj3(obj1);obj2=fun(obj3);return0 ;}程序执行时,MyCla类的拷贝构造函数被调用的次数是A)5B)4C)3D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员B)私有成员和保护成员C)公有成员和保护成员D)私有成员、保护成员和公有成员(26)在C++中用来实现运行时多态性的是A)重载函数B)析构函数C)构造函数D)虚函数(27)一个类可以同时继承多个类,称为多继承。
2020年全国计算机二级等级考试全真模拟试卷及答案(第六套)
2020年全国计算机二级等级考试全真模拟试卷及答案(第六套)1.设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为A) BCAB) CBAC) ABCD) CAB参考答案:C2.下列叙述中正确的是A) 存储空间不连续的所有链表一定是非线性结构B) 结点中有多个指针域的所有链表一定是非线性结构C) 能顺序存储的数据结构一定是线性结构D) 带链的栈与队列是线性结构参考答案:D3.算法时间复杂度的度量方法是A) 算法程序的长度B) 执行算法所需要的基本运算次数C) 执行算法所需要的所有运算次数D) 执行算法所需要的时间参考答案:B4.设循环队列为Q(1: m),初始状态为front=rear=m。
现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为A) 1B) 2C) m-1D) 0或m参考答案:D5.计算机软件的构成是A) 源代码B) 程序和数据C) 程序和文档D) 程序、数据及相关文档参考答案:D6.下面不属于软件设计阶段任务的是A) 软件的详细设计B) 软件的总体结构设计C) 软件的需求分析D) 软件的数据设计参考答案:C7.下面属于黑盒测试方法的是A) 边界值分析法B) 基本路径测试C) 条件覆盖D) 条件-分支覆盖参考答案:A8.一名雇员就职于一家公司,一个公司有多个雇员。
则实体公司和实体雇员之间的联系是A) 1:1联系B) 1:m联系C) m:1联系D) m:n联系参考答案:B9.有关系R如下,其中属性B为主键:B C Da 0 k1b 1 n12 p1则其中最后一个记录违反了A) 实体完整性约束B) 参照完整性约束C) 用户定义的完整性约束D) 关系完整性约束参考答案:A10.在数据库系统中,用于对客观世界中复杂事物的结构及它们之间的联系进行描述的是A) 概念数据模型B) 逻辑数据模型C) 物理数据模型D) 关系数据模型参考答案:A11.以下选项中可用作C语言中合法用户标识符的是A) _123B) voidC) -abcD) 2a参考答案:A12.以下选项中合法的C语言赋值语句是A) ++i;B) a=b=34C) a=3,b=9D) k=int( a+b );参考答案:A13.以下程序段中的变量已定义为int类型sum = pad = 5; pAd = sum++, pAd++, ++pAd; printf( "%d\n", pad );程序段的输出结果是A) 5C) 6D) 7参考答案:A14.有以下程序#include <stdio.h>#include <math.h>main(){int a=1, b=4, c=2;double x=10.5, y=4.0, z;z = ( a+b )/c + sqrt( y ) * 1.2 / c + x; printf("%f\n", z);}程序运行后的输出结果是A) 13.700000B) 14.000000C) 15.400000D) 14.900000参考答案:A15.有以下程序(字母A的ASCII代码为65)#include <stdio.h>{char c1 = 'A', c2 = 'Y';printf("%d, %d\n", c1, c2 );}程序运行后的输出结果是A) 65, 89B) A, YC) 65, 90D) 输出格式不合法,输出出错信息参考答案:A16.若变量已正确定义,则以下for循环for ( x=0,y=0; ( y!=123 ) && ( x<4 ); x++ );A) 执行4次B) 执行3次C) 执行次数不确定D) 执行123次参考答案:A17.若有说明语句:char c = '\72' ; 则变量c中存放的是A) 1个字符B) 2个字符C) 3个字符D) 说明语句不合法参考答案:A18.以下叙述正确的是A) do-while语句构成的循环,当while语句中的表达式值为0时结束循环B) do-while语句和while-do构成的循环功能相同C) while-do语句构成的循环,当while语句中的表达式值为非0时结束循环D) do-while语句构成的循环,必须用break语句退出循环参考答案:A19.有以下程序#include <stdio.h>main(){int a, b, c=241;a = c/100 % 9;b = ( -1 )&&( -1 );printf("%d, %d\n", a, b );}程序运行后的输出结果是A) 2,1B) 6,1C) 6,0D) 2,0参考答案:A20.有以下程序#include <stdio.h>main( ){int i ;for( i=1; i<= 5; i++ ){ if( i % 2 ) printf( "*" ); else continue;printf( "#" );}printf( "$\n" );}程序运行后的输出结果是A) *#*#*#$B) *#*#*$C) *#*#$D) *#*#*#*$参考答案:A21.若有说明语句: int *ptr[10]; 以下叙述正确的是A) ptr是一个具有10个指针元素的一维数组,每个元素都只能指向整型变量B) ptr是指向整型变量的指针C) ptr是一个指向具有10个整型元素的一维数组的指针D) ptr是一个指向10个整型变量的函数指针参考答案:A22.有以下程序#include <stdio.h>main(){printf("%d\n", NULL );}程序运行后的输出结果是A) 0B) 变量无定义,输出不确定C) -1D) 1参考答案:A23.函数调用语句:fun( ( exp1, exp2 ), ( exp1, exp2, exp3) ); 含有的实参个数是A) 2B) 4C) 5D) 1参考答案:A24.若有定义语句:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,以下选项中错误引用a数组元素的是(其中 0≤i<10)A) *(*(a+i))B) a[ p-a ]C) p[i]D) *( &a[i] )参考答案:A25.有以下程序#include <stdio.h>main(){int a[10] = { 11,12,13,14,15,16,17,18,19,20 },*p=a,i=9 ; printf( "%d,%d,%d\n",a[ p-a ], p[i],*( &a[i] ) );}程序运行后的输出结果是A) 11,20,20B) 12,20,20C) 11,19,19D) 12,19,20参考答案:A26.有以下程序#include <stdio.h>void fun( int *s, int t, int *k ){ int p;for( p=0, *k=p; p<t; p++ )if( s[p]>s[*k] ) *k = p;}main(){int a[10] = { 11,12,13,14,15,16,20,18,19,10 },k ; fun( a,10,&k );printf( "%d,%d\n",k, a[k] );}程序运行后的输出结果是A) 6,20B) 10,9C) 7,20D) 10,1027.有以下说明语句char *s = "\"Name\\Address\n";指针s所指字符串的长度是A) 14B) 15C) 17D) 说明语句不合法参考答案:A28.有以下程序#include <stdio.h>#include <string.h>main(){char str[12] = { 's','t' , 'r' , 'i' , 'n' , 'g'} ; printf("%d\n", strlen( str ) );}程序运行后的输出结果是A) 6B) 7C) 11D) 12参考答案:A29.有以下程序#include <stdio.h>main(){char *s[6] = { "ABCD", "EFGH","IJKL","MNOP","QRST","UVWX" }, **p ;int i;p = s;for( i = 0; i<4; i++ ) printf( "%s", p[i] );printf( "\n" );}程序运行后的输出结果是A) ABCDEFGHIJKLMNOPB) ABCDEFGHIJKLC) ABCDD) AEIM参考答案:A30.有以下程序#include <stdio.h>main(){int i=1, j=3;printf("%d," ,i++ );{ int i=0;i+=j*2;printf("%d,%d," ,i,j ); }printf("%d,%d\n" ,i,j ); }程序运行后的输出结果是A) 1,6,3,2,3B) 1,6,3,1,3C) 1,6,3,6,3D) 1,7,3,2,3参考答案:A31.有以下程序#include <stdio.h>int fun(int a,int b){static int m=0, i=2;i +=m+1; m = i + a + b; return m;}main(){int k=4, m=1, p;p = fun( k,m ); printf("%d,", p);p = fun( k,m ); printf("%d\n" ,p );}程序运行后的输出结果是A) 8,17B) 8,16C) 8,8D) 8,20参考答案:A32.若有以下程序段char str[4][12] = {"aaa","bbbb","ccccc","dddddd"},*strp[4];int i;for( i=0; i<4; i++) strp[i]=str[i];则以下错误引用字符串的选项是(其中0≤k<4)A) strpB) str[k]C) strp[k]D) *strp参考答案:A33.有以下程序#include <stdio.h>#define F(x) 2.84+x#define PR(a) printf("%d" ,(int)(a))#define PRINT(a) PR(a);putchar('\n')main(){PRINT( F(5)*2 );}程序运行后的输出结果是A) 12B) 13C) 15D) 11参考答案:A34.以下关于fclose(fp)函数的叙述正确的是A) 当程序中对文件的所有写操作完成之后,必须调用fclose(fp)函数关闭文件B) 当程序中对文件的所有写操作完成之后,不一定要调用fclose(fp)函数关闭文件C) 只有对文件进行输入操作之后,才需要调用fclose(fp)函数关闭D) 只有对文件进行输出操作之后,才能调用fclose(fp)函数关闭文件参考答案:A35.若有以下定义和语句struct st{ int n; struct st *next; };struct st a[3] = { 5,&a[0], 6,&a[1], 7,&a[2] }, *p; p=&a[0];则值为6的表达式是(提示:运算符->的优先级高于++)A) (++p)-> nB) p++ ->nC) p ->n++D) (*p).n++参考答案:A36.标准库函数fgets( s,n,f )的功能是A) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存B) 从文件f中读取长度为n的字符串存入指针s所指的内存C) 从文件f中读取n个字符串存入指针s所指的内存D) 从文件f中读取n-1个字符串存入指针s所指的内存参考答案:A37.有以下程序#include <stdio.h>{ char c='A';int x=36, b;b= (x>>2) && ( c<'a' );printf("%d\n", b );}程序运行后的输出结果是A) 1B) 0C) 2D) 4参考答案:A38.有以下程序#include <stdio.h>typedef struct{char name[10]; int age;} ST;main(){ ST stud[10]={ "Adum", 15, "Muty", 16, "Paul", 17,"Johu", 14,};┋}程序运行后不能输出字符u的语句是A) printf("%c\n", stud[0].name[3] );B) printf("%c\n", stud[3].name[3] );C) printf("%c\n", stud[2].name[2] );D) printf("%c\n", stud[1].name[1] );参考答案:A39.设有定义:int a=64,b=8;,则表达式(a&b)||(a&&b)和(a|b)&&(a||b)的值分别为A) 1和1B) 1和0C) 0和1D) 0和0参考答案:A40.有以下程序#include <stdio.h>main(){ FILE *fp;int i, a[6]={1,2,3,4,5,6},k;fp = fopen("data.dat", "w+"); fprintf(fp, "%d\n", a[0]);for (i=1; i<6; i++){ fseek(fp, 0L, 0);fscanf(fp, "%d", &k);fseek(fp, 0L, 0);fprintf(fp, "%d\n", a[i]+k); }rewind(fp);fscanf(fp, "%d", &k);fclose(fp);printf("%d\n", k);}程序的运行结果是A) 21B) 6C) 123456D) 11参考答案:A。
全国计算机等级考试2020年二级C语言程序设计模拟试题_真题含答案与解析)-交互6
全国计算机等级考试2020年二级C语言程序设计模拟试题(总分100, 做题时间120分钟)选择题1.下列语句组中,正确的是SSS_SINGLE_SELAchar*s;s="Olympic";Bchar s[7];s="Olympic";Cchar*s;s={"Olympic"};Dchar s[7];s={"Olympic"};分值: 1答案:A字符型指针变量可以用选项 A 的赋值方法: char *s;s="Olympic",选项C 的写法: char*s;s={"Olympic"};是错误的。
字符数组可以在定义的时候初始化: chars[]={"Olympic"};或者 char s[]="Olympic",都是正确的,但是不可以在定义字符数组后再对数组名赋值(数组名是常量,代表数组首地址)。
所以 B、 D 选项都是错误的。
对于本例,选项 B、D 中字符数组 s 的大小至少为 8,才能存放下字符串。
(字符串的末尾都有结束标识'\0')。
所以选择 A 选项。
2.以下所列对结构类型变量 tdl 的声明中错误的是SSS_SINGLE_SELAtypedef struct aa{int n;float m;}AA;B#define AA struct aaAA{int n;float m;)tdl;AAtdl;C{int n; float m;)aa;Dstruct{int n;float m;}tdl;struct aa tdl;分值: 1答案:C3.以下程序运行后的输出结果是#include<stdjo.h>void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}mam(){int b[10]={10,9,8,7,6,5,4,3,2,1);int i,s=0; reverse(b,10);for(i=0;i<3;i++)s+=b[i];printf("%d\n",s);}SSS_SINGLE_SELA27B6C25D30分值: 1答案:B4.下列选项中,由 C 语言提供的合法关键字的是SSS_SINGLE_SELABcherCdefaultDCase分值: 1答案:C选项 A 和选项 B 为拼写错误,选项 D 中出现了大写字母。
全国高校计算机等级考试(二级C)模拟试题5套
全国高校计算机等级考试(二级C)模拟一试题一、选择题1、设有语句:int k, *p; 以下能正确执行的赋值语句是(D )。
A、k=pB、k=&pC、P=KD、p=&k2、以下运算符中优先级最高的运算符是( A )。
A、!B、&&C、||D、<3、求字符串长度的函数是(D )。
A、strcatB、strcpyC、strcmpD、strlen4、下面程序段的运行结果是( A )。
char x[5]=“ab\0c\0”;printf("%s",x);说明:“\0”中的“0”是数字零。
A、abB、abcC、ab\0D、ab\0c\05、若有说明语句: int a[2][4]; 则对数组a元素的正确引用是( D )。
A、a[2]B、a[4]C、a[2][4]D、a[1][3]6、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )。
A、float型B、int型C、long型D、double型7、用数组名作为函数调用的实参时,传递给虚参的是( A )。
A、数组的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数8、以下程序的输出结果是(D )。
#include<stdio.h>#define F(y) 8-yvoid main(void){int x,y;y=F(2);printf(“y=%d”,y);}A、2B、y=2C、6D、y=69、以下程序的输出结果是( A )。
#include<stdio.h>struct{int x,y;} a;void main(void){int x,y=50,z;a.x=10;a.y=20;z=a.x+y;printf(“%d”,z);}A 、60B 、10 C、0 D、2010、语句fopen(“file.dat”,”r”); 的功能是( A )。
A、按照“读”方式打开文件B、按照“写”方式打开文件C、按照“读写”方式打开文件D、按照“追加”方式打开文件11、关闭文件的语句是(D )。
2021年全国计算机二级等级考试全真模拟试卷及答案(六)
2021年全国计算机二级等级考试全真模拟试卷及答案(六)1.下列叙述中正确的是A) 所谓算法就是计算方法B) 程序可以作为算法的一种描述方法C) 算法设计只需考虑得到计算结果D) 算法设计可以忽略算法的运算时间参考答案:B2.下列各序列中不是堆的是A) (91,85,53,36,47,30,24,12)B) (91,85,53,47,36,30,24,12)C) (47,91,53,85,30,12,24,36)D) (91,85,53,47,30,12,24,36)参考答案:C3.深度为5的完全二叉树的结点数不可能是A) 15B) 16C) 17D) 18参考答案:A4.A) ABDEGCFHB) DBGEAFHCC) DGEBHFCAD) ABCDEFGH参考答案:A5.下面描述不属于软件特点的是A) 软件是一种逻辑实体,具有抽象性B) 软件在使用中不存在磨损、老化问题C) 软件复杂性高D) 软件使用不涉及知识产权参考答案:D6.下面对类-对象主要特征描述正确的是A) 对象唯一性B) 对象无关性C) 类的单一性D) 类的依赖性参考答案:A7.在数据库中,数据模型包括数据结构、数据操作和A) 数据约束B) 数据类型C) 关系运算D) 查询参考答案:A8.一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般都有一个教练,则实体运动队和队员的联系是A) 一对多B) 一对一C) 多对一D) 多对多参考答案:A9.设循环队列为Q(1: m),其初始状态为front=rear=m。
经过一系列入队与退队运算后,front=30,rear=10。
现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为A) 19B) 20C) m-19D) m-20参考答案:D10.A) 投影B) 交C) 选择D) 并参考答案:A11.关于C语言标识符,以下叙述错误的是A) 标识符可全部由数字组成B) 标识符可全部由下划线组成C) 标识符可全部由小写字母组成D) 标识符可全部由大写字母组成参考答案:A12.以下叙述正确的是A) 只使用三种基本结构即可解决任何复杂问题B) C语言程序并不是必须要定义main()函数C) 只要程序包含了任意一种基本结构,就肯定是结构化程序D) 程序中的语法错误只能在运行时才能显现参考答案:A13.以下选项中,合法的数值型常量是A) 3.2B) 'X'C) 099D) 0xEH参考答案:A14.有以下程序#include <stdio.h>main( ){int x = 0x13;printf("INT:%d\n", x+1);}程序运行后的输出结果是A) INT:14B) INT:13C) INT:12D) INT:20参考答案:D15.设有定义:int x=7,y=12;,则以下表达式值为3的是A) (y%=x)-(x%=5)B) y%=(x%=5)C) y%=x-x%5D) y%=(x-x%5)参考答案:A16.以下不是合法C语言转义字符的是A) '\c'B) '\a'C) '\b'D) '\r'参考答案:A17.有如下程序#include <stdio.h>main( ){int i;for (i=0; i<5; i++)putchar('Z' - i);}程序运行后的输出结果是A) 'X''Y''Z''W''V'B) VWXYZC) ZYXWVD) 'ABCDE'参考答案:C18.字符数组a和b中存储了两个字符串,判断字符串a和b是否相等,应当使用的是A) if(strcmp(a,b)==0)B) if(strcpy(a,b))C) if(a==b)D) if(a=b)参考答案:A19.以下程序段中,与其他三个功能不同的程序段是A) s=0;i=1;for( ; ; ) {s+=i; i++; if(i<=10) break;} B) s=0,i=1;for( ; i<=10; ) {s+=i,i++;}C) s=0;for(i=1; i<=10; i++) {s+=i;}D) for(s=0,i=1; i<=10; s+=i,i++) ; 参考答案:A20.有以下程序#include <stdio.h>main( ){ int x=1, y=2, z=3;if(x>1)if(y>x) putchar('A');else putchar('B');elseif(z<x) putchar('C');else putchar('D');}程序的运行结果是A) DB) CC) BD) A参考答案:A21.有语句:k=x<y ?(y<z?1:0):0; ,以下选项中,与此语句功能相同的是A) if(x<y || y<z) k=1; else k=0;B) if(x<y) k=0; else if(y<z) k=1;C) if(x<y) if(y<z) k=1;else k=0;D) if(x<y && y<z) k=1; else k=0;参考答案:D22. 有如下程序#include <stdio.h>void change(int* array, int len){for (; len>=0; len--)array[len] -= 1;}main( ){int i, array[5] = {2,2};change(array, 4);for (i=0; i<5; i++)printf("%d,", array[i]); printf("\n");程序运行后的输出结果是A) 1,1,-1,-1,-1,B) 1,0,-1,1,-1,C) 1,1,1,1,1,D) 1,-1,1,-1,1,参考答案:A23.有以下程序#include <stdio.h>main( ){char* p1 = 0;int* p2 = 0;float* p3 = 0;printf("%d,%d,%d\n", sizeof(p1), sizeof(p2), sizeof(p3));}程序运行后的输出结果是A) 1,4,8B) 4,4,4C) 1,2,4D) 1,1,4参考答案:B24. 有以下程序段int *p1,*p2,a[10];p1=a;p2=&a[5];则p2-p1的值为A) 5B) 10C) 12D) 无法确定参考答案:A25.以下叙述中错误的是A) 基类型不同的指针可以直接相互赋值B) 函数可以通过指针形参向所指单元传回数据C) 字符型指针可以指向一个字符串D) 指针的运用可使程序代码效率更高参考答案:A26. 有以下程序#include <stdio.h>main( ){ int i,j = 0;char a[] = "How are you", b[10] = {0}; for (i=0; a[i]; i++)if (a[i] == ' ')b[j++] = a[i+1];printf("%s\n",b);}程序运行后的输出结果是A) HayB) HowareyouC) weD) ay参考答案:D27. 有以下程序#include <stdio.h>main( ){ char w[20], a[5][10] = {"abcdef", "ghijkl", "mnopq", "rstuv", "wxyz"};int i,j;for (i=0; i<5; i++){ j=0;while (a[i][j]!='\0') j++;w[i] = a[i][j/2+1];}w[5]= '\0';puts(w);程序运行后的输出结果是A) ekpuzB) agmrwC) flqvzD) djoty参考答案:A28.有以下程序#include <stdio.h>main( ){ int i,j = 0;char a[] = "How are you!", b[10] = {0}; for (i=0; a[i]; i++)if (a[i] == ' ')b[j++] = a[i-1];printf("%s\n", b);}程序运行后的输出结果是A) weB) Howareyou!C) ayD) we!参考答案:A29.以下涉及字符串数组、字符指针的程序段,没有编译错误的是A) char* str, name[5];str = "C/C++";B) char* str, name[6];name = "Hello";C) char str1[7] = "prog.c", str2[8]; str2 = str1;D) char line[];参考答案:A30.有如下程序#include <stdio.h>void get_put(){char ch;ch = getchar();if (ch != '\n') get_put();putchar(ch);}main( ){get_put();}程序运行时,输入ABCD<回车>,则输出结果是A) DCDCB) DCBAC) BABAD) ABCD参考答案:B31.有以下程序#include <stdio.h>main( ){char name[10] = {'S', 'T', 'R'}; name[2] = '#'; name[6] = 0;printf("%s\n", name);}程序运行后的输出结果是A) ST#B) STR#C) STR#0D) STR0参考答案:A32. 有以下函数int fun(char *ps){ char *p;p=ps;if(*ps==0) return 0; while(*++p);return(p-ps);}该函数的功能是A) 计算字符串的长度B) 实现字符串的赋值C) 将字符串逆序存放D) 计算字符串所占字节数参考答案:A33.有以下函数void fun(char *p, char *q){ while ((*p++ = *q++) != '\0'); } 该函数的功能是A) 计算字符串的长度B) 计算字符串所占字节数C) 将字符串逆序存放D) 实现字符串的复制参考答案:D34. 以下叙述错误的是A) 未经赋值的全局变量值不确定B) 未经赋值的auto变量值不确定C) 未经赋值的register变量值不确定D) 未经赋值的静态局部变量值为0 参考答案:A35.有以下程序#include <stdio.h>main( ){ int c, d;c = 10^3;d = 10+3;printf("%d,%d\n", c, d);}程序运行后的输出结果是A) 103,13B) 13,13C) 10,13D) 9,13参考答案:D36.有以下程序#include <stdio.h>#include <string.h>typedef struct stu {char name[10];char gender;int score;} STU;void f(char *name, char *gender, int *score) { strcpy(name, "Qian");*gender = 'f';*score = 350;}main( ){ STU a = {"Zhao", 'm', 290}, b;b = a;f(, &b.gender, &b.score);printf("%s,%c,%d,", , a.gender, a.score); printf("%s,%c,%d\n", , b.gender, b.score);}程序运行后的输出结果是A) Zhao,m,290,Qian,f,350B) Zhao,m,290,Zhao,m,290C) Zhao,m,290,Qian,m,350D) Zhao,m,290,Qian,m,290参考答案:A37.有如下程序#include <stdio.h>main( ){int a = 9, b;b = (a >> 3) % 4;printf("%d,%d\n", a, b);}程序运行后的输出结果是A) 9,1B) 4,0C) 4,3D) 9,3参考答案:A38. 有如下定义:struct{ int num;char name[10];struct{ int y; int m; int d;} birth;} s,*ps=&s;以下对内嵌结构体成员的引用形式错误的是A) ps.birth.yB) s.birth.yC) ps->birth.yD) (*ps).birth.y参考答案:A39. 函数rewind(fp)的作用是A) 函数rewind(fp)的作用是使文件读写指针指向文件开始位置B) 使文件位置指针指向文件的末尾C) 使文件位置指针移至前一个字符的位置D) 使文件位置指针移至下一个字符的位置参考答案:A40.以下选项中错误的是A) a&=b 与 a=a&b 等价B) a^=b 与 a=a^b 等价C) a|=b 与 a=a|b 等价D) a!^=b 与 a=a!^b 等价参考答案:D赠送励志修身名言警句可怕的敌人,就是没有坚强的信念。
2021年全国计算机二级等级考试模拟试卷及答案(第六套)
2021年全国计算机二级等级考试模拟试卷及答案(第六套)1. 下列关于栈叙述正确的是()。
A) 算法就是程序B) 设计算法时只需要考虑数据结构的设计C) 设计算法时只需要考虑结果的可靠性D) 以上三种说法都不对参考答案:D2. 下列叙述中正确的是()。
A) 有一个以上根结点的数据结构不一定是非线性结构B) 只有一个根结点的数据结构不一定是线性结构C) 循环链表是非线性结构D) 双向链表是非线性结构参考答案:B3. 下列关于二叉树的叙述中,正确的是()。
A) 叶子结点总是比度为2的结点少一个B) 叶子结点总是比度为2的结点多一个C) 叶子结点数是度为2的结点数的两倍D) 度为2的结点数是度为1的结点数的两倍参考答案:B4. 软件生命周期中的活动不包括()。
A) 市场调研B) 需求分析C) 软件测试D) 软件维护参考答案:A5. 某系统总体结构图如下图所示:该系统总体结构图的深度是()。
A) 7B) 6C) 3D) 2参考答案:C6. 程序调试的任务是()。
A) 设计测试用例B) 验证程序的正确性C) 发现程序中的错误D) 诊断和改正程序中的错误参考答案:D7. 下列关于数据库设计的叙述中,正确的是()。
A) 在需求分析阶段建立数据字典B) 在概念设计阶段建立数据字典C) 在逻辑设计阶段建立数据字典D) 在物理设计阶段建立数据字典参考答案:A8. 数据库系统的三级模式不包括()。
A) 概念模式B) 内模式.C) 外模式D) 数据模式参考答案:D9有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。
A) 自然连接B) 交C) 投影D) 并参考答案:A10. 下列选项中属于面向对象设计方法主要特征的是()。
A) 继承B) 自顶向下C) 模块化D) 逐步求精参考答案:A11.以下叙述中错误的是A) 算法正确的程序可以有零个输入B) 算法正确的程序最终一定会结束C) 算法正确的程序可以有零个输出D) 算法正确的程序对于相同的输入一定有相同的结果参考答案:C12. 以下叙述中正确的是A) C语句必须在一行内写完B) C程序中的每一行只能写一条语句C) C语言程序中的注释必须与语句写在同一行D) 简单C语句必须以分号结束参考答案:D13. 以下选项中关于C语言常量的叙述错误的是A) 经常被使用的变量可以定义成常量B) 常量分为整型常量、实型常量、字符常量和字符串常量C) 常量可分为数值型常量和非数值型常量D) 所谓常量,是指在程序运行过程中,其值不能被改变的量参考答案:A14. 以下选项中,不合法的C语言用户标识符是A) a_bB) AaBcC) a--bD) _1参考答案:C15. 若变量均已正确定义并赋值,以下合法的C语言赋值语句是A) x=y==5;B) x=n%2.5;C) x+n=i;D) x=5=4+1;参考答案:A16. 设有定义:int a; float b;执行scanf("%2d%f", &a, &b);语句时,若从键盘输入876 543.0<回车>则a和b的值分别是A) 87和6.0B) 876和543.0C) 87和543.0D) 76和543.0参考答案:A17. 有以下定义语句,编译时会出现编译错误的是A) char a='\x2d';B) char a='\n';C) char a='a';D) char a="aa";参考答案:D18. 当变量c的值不为2、4、6时,值也为"真"的表达式是A) (c>=2 && c<=6)&&(c%2!=1)B) (c==2)||(c==4)||(c==6)C) (c>=2 && c<=6)&& !(c%2)D) (c>=2 && c<=6) || (c!=3) || (c!=5)参考答案:D19. 有以下计算公式若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是A) if(x>=0) y=sqrt(x);if(x<0) y=sqrt(-x);B) if(x>=0) y=sqrt(x);else y=sqrt(-x);C) y=sqrt(x);if(x<0) y=sqrt(-x);D) y=sqrt(x>=0?x :-x);参考答案:C20. 有以下程序#include <stdio.h>main(){ int y=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是A) y=-1B) y=0C) y=1D) while构成无限循环参考答案:A21. 有以下程序#include <stdio.h>main(){ int i;for(i=1; i<=40; i++){ if(i++%5==0)if(++i%8==0) printf("%d ",i);}printf("\n");}执行后的输出结果是A) 5B) 24C) 32D) 40参考答案:C22. 有以下程序#include <stdio.h>main(){ 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 3 4 5 0<回车>,则输出结果是A) 66656B) 6566456C) 66666D) 6666656参考答案:B23. 以下叙述中错误的是A) 用户定义的函数中可以没有return语句B) 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C) 用户定义的函数中若没有return语句,则应当定义函数为void类型D) 函数的return语句中可以没有表达式参考答案:B24. 有以下程序#include <stdio.h>void fun(char *c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){ char b='a',a='A';fun(&b,a);printf("%c,%c\n",b,a);}程序运行后的输出结果是A) b,B,b,AB) b,B,B,AC) a,B,B,aD) a,B,a,B参考答案:A25. 列选项中,能正确定义数组的语句是A) int num[0...2008];B) int num[];C) int N=2008;int num[N];D) #define N 2008int num[N];参考答案:D26. 以下函数实现按每行8个输出w所指数组中的数据#include <stdio.h>void fun( int *w, int n){ int i;for(i=0;i<n;i++){ ______________printf("%d ",w[i]);}printf("\n");}在横线处应填入的语句是A) if( i/8==0 ) printf("\n");B) if( i/8==0 ) continue;C) if( i%8==0 ) printf("\n");D) if( i%8==0 ) continue;参考答案:C27. 有以下程序#include <stdio.h>void fun (char *c){while(*c){if( *c >= 'a' && *c <= 'z')*c =*c - ('a' - 'A');c++;}}main(){char s[81];gets(s);fun(s);puts(s);}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A) hello beijingB) Hello BeijingC) HELLO BEIJINGD) hELLO Beijing参考答案:C28. 有以下程序#include <stdio.h>main(){int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}};int i, j, k, t;for (i=0; i<4; i++)for (j=0; j<3; j++)for (k=j+1; k<4; k++)if (a[j][i] > a[k][i]){t=a[j][i];a[j][i] = a[k][i];a[k][i] = t;} /* 按列排序*/ for (i=0; i<4; i++)printf("%d, ",a[i][i]);}程序运行后的输出结果是A) 1, 6, 2, 1,B) 8, 7, 3, 1,C) 4, 7, 5, 2,D) 1, 6, 5, 7,参考答案:D29. 有以下程序(strcat函数用以连接两个字符串)#include <stdio.h>#include <string.h>main(){char a[20]="ABCD\0EFG\0",b[]="IJK";strcat(a,b);printf("%s\n",a);}程序运行后的输出结果是A) IJKB) ABCDE\0FG\0IJKC) ABCDIJKD) EFGIJK参考答案:C30. 有以下程序段char name[20];int num;scanf("name=%s num=%d",name, &num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A) name=Lili num=1001B) name=LiliC) Lili num=D) Lili参考答案:D31. 有以下程序#include <stdio.h>main(){char ch[ ] ="uvwxyz",*pc;pc=ch;printf("%c\n", *(pc+5));}程序运行后的输出结果是A) zB) 0C) 元素ch[5]的地址D) 字符y的地址参考答案:A32. 有以下程序#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) 0B) 2C) 3D) 5参考答案:B33. 有以下程序#include <stdio.h>int fun(int n){if(n==1)return 1;elsereturn(n+fun(n-1)); }main(){int x;scanf("%d",&x);x=fun(x);printf("%d\n",x);}执行程序时,给变量x输入10,程序的输出结果是A) 55B) 54C) 65D) 45参考答案:A34. 有以下程序#include <stdio.h>int f ( int m ){ static int n=0;n+=m;return n;}main(){ int n=0;printf ( "%d,", f(++n) );printf ( "%d\n", f(n++) );}程序运行后的输出结果是A) 3,3B) 1,1C) 2,3D) 1,2参考答案:D35. 设有以下语句typedef struct TT{ char c; int a[4]; } CIN; 则下面叙述中正确的是A) CIN是struct TT类型的变量B) TT是struct类型的变量C) 可以用TT定义结构体变量D) 可以用CIN定义结构体变量参考答案:D36. 有以下程序#include <stdio.h>struct ord{ int x,y; } dt[2]={1,2,3,4}; main(){struct ord *p=dt;printf("%d,",++(p->x));printf("%d\n",++(p->y));}程序运行后的输出结果是A) 3,4B) 4,1C) 2,3D) 1,2参考答案:C37. 有以下程序#include <stdio.h>#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A) 0B) -12C) -20D) 10参考答案:C38. 有以下程序#include <stdio.h>main(){ int a=2, b;b = a<<2;printf ("%d\n", b );}程序运行后的输出结果是A) 2B) 4C) 6D) 8参考答案:D39. 下列关于C语言文件的叙述中正确的是A) 文件由一系列数据依次排列组成,只能构成二进制文件B) 文件由结构序列组成,可以构成二进制文件或文本文件C) 文件由数据序列组成,可以构成二进制文件或文本文件D) 文件由字符序列组成,其类型只能是文本文件参考答案:C40. 有以下程序#include <stdio.h>main(){ FILE *fp;int a[10]={1,2,3,0,0}, i;fp = fopen("d2.dat", "wb");fwrite(a, sizeof(int), 5, fp);fwrite(a, sizeof(int), 5, fp);fclose(fp);fp = fopen("d2.dat", "rb");fread(a, sizeof(int), 10, fp);fclose(fp);for (i=0; i<10; i++)printf("%d,", a[i]);}程序的运行结果是A) 1,2,3,0,0,0,0,0,0,0,B) 1,2,3,1,2,3,0,0,0,0,C) 123,0,0,0,0,123,0,0,0,0,D) 1,2,3,0,0,1,2,3,0,0,参考答案:D赠送励志修身名言警句可怕的敌人,就是没有坚强的信念。
计算机二级《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++模拟试题及解析10套
全国计算机等级考试二级C++ 模拟试题及解析(1)一、选择题1. 算法的有穷性是指()。
答案:AA )算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用2. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n —1)/2的排序方法是()。
答案:DA )快速排序B)冒泡排序C)直接插入排序D)堆排序3. 下列关于栈的叙述正确的是()。
答案:BA)栈按"先进先出"组织数据B)栈按"先进后出"组织数据C)只能在栈底插入数据D)不能删除数据4. 一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
答案:B A)12345ABCDEB)E DCBA54321C)ABCDE12345D)54321EDCBA5. 下列叙述中正确的是()。
答案:DA)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D )循环队列中元素的个数是由队头指针和队尾指针共同决定6. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
答案:CBJ 阪0阪*)#> 03廟汕)*D7. 下列叙述中正确的是()。
答案:AA)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间8. 在数据管理技术发展的三个阶段中,数据共享最好的是()。
答案:CA)人工管理阶段B)文件系统阶段C)数据库系统阶段D)三个阶段相同9. 下列叙述中正确的是()。
答案:DA)栈是先进先出”的线性表B)队列是先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构10. 支持子程序调用的数据结构是()。
2020年全国计算机等级考试二级C语言全真模拟试卷及答案(共三套)
2020年全国计算机等级考试二级C语言全真模拟试卷及答案(共三套)2020年全国计算机等级考试二级C语言全真模拟试卷及答案(一)一、选择题在下列各题的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)假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A)log2n B)n2 C)O(n1..5)D)n(n-1)/2(8)在深度为5的满二叉树中,叶子结点的个数为A)32 B)31 C)16 D)15(9)数据库系统的核心是A)数据库B)数据库管理系统C)模拟模型D)软件工程(10)一个关系中属性个数为1时,称此关系为A)对应关系B)单一关系C)一元关系D)二元关系(11)下面各选项中,均是C语言合法标识符的选项组是A)33 we auto B)_23 me _3ew C)_43 3e_ else D)ER -DF 32(12)可在C程序中用作用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下对C语言函数的有关描述中,正确的是A)在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参B)C函数既可以嵌套定义又可以递归调用C)函数必须有返回值,否则不能使用函数D)函数必须有返回值,返回值类型不定(14)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(15)现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为:A)int B)double C)float D)char(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(17)有以下程序段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 (18)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i);其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(19)下列程序的运行结果是#include "stdio.h"main(){ int x=-9,y=5,z=8;if(x<y)if(y<0)z=0;else z+=1;printf("%d\n",z);}A)6 B)7 C)8 D)9(20)若程序执行时的输入数据是"2473",则下述程序的输出结果是#include<stdio.h>void main(){ int cs;while((cs=getchar())!=; '\n'){switch(cs-'2'){ case 0case 1: putchar(cs+4);case 2: putchar(cs+4);break;case 3: putchar(cs+3); default: putchar(cs+2); } } }A)668977B)668966C)6677877D)6688766(21)以下程序的输出结果是main(){ int a,i;a=0;for(i=1;i<5;i++){ switch(i){ case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5; }}printf("%d\n",a);}A)31 B)13 C)10 D)20(22)现有如下程序段#include "stdio.h"main(){ int k[30]={12,324,45,6,768,98,21,34,453,456};int count=0,i=0;while(k[i]){ if(k[i]%2==0||k[i]%5==0)count++;i++; }printf("%d,%d\n",count,i);}则程序段的输出结果为A)7,8 B)8,8 C)7,10 D)8,10(23)若有以下程序#include <stdio.h>int a[]={2,4,6,8};main(){ int i;int *p=a;for(i=0;i<4;i++)a[i]=*p;printf("%d\n",a[2]);}上面程序的输出结果是A)6 B)8 C)4 D)2(24)有以下程序#include <stdio.h>main(){ 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′的ASCII码值是65,字符变量cl的值是′A′,c2 的值是′D′。
计算机等级考试二级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语言笔试模拟题及答案是全国计算机(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机根底知识和使用一种高级计算机语言编写程序以及上机调试的根本技能。
那么计算机等级考试二级会怎么考?以下仅供参考!以下各题 A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。
答在试卷上不得分。
(1) 二进制数101110 转换为等值的八进制数是()。
A.45B.56C.67D.78(2) CPU 是由()组成的。
A.内存储器和控制器B.控制器和运算器C.内存储器和运算器D.内存储器、控制器和运算器(3) DOS 是为IBM PC 系列微型计算机及其兼容机所配置的()磁盘。
A.多用户多任务B.单用户单任务C.分时D.分布式(4) 启动MS-DOS 操作系统后,()已驻留内存。
A.B.C.D.CCCC.EXE(5) 设驱动器B 中软盘上的目录构造如以下图所示。
设当前目录为F2,那么把A 盘根目录下的PROG.BAS 文件复制到B 盘F3 子目录中的命令是()。
A.COPY PROG.BAS B:B.COPY A:PROG.BAS B:C.COPY A:PROG.BAS B:F3D.COPY A:PROG.BAS B:F3(6) 下面四组DOS 命令中,意义完全相同的一组是()。
A.COPY 和DISKCOPYB.P 和DISKPC.DEL 和RDD.RENAME 和REN(7) 防止软盘感染病毒的有效方法是()。
A.不要把软盘和有毒软盘放在一起B.在写保护缺口上贴上胶条C.保持机房清洁D.定期对软盘格式化(8) 双面高密度5 英寸软磁盘的容量是()。
A.360KBB.720KBD.1.44MB(9) 在FOXBASE 中,可以使用的两类变量是()。
A.内存变量和字段变量B.全局变量和部分变量C.字段变量和简单变量D.内存变量和自动变量(10) 建立一个新子目录的DOS 命令是()。
全国计算机等级考试二级C语言程序设计真题精选6(含答案)
全国计算机等级考试二级C语言程序设计真题精选6一、单项选择题1.有以下程序:#includ<stdio.h>#defin4voifun(ina[][N],inb[])ini; for(i=0;i<N;i++)b[i]=a[i][i];}main()inx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("");}程序运行的结果是()。
A.1,2,3,4,B.1,0,7,0, √C.1,4,5,9D.3,4,8,0解析:数组x有4列。
fun函数中for循环的作用是将二维数组前4行的对角线元素赋给b[0],b[1],b[2],b[3]。
在主函数中,二维数组初始化为{1,2,3},{4},{5,6,7,8},{9,10},所以可以看出对角线元素为1,0,7,0,。
2.有以下程序:#includ<stdio.h>main()chaa=4; printf("%",a=a<<1);}程序运行的结果是()。
A.40B.16C.8 √D.4解析:左移一位相当于原数乘以2,右移一位相当于除以2。
a<<1结果为4*2=8,没有超过char类型的范围。
3.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则出栈的顺序应为其逆序,即EDCBA54321。
4.有以下程序:#includ<stdio.h>strucstinx,y;data[2]={1,10,2,20};main ()strucs*p=data; printf("%d,",p->y);printf("%",(++p)->x);}程序运行的结果是()。
全国计算机等级考试二级c语言押题
全国计算机等级考试二级c语言押题一、选择题(每题2分,共50题)在Word中,若要将邀请信内容以繁体中文格式呈现,最优的操作方法是:A. 选用一款繁体中文输入法,然后使用该输入法输入邀请信内容B. 先输入邀请信内容,然后通过Word中内置的中文简繁转换功能将其转换为繁体格式C. 在计算机中安装繁体中文字库,然后将邀请信字体设为某一款繁体中文字体D. 在Windows“控制面板”的“区域和语言”设置中,更改区域设置以实现繁体中文显示下列属于计算机程序设计语言的是:A. ACDSeeB. VisualBasicC. WaveEditD. WinZip二进制数1110111.11转换成十六进制数是:A. 77.CB. 77.3C. E7.CD. E7.3在PowerPoint中,若需将一个被其他图形完全遮盖的图片删除,最优的操作方法是:A. 先将上层图形移走,然后选中该图片将其删除B. 通过按Tab键,选中该图片后将其删除C. 打开“选择窗格”,在对象列表中选择该图片名称后将其删除D. 直接在幻灯片中单击选择该图片,然后将其删除数据独立性是数据库技术的重要特点之一,所谓数据独立性是指:A. 数据与程序独立存放B. 不同的数据被存放在不同的文件中C. 不同的数据只能被对应的应用程序所使用D. 数据与应用程序的逻辑结构相互独立下列关于算法的描述,正确的是:A. 算法的时间复杂度是指执行算法程序所需要的时间B. 算法的空间复杂度是指算法程序所占的存储空间C. 算法是解决问题的步骤集合,具有确定性、有穷性、输入、输出和可行性D. 算法只能使用计算机语言描述在Excel中,要为工作表添加“第1页,共?页”样式的页眉,最快捷的操作方法是:A. 在页面布局视图中,直接输入“第1页,共?页”B. 在页面布局视图中,使用页眉的预设样式功能C. 在“页面设置”对话框中,为页眉应用“第1页,共?页”的预设样式D. 在页眉区域使用VBA代码实现动态页码下列文件扩展名中,不属于Word模板文件的是:A. .DOTXB. .DOCXC. .DOTD. .DOTM在计算机网络中,英文缩写WAN的中文名是:A. 局域网B. 无线网C. 广域网D. 城域网下列关于软件工程三要素的描述,正确的是:A. 方法、工具和平台B. 方法、工具和过程C. 方法、工具和环境D. 方法、算法和工具(注:由于篇幅限制,以下仅展示部分题目,实际试卷应包含更多题目以全面考察考生能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空1.实型变量的类型说明符有:__________、____________。
2.表达式7+8>2 && 25 %5的结果是_______________________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
Int n=0, ch;Ch=getchar( );While( __________________ ) ) ) ){ if ( ________________ ) n++;4.putchar(c ) 函数的功能是是是_____________________________________。
5int *p 的含义是是是是___________________________________________。
6.C语言中数组的下标下限为___________________________。
7.定义fp为文件型指针变量的定义方法为_______________________。
8.数组int a[3][4];共定义了____________个数组元素。
二、单项选择题1、下列属于整型常量的是________。
A、12B、12.0C、-12.0D、10E102、不属于字符型常量的是_________。
A.…A‟B、'a'C、“A”D、'b'3、下列表达式为关系表达式的为_________。
(其中a为一整型变量)A.3+4*5B、a==10C、a>0?a:-aD、a=14、下面不正确的赋值语句是_____________。
A.a=a+1B、a= =bC、a+=bD、a=15、下列对数组定义不正确的语句是______________。
A.int m[5];B、char b[]={…h‟,‟e‟};C、int a[10]={1,6,8,4};D、char p[];6、若有以下定义,则______和______是对数组元素的正确引用。
int a[5],*p=aA.*&a[6]B、*p+8C、*(a+2)D、*p7、执行下列语句后,a的值是______。
int a=8;a+=a-=a*a;A.-240B、64C、112D、-1128. 指出下面正确的输入语句()。
A. scanf(“a=b=%d”,&a,&b) ;B. scanf(“%d,%d”,&a,&b) ;C. scanf(“%c”,c) ;D. scanf(“%f\n”,&f) ;9.下面的变量说明中正确的是____________。
A.int:a, b, c;B.int a; b; c;C.int a, b, cD.int a, b, c;10. C语言用()表示逻辑“真”值。
A.TrueB. t 或yC. 非零整型值D. 整型值011.若x=5,y=4 则y*=x+5; y的值为( ).A. 40B. 20C. 15D. 3013.C语言中以追加方式打开一个文件应选择_______________参数。
A.“r”B.“w”C.“rb”D.“a”14.Break语句的正确的用法是( )。
A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。
B. 在多重循环中,只能退出最靠近的那一层循环语句。
C. 跳出多重循环。
D. 只能修改控制变量。
15.两个指针变量的值相等时,表明两个指针变量是________________。
A. 占据同一内存单元。
B. 指向同一内存单元地址或者都为空。
C. 是两个空指针。
D. 都没有指向。
16.字符串指针变量中存入的是________________。
A.字符串的首地址。
B. 字符串C.第一个字符D. 字符串变量。
17.以_______________个是不正确的描述。
A. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。
B. 在定义函数时,必须指定形参的类型。
C. 形参和实参之间可以是值传递。
D. 数组名可以作为参数进行传递。
18 表达式“1?(0?3:2):(10?1:0)”的值为_____________________。
A.3B. 2C. 1D. 019. 为表示关系x≥y≥z,应使用C语言表达式A.(x>=y)&&(y>=z)B. (x>=y) AND (y>=z)C.(x>=y>=z)D. (x>=z)&(y>=z)20.以下说法中正确的是_______________。
A.C语言程序总是从第一个定义的函数开始执行。
B.在C语言程序中,要调用的函数必须有main( ) 函数中定义。
C.C语言程序总是从main( ) 函数开始执行。
D.C语言程序中的main( ) 函数必须放在程序的开始部分。
21.设有数组定义:char array[]=”China”;则数组所占的存贮空间为__________。
A.4个字节B. 5个字节C. 6个字节D. 7个字节22.根据C语言的语法规则,下列________个是不合法标识符。
A.WhileB. NameC. Rern5D. _exam三、读出下列程序,写出程序的运行结果。
1. main(){ int a=8 , b=1;a=a+b;b=a*b;printf("a=%d,b=%d",a,b); }该程序的运行结果是___________________________________。
2. main(){ int i,num[5];for(i=0;i<5;i++)num[i]=i*10 - 2;printf("%d",num[3]); }该程序的运行结果是___________________________________。
3. main(){ float c,f;c=30.0;f=(6*c)/5+32;printf("f=%f",f); }该程序的运行结果是___________________________________。
4. main(){ int a=6095 , b ;b=a 00 ;printf("%d", b) ; }该程序的运行结果是___________________________________。
5. # include “stdio.h”main( ){ int a[]={8,2,9,4,1}, *p;p=a;*(p+2)+=2;printf(“%d, %d ”, *p, *(p+2));}该程序的运行结果是___________________________________。
四、将下列程序中不正确的语句改正。
1. main( ){ int k ;k=35555 ;printf ( “%d “, k) ;}2. main ( ){ int a , b ;scanf ( “input a ,b:”,a , b );printf (“a=%d, b=%d”,a,b);}3. main( ){ int sum , k ;sum=0 ;k= 1 ;while (k < =100 )sum = sum+k ;k + + ;p rintf (“ sum=%d\n”, sum) ;}4. main( ){ int k , a( 8 ) ;for( k=0; k<10 ; k++)scanf(“%d”, &a(k));...... }5. main( )scanf(“%d”, a);if (a = 1)printf(“One\n”) ;}五.编程题1. 用程序计算下列表达式:s=1!+2!+3!+4!2、从键盘上输入三个数,求出其中最大的一个数。
3. 输入两个整数,调用函数stu( )求两个数差的平方,返回主函数显示结果。
4.从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平均分,输出平均分,最高分,最低分。
5.write.txt中,遇到回车键输入结束。
(用“\n”表示回车键)参考答案一、填空1.float double2.03.ch!=…\0‟(ch>=…a‟ && ch<=…z‟) ||(ch>=…A‟ && ch<=…Z‟)4.将字符c所包含的值输出到标准的输出设备上。
5.定义一个整型的指针变量p6.07.FILE *fp8.12二、单项选择题1、 A2、 C3、 B4、 B5、 D6、C D7、 D8、 B 9、 D 10、C 11、A. 13、D 14、B15、A. 16、A 17、A. 18、B 19、A 20、C 21、C 22、A三、读出下列程序,写出程序的运行结果。
1. a=9,b=92. 283. f=684. 955. 8,11四、将下列程序中不正确的语句改正。
1. long int k ; printf ( “%ld “, k) ; }2. scanf ( “%d,%d”,a , b );3. while (k < =100 ){ sum = sum+k ;k + + ; }4. int k , a[8] ;scanf(“%d”, &a[k]);5. if (a = = 1)五.编程题1. main(){ long int a,b,sum=0,p;for(a=1;a<=4;a++){ p=1;for(b=1;b<=a;b++)p*=b;sum+=p; }printf(“%ld”,sum); }2、main(){ int a,b,c,max;scanf(“%d,%d,%d”,&a,&b,&c);if (a>b)max=a;elsemax=b;if (max<C)max=c;printf(“max=%d”,max); }3. int stu(int a,int b){ int c;c=a*a+b*b;return c; }main(){ int x,y,z;scanf(“%d,%d”,&x,&y);z=stu(x,y);printf(“%d”,z); }4.main(){ float a[10],b,max,min,sum=0,aver;for(b=0;b<10;b++)scanf(“%f”,&a[b]);max=min=a[0];for(b=1;b<10;b++){ if(a[b]>max)max=a[b];if(a[b]<MIN)min=a[b];sum+=a[b]; }sum=sum-max-min;aver=sum/8;printf(“%f,%f,%f”,aver,max,min); }5.main(){ FILE *fp;Char ch;fp=fopen(“write.txt”,“w”);ch=getchar();while(ch!= …\n‟){ fputc(ch,fp);ch=getchar(); }fclose(fp);}。