单选题库
1.在下列算法设计中,()归属于非线性结构。
a)循环队列
b)带链排长队。
c)二叉树。
d)用传动链条层叠。
1.答案:c。
【分析】树是简易的非线性结构,因此二叉树做为树的一种也是非线性结构。
2.在下列算法设计中,()能够依照“先进先出法”的标准浏览数据信息。
a)循环队列
b)局部变量。
c)排长队。
d)二叉树。
2.答案:b。
【分析】Stack依照先进先出法的标准机构数据信息。序列依照先进先出法的标准机构数据信息。
3.针对循环队列,下列句子是合理的()。
a)小组长表针固定不动。
b)小组长表针务必超过小组长表针。
c)小组长表针务必低于小组长表针。
d)小组长表针能够小于或低于小组长表针。
3.答案:d。
【分析】循环队列的头表针和尾表针并不是稳定的,会伴随着出入序列的实际操作而转变。因为它是循环队列构造,因此头表针有时候很有可能比尾表针大,或是比尾表针小。
4.优化算法的空中间的复杂性就是指()。
a)优化算法在实行全过程中常需的电子计算机储存空。
b)优化算法解决的信息量。
c)优化算法程序流程中句子或信息的总数。
d)优化算法在实行全过程中必须的临时性工作中模块的总数。
4.答案:a。
【分析】优化算法的inter-空复杂性就是指优化算法在实行全过程中必须的inter-空运行内存。因此挑选a)。
5.软件开发中区划控制模块的一个规范是()。
a)低内聚力低耦合。
b)高内聚力,低耦合。
c)低内聚力高藕合。
d)高内聚力,高藕合。
5.答案:b。
【分析】一般来说,出色的软件开发应当尽可能保证高内聚力,低耦合,即减弱控制模块中间的藕合,提升控制模块內部的内聚性,有益于提升控制模块的自觉性。
6.下列选择项不属于结构化编程的标准()。
a)能够包裝。
b)从上向下。
c)模块化设计。
d)逐渐优化。
6.答案:a。
【分析】结构化编程的观念包含:由上而下,逐渐优化,模块化设计,限定goto句子的应用,因此挑选a)。
7.手机软件的总体设计和生产制造图如下所示:
图为()。
A) n-s图。
B) PAD图纸。
c)程序流程图。
D) E-R图。
7.答案:c。
【分析】N-S图明确提出用框架图替代传统的的程序流程图,因此a)是不正确的。PAD图是难题分析图表,是承继程序流程图和框架图后,关键用于叙述手机软件总体设计的另一种图型表明专用工具,因此b)是不正确的。E-r图是在数据库查询中表明e-r实体模型的图形界面专用工具,因此d)是不正确的。依据图上所显示的代表方式,它是手机软件总体设计中采用的程序流程图。
8.数据库查询智能管理系统是()。
a)电脑操作系统的一部分。
b)电脑操作系统适用的系统。
c)编译系统。
d)电脑操作系统。
8.答案:b。
【分析】数据库查询智能管理系统是数据库查询机构,是一种系统,承担数据库查询中的数据存储结构,数据信息实际操作,数据信息维护保养,操纵和维护,及其网络服务。是电脑操作系统上面的一种系统。
9.在E-R图上,用于表明实体线联接的图是()。
a)椭圆型。
b)矩形框。
c)裸钻。
d)三角形。
9.答案:c。
【分析】在E-R图上,实体线集是矩形框,特性是椭圆形,联接是棱形。
10.有如下所示三种关联r,s和t:随后根据某类计算从关联r和s中获得关联t,计算为()。
a)挑选。
b)投射。
c)付款。
和
10.答案:d。
【分析】关联r和s中的全部元组都包括在关联t中,因此实行或且的实际操作。
11.电子计算机程序设计语言程序流程的作业方法包含编译程序实行和表述实行。下列观点是合理的()。
A) C语言程序只有编译程序实行。
B) C语言程序只有表述和实行。
C) C语言程序能够编译程序和实行,还可以表述和实行。
d)以上观点无一恰当。
11.答案:a。
【分析】编译器以源代码(如BASIC)为键入,表述一句后递交电子计算机实行,不组成可执行程序。c语言编译器取程序设计语言(如FORTRAN,COBOL,Pascal,C等)的源代码。)做为键入,对其开展汉语翻译和变换,转化成程序设计语言的可执行程序,随后让电子计算机实行可执行程序,获得数值。
12.下列表述中的问题是()。
a)客户界定的标志符容许关键词。
b)客户界定的标志符应尽可能“按名字鉴别含意”。
c)在客户界定的标志符中,英文大写字母和英文字母意味着不一样的标志符。
d)客户界定的标志符务必以英文字母或下横线开始。
12.答案:a。
【分析】C语言要求标志符只有由英文字母,数据和下横线构成,第一个标识符可以是英文字母或下横线,不包括d);自定标志符中有英文大写字母和英文字母的差别,我们要尽可能“以名识义”,不包括选择项b)和c);c语言也要求标志符不可以是c语言的关键词,因此选择项a)是不正确的,标准答案是选择项a)。
13.如果有句子:char c = ' \ 72自变量c()。
a)包括1字符。
b)包括2字符。
c)包括3字符。
d)叙述不合理合法,c的值不确定性。
13.答案:a。
【分析】在C语言的字符常量中,容许有一种独特类型的字符常量,就是以""开始的标识符。在其中,“\ddd”表明一个字符用ASCII码(八进制数)表明,本主题风格中的char c =' \ 2 '表明自变量c占有一个字符的ASCII码值。
14.目前界定int a;;双b;波动c;char k;,关系式a/b c-k的数值()种类。
A) int
b)二倍
c)波动
D) char
14.答案:b。
【分析】双眼计算中两边操作数种类的变换规律性;
15.下列界定句子是合理的()。
a)int a = b = 0;
B) char A=65 1,b =′b′;
C) float a=1,*b=&a,* c = & b;
d)双a = 0.0b=1.1
15.答案:b。
【分析】本主题风格考察变量的定义方式。假如您想与此同时界定好几个自变量,请使用分号隔开他们。因而,选择项a)和d)是不正确的;在选择项c)中,自变量c是浮点数表针,只有偏向一个浮点数数据信息,不可以偏向指针变量b;因此标准答案是b)。
16.假如在界定句子中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.答案:d。
[屏幕分辨率scanf涵数中的设置项必定是表针,仅有选择项d)达到这一规定。
17.下列程序流程的工作結果为()。
int k = 0;
void fun(int m)
{ m = k;k = m;printf("m=%d k=%d ",m,k );}
main()
{ int I = 4;
fun(i );printf("i=%d k=%d\n ",I,k);
}
A) m=4 k=5 i=5 k=5
B) m=4 k=4 i=5 k=5
C) m=4 k=4 i=4 k=5
D) m=4 k=5 i=4 k=5
17.答案:b。
【分析】因为main()涵数中的自变量I = 4,启用fun(4),輸出“m = 4k = 4”= 4”。随后自变量k提升1相当于5,自变量I提升1相当于5,因此“printf(I = % d k = % d \ n”,I,k);”main()涵数的。该句子輸出“I = 5 k = 5”。
18.实行下列全过程时,假如从数字键盘6和8,結果是()。
main()
{ int a,b,s;
scanf("%d%d ",&a,& b);
s = a;
if(A0){ switch(k)}
初始值:break
实例一:n = k;
实例2:
实例3:n = k;
}
k-;
}
printf("%d\n ",n);
}
程序执行后的輸出是()。
A) 0
B) 4
C) 6
D) 7
19.答案:d。
[分析]本主题风格科学研究switch句子。在switch句子中,假如关系式的值相当于一个case后边的常量表达式的值,则实行这一case后边的句子;假如常量表达式的值在全部状况下都和关系式的值不配对,将实行default后边的句子,每一个状况和default的发生次序都不可能危害实行結果。因而,在本主题风格中,当k = 5和k = 4时,case沒有配对的值,因而实行默认设置句子。k = 3时实行“实例3:n = k”;"获得n = 3,随后实行default;k = 2时实行“case 2:case 3:n = k”;获得n = 5,随后实行default;k = 1时实行“实例1:n = k”;实例二:实例三:n = k;“让n加k2次,获得n = 7。
20.有下列程序流程:
#包含
main(){ int x;
scanf("%d ",& x);
if(xif(x!=10) printf("%d\n ",x);
}
当程序执行时,键入值在哪个范畴内会出现輸出結果()。
a)并不等于10的整数金额。
b)超过3且并不等于10的整数金额。
c)超过3或相当于10的整数金额。
d)低于3的整数金额。
20.答案:b。
[resolution]在if…else系统结构中,else一直配对现在的不了对if。这一主题风格的实行全过程是:假如键入的整数金额低于3,什么事都不做;不然,分辨是不是并不等于10;如果是确实,輸出它。因而,程序流程輸出的统计数据是小于3且并不等于10的整数金额。
21.有下列程序流程:
#包含
main(){ int a=1,b = 0;
printf("%d ",,b = a b);
printf("%d\n ",a=2*b)}
程序执行后的輸出是()。
A) 0,0
B) 1,0
C) 3,2
D) 1,2
22.有下列程序流程:
main(){ int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},I,j;
for(I = 0;实行军队(j =;jb?c?1:0):0;同样的功用是()。
a)假如((a > b)& &(b > c))k = 1;
不然k = 0;
b)假如(a > b)‖(b > c))k = 1;
不然k = 0;
c)假如(AC)k = 1;
不然k = 0;
23.答案:a。
关系式k = a > b?c?1: 0): 0表明假如标准(a>b)为真,那麼k选值(b>c?1: 0),不然k取0;当a>b时,假如b>c,k数值1,不然为0。关系式的作用与选择项a)同样。
24.有下列程序流程:
间隙ss(char *s,char t)
{ while(*s)
if(*s==t)*s=t-a a;
s ;} }
main()
str1[100]="abcddfefdbd",c=d;
ss(str1,c);printf("%s\n ",ST R1);}
程序执行后的輸出是()。
a)ABCDEDEFDBD
b)abcdfefdbd
c)ABCAFeFaba
d)Abddfefdbd
24.答案:b。
【分析】在运行内存中,标识符数据信息以ASCII码储存,其储存方式与整数金额相近。在C语言中,能够常见标识符数据信息和整数金额数据信息,还可以对标识符数据信息开展算术运算,等同于对他们的ASCII码开展算术运算。在本主题风格中,s 等同于s = s=s 1,换句话说,使我们偏向二维数组中的下一个原素。
25.有下列程序流程:
#包含“stdio.h”
main()
{ int k[30]={12,324,45,6,768,98,21,34,453,456 };
int count=0,I = 0;
而(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
7,10
D) 8,10
25.答案:d。
[分析]在c语言中,界定一维数组的句子的一般方式如下所示:
输入二维数组名字[常量表达式];
一维数组的引入方式是:数组名[字符关系式]。Count表明可被2或5整除的数,我测算有多少个二维数组原素。
26.下列程序执行后的輸出是()。
#包含
void f(char *s,char * t){ char k;
k = * s;
* s = * t;
* t = k;
s ;t-;
假如(*s)f(s,t);
}
main(){ char str[10]="welcome ",* p;
p = str strlen(str)/2 1;
f(p,p-2);
printf("%s\n ",str);
}
A) eelcomw
B) weoclme
c)热烈欢迎
d)神情
26.答案:d。
【分析】f涵数在本系统中的效果是互换2个部位的标识符值。f涵数一共被启用三次,字符串数组中l和o,e和m,w和e的值先后更改,因此更改后的字符串数组的数值emoclew。
27.有下列程序流程:
int x=2004,y = 2008
printf("%d\n ",(x,y));
下列观点是合理的。
a)年产值为2004。
b)年产值为2008。
c)不正确信息在操作时转化成。
d)輸出句子中的文件格式ioctl总数低于輸出项总数,没法恰当輸出。
27.答案:b。
[Resolution] (x,y)查验逗号表达式,逗号运算符的组成是从左往右。因而,最后一个关系式的值就是这个逗号表达式的值,因此选择项b)是合理的。
28.有下列程序流程:
#包含
void fun(char*c,int d){ * c = * c 1;d = d 1;
printf("%c,%c,",*c,d);
}
main(){ charb=a,a=a;
快乐(&b,a);printf("%c,%c\n ",b,a);
}
程序执行后的輸出是()。
甲,乙,乙,甲
乙,乙,乙,甲
丙)甲,乙,乙,甲
甲,乙,甲,乙
28.答案:a。
【分析】fun函数的第一个参数传递一个表针,能够将修改后的值回到给函数调用,第二个参数传递一个值,不可以回到给函数调用,因此挑选a)。
29.有下列程序流程:
#包含
#包含
main(){ char a[10]= " ABCD ";
printf("%d,%d\n ",strlen(a),sizeof(a));
}
程序执行后的輸出是()。
A) 7,4
B) 4,10
C) 8,8
10,10
29.答案:b。
[resolution] strlen()用以回到字符串数组的长短,而sizeof()回到目标或种类占有的运行内存字节,即二维数组占有的运行内存。
30.如果有int a [2] [3]的界定;那麼,对二维数组a的行I和列j的原素值的合理引入(假定I和j早已被恰当表述和取值)是()。
a)* *(a I) j)
B) (a i)[j]
C) *(a i j)
D) *(a i) j
30.答案:a。
【分析】学科考察二维数组原素的检索方式。选择项a)在其中a I偏向二维数组a的行I 1,* (a I)是行I 1和列0的详细地址值,* (a I) j偏向二维数组a的行I 1和列j 1,* (* (a I) j)获得一个[。
31.有下列程序流程:
#包含
main()
{ char c1,c2,c3,c4,c5,C6;
scanf(" % c % c % c % ",&c1,&c2,&c3,& C4);
C5 = getchar();C6 = getchar();
put char(C1);put char(C2);
printf("%c%c\n ",c5,C6);
}
程序执行后,假如从数字键盘(从第一列逐渐),
123
45678
輸出为()。
A) 1267
B) 1256
C) 1278
D) 1245
31.答案:d。
[屏幕分辨率] putchar(c1)輸出1,putchar(c2)輸出2,printf ("%c% c \ n ",c5,c6)輸出45。
32.下列程序流程的工作結果为()。
#包含
int a = 1;
int f(int c){ static int a = 2;
c = c 1;
回到(a ) c;}
main(){ int i,k = 0;
for(I = 0;ik = a;
printf("%d\n ",k);
}
A) 17
B) 16
C) 15
D) 14
32.答案:d。
【分析】fun函数句子回到(a ) c;中浏览的a是內部界定的外部静态变量,main函数中句子k = f (a)浏览的a是它的静态变量,因此2个启用事实上都启用f(3)。第一次启用,fun函数中c = 4,关系式(a ) c的值是6,a提升到3,k = 6。第二次启用,fun函数中c = 4,关系式(a ) c的值是7,a提升到4,k = 6 7 = 13。句子中的a k = a是局部变量,因此k = 13 1 = 14。
33.有界定:intn1 = 0,n2,* p =&n2,* q = & n1,在下面的赋值语句中,N2 = n1;句子等同于()。
a)* p = * q;
b)p = q;
c)* p = & n1;
d)p = * q;
33.答案:a。
[分析]本学科考察指针变量的取值。在界定了文章标题中的自变量以后,指针变量p偏向自变量n2所属的储存部位,指针变量q偏向自变量n1所属的储存部位。要将n1的值赋给n2,指针变量q偏向的运行内存部位的值能够赋给指针变量p偏向的运行内存部位,即* p = * q。
34.有下列表述:
typedef构造ST
{ long a;
int b;
char c[2];
} NEW
下列观点是合理的()。
A) NEW是一个构造自变量。
B) NEW是一种结构特征。
C) ST是一种结构特征。
d)以上叙述不合理合法。
34.答案:b。
【分析】上边的方式界定NEW为ST的结构特征,随后NEW能够用于叙述构造自变量。因而,选择项b)是合理的。
35.有下列程序流程:
#包含
#包含
typedef构造{ char name[9];美丽动人的性;波动成绩[2];} STU
失效f(STU a)
{ STU b={“赵”,' m ',85.0,90.0 };int I;
strcpy(a.name,b . name);
a . sex = b . sex;
for(I = 0;i}
main()
{ STU c={“钱”,' f ',95.0,92.0 };
f(c);
printf("%s,%c,%2.0f,%2.0f\n ",c.name,c.sex,c.score[0],c . score[1]);
}
程序执行結果为()。
a)钱,女,95,92岁
钱,男,85,90岁
c)赵,女,95岁,92岁
d)赵,男,85,90岁
35.答案:a。
【分析】本学科考察调用函数全过程中参数传递和构造自变量引入的难题。程序流程函数调用f时,传送给涵数f的主要参数仅仅栈中构造自变量c的团本,涵数f的全部实际操作仅仅对整个数据信息团本的改动,不容易危害自变量c的值。
36.有下列程序流程:
#包含
#界定N 4
void fun(int a[][N],int b[]){ int I;
for(I = 0;i}
main(){ int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],I;
快乐(x,y);
for(I = 0;I > 3;
printf("%d\n ",c);
}
程序执行后的輸出是()。
A) 32
B) 16
C) 1
D) 0
40.答案:c。
【分析】假如在本主题风格中给标识符自变量a取值8,a的二进制为“00001000”,a>>3的位操作是将a往右边挪动三位,結果为“0000001”,其十进制数值1。
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。