好文档 - 专业文书写作范文服务资料分享网站

2014年3月份全国计算机等级考试二级C语言选择题大全

天下 分享 时间: 加入收藏 我要投稿 点赞

{FILE *fp;int k,n,a[6]={1,2,3,4,5,6}; fp=fopen(\

fprintf(fp,\ fprintf(fp,\ fclose(fp);

fp=fopen(\

fscanf(fp,\fclose(fp); }

程序运行后的输出结果是 A)1 2 B)1 4 (31)若已定义

int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中则对a数组元素不正确的引用是

A)a[p-a] B)*(&a[i]) C)p[i] D)a[10] (32)有以下程序 #include

void fun(int *s,int n1,int n2) { int i,j,t; i=n1; j=n2;

while(i

{ int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9); fun(a,0,9);

for(k=0;k

程序的运行结果是

A)0987654321 B)4321098765 C)5678901234 D)0987651234

(33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为 #include #include #include

C)123 4 D)123 456

16

int fun (char *str) { int i,j=0;

for(i=0;str[i]!=′ \\0′;i++) if(str[i]!=′ ′)str[j++]=str[i]; str[j]= ′\\0′; } main() {

char str[81]; int n;

printf(\ gets(str); puts(str); fun(str); printf(\}

A)asdafaaz67 B)asd af aa z67 C)asd D)z67 (34)有以下程序 int fun(int n) {if(n==1)return 1; else

return(n+fun(n-1)); } main() {int x;

scanf(\ }

执行程序时,给变量x输入10,程序的输出结果是 A)55

B)54 C)65 D)45

(35)下面程序段中,输出*的个数是 char *s=\ for(;*s!='\\0';s++)printf(\ A)9 B)5 C)6 D)7 (36)C语言结构体类型变量在程序运行期间

A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元 17

所有的成员一直驻留

B)在内存中

C)只有最开始的成员驻留在内存中 D)部分成员驻留在内存中 (37)已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是 C)一个指针,指向要读入数据的存放地址 D)一个存储区,存放要读的数据项

(38)设有以下语句 char x=3,y=6,z; z=x^y<<2; 则z的二进制值是

A)00010100 B)00011011 C)00011100 D)00011000 (39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是 A)auto和register register

(40)设有定义语句int (*f)(int);,则以下叙述正确的是

A)f是基类型为int的指针变量 B)f是指向函数的指针变量,该函数具有一个int类型的形参

C)f是指向int类型一维数组的指针变量 D)f是函数名,该函数的返回值是基类型为int类型的地址 选择题

(1)C 【解析】程序流程图是人们对解决问题的方法、思路或算法的一种图形方式的描述。其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容;流程线表示操作的先后次序。带箭头的线段在数据流程图中表示数据流;带箭头的线段在程序流程图中表示控制流。题中给出的选项中,在图元之间用带有箭头的线段表示图元关系。在模块之间用带有箭头的线段表示调用关系。

(2)C 【解析】软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念,它们具有抽象、模块化、信息隐蔽和数据独立性。自底向上是集成测试中增量测试的一种。

(3)C 【解析】模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从强到弱分别是:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合和非直接耦合,没有异构耦合这种方式。

(4)D 【解析】软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它具有以下几个方面的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为

B)extern和register C)auto和static D)static和

A)一个整型变量,代表要读入的数据项总数 B)一个文件指针,指向要读的文件

18

确认测试和验收的依据。

(5)C 【解析】算法的复杂度主要包括算法的时间复杂度和空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算的次数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。

(6)B 【解析】堆排序的比较次数为nlog2n;直接插入排序的比较次数为n(n-1)/2;快速排序的比较次数为nlog2n。当数据表A中每个元素

(7)B 【解析】栈操作原则上\后进先出\栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈,所以出栈时一定是先出D,再出C,最后出A。 (8)A 【解析】数据库设计包括数据库概念设计和数据库逻辑设计两个方面的内容。 (9)A 【解析】关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为一个属性,对应表中的一个字段;在二维表中凡能唯一标识元组的最小属性集称为该表的键或码。

(10)C 【解析】 \选课SC\表是 \学生S\表和 \课程C\表的映射表,主键是两个表主键的组合。

(11)D 【解析】在C语言所有的运算符中,逗号运算符的优先级最低。C语言中区分大小写,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的值付给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。 (12)B 【解析】 C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,C语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。

(13)B 【解析】 C语言的语法规定,字母e(E)之前必须有数字,且e(E)后面的指数必须是整数,而选项B)中,e(E)后面的指数是小数,所以不合法。

