2022-2023年吉林省吉林市全国计算机等级考试C语言程序设计预测试题(含答案)_第1页
2022-2023年吉林省吉林市全国计算机等级考试C语言程序设计预测试题(含答案)_第2页
2022-2023年吉林省吉林市全国计算机等级考试C语言程序设计预测试题(含答案)_第3页
2022-2023年吉林省吉林市全国计算机等级考试C语言程序设计预测试题(含答案)_第4页
2022-2023年吉林省吉林市全国计算机等级考试C语言程序设计预测试题(含答案)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022-2023年吉林省吉林市全国计算机等级考试C语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.下列可用于C语言用户标识符的一组是

A.void,define,WORD

B.a3_b3,_123,Car

C.For,-abc,IFCase

D.2a,DO,sizeof

2.设某文件内排序后得到100个初始归并段(初始顺串),若使用多路归并排序算法,且要求三趟归并完成排序,问归并路数最少为()

A.5B.6C.7D.8

3.

4.不带头结点的单链表head为空的判定条件是()。

A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL

5.定义int*swap()指的是______。

A.—个返回整型值的函数swap()

B.一个返回指向整型值指针的函swap()

C.一个指向函数swap()的指针,函数返回一个整型值

D.以上说法均错

6.以下选项中非法的表达式是()。

A.a+1=a+1

B.a=b==0

C.(Char.(100+100.

D.7<=X<60

7.若进栈序列为1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是______。

A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1

8.有以下程序#include<stdio.h>voidfun(intx){if(x/2>1)fun(x/2);printf("%d",x);}main{fun(7);printf("\n");}程序运行后的输出结果是()。A.137B.731C.73D.37

9.有以下程序:#include<stdio.h>voidf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf(“%d,%d”,m,n);}voidf(int*p,int*q){p=p+1;*q=*q+1;}程序的运行结果是()。A.2,3B.1,3C.1,4D.1,2

10.以下选项中错误的是()。A.printf(“%s\n”,‘s’);

B.printf“%d%c\n”,‘s’,‘s’);

C.printf(“%c\n”,‘s’-32);

D.printf(“%c\n”,65);

11.在Internet中,域名服务器的主要功能是实现()的转换。

A.IP地址到域名(主机名字)B.域名到IP地址C.主机IP地址和路由器IP地址之间D.路由器IP地址之问

12.设有二元关系R和三元关系s,下列运算合法的是()。

A.R∩SB.R∪SC.R-SD.R×S

13.若有定义“inta=5,b=7;”,则表达式a%-(b%2)运算后,a的值为()。

A.0B.1C.11D.3

14.信息隐蔽的概念与下述哪一种概念直接相关?

A.软件结构定义B.模块独立性C.模块类型的划分D.模块耦合度

15.

16.

17.面向对象方法中,继承是指()。

A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制

18.

19.设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是()。

A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)

20.如果最常用的操作是取第i个结点及其前驱,最节省时间的存储方式是()。

A.单链表B.双向链表C.单循环链表D.顺序表

二、2.填空题(20题)21.设有宏定义:

#defineWIDTH80

#defineLENGTHWIDTH+40

则执行赋值语句“v=LENGTH*20;"(v为int型变量)后,v的值是【】。

22.设有下列的程序段:

charstr[]="Hello";

char*ptr;

ptr=-str;

执行上面的程序段后,*(ptr+5)的值为______。

23.以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数数返回字符串:yes!否则函数返回这符串:no!并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空

#include<string.h>

char*huiwen(char*str)

{char*p1,*p2;inti,t=0;

pl=str;p2=______;

for(i=0;i<=strlen(str)/2;i+*)

if(*p1++!=*p2--){t=1;break;}

if(______)return("yes!");

elsereturn(*no!");

}

main()

{charstr[50];

printf("Input:");scanf("%s",str);

printf("%s\n",______);

}

24.【】是数据库设计的核心。

25.数据结构分为逻辑结构和存储结构,循环队列属于______结构。

26.数据流图的类型有【】和事务型。

27.数据结构包括数据的逻辑结构、数据的【】以及对数据的操作运算。

28.若有以下程序

intf(intx,inty)

{return(y-x)*x;}

main()

{inta=3,b=4,c=5,d;

d=f(f(3,4),f(3,5));

ptintf("%d\n",D);

执行后输出结果是______。

29.在面向对象方法中,类之间共享属性和操作的机制称为______。

30.若有以下程序

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

printf("%d%d%dln",a,b,c);

}

执行后输出结果为______。

31.若有定义:inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},则初始化后,a[2][2]得到的初值是______。

