第一套
1.串的长度是( )
A.串中不同字符的个数
B.串中不同字母的个数
C.串中所含字符的个数且字符个数大于零
D.串中所含字符的个数
分析:串的长度指的是串中的字符的个数,且其字符个数可以为零。
2.以下不属于对象的基本特点的是( )
A.分类性
B.多态性
C.继承性
D.封装性
分析:对象有如下一些基本特点,即标识惟一性、分类性、多态性、封装性和模块独立性。
3.下面不属于软件设计原则的是( )
A.抽象
B.模块化
C.自底向上
D.信息隐蔽
分析:软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念,它们是抽象、模块化、信息隐蔽和数据独立性。自底向上是集成测试中增量测试的一种。
4.下列SQL语句中,用于修改表结构的是( )
A.ALTER
B.CREATE
C.UPDATE
D.INSERT
分析:SQL语句中凡创建都用CREATE,删除都用DROP,改用ALTER,再跟类型和名字,附加子名。
5.关系模型允许定义3类数据约束,下列不属于数据约束的是( )
A.实体完整性约束
B.参照完整性约束
C.域完整性约束
D.用户自定义的完整性约束
分析:关系模型允许定义3类数据约束,它们是实体完整性约束、参照完整性约束及用户自定义的完整性约束。其中前两种完整性约束由关系数据库系统支持,对于用户自定义的完整性约束,则由关系数据库系统提供完整性约束语言,用户利用该语言给出约束条件,运行时由系统自动检查。
6.非空循环单链表head的尾结点(由p所指向),满足( )
A.p->next==NULL
B.p==NULL
C.p->next=head
D.p=head
分析:循环链表就是将链表的最后一个结点指向链表头结点(或第一个结点),即p->next=head。
7.对建立好程序设计风格,下面描述正确的是( )
A.程序应简单、清晰、可读性好
B.符号名的命名只要符合语法
C.充分考虑程序的执行效率
D.程序的注释可有可无
分析:程序设计应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。
8.在软件生产过程中,需求信息的给出是( )
A.程序员
B.项目管理者
C.软件分析设计人员
D.软件用户
分析:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
9.NULL是指( )
A.0
B.空格
C.未知的值或无任何值
D.空字符串
分析:此题属于记忆性的题目,NULL是指未知的值或无任何值。
10.下列说法中,不属于数据模型所描述的内容的是( )
A.数据结构
B.数据操作
C.数据查询
D.数据约束
分析:数据模型所描述的内容3有个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要描述在相应数据结构上的操作类型与操作方式。
11.在C语言中,退格符是( )
A.\n
B.\t
C.\f
D.\b
分析:C语言的转义字符见下表所示。
转 义 字 符 转义字符的意义c语言中逗号表达式的用法
\n 回车换行
\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\r 回车
\f 换页
\\ 反斜线符“\”
\’ 单引号符
\a 鸣铃
\ddd 1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符
12.若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后
a<=25 &&b--<=2 &&c? printf(″***a=%d,b=%d,c=%d\n″,a,b, c):printf(″###a=%d,b=%d,c=%d\n″,a,b,c);程序输出结果是( )
A.* * *a=25,b=13,c=19
B.* * *a=26,b=14,c=19
C.### a=25,b=13,c=19
D.### a=26,b=14,c=19
分析:此题综合考查多种运算符的使用。首先计算表达式a<=25 &&b--<=2 &&c的值,很容易看 出 b--<=2的值为假,因此表达式为假;根据三目运算的特点,由于前面的表达式为假,应执行printf(″###a=%d,b=%d,c=%d\n″,a,b,c),应注意a的值依然为25,b的值经过b--运算后改变为13,而c的值仍为19。
13.若运行以下程序时,从键盘输入Adescriptor<CR>(<CR>表示回车),则下面程序的运行
结果是( )
#include <stdio.h>
main()
{ char c;
int v0=1,v1=0,v2=0;
do{ switch(c=getchar())
{ case ′a′:case′A′:
case′e′:case′E′:
case′i′:case′I′:
case′o′:case′O′:
case′u′:case′U′:v1+=1;
default:v0+=1;v2+=1;
}
} while(c!=′\n′);
printf(″v0=%d,v1=%d,v2=%d\n″,v0,v1,v2);
}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
分析:本题考查switch语句的掌握。必须掌握以下内容:首先应该明白switch语句的语法格式:
switch语句的语法格式为:
switch(表达式)
{
case常量表达式1:语句组1;
case常量表达式2:语句组2;
…
case常量表达式n:语句组n;
default:语句组n+1;
}
另外,注意以下几点关于switch语句的重点:
①系统在执行时计算开关表达式的值;
②根据所得的值在各个case标号表达式中寻匹配,直到发现与表达式匹配的标号(本中 匹配的是case ′B′:);
③到匹配后执行后面相应的语句表,顺序往下执行;
④如果无相匹配的标号,若存在default标号,则执行该语句标号后面的语句表n+1;当不存在default标号时,不执行switch中的任何一个语句表。
一般而言,在多分支结构中总会出现“意外”的情况,这时均可归入default:程序段,作统一的处理。default标号是可选性的,不必每次都有,视需要而定。switch语句中还可以包含switch语句,形成switch的嵌套
14.执行下面的程序段后,变量k中的值为( )
int k=3,s[2];
s[0]=k;k=s[1]*10;
A.不定值
B.33
C.30
D.10
分析:如果定义数组时没有进行初始化,则其各个成员的值不确定,所以k=s[1]*10的值也不定。
15.有如下程序段
int a=14,b=15,x;
char c=′A′;
x=(a&&b)&&(c<′B′);
执行该程序段后,x的值为( )
A.ture
B.false
C.0
D.1
分析: 在C语言中,逻辑运算符中一共有4个,它们分别是!(逻辑非)、||(逻辑或)、&&(逻辑与)、^(异或)。在位运算里面还有&(位与)、|(位或)的运算。本题考查逻辑与运算符的用法,在表达式x=(a&&b)&&(c<′B′);中,先判断a&&b条件,逻辑与条件的两边都要保证为1,即a和b都成立,当然c<′B′是成立的,显然,该表达式的值为1。
16.以下函数返回a所指数组中最大值所在的下标值
fun(int *a,int n)
{ int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]>a[p])_______
return(p);
}
在下划线处应填入的内容是( )
A.i=p
B.a[p]=a[i]
C.p=j
D.p=I
分析:该题目所要求的是最大数的位置(下标),而不是最大数的数值!因此,在进行逐个比较的过程中,需要记录下的是最大数的下标i,根据给出的程序可以知道,该下标记录
存在变量p中,所以,如果a[i]>a[p]这一关系成立,应该把i的值赋给p,这样才满足题目的要求。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论