计算机国二C语言考试试题 第一套
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一套
1.串的长度是( )
A.串中不同字符的个数
B.串中不同字母的个数
C.串中所含字符的个数且字符个数大于零
D.串中所含字符的个数
分析:串的长度指的是串中的字符的个数,且其字符个数可以为零。
2.以下不属于对象的基本特点的是( )
A.分类性
B.多态性
C.继承性
D.封装性
分析:对象有如下一些基本特点,即标识惟一性、分类性、多态性、封装性和模块独立性。
3.下面不属于软件设计原则的是( )
A.抽象
B.模块化
C.自底向上
D.信息隐蔽
分析:软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念,它们是抽象、模块化、信息隐蔽和数据独立性。自底向上是集成测试中增量测试的一种。
4.下列SQL语句中,用于修改表结构的是( )
A.ALTER
B.CREATE
C.UPDA TE
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语言的转义字符见下表所示。
转义字符转义字符的意义
\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
#include
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