(14)A 【解析】在C语言中,\运算符两侧的运算数必须是整型。

(15)A 【解析】赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,选项C)和D)错误。\运算符两侧都应当是整型数据,选项B)错误。

(16)D 【解析】输出格式控制符%c表示将变量以字符的形式输出;输出格式控制符%d表示将变量以带符号的十进制整型数输出,所以第一个输出语句输出的结果为a,97;第二个输出语句输出的结果为k=12。

(17)B 【解析】 C语言的字符以其ASCII码的形式存在,所以要确定某个字符是大写字母,只要确定它的ASCII码在'A'和'Z'之间就可以了,选项A)和C)符合要求。函数isalpha用来确定一个字符是否为字母,大写字母的ASCII码值的范围为65到90,所以如果一个字母的ASCII码小于91,那么就能确定它是大写字母。

(18)B 【解析】满足表达式(c>=2&&c<=6)的整型变量c的值是2,3,4,5,6。当变量c的值不为2,4,6时,其值只能为3或5,所以表达式c!=3和c!=5中至少有一个为真,即不论c为何值,表达式B)都为\真\。

19

(19)B 【解析】条件运算符要求有3个操作对象,称三目(元)运算符,它是C语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式1?表达式2:表达式3其求解顺序是:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值,注意++、--的用法。 (20)B 【解析】在一维数组中要注意的是作为下标表达式的常量表达式的值必须是大于等于0,选项B)中定义有5个元素,但赋值时有6个元素,所以是错误的。

(21)B 【解析】本题中,a[1][2]是二维数组中的第6个元素,对应for循环中i的值为5,p[5]=5+1。

(22)B 【解析】本题中,\表示逻辑非运算符,\表示不等于运算符,逻辑非运算符比不等于运算符的优先级高。

(23)C 【解析】对于字符串指针,其保留的是整个串的首地址,即第一个字符的起始地址;当该指针做算术运算时,就是该指针根据其类型向后移动相应的存储空间。

(24)A 【解析】数组c[][4]表示一个4行4列数组,c[2][2]表示第3行第3列上的元素62,*(*(c+1)+1))表示第2行第2列上的元素6,通过十六进制输出为3e,6。

(25)C 【 解析】选项A)char *a;*a=\应改为a=china;,选项B)应该是char str[6];D)项表述方法有错误。

(26)D 【解析】 C语言中数组下标是从0开始的,所以二维数组a[2][3]的第一维下标取值为0、1;第二维的下标取值为0、1、2,因而选项A)、B)、C)都是错误的,选项D)表示数组元素a[0][0]。

(27)D 【解析】在格式输入中,要求给出的是变易的地址,而D)答案中给出的s[1]是一个值的表达式。 (28)B 【解析】根据宏替换的替换规则,我们可知,f(2)=2*N+1=2*5+1=11,f(1+1)=1+1*N+1=1+1*5+1=7。

(29)D 【解析】选项A),共用体的每个成员的起始地址都相同;选项B),共用体变量所占的内存长度等于最长的成员的长度;选项C)因为每个成员的起始地址相同,所以整型数5以浮点型输出时为5.000000;选项D)C语言规定,不能把共用体变量作为函数的参数。

(30)D 【解析】将有6个元素的整型数组分两行输出到一个文件中,因为输出的都是数字并且每行都没有分隔符,所以当再对其进行读取操作时,每一行都会被认为是一个完整的数,而换行符则作为它们的分隔符。

(31)D 【解析】通常,引用一个数组元素可以用下标法,如a[p-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出数组范围,注意,数组的下标是从0开始的。

(32)C 【解析】函数fun(int *s,int n1,int n2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5,6,7,8,9,0};再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。

(33)A 【解析】本题题意要求删除所有空格,即除了空格以外的其他所有字符都要留下。由于C语言中没有直接删除字符的操作,所以我们对于删除字符的操作都是采用\留下\字符的算法,

20

2014年3月份全国计算机等级考试二级C语言选择题大全

{FILE*fp;intk,n,a[6]={1,2,3,4,5,6};fp=fopen(\fprintf(fp,\fprintf(fp,\fclose(fp);fp=fopen(\fscanf(fp,\fclose(fp);}程序运行后的输出结果是A)12B)14(
推荐度:
点击下载文档文档为doc格式
7uva280t55423gi8fm06
领取福利

微信扫码领取福利

微信扫码分享