




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年甘肃省白银市全国计算机等级考试C语言程序设计测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.深度为5的二叉树至多有C个结点。
A.16B.32C.31D.10
2.假定X和Y为double型,则表达式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
3.下列描述中正确的是()。
A.软件工程只是解决软件项目的管理问题
B.软件工程主要解决软件产品的生产率问题
C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D.软件工程只是解决软件开发中的技术问题
4.在C++中,一个函数带有参数说明时,则参数的默认值应该在()中给出。A.函数定义B.函数声明C.函数定义或声明D.函数调用
5.以下程序的输出结果是()。main{inta[3][3]=“l,2),{3,4),{5,6)},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(”%d\n”,s);}A.18B.19C.20D.21
6.在16位IBM-PC机上使用C语言,若有如下定义structdata{inti;charch;doublef;}b;则结构变量b占用内存的字节数是
A.1B.2C.7D.11
7.以下程序的输出结果是main(){intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
8.有以下函数:
此函数的功能是()。A.比较p和q所指字符串的大小
B.计算p和q所指字符串的长度差
C.将q所指字符串连接到P所指字符串后面
D.将q所指字符串复制到p所指字符串中
9.已知广义表的表头为A,表尾为(B,C),则此广义表为________
A.(A,(B,C))B.(A,B,C)C.(A,B,C)D.((A,B,C))
10.
11.有以下程序:#include<stdio.h>voidfun(char*C,intd){*c=*c+1,d=d+1;printf(%"c%,c",*c,d);}main(){charb=aa=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
12.下列关于宏的叙述中正确的是()。
A.宏替换没有数据类型限制
B.宏定义必须位于源程序中所有语句之前
C.宏名必须用大写字母表示
D.宏调用比函数调用耗费时间
13.在一个C语言源程序文件中所定义的全局变量,其作用域为()。
A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和extern说明来决定范围
14.下列程序的输出结果是()。
A.13579B.48579C.48549D.48999
15.若有定义“intb[8],*p=b;”,则p+6表示()。
A.数组元素b[6]的值B.数组元素b[6]的地址C.数组元素b[7]的地址D.数组元素b[0]的值加上6
16.稀疏矩阵一般的压缩存储方式有两种,即()。
A.二维数组和三维数组B.三元组和散列C.三元组和十字链表D.散列和十字链表
17.
18.以下说法正确的是()。
A.数据项是数据的基本单位
B.数据元素是数据的最小单位
C.数据结构是带结构的数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构
19.函数fread(buffer,size,count,fp)中buffer代表的是()。
A.—个存储区,存放要读的数据项
B.一个整数,代表要读入的数据项总数
C.一个文件指针,指向要读的文件
D.—个指针,指向读入数据要存放的地址
20.有以下程序:#include<stdio.h>main(){inti,j=0;chara[]=“ab123c4d56ef7gh89”;for(i=0;a[i];i++)if(a[i]>=‘0’&&a[i]<=‘9’)a[j++]=a[i];a[j]=‘\0’;printf(“%s”,a);}程序运行后的输出结果是()。
A.123456789abcdefgh
B.abcdefgh
C.123456789
D.1234567896ef7gh89
二、2.填空题(20题)21.以下程序的输出结果是【】。
#defineMAX(x,y)(x)>(y)?(x):(y)
main()
{inta=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
22.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,所以,基于逻辑结构的应用程序不必修改,称为【】。
23.注释一般分为序言性注释和______注释。
24.阅读下面语句,则执行后的输出结果为【】。
#include"stdio.h"
main()
{chara,b;
for(a='0',b='9';a<b;a++,b--)
printf("%c%c",a,b);
printf("\n");}
25.下面程序的功能:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。
#include<stdio.h>
#include<string.h>
main()
{chara[]="clanquage",t;
inti,j,k;
k=strlen(A);
for(i=0;i<=k-2;i+=2)
for(j=i+2;j<k;j+=2)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;}
puts(A);
printf("\n");
}
26.设当前盘为A盘,当前系统提示符为“>”在不改变当前盘情况下,显示C盘的当前目录路径,应使用命令【】。
27.数据库管理系统常见的数据模型有层次模型、网状模型和【】3种。
28.数据流的类型有______和事务型。
29.对数据元素之间的逻辑关系的描述是()。
30.软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。
31.对软件是否能达到用户所期望的要求的测试称为【】。
32.下列程序的运行结果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
33.已有定义如下:
structnode
{intdata;
structnode*next;
}*p;
以下语句调用malloc函数,使指针p指向一个具有structnode类型的动态存储空间。请填空。
p=(structnode*)malloc(【】);
34.下面程序执行后输出的结果是【】。
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);
}
main()
{inta=7,b=5;
printf("%d\n",fun(a,b)/m);
}
35.以下程序的输出结果是【】。
main()
{charc=′z′;
printf("%c",c-25);}
36.程序测试分为静态分析和动态测试。其中【】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
37.下面程序的输出结果是【】。
longfun5(intn)
{longs;
if((n==1)||(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);}
main()
{longx;
x=fun5(4);
printf("%ld\n",x);}
38.执行以下程序后,输出‘#’号的个数是______。
#include<stdio.h>
main()
{
inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)
putchar('#');
}
39.()的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。
40.若a是int型变量,且a的初值为4,则计算a+=a-=a*a表达式后a的值为______。
三、1.选择题(20题)41.当变量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)
42.已知函数ffead的调用形式为fread(buffer,size,count,fp);,其中buffer代表的是()。
A.存放读入数据项的存储区
B.一个指向所读文件的文件指针
C.一个指针,是指向输入数据存放在内存中的起始地址
D.一个整型变量,代表要读入的数据项总数
43.若i、j已定义成int型,则以下程序段中内循环体的总执行次数是()。for(i=6;i>0;i--)for(j=0;j<4.j++){…}
A.20B.24C.25D.30
44.定义结构体数组:
structstu
{intnum;
charname[20];
}x[5]={1,"LI",2,"ZHAO",3,"WANG",4,"ZHANG",5,"LIU"};
for(i=1;i<5;i++)
printf("%d%c",x[i].num,x[i].name[2];
以上程序段的输出结果为()。
A.2A3N4A5UB.112A3H41C.1A2N3A4UD.2H3A4H51
45.具有3个结点的二叉树有
A.2种形态B.4种形态C.7种形态D.5种形态
46.两个或两个以上模块之间联系的紧密程度称为()。
A.耦合性B.内聚性C.复杂性D.数据传输特性
47.下面程序的输出是______。fun(char*s,intp1,intp2){charc;while(p1<p2){c=s[p1];s[p1]=s[p2];s[p2]=c;p1++;p2--;}}main(){chara[]="ABCDEFG",k,*p;fun(a,0,2);fun(a,4,6);printf("%s\n",a);}
A.ABCDEFGB.DEFGABCC.GFEDCBAD.CBADGFE
48.以下各选项企图说明一种新的类型名,其中正确的是______。
A.typedefv1int;
B.typedefv2=int;
C.typedefintv3;
D.typedefv4:int
49.执行下面的程序后,a的值为
main()
{inta,b;
for(a=1,b=1;a<=10;a++)
{if(b%3==1)
{b+=3;
continue;}
b-=5;}}
A.7B.8C.9D.10
50.若有定义语句:inta[2][3],*p[3],则以下语句中正确的是A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a;
51.已定义下列函数:intfun(int*p){return*p;)fun函数返回值是()。
A.不确定的值B.一个整数C.形参p中存放的值D.形参p的地址值
52.有以下程序main(){inta[3][2]={0},(*ptr)[2],i,j;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr++;}for(i=0;i<3;i++){for(j=0;j<2;j++)printf("%2d",a[i][j]);printf("\n");}}若运行时输入:123<回车>,则输出结果是
A.产生错误信息B.102000C.123000D.102030
53.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)
A.10□X□20□Y<回车>
B.10□X20□Y<回车>
C.10□X<回车>20□Y<回车>
D.10X<回车>20Y<回车>
54.以下选项中,当x为大于l的奇数时,值为0的表达式是
A.x%2==1B.x/2C.x%2!=0D.x%2==0
55.若有语句:Char*line[5];,以下叙述中正确的是()。
A.定义line是一个数组,每个数组元素是一个基类型为Char的指针变量
B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C.定义line是一个指针数组,语句中的*号称为间址运算符
D.定义line是一个指向字符型函数的指针
56.已有定义和语句:doublea,b,c;scanf("%1f%1f%1f",&a,&b,&c);,要求给a、b、c分别输入10.0、20.0、30.0,不正确的输入形式是
A.10.0<回车>20.0<回车>
B.10.0<回车>2030<回车>
C.1020<回车>30.0<回车>
D.10.0,20.0,30.0<回车>
57.设a和b均为双精度型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是()。
A.6.5B.6C.5.5D.6
58.在下列叙述中,不正确的一条是______。
A.在C语言中,函数中的自动变量可以赋初值,每调用一次,赋一次初值
B.在C语言中,外部变量的隐含类别是自动存储类别
C.在C语言中,在调用函数时,实际参数和对应形参在类型上只需赋值兼容
D.在C语言中,函数形参可以说明为register变量
59.以下程序的输出结果是______。main(){charc1='6',c2='0';printf("%d,%d,%d\n",c1,c2,c1-c2);}
A.因输出格式不合法,输出出错信息B.54,48,6C.6,0,7D.6,0,6
60.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。A.编码设计B.测试阶段C.运行阶段D.物理设计
四、选择题(20题)61.下列叙述中错误的是()。
A.列表框和组合框都有List属性
B.列表框有Selected属性,而组合框没有
C.列表框和组合框都有Style属性
D.组合框有Text属性,而列表框没有
62.以下叙述中正确的是
A.C程序的基本组成单位是函数B.C程序中的每一行只能写一条语句
C.main()函数必须放在其他函数之前D.C语句必须在一行内写完
63.有以下程序
main()
{inti=010,j=0X10;
pirntf("%d,%d\n",i,j);
}
该程序的输出结果是
A.10,10B.8,10
C.8,16D.10,16
64.
以下程序的输出结果是()。
voidfun(int*a,inti,inti)
{intt;
if(i<i)
{t=a[i[;a[i]=a[j];a[j]一t;
i++;j--;fun(a,i,j);
}
}
main
{intK[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<1;i++)printf("%2d",x[i]);
printf("\n");
}
A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,2
65.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.没有任何关系
66.有下列程序:
main()
{inti,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
67.
68.有以下程序:
程序的运行结果是()。
A.1234B.5678C.9101112D.1111
69.两个或两个以上模块之间联系的紧密程度称为()。
A.耦合性B.内聚性C.复杂性D.数据传输特性
70.
71.有以下程序执行后的输出结果是()。
A.5,11B.5,5C.11,11D.11,5
72.
有以下计算公式
若程序前面已在命令中包含math.h文件,不能够正确
计算上述公式的程序段是()。
A.if(x>=0)y=sqrt(x);elsey=sqrt(-x);
B.y=sqrt(x)if(x<0)y=sqrt(0x);
C.if(x>=O)y=sqrt(x);If(x<O)y=sqrt(0x);
D.y=sqrt(x>=0?x:0x);
73.交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。A.A.&B.^C.||D.~
74.
下列程序执行后的输出结果是()。
main
{intx=f;printf("%c\n",A+(x-a+1));}
A.GB.HC.ID.J
75.设x=011050,则x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
76.
则下面对m数组元素的引用中错误的是()。
A.
B.
C.
D.
77.结构化程序设计所规定的三种基本控制结构是()。
A.for、while、switchB.输入、输出、处理C.顺序结构、选择结构、循环结构D.主程序、子程序、函数
78.
79.有以下程序段以下关于程序段执行情况的叙述,正确的是()。
A.当产生的随机数n为0时,结束程序运行
B.当产生的随机数n为4时,结束循环操作
C.当产生的随机数n为l和2时,不做任何操作
D.细循环语句固定执行8次
80.标准库函数fgets(s,n,file)的功能是()。
A.从文件file中读取长度为n的字符串存入字符数s由
B.从文件file中读取长度不超过n-1个字符的字符放到字符数组S中
C.从文件file中读到n个字符串存入字符数组s中
D.从文件file中读取长度为n-1个字符的字符串存字符数组S中
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是根据整型形参n,计算如下公式的值:y=1-1/(22)+1/(33)-1/(44)+…+(-1)(n+1)/(m)例如,n中的值为l0,则应输出0.817962。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.请编写一个函数,用来删除字符串中的所有*。例如,输入abc*de*f*gh,则输出为abcdefgh。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.C
2.D本题考查C语言中变量类型的转换。
C语言中若参与运算的变量的数据类型不同,则先转换成同一类型,然后进行运算。转换数据始终往长度增加的方向进行,以确保精确度,如int和long运算,则将int转换为long再运算,所有的浮点运算都是以双精度(double)进行的。
题目中x、y都为double型数据,而表达式3/2为两个整型变量之间的计算,计算结果只保留整数部分,小数部分省略掉。3/2的结果为1。后面变为计算y=x+1,这时都需要变为double型数据,结果为3.000000。
3.C\r\n软件工程是试图用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术及管理方法。软件工程的主要思想是强调在软件开发工程中需要应用工程化的原则。软件工程用来解决以下问题:软件需求的增长得不到满足、软件开发成本和进度无法控制、软件质量难以保证、软件不可维护或维护程度低、软件得成本不断提高、软件开发生产率的提高赶不上硬件的发展和应用需求的增长。软件项目的管理、软件产品的生产率、软件开发中的技术都是软件工程需要解决的部分问题。因此选项C正确。
4.CC程序中函数可以在说明或定义时给一个或多个参数指定默认值,但是不能在函数说明定义时同时指定默认参数,默认参数值应该在函数名第一次出现时指定。
5.A循环的作用是求行下标从1到2列下标从0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][0]+a[2][1]+a[2][2]=3+4+5+6+0=18。
6.D解析:结构体变量所占用内存的字节数是其所有成员所占用内存字节数之和。本题中整型变量i所占用的内存是2字节,字符型变量ch所占用的内存是1字节,双精度型变量f所占用的内存是8字节,三者相加即可。
7.C解析:本题考查按位与“&”。因为1&1=1,0&0=0,所以任何数与自身按位与,结果仍为此数,不发生变化。
8.A函数fun接收两个整型指针变量作为参数,通过while循环,比较p和q对应位上的各个字符,如果字符相同,继续向后比较;否则循环结束,返回第1次对应不同字符的ASCII差值。所以函数fun是对p和q指向的字符串进行比较,其大小是按第1个对应位置上不同字符的ASCII值来比较的。本题答案为A选项。
9.B
10.D
11.A本题考查了函数的调用。首先主函数定义了两个字符型数据b和a,给b赋值为字母a.a赋值为字母A,调用fun(&.b,a)函数,*C=*c十1,a的ASCIl码值加1后为b,A的ASCIl码值加1后为B。输出第一组值,排除C、D选项。B选项的值此时为小b,排除B选项,所以本题答案为A。
12.A宏定义写在函数的花括号外,作用域为其后的程序,通常在文件的最开头,所以B选项错|误。宏名一般用大写字母,但不是必须用大写字母,所以C选项错误。宏展开不占运行时间,只占编译时间,函数调用占运行时间(分配内存、保留现场、值传递、返回值),所以D选项错误。故本题答案为A选项。
13.D
\n全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。当全局变量定义在后,引用它的函数在前时,应该在引用它的函数中用extern对此全局变量进行说明,以便通知编译程序该变量是一个已在外部定义了的全局变量,这时全局变量的作用域从extern说明处起,延伸到该函数末尾。
\n
14.C本题考查do-while循环,在fun函数中,首先定义了静态变量i=0,do-while循环要实现的功能是以b[0]=b[o]+b[1],b[1]=b[1]+b[2],其他元素不变的规则重新给b数组赋值。在主函数中,通过调用fun函数,按上面的规则对数组a重新赋值,最后输出数组a。
15.B指针中存放的是变量的地址,指针也可以进行增减运算,这时指针移动的最小单位是一个存储单元,而不是一个字节。所以题中“P+6”指的是将指针向后移动了6个存储单元,即指向uE63,存放的是b[6]的地址。
16.C
17.C
18.D
19.Dfread函数用来读二进制文件,其中buffer是数据块的指针,它是内存块的首地址,输入的数据存入此内存中;size表示每个数据块的字节数;count用来指定每读一次读入的数据块个数;fp是文件指针,指向要读的文件。选项A、B、C错误。本题答案为D选项。
20.C题干中定义了字符数组a,它包含数字字符和字母字符。通过for循环,将a中所有的数字字符前移,舍去其他字符,并在数字字符后添加字符串结束符‘\\0’,for循环结束后,字符串a的值为:123456789。故本题答案为C选项。
21.77解析:在C语言中,宏定义是直接替换的,所以在刘表达式MAX(a+b,c+d)*10进行替换后,表达式变为(a+b)>(c+d)?(a+b):(c+d)*10。在这个条件表达式中,(a+b)>(c+d)为真,所以用(a+b)的值作为整个表达式的值(否则用(c+d)*10的值作为整个表达式的值),而(a+b)的值为7。所以整个表达式的值为7。
22.物理独立性物理独立性解析:逻辑独立性是指,由于数据的局部逻辑结构与总体逻辑结构之间也由系统提供映像,使得当总体逻辑结构改变时,其局部逻辑结构叮以不变,从而根据局部逻辑结构编写的应用程序也可以不必修改。物理独立性是指,由于数据的存储结构与逻辑结构之间山系统提供映像,使得当数据的存储结构改变时,其逻辑结构可以不变,所以,基于逻辑结构的应用程序不必修改。
23.功能性功能性解析:注释一般分为序言性注释和功能性注释。序言性注释通常位于每个程序的开头部分,给出程序的整体说明;功能性注释一般嵌在源程序体之中,主要描述其后的语句或程序做什么,
24.918273645918273645解析:for是C语言的关键字,其后的一对圆括号中通常含有3个表达式,各个表达式之间用分号隔开,这3个表达式可以是任意形式的表达式,通常主要用于for循环控制。
25.a[j]<a[i]a[j]<a[i]解析:本题考查排序算法,题目中通过双循环嵌套来实现,外层循环跳出待排序的元素,内层循环具体实现a[i]到a[k-2]之间偶数下标元素的排序,每次将最小的放在a[i]中。所以空中填a[j]<a[i]。
26.CDC:(CD与C:中间至少要有一个空格)CDC:(CD与C:中间至少要有一个空格)
27.关系模型关系模型解析:数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。
28.变换型变换型
29.数据的逻辑结构数据的逻辑结构解析:数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。
30.测试实例测试实例解析:进行软件测试时,应精心设计测试实例和选择测试数据,以对系统进行全面测试。
31.有效性测试有效性测试
32.55解析:分析程序,当a=3;b=4;c=5时,判断语句a>b不成立,所以不执行后面的语句,直接执行“printf('%d\\n',c);”语句,输出c的值,输出结果为5。
33.sizeof(structnode)或4sizeof(structnode)或4解析:malloc(sizeof(struetnode))的作用是开辟一个长度为sizeof(struetnode)的内存区。(structnode*)的作用是使malloc返回的指针转换为指向structnode类型数据的指针。
34.22解析:本题变量m既是外部变量(值是13),又是fun函数的局部变量(值为3)。函数fun(x*y-m)的值为7*5-3=32,在main函数中,fun(a,b)/m中的m应取外部变量的值13,因此输出2。
35.aa解析:'z'的ASCII码值为122,经过c-25运算后,得97,以字符形式输出是a。
36.静态分析静态分析解析:程序测试分为静态分析和动态测试。其中,静态分析是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
37.9
38.66解析:本题中,i,j分别为外循环和内循环的循环控制变量,外层循环共执行了四次.当i=1时,由于内层循环判断条件(2<=1)为假不执行内层循环.当i=2时,执行内层循环,输出一个#当i=3时,内层循环循环两次,输出两个#,当i=4时,内层循环循环三次,输出三#。当i=5时,循环判断条件不成立,退出外层循环。所以一共输出6个#。
39.数据库概念设计数据库概念设计解析:数据库概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。
40.-24-24解析:本题考查赋值运算符a+=b等价于a=a+b;a-=a*a等价于a=a-a*a=4-4*4=-12;a+=a,即a=a+a=-24。
41.B解析:满足表达式(c>=2&&c<=6)的整型变量c的值是2,3,4,5,6。当变量c的值不为2,4,6时,其值只能为3或5,所以表达式c!=3和c!=5中至少有一个为真,即不论c为何值,选项B中的表达式都为“真”。
42.C解析:数据块读取函数调用形式:fread(buffer,size,count,fp)。
fread函数参数说明:“buffer”是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。“size”是要读写的字节数;“count”是要进行读写多少个size字节的数据项;“fp”是指文件型指针。
43.B解析:本题考查的是嵌套for循环执行次数。对于外层i的循环中任何一个i,内层j的循环中的j都要从0变化到3,j=4时退出循环;然后外层i循环的i减少1,内层循环的i仍要从0变化到3,j=4时退出循环……直到外层i循环的i变为0,退出i循环。所以执行多重循环时,对外层循环变量的每一个值,内层循环的循环变量都要从初始值变化到终值。对外层循环的每一次循环,内层循环要执行完整的循环语句。外层for语句执行6次,内层for语句执行4次,所以内循环体执行6*4=24次。
44.A解析:本题主要考查结构体数组的使用。x[i].num为结构体x[i]中的num成员,x[i].name[2]是结构体x[i]中name成员的第3个元素。程序执行循环过程时:第1次循环,i=1,输出x[1].num,x[1].name[2]的值,即2A;第2次循环,i=2,输出x[2].num,x[2].name[2]的值,即3N;第3次循环,i=3,输出x[3].num,x[3].name[2]的值,即4A;第4次循环,i=4,输出x[4].num,x[4].name[2]的值,即5U。
45.D解析:因为二叉树有左、右子树之分,所以有3个结点的二叉树具有5种不同的形态。
46.A解析:耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。
[知识拓展]模块的独立程序是评价设计好坏的一个重要标准,衡量软件的模块独立性有两个定性的度量标准。其中内聚性是指一个模块内部各个元素间彼此结合的紧密程度的度最,内聚性是从功能角度来度量模块内的联系;耦合性是模块间互相连接的紧密程度的度量,耦合性从整体的角度来度量模块间的联系。
47.D解析:本题主要通过while循环对满足条件的元素进行交换。
48.C解析:C语言中可以使用typedef来重新定义已有的数据类型,相当于为数据类型取个别名。
49.D解析:考查continue语句的使用。continue语句的作用是结束本次循环,直接进入下次循环。
50.C解析:选项A中,p为数组名,其值是不能被改变的,故非法;选项B中,p[0]的类型是int*,而a是二维数组名(类型为int[][3]),两者无法赋值,故非法:选项C中,p[0]为int型指针,&a[1][2]是int型变量的地址,可以合法赋值;选项D中,p[1]是int型指针,而&a是二维数组的地址(类型为int(*)[2][3]),两者无法赋值,故非法。所以本题应该选择C。
51.B解析:由函数intfun(int*p){return*p;}的定义可知,返回值为整型指针变量p所指向的数据。
52.B解析:二维数组指针第一个for循环中,第一次循环ptr指向a[0][0]的首地址,所以经过输入语句,a[0][0]=1;第二次循环ptr指向a[1][0]的首地址,所以经过输入语句,a[1][0]=2。此时,除了这两个元素,其他元素没有改变,等于初值0。
53.D解析:本题中,scanf函数的格式控制没有空格,所以,对于选项A)、B)、C),输入的第一个空格会作为字符赋值给变量c1,而不会被解释成分隔符。
54.D解析:因为x的值为大于1的奇数,所以x除以2的余数等于1,因此,选项A)、C)中表达式的结果为真,不为0;对于选项B)来说,x除以2的商不会等于0;选项D)中表达式的结果为假,即等于0。
55.A解析:理解复杂定义要掌握两点:一、右结合原则.本题中的定义char*line[5];等价于char*(line[5]);;二、自外向内分解成typedef语句。char*(line[5]);等价于typedefchar*A;Aline[5];其中A被typedef定义成字符指针的别名,然后line被定义成A的一维数组,即字符指针的一维数组。再来看看行指针的定义char(*line)[5];它应该被分解成typedefcharB[5];B*line;其中B被定义成包含5个元素的一维字符数组,然后line被定义成指向B的指针,即指向包含5个元素的一维字符数组的指针。所以两者切不可混淆了,后者的括号不能省略。故本题应该选择A。
56.D解析:scanf函数要求格式控制串中的非格式控制字符,在输入数据时必须按照格式控制的要求来输入。本题中格式控制串中在各个输入数据格式之间没用任何分隔符号,所以从键盘输入数据时,不应该有“,”等分隔符,所以选项D)错误。注意:选项A)、B)、C)都能正确的输入。
57.D解析:在这个表达式中,优先级最高的是(int)a,也就是对5.5取整,结果是5,其次是b/b,即2.5/2.5,结果是1.000000,最后相加结果为6.000000(表达式的最终结果为实型),所以4个选项中D正确。
58.B
59.B解析:本题printf语句输出字符的ASCⅡ码值(整型)。
60.DD)【解析】数据库设计目前一段采用生命周期法.即将整个数据库应用系统的开分解成目标独立的若干阶段,它们是:需要分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。在数据库设计中采用上面几个阶段中的前四个阶段,并且重点以数据结构和模型设计为主线。
61.BB。【解析】组合框和列表框都没有selected属性。
62.A本题主要考查C语句中函数的基本知识。
在C语言中,函数是组成C语言程序的基本单位,而函数又主要由语句和注释组成,在C程序中,每一行可以写一条或多条语句,而且一条语句也可以分多行(编程时不推荐这样做,这样可读性不好)。
main函数是C语言的入口函数,一切程序都从这里开始执行,在main函数中可以调用其他库函数或用户自定义的函数,main函数不一定要放在程序的最前面,它可以出现在程序的任何位置。
63.C本题主要考查八进制数与十六进制数的十进制输出。做这类题目的关键是对数据进行数制转换。
在程序中,首先定义了两个变量i和j,其中i的初值为一个八进制数10,而j的初值为一个十六进制数10,然后输出它们的十进制数。
一般情况下,八进制数与十进制数的转换通过二进制来实现,即先将八进制数转换为二进制数,然后将二进制转换为十进制数。八进制数的一位对应二进制数的三位,那么将八进制数10转换成二进制应该为001000,再将这个值转换为十进制,即2的三次方,结果为8。
将十六进制数转换为十进制数也可以通过二进制来实现。一位十六进制数对应四位二进制数,转换后为00010000,再将这个值转换为十进制数,即2的四次方,结果为16。
因此本题程序最后输出的结果为8,16。
64.C
\n本题用了函数调用,fun中if语句成立则进行i,j的交换,用到主函势中则为把下标为0、3,1、2互换,因此,当执行完后X的数组为8,1,6,2,故选择C选项。
\n
65.C(10)C)解析:DB即数据库(Database),是统一管理的相关数据的集合;DBMS即数据库管理系统(DatabaseManagementSystem),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法;DBS即数据库系统(DatabaseSystem)由如下5部分组成,数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。
66.B\n在第1次外层for循环中,首先x++得到x=1。进入到内层for循环,只有循环j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量x的值自加两次,当退出内层for循环时,x=3,然后执行x++,得到x=4。在进入执行第2次外层for循环中,首先x++得到x=5。进入到内层for循环,只有循环变量J的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床护理导尿操作规范教程
- 2025年健康管理师三级健康监测与评估理论模拟试题汇编
- 发烧儿童的护理指南
- 2025年考研中国古代文学名校真题汇编+作品分析题易错题库
- 安徽省泗县双语中学11-12学年高一上学期期中考试试题(政治)
- 肺叶切除心理护理
- 廉政风险防控管理
- 车辆物流合作协议
- 高考英语一轮复习高分突破练习专题37应用文写作之提纲类(含解析)
- 企业财务战略制定试题及答案
- 带电作业施工方案
- 宏定义与跨平台开发
- 腰椎病护理措施
- 社保费扣费协议书范文范本下载
- 2024年全国寄生虫病防治技能竞赛备赛试题库-上(血吸虫病、疟疾)
- 【一等奖课件】《刑事摄像技术》比赛课题:现场照相内容及方法
- 手术室环境清洁与消毒课件
- DB23T 3844-2024 煤矿地区地震(矿震)监测台网技术要求
- 工商企业管理毕业论文范文(4篇)
- 卷纸有多长(教学设计)-2023-2024学年六年级下册数学北师大版
- 浙江省宁波市2024年小升初英语试卷(含答案)2
评论
0/150
提交评论