32.以下程序运行后输出结果是______。

voidswap(intx,inty)

{

intt;

t=x;x=y;y=t;printf("%d%d",x,y");

}

main()

{

inta=3,b=4;

swap(a,b);printf("%d%d\n",a,b);

}

33.当先后输入1、3、4、12、23时,屏幕上出现【】;再输入12时,则屏幕上出现【】。

#include<stdio.h>

#defineN5

main()

{inti,j,number,top,bott,min,loca,a[N],flag;

charc;

printf("Pleaseinput5numbers(a[i]>a[i-1])\n");

scanf("%d",&a[0]);

i=1;

while(i<N)

{scanf("%d",&a[i]);

if(a[i]>=a[i-1))i++;

}

printf("\n");

for(i=0;i<N;i++)printf("%d",a[i]);

printf("\n");

flag=1;

while(flag)

{scanf("%d",&number);

loca=0;

top=0;

bott=N-1;

if((number<a[0])||(number>a[N-1]))loca=-1;

while((loca==0)&&(top<=bott))

{min=(bott+top)/2;

if(number==a[min])

{loca=min;

printf("%disthe%dthnumber\n",number,loca+1);

}

elseif(number<a[min])bott=min-1;

elsetop=min+1;

}

if(loca==0||loca==-1)printf("%disnotinthelist.\n",number);

c=getchar();

if(c=='N'||c=='n')flag=0;

}

}

34.若x和a均是血型变量,则计算完x=(a=4,6*2)后的x值为______。

35.表达式pow(2.8,sqrt(float(x)))值的数据类型为______型。

36.以下程序的输出结果是______。

#include<stdio.h>

main()

{inta[5]={2,4,6,8,10},*p;

p=a;p++;

printf("%d",*p);

}

37.若有下列定义:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,则值为3的表达式为:______。

38.已有定义如下:

structnode

{intdata;

structnode*next;

}*p;

以下语句调用malloc函数,使指针p指向一个具有structnode类型的动态存储空间。请填空。

p=(structnode*)malloc(【】);

39.以下程序运行后的输出结果是()。

main()

{inta,b,c;

a=10;b=20;c=(a%b<1)||(a/b>1);

printf("%d%d%%d\n",a,b,C);

}

40.以下程序的输出结果是______。

main()

{inta=0;

a+-(a=8);

printf("%d\n",a);

}

三、1.选择题(20题)41.设x=015,则x=x017的值是()。

A.1111B.11111101C.10D.11000000

42.下列描述中不正确的是()。

A.字符型数组中可以存放字符串

B.可以对字符型数组进行整体输入、输出

C.可以对整型数组进行整体输入、输出

D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值

43.以下程序的输出结果是______。main(){inta=3;printf("%d\n",(a+=a-=a*A));}

A.-6B.1C.2D.-12

44.下面程序的输出结果为______。#include<string.h>main(){charp1[7]="abc",p2[]="ABC",str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s",str);}

A.xyzabcABCB.abcABCC.xyzabcD.xyzABC

45.设变量a,b,c,d和y都已正确定义并赋值。若有以下if语句:

if(a<b)

if(c==d)y=0;

elsey=1;

该语句所表示的含义是()。

A.

B.

C.

D.

46.下列叙述中,正确的是

A.线性表是线性结构B.栈和队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构

47.下列程序的输出结果是()。#include<stdio.h>#defineF(x)2.84+x#definew(y)printf("%d",(int)(y))#defineP(y)w(y)putchar('\n')main(){intx=2;P(F(5)*x);}

A.12B.13C.14D.16

48.以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空:#include<stdio.h>findmax(int*s,intt,int*k){intp;for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])________;}main(){inta[10],i,k;for(i=0;i<10;i++)scanf("%d",&a[i]);findmax(a,10,&k);printf("%d,%d\n",k,a[k]);}

A.k=pB.*k=p-sC.k=p-sD.*k=p

49.在深度为5的满二叉树中,叶子结点的个数为A.32B.31C.16D.15

50.以下函数值的类型是_______。fun(floatx){floaty;y=3*x-4;returny;}

A.intB.不确定C.voidD.float

51.下述函数功能是_______。intfun(char*x){char*y=x;while(*y++);returny-s-1;}

A.求字符串的长度B.求字符串存放的位置C.比较两个字符串的大小D.将字符串x连接到字符串y后面

52.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。

A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.没有任何关系

53.设有数组定义:chararray[]="China";则数组array所占的空间为()

A.4个字节B.5个字节C.6个字节D.7个字节

54.有以下程序

#include<stdio.h>

#defineN5

#defineMN+1

#definef(x)(x*M)

main()

{inti1,i2;

i1=f(2);

i2=f(1+1);

printf("%d%d\n",i1,i2);

}

程序的运行结果是

A.1212B.117C.1111D.127

55.有以下程序:#include<stdio.h>main(){inti=1,j=2,k=3;if(i++==1&&(++j==3‖k++==3))printf("%d%d%d\n",i,j,k);}程序运行后的输出结果是()。

A.123B.234C.223D.233

56.以下程序的运行结果是______。main(){charn=0x20;printf("%d\n",n=n<<1);}

A.100B.160C.128D.64

57.若有说明inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是()

A.i=*p;B.*p=*&jC.i=&jD.i=**p;

58.能将高级语言程序转换成目标语言程序的是______。

A.调试程序B.解释程序C.编译程序D.编辑程序

59.进行二分法查找,则线形表______。

A.必须以顺序方式存储

B.必须以链接方式存储,且数据元素已按值排好序

C.必须以链接方式存储

D.必须以顺序方式存储,且数据元素已按值排好序

60.已有定义:intx=3,y=4,z=5,则表达式!(x+y)+z-1&&y+x/2的值是

A.6B.0C.2D.1

四、选择题(20题)61.有以下程序:

#include<stido.h>

main()

{charc1=′1′,c2=′2′;

c1=getchar();c2=getchar();putchar(c1);putchar(c2);

}

当运行时输入:a<回车>后,以下叙述正确的是()。

A)变量c1被赋予字符a,c2被赋予回车符

