国家二级(C语言)机试模拟试卷407
选择题
1.在数据库设计中,将E—R图转换成关系数据模型的过程属于( )。(C)
A. 需求分析阶段
B. 概念设计阶段
C. 逻辑设计阶段
D. 物理设计阶段
解析:E—R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。
2.设有定义:
char s[81]; int i=0;
以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。
A
解析:函数scanf()输入字符串时默认空格为间隔符,所以不能输入空格,答案选A
3.若变量都已正确说明,则以下程序段( )。
#include
main()
{int a=8;
int b=6:
printf(a>b?\\(A)
A. 输出为:&&&a=8
B. 输出为:!!!b=8
C. 输出为:&&&a=8 !!!b=6
D. 全部错误
解析:本题考查printf的输出格式和条件表达式“?:”的使用。①printf函数输出时,“&&&%d\n”和“!!!%d\n”中的“&&&”和“!!!”都是直接输出。②条件表达式的基本格式为:a?b:c。其运算规则为:当a为非。时,整个表达式的值取b的值,当a为0时,整个表达式取c的值。printf函数中如果在格式说明符之前插入任何字符都将原样输出。本题中a>b为真,所以返回“&&&a=%d”。
4.下列叙述中,不属于软件需求规格说明书的作用的是( )。(D)
A. 便于用户,开发人员进行理解和交流
B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据
C. 作为确认测试和验收的依据
D. 便于开发人员进行需求分析
解析:软件需求规格说明书有以下几个方面的作用:
①便于用户、开发人员进行理解和交流。
②反映出用户问题的结构,可以作为软件开发工作的基础和依据。
③作为确认测试和验收的依据。
5.字符串\\(B)
A. 11
B. 10
C. 5
D. 3
解析:本题涉及字符串最基本的2个概念:
①字符串的长度是指字符串中字符的个数,但不包括字符串结束符:
②以反斜杆’\’开头的特殊字符序列,意思是把反斜杆后面的字符序列转换成特定的含义,而不是原来的含义,不包含在字符串长度之内,’\’连同后面的字符为一个长度;而’%’也是如此。
6.以下叙述中正确的是( )。(B)
A. break语句不能用于提前结束for语句的本层循环
B. 使用break语句可以使流程跳出switch语句体
C. continue语句使得整个循环终止
D. 在for语句中,continue与break的效果是一样的,可以互换
解析:B项正确,break语句可以跳出switch语句和循环。A项错误,break语句在for循环内部的作用是跳出循环;C项错误,continue语句的作用是跳过本次循环体中余下尚未执行的语句,立刻进行下一次的循环条件判定,即仅结束本次循环,并没有使整个循环终止;D项错误,continue和break的效果完全不同:
7.设有定义:char s[10]; int i=0;,以下不能将一行(不超过100个字符)带有空格的字符串正确读入的语句或语句组是( )。(B)
A. gets(s);
B. scanf(\\
C. while((s[i++]=getchar())!=’\n’);s[i]=’\0’;
D. do{scanf(\\
解析:本题考查标准输入输出函数和循环语句。gets(s)函数的作用是将输入的字符读入字符串s,直到遇到回车。而scanf()函数接收字符串时的结束标志为回车或者空格。因此选项B)不能,选项C)和选项D)中按字符逐个读入字符串s中,直到读入的字符是换行符为止,因此正确。
8.有以下程序:
void ss(char*s,char t)
{while(*s)
{if(*s==t)*s=t-’a’+’A’;
s++;}
}
main()
{char str1[100]=\\(B)
A. ABCDDEFEDBD
B. abcDDfefDbD
C. abcAAfefAbA
D. Abcddfefdbd
解析:函数ss(ch*s,char t)的功能是将指针s所指向的字符串中存在的字符“t”均改写成大写字母;所以main函数中引用函数ss后使得数组str1中的小写字母“d”均变成了大写字母“D”,然后输出数组str1,结果为:abcDDfefDbD。
9.以下叙述中正确的是( )。(D)
A. 简单递归不需要明确的结束递归的条件
B. 任何情况下都不能用函数名作为实参
C. 函数的递归调用不需要额外开销,所以效率很高
D. 函数既可以直接调用自己,也可以间接调用自己
解析:D项正确,C语言中的函数可以直接或间接地自己调用自己,前者称简单递归,后者称间接递归。A项错误,递归必定要有一个明确的结束递归的条件;B项错误,递归就是把函数名作为实参的一种特殊情况;C项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。
10.数据库的故障恢复一般是由( )来执行恢复。(C)
A. 电脑用户
B. 数据库恢复机制
C. 数据库管理员
D. 系统普通用户
解析:数据库一旦发生故障,需要及时进行故障恢复,并由数据库管理员负责执行故障恢复。
11.有以下程序:
#include
main()
{ int a=1,b=0;
prinff(“%d,”,b=a+b);
prinff(“%d\n”,a=2*b);
}
程序运行后的输出结果是( )。(A)
A. 1,2
B. 1,0
C. 3,2
D. 0,0
解析:首先打印b=a+11=1+0=1的值1,此时已给b赋值为1。然后打印a=2*b=2*1=2的值2。所以结果是1.2。
12.下列叙述中正确的是( )。(A)
A. 在switch语句中,不一定使用break语句
B. 在switch语句中必须使用default
C. break语句必须与switch语句中的case配对使用
D. break语句只能用于switch语句
解析:default语句在switch语句中可以省略,所以B错误;switch语句中并非每个case后都需要使用break语句,所以C错误;break语句还可以用于for等循环结构中,所以D错误。
13.在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。(C)
A. 需求
本文档预览:3600字符,共15727字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载