练习25

二级C语言必过教程

共 1900字,需浏览 4分钟

 · 2021-07-07

点击蓝字

关注我们

DRAGON BOAT FESTIVAL




练习25


考试规则:点击你认为正确的选项

1.设循环队列存储空间为Q ( 1:50 ) ,初始状态为front=rear=50。经过一系列入队和退队操作后,front=rear=25,则该循环队列中元素个数为()。

A.26

回答错误 ✕

B.25

回答错误 ✕

C.24

回答错误 ✕

D.0或50

回答正确 √

试题解析

循环队列是队列的一-种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。循环队列长度为50,由初始状态为front=rear=50可知此时循环队列为空。入队运算时,首先队尾指针rear进1 ( 即rear+1),然后在队尾指针rear指向的位置插入新元素。特别的,当队尾指针rear=50+1时,置rear=1。退队运算时,排头指针front进1 ( 即front+1), 然后删除front指针指向的位置上的元素,当排头指针front=50+1时,置front=1。若经过运算,front=rear可知队列空或者队列满,则队列中有0或者50个元素。故选D选项。


点击答题丨点击选项查看对错丨展开动画


2. 有以下程序

#include <stdio.h>void fun(char *c,int d){  *c=*c+1;  d=d+1;  printf("%c,%c,*c,d);}main({   char b='a',a='A;  fun(&b,a);  printf("%c,%c\n ",b,a);}

程序运行后的输出结果是( )。

A.b,B,b,A

回答正确 √

试题解析

计算字符常量时一般使用其ASCII码进行运算。'a'+1="b' ,fun0中的第一个参 数为地址传参,形参的变化会影响实参的变化,所以两次输出的b值都为字符b';第二个参数为值传参,形参变化不会影响实参,所以在函数fun0体内输出字符'B',函数fun()体外输出结果为字符'A',所以答案选A



B.b,B,B,A

回答错误 ✕

C.a,B,B,a

回答错误 ✕


D.a,B,a,B 



回答错误 


点击答题丨点击选项查看对错丨展开动画



3.有如下程序.

#include <stdio.h>main(){  int i;  for (i=0; i<5; i++)    putchar('9'-i);  printf("\n");}

程序运行后的输出结果是( )。

A.54321

回答错误 ✕

B.98765

回答正确 √

试题解析

putchar函数是向标准输出设备.上输出一个字符。字符在内存中以ASCII码方式存储,可以与整数进行加减运算,但是要保证计算结果在0~255之间。本题执行过程为:i=0,输出字符9,在i<5的情况下,依次输出字符8、7.6、5。在i=5时,计数for循环。最后显示在命令窗口结果为98765,B选项正确。


C.9"8"7"6"5'

回答错误 ✕


D.'43210'

回答错误 


点击答题丨点击选项查看对错丨展开动画



4.有以下程序.

#include <stdio.h>#define F(x)  2.84+x#define PR(a)  printf(%d" ,(int)(a))#define PRINT(a)  PR(a);putchar(^\n")main(){  PRINT( F(5)*2);}

程序运行后的输出结果是( )。

A.11

回答错误 ✕

B.13

回答错误 ✕

C.15

回答错误 ✕

D.12

回答正确 √

试题解析

宏替换是使用宏名代替一个字符串, 是- -种机械、简单的置换,所以语句"PRINT(F(5)*2); "可用字符串"PR(F(5)*2);putchar(^\n"); "替换,而语句"PR(F(5)*2);"可以用字符串"rintf("%d",(int)(F(5)2)",即为"printf("%d" ,(int)(2.84+5*2)" ,所以输出结果为12,答案选D。



点击答题丨点击选项查看对错丨展开动画



球分享

球点赞

球在看

浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报