B)程序将等待用户输入第2个字符

C)变量c1被赋予字符a,c2中仍是原有字符2

D)变量c1被赋予字符a,c2中将无确定值

62.有以下程序:

若运行时输入:246<;回车>;,则输出结果为()。

A.204B.200C.240D.246

63.以下结构体类型说明和变量定义中正确的是()。

A.

B.

C.

D.

64.在面向对象方法中,不属于“对象”基本特点的是A.一致性B.分类性C.多态性D.标识唯一性

65.

66.下列数据结构中,能用二分法进行查找的是()。

A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表

67.若变量已正确定义为int型,要通过语句给a赋值l、+给b赋值2、给c赋值

3,以下输入形式中错误的是()(注:口代表一个空格符)。

68.设有以下语句

charchl,ch2;scanf("%c%C",&chl,&ch2);

若要为变量chl和ch2分别输入字符A和B,正确的输入形式应该是()。

A.A和B之间用逗号间隔

B.A和B之间不能有任何间隔符

C.A和B之间可以用回车间隔

D.A和B之间用空格间隔

69.

70.对于存储同样的一组数据元素而言().

A.顺序结构比链接结构易于扩充空间

B.顺序结构与链接结构相比,更有利于对元素进行插入、删除运算

C.顺序结构占用整块空间,而链接结构不要求整块空间

D.顺序结构比链接结构多占存储空间

71.

下列程序执行后的输出结果是()。

main

{inta[3][3],*p,i};

p=&a[0][0];

for(i=p;i<9;i++)p[i]=i+1;

printf("%d\n",a[1][2]);

}

A.3B.6C.9D.随机数

72.一间工厂可有多个工人,则实体工厂和工人之间的联系是

A.一对一B.一对多C.多对一D.多对多

73.有以下程序

74.

75.若有说明“chars1[30]="abc",s2[]="defghi";",则在使用函数stoat(s1,s2)后,结果是()。A.A.s1的内容更新为abcdefghiB.s1的内容更新为defghi\0

C.s1的内容更新勾defghiabc\0

D.s1的内容更新为abcdefghi\0

76.若有定义语句:“intx=12,y=8,z;”,在其后执行语句“z=0.9+x/y;”,则z的值为()。A.1.9B.1C.2D.2.4

77.以下叙述中错误的是()。

A.C语句必须以分号结束

B.复合语句在语法上被看作一条语句

C.空语句出现在任何位置都不会影响程序运行

D.赋值表达式末尾加分号就构成赋值语句

78.有以下程序程序运行后的输出结果是()。

A.0B.2C.1D.3

79.树是结点的集合,它的根结点数目是()。

A.有且只有1B.1或多于1C.0或1D.至少2

80.以下不能正确定义二维数组的选项是()。

