2018年北京联合大学教育智能化技术801计算机综合之C程序设计考研基础五套测试题
● 摘要
一、选择题
1. 若有定义语句intb=2;, 则表达式
A.4
B.8
C.0
D.2
【答案】B 的值是( )。
【解析】b=2, 转为二进制即为0010,首先将b 左移两位,变成1000,即十进制的8, 3llb 的值为真即为1, 最后计算8/1的值,为8。
2. 以下程序的功能是:通过调用calc 函数,把所求得的两数之和值放入变量add 中,并在主函数中输出。
calc 函数中下划线处应填入的是( )。
【答案】A
【解析】程序的执行过程为:从键盘读入两个float 类型数据,分别赋给x ,y ,调用函数calc 将x 与y 的值与add 变量地址传入函数,地址赋给指针sum ,函数体中将两数之和放入指针指向的地址,指针正确的引用形式为(*SUm),这表示变量,可以被赋值。所以横线处填写*sum,故A 选项正确。
3. 以下可以将任意一个两位整数n 的个位数与十位数对换的表达式为( )。
A. (n-n/10×10)×10+n/10
B.n-n/l0×l0+n/10
C.n/10+(n-n/10)
D. (n-n/10)×10+(n/10)
【答案】A
A 项n/10得到十位数字,n-n/10得到个位数字,【解析】将个位数乘以10加上十位数字,(n-n/10
×10)×l0+n/10实现将任意一个两位整数个位数与十位数对换,A 项正确。B 项n-n/10×10得到个位数字,n/10为十位数字,n-n/10×l0+n/10实现两位整数个位数与十位数之和,B 项错误。C 项n/10+(n-n/10)=n, 不能实现题目中要求,C 项错误。D 项n/10是十位数字,n-n/10为原两位整数减去十位数字,不是个位数字,D 项错误。
4. 若已有定义语句:inta ,b ,c ; ,且变量已正确赋初值,则以下选项中正确的赋值表达式是( )。
A.a=(b=c)+8;
B. (a=b)=c=9;
C.a=(b==c)=‘A ’;
D.a+b=c+l;
【答案】A
【解析】A 项正确,将c 赋值给b 后又加上8,然后再赋值给a ; B 、D 项错误,赋值运算符左边必须是一个变量;C 项错误,(b==c)是个表达式,语法错误。
5. 有以下程序:
程序运行后的结果是( )。
A.11
B.21
C.6
D.120
【答案】B
【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元,其生存周期 一直延续至整个程序结束。fim 函数被调用了 5次,第1次
,
第2次,第3次,
第4次,
第5次,
6. 以下选项中合法的标识符是( )。
【答案】C
【解析】C 语言中标识符的命名规则是:标识符由字母、数字和下画线组成,并且第一个字符必须是字母或下画线。C 语言的标识符是区分大小写字母的。
7. 程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s 、p 、q 均已正确定义,并用于指向链表结点,指针变量s 总是作为头指针指向链表的第一个结点。
若有以下程序段
该程序段实现的功能是( )。
A. 删除首结点
B. 尾结点成为首结点
C. 首结点成为尾结点
D. 删除尾结点
【答案】C
【解析】进过while 循环后,p 指向链表的尾结点
8. 有以下程序
是把q 置为p 的next
结点q 的next 结点为空,此时q 结点成为链表的尾结点。