A、 10X20Y
B、 10uX20uY
C、 10uX20uY
D、 10uXu20uY
答案:A
解析:【解析】scanf函数是C语言提供的标准输入函数,作用是接收在终端设备(或系统隐含指定的输入设备)上输入的数据。scanf函数的一般形式为:scanft(格式控制,输入项表);。本题中的格式控制字符串是“%d%c%d%c”,其中%d表示要输入的是整数;%c则表示输入的是字符,且各控制符之间无任何分隔字符,故要求输入的数据之间也不能分开。而BCD三项在10和X之间均插入空格,均不正确。答案选择A选项。
A、 10X20Y
B、 10uX20uY
C、 10uX20uY
D、 10uXu20uY
答案:A
解析:【解析】scanf函数是C语言提供的标准输入函数,作用是接收在终端设备(或系统隐含指定的输入设备)上输入的数据。scanf函数的一般形式为:scanft(格式控制,输入项表);。本题中的格式控制字符串是“%d%c%d%c”,其中%d表示要输入的是整数;%c则表示输入的是字符,且各控制符之间无任何分隔字符,故要求输入的数据之间也不能分开。而BCD三项在10和X之间均插入空格,均不正确。答案选择A选项。
A. printf("%s", "a");
B. printf("%s", 'a');
C. printf("%c", "a");
D. printf("%d", 'a');
解析:【解析】输出函数printf()的一般形式为“printf("格式控制字符串",输出项1,输出项2,…)”,输出项的形式要和格式控制字符串中的格式控制符保持一致,"%s"为输出字符串,"%c"为输出单个字符,"%d"为以十进制形式输出带符号整数,答案选择A选项。
A. gets(s);
B. while((s[i++]=getchar())!='\n');s[i]='\0';
C. scanf("%s",s);
D. do{ scanf("%c",&s[i]);} while(s[i++]!='\n');s[i]='\0';
解析:【解析】字符串的输入有两种方式:①scanf()函数;②get()函数。A项,gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止;B项,getchar()函数从终端读入一个字符作为函数值;D项,%c格式读入单个字符,空格、回车符和Tab键都将作为字符读入。C项中,s代表输入一个字符数组而非地址,而且遇到空格时会默认字符串输入结束,所以不能读入带有空格的字符串。答案选择C选项。
A. 仅Ⅰ
B. 仅Ⅲ
C. Ⅰ和Ⅱ
D. Ⅱ和Ⅲ
解析:【解析】数据管理技术发展阶段包括:①人工管理阶段,没有操作系统,没有管理数据的软件,采用批处理的方式处理数据;②文件系统阶段,操作系统中包含专门管理数据的文件系统;③数据库系统阶段,使用数据库管理系统来统一管理数据。答案选择A选项。
A. 线性链表是线性表的链式存储结构
B. 栈与队列是非线性结构
C. 双向链表是非线性结构
D. 只有根结点的二叉树是线性结构
解析:【解析】线性结构是指如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每个结点最多有一个前件,也最多有一个后件。B项错误,栈和队列都是操作受限的线性表;C项错误,双向链表是线性结构;D项错误,二叉树中的结点后继不唯一,属于非线性结构。
A. 元组
B. 字段
C. 属性
D. 码
解析:【解析】关系表中的每一行称为一个元组。每一列称为一个字段,又称一个属性。惟一标识元组的最小属性值称为该表的键或码。答案选择A选项。
A. a=(b=3)=1;
B. a=(b=2)+c;
C. a=b=c+10;
D. a=1+(b=c=2);
解析:【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量或表达式,且左右两边数据类型相同才能实现赋值。A项中,赋值运算(b=3)=1,左值为表达式,不是变量不能被赋值,A项错误。B项运算过程为,先赋值b=2,再计算b+c,将结果赋给a,是正确的赋值语句。C项运算过程为,先计算c+10将结果赋给b,再将b赋给a,是正确的赋值语句。D项运算过程为,先将2赋给c,再将c赋给b,然后计算1+b,将结果赋给a,是正确的赋值语句。答案选择A选项。
A. Ta=0,b=1
B. Fa=1,b=2
C. Ta=1,b=2
D. Fa=0,b=2
解析:【解析】程序执行过程为:判断++a==b++是否成立,++a前置运算先加1,则运算符==左边表达式值为1,a=1,b++后置运算先取值,则==右边表达式值我1,b=2,即是判断1==1,成立,输出T,输出a=1,b=2。答案选择C选项。
A. 单链表
B. 循环链表
C. 双向链表
D. 二叉链表
解析:【解析】循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点。A项,线性单链表的每个结点只有一个指针域,由这个指针只能找到其后继结点,但不能找到其前驱结点。也就是说,只能顺着指针向链尾方向进行扫描,因此必须从头指针开始,才能访问到所有的结点;C项,双向链表中的每个结点设置有两个指针,一个指向其前驱,一个指向其后继,这样从任意一个结点开始,既可以向前查找,也可以向后查找。在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描。这样,部分结点就要被遍历两次;D项,二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历,其他部分的结点无法访问。答案选择B选项。
A. 选项。
B. -17,12,22
C. -17,-22,-l2
D. 17,22,12
解析:【解析】整型常量有3种表示方法,①十进制整常量,没有前缀,输出格式控制符为%d;②八进制整常量,以0作为前缀,输出格式控制符为%o;③k=18,整型常量18用八进制表示为22,十六进制表示为12,答案选择
A. y=sqrt(x); if(x<0)y=sqrt(-x);
B. if(x>=0)y=sqrt(x); else y=sqrt(-x);
C. if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x);
D. y=sqrt(x>=0?x:-x);
解析:【解析】sqrt函数是math.h文件中用来计算平方根的库函数。A项错误,当x小于零时,A项会出现运行时错误。B项使用if-else语句实现功能;C项使用两条if语句实现;D项使用三目运算符实现,结果等价于BC两项。