A.

B.

C.

D.

五、程序改错题(1题)81.以下程序可把输入的十进制数以十六进制数的形式输出。请在横线上填上适当的内容并把横线删除,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:

六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写一个函数,用来删除字符串中的所有空格。例如,输入asdafaaz67,则输出为asdafaaz67。注意:部分源程序在文件prog1.c中。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:

参考答案

1.B解析:C语言规定标识符只能由字母、数字和下画线3种字符组成,且第一个字符必须为字母或下画线,排除选项C)和D);C语言中还规定标识符不能为C语言的关键字,而选项A)中void为关键字,故排除选项A)。

2.A

3.C

4.A

5.B解析:—个函数可以带回—个整型值、字符值、实型值等,但也可以带回指针型数据,即地址。本题的定义中,包括括号和*号,由于()优先级高于*。故它是—个返回整型指针的函数。

6.A赋值运算符的左边只能是变量,而不能是常量或表达式。

7.C解析:栈是一种后进先出表,选项C中,先出栈的是3,说明此时栈内必然有1,2,由于1先于2进浅,所以1不可能在2之前出栈,故选项C这种出栈序列是不可能的。

8.D本程序主要考查递归函数。fun(7),首先将参数代入函数,因为(7/2)>1,所以执行f(3),依此类推直到f(1.5),(1.5/2)<1,所以执行打印函数,此时X值为3,然后退出f(1.5),返回f(3),打印x值即7。所以选D。

9.B在f(int*p,int*q)函数中,执行“p=p+1;”是将p所对应的地址加1,而“*q=*q+1;”是将q所指向n的地址所对应的值加1,所以m的值没有变,而n的值则变为3。故本题答案为B选项。

10.A%d表示以字符和整型类型的格式输出,%c表示以字符类型的格式输出,%s表示以字符串类型的格式输出。选项A中,‘s’是字符,不能用%s格式来输出。故本题答案为A选项。

11.B在Internet中,把域名翻译为IP地址的软件称为域名系统DNS,运行域名系统的主机称为域名服务器。域名服务器的主要功能是实现入网主机名字和IP地址的转换。

12.D本题给出的两个关系R与S的表结构是不同的(R是二元关系,S是三元关系),它们不能进行∩、∪、一运算。而两个不同结构的关系是可以进行笛卡儿积(×)运算的。

13.A本题考查“%”运算符的使用。运算符“%”是整数除法的余数。本题中表达式a%=(b%2)等价于a=a%(b%2)=5%(7%2)=5%1=0。

14.B解析:采用信息隐蔽的目的就是为了确保每个模块的独立性。

15.D

16.B

17.D继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。

18.D

19.B解析:条件表达式的形式为:“表达式1?表达式2:表达式3”。其含义为:当“表达式1”的值为非零时,求出“表达式2”的值,此时“表达式2”的值就是整个条件表达式的值;当“表达式1”的值为零时,求出“表达式3”的值,此时“表达式3”的值就是整个条件表达式的值。对于本题来说,当表达式EXP为非0值时条件成立,即执行语句i++;当EXP等于0时,执行语句j--;这等同于条件表达式“(EXP!=0)?i++:i++;”。

20.D

21.880

22.'\0''\\0'解析:本题涉及字符数组和指针的两个知识点:①在c语言中,字符型数组在存放字符串时会自动在末尾加上字符串结束标识符'\\0',所以题中数组str有6个元素。②ptr指向数组s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。

23.str+strlen(p1)-1或str+strlen(str)-1残str-1+strlen(str)或3tr-1+strlen(p1)t==0或!t或t=='\0'huiwen(str)str+strlen(p1)-1或str+strlen(str)-1残str-1+strlen(str)或3tr-1+strlen(p1)\r\nt==0或!t或t=='\\0'\r\nhuiwen(str)解析:判断回文教一般使用两个指针或下标变量分别从检查串的第1个字符和最后一个字符开始相向移动,并比较两者内容是否相同,直到中间相遇一直相同则是回文数,否则不是。函数huiwen中开始定义了两个字符指针p1和p2,并让p1指向str的开始位置,所以p2应该指向str的尾部,即&str[strlen(sir)-1]或写成str+strlen(str)-1或者其他等价形式。然后使用一个循环,循环str的长度的一半次数,比较p1和p2的内容,并分别递增和递减这两个指针。若有不同,则让标志t为1,并跳出循环。所以最后一个if语句应该为判断标志t是否为1,即应该填t==0或者其他等价形式。在主函数中,应该输出huiwen()函数的返回结果,印最后一空应该填huiwen(str)。

24.数据模型数据模型

25.存储或物理或存储结构或物理结构存储或物理或存储结构或物理结构解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。供队列循环使用。可知,循环队列应当是物理结构。

26.变换型典型的数据流类型有两种:变换型和事务型。变换型是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统;在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。

27.存储结构数据结构包括3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。

28.99解析:在主函数中函数f(f(3,4),f(3,5))的返回值赋给d。函数的第一个参数为f(3,4)的返回值,函数f(9,4)返回值为(4-3)*3=3,f(3,5)返回值为(5-3)*3=6,那么函数f(f(3,4),f(3,5))等价于函数f(3,6)其返回值为(6-3)*3=9。因此d被赋值为9;所以输出9。

29.继承继承

30.503503解析:此处需注意的是:如果if后面的条件为真,只执行其后的一条语句或一条复合语句,如果if后面的条件为假,只执行else后面的一条语句或一条复合语句。先判断表达式“a<b”为假,不执行“t=a”,但执行“a=b;b=t;”,s的值为3,b的值为0。在判断表达式“a<c”,值为真,所以执行后面的3条语句“t=a;a=c;c=t”,结果a的值为5,c的值为3,所以最后输出的结果为5、0和3。

31.88解析:二维数组可以看成是按矩阵形式排列的,题目中给二维数组赋初值是按行分段赋值的,a[4][4]可以分解为4个一维数组,其数组名分别为a[0]、a[1]、a[2]、a[3],这4个一维数组都有4个元素,a[0]的元素为ap[0][0]、a[0][1]、a[0][2]、a[0][3]。

32.43344334解析:本题考查的是函数的传值调用。在C语宫中函数是传值调用的,印在函数中修改形参变量的内容,不会影响传给函数的实参变量的内容。题目中首先让a=3,b=4,然后调用swap()函数,该函数首先交换两个参数的值,然后输出交换后的值,即输出4和3,然后在主函数中再次输出a和b的值,由于传值调用不会影响实参的值,所以最后输出的是3和4。

33.134122312isthe4thnumber.

34.1212解析:x=(表达式1,表达式2,…)的形式,结果为最后一个表达式的值:x=(a=4,6*2)=2*6=12。

35.floatfloat解析:在此表达式中x是float类型的变量,经过开方所得到的结果仍是float类型,再和2.8进行运算时,应该先将2.8转换成float类型再运算,最后结果仍是float型。

36.指针P指向数组a的首地址,执行语句p++;后p指向数组a的第2个元素的地址,即a[1]的地址,因此*p=a[1]=4。\r\n\r\n

37.p+=2*(p++)p+=2,*(p++)解析:由题可知a[2]=3,因此只要使指针p指向a[3],然后再引用指针的值就可以了。

38.sizeof(structnode)或4sizeof(structnode)或4解析:malloc(sizeof(struetnode))的作用是开辟一个长度为sizeof(struetnode)的内存区。(structnode*)的作用是使malloc返回的指针转换为指向structnode类型数据的指针。

39.1020010200解析:a的初值为10,b的初值为20,因此“a%b”结果为10,“(a%b<1)”为假,“a/b”的结果为0,“(a/b>1)”为假,所以“(a%b<1)||(a/b>1)”的值为0(假),c的值为0。

40.1616解析:在程序中首先将8赋值给变量a,然后在进行复合赋值运算。即a=a+a=8+8=16,所以该空格处应该填16。

41.C解析:本题主要考查按位异或运算,x=015(二进制00001101),017的二进制为000001111,两者异或结果为00000010。

42.C解析:本题考查对数组的理解。C语言规定只能逐个引用数组元素,而不能一次引用整个数组。对于字符数组,可以将整个字符串一次输入或输出。所以,选项C)不正确。

43.D解析:赋值运算符的结合方向是自右至左,所以表达式a+=a-=a*a先运算最右边的a*a得9,再运算a=a-9,即a=3-9,所以此时a的值由3变成了-6,最后运算a=a-+(-6),即a=(-6)+(-6)=-12。

44.B解析:strcpy(str1,s1):作用是将字符串s1拷贝到字符数组str1中去。strcat(字符数组1,字符数组2):把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后返回字符数组1的地址。本题定义了三个字符数组p1,p2,sir,strcat(p1,p2)函数的作用是将字符串数组p2接到字符串p1的后面,结果放在字符数组p1中,再通过strcpy()函数将该字符串拷贝到str数组中,原str数组中的字符串xyz被覆盖,因此打印输出字符串str即可得到abcABC。

45.C解析:在C语言中,从if语句的最内层开始,else总是与它上面最近的(未曾配对的)if配对,故本题中y=1的条件是c≠d。又因为此if语句是前一个if语句的内层嵌套语句,所以在满足内层嵌套的if语句之前,必须先满足外层的if语句中的条件表达式。a<b,所以选项C)正确。

46.A解析:所谓的线性结构是指:如果一个非空的数据结构满足下列两个条件:

1)有且只有一个根结点;

2)每一个结点最多有一个前件,也最多有一个后件。所以同时满足两个条件的有队列、线性表、栈,而二叉树的结点可能存在两个后件,不是线性结构。

47.A解析:本题考查带参数的宏的定义及相关运算。P(P(5)*x)=P(2.84+5*2)=P(12.84),调用w(12.84),输出(int)(12.84)=12。

48.D解析:k是—个指针,它的值是—个地址,要通过它为主函数的变量改变数据,必须使用*p,边样就可以把—个下标数赋给p指针指向的那个内存单元,所以横线处应填入*k=p。

49.C2(n-1)

=2(5-1)=16

50.A解析:函数定义时如果数据类型默认,则默认为int。函数中如果有“retum(表达式):”语句,表达式的类型可能与函数的类型不一致,但它并不能改变函数的类型,实际情况是把表达式转换为函数值的类型作为返回值,因此本题的函数值类型是int。

51.A解析:在函数体内定义一字符型指针并指向形参,然后遍历其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的长度。

52.CC。【解析】数据库系统(DBS)由数据库(DBS)、数据库管理系统(DBMS)、数据库管理员、硬件平台和软件平台五个部分组成,可见DB和DBMS都是DBS的组成部分。

53.C解析:在给数组赋值时,可以用一个字符串作为初值,这种方法直观、方便,而且符合人们的习惯。数组array的长度不是5,而是6,这点必须要注意。因为字符串常量的最后由系统加上一个'\\0',因此,上面的初始化与下面的等价:

Chararray[]={'C','h','i','n','a','\\0'};

54.B解析:根据宏替换的替换规则,我们可知,f(2)=2*N+1=2*5+1=11,f(1+1)=1+1*N+1=1+1*5+1=7。

55.D解析:判断i++==1&&(++j==3||k++==3)时,先执行i++==1,由于i++是先运算,后自加,这时i的值为1,所以表达式i++==1的值为真,其值为i;然后执行++j==3,由于++j是先自加,后运算,这时j的值为3,所以表达式++j==3的值为真,不再计算右边表达式k++==3,括号中表达式的值为1,“&&”运算后整个表达式的值也为1,输出i,j,k时,由于k没有进行过运算,所以输出结果为2,3,3。

56.D解析:n初始化时值是十六进制20(即十进制32),左移1位,相当于乘以2,结果是64。

57.B

58.C解析:用高级语言编写的程序称为“源程序”,而计算机只能识别和执行由O和1组成的二进指令,所以高级语言必须先用—种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”。

59.D

60.D解析:本题中,&&左边的表达式!(x+y)为!(3+7),结果为假,即为0。再加上z,然后减1,相当于0+5-1。左边等于4,&&右边的表达式y+z/2相当于4+5/2为6,所以整个表达式相当于4&&6为真,即为1。

61.A输出的格式控制,因为输入的是a和一个回车符,系统就会将a字符赋给c1,将回车符赋给c2.

62.A本题中输入的3个数据2,4,6分别赋值给了x[0[0],x[1][0],x[2][0]。x[o][1]仍为初始时的0,所以打印输出时的结果为A选项。

63.A本题考查的是typedef的用法和结构体变量的定义方法。typedef可用于声明结构体类型,其格式为“typedefstruct{结构元素定义}结构类型;”。本题正确答案为A)。

64.A对象具有如下特性:标识唯一性、分类性、多态性、封装性、模块独立性。

65.C

66.A\nA。【解析】二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查找。

\n

67.A本题考查的是格式化输入函数scanf()基本用法。使用该语句时,要求除格式控制符以外的字符都要原样输入,

“,”为非格式符,要原样输入。选项A)中没有输入非格式符“,”,所.以是不正确的。

68.B\nscanf输入函数中,格式控制J必须严格按照函数中的要求进行输入,在scanf('%c%c',&chl,&ch2)的格式控制语句中没有任何字符进行间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论