a<<2 就是 3<<2==12 3的2进制11左移2次就是1100 十进制是12
b>>1就是 10>>1==5; 10的2进制1010右移1次 就是101 就是5
12|5 就是 13
12的2进制是 1100
5的2进制是 101
按位求或得 1101
十进制就是13了
用c语言的编译器运行,考试一般是VC++60编译器运行。
C语言是一种编译型的程序设计语言,它采用编译的方式将源程序翻译成目的程序(机器代码)。运行一个C程序,从输入源程序开始,要经过编辑源程序文件(·C)、编译生成目标文件(·obj)、连接生成可执行文件(·exe)和执行四个步骤。
k=5,所以执行default得到:n=0,k=k-1=4;
因为没有break,继续执行case 4得到:n=n+2=2,k=k-1=3;
输出n的值2
符合k>0和n<5,继续执行
k=3,所以执行case 3得到:n=n+1=3,k=k-1=2;break
输出n的值3
符合k>0和n<5,继续执行
k=2,所以执行case 2得到:n=n+2=5,k=k-1=1;break
符合k>0和n<5,所以输出n的值5
不符合k>0和n<5,所以跳出循环
答案是A
#include <stdioh>
#define MAXLEN 80
int main(void)
{
int k=0,number=0;
char str[MAXLEN];
while((str[k]=getchar())!='#')
k++;
str[k]='\0';
for(k=0;str[k];k++)
if(str[k]>='0'&&str[k]<='9'||str[k]=='A'||str[k]=='B')
if(str[k]>='0'&&str[k]<='9')
number=number12+str[k]-'0';
else if(str[k]=='A'||str[k]=='B')
number=number12+str[k]-'A'+10;
else ; /第15行/
else break; /第16行/
printf("%d\n",number);
return 0;
}
---- 分析如下 ----
第17题
程序输入10#,
第一步 number=012+1=1
第二步 number=112+0=12
第18题
程序输入1a0#
第一步 number=012+1=1
因为 a 不在 A 和 Z范围内,所以跳出循环,此时number=1
第19题,程序修改第16行
程序输入a0#
因为a和都不是 0到9,A 和 B 范围内,所以不能进行计算 number 值
所以 number=012+0=0
第20题,程序删除第15行,恢复第16行
这时的作用和第19题差不多,因为不会执行 else break;LZ自行分析
第一步:num=012+1=1
第二步:num=112+6=18
第三步:num=1812+0=216
LZ自己再好好思考下。。。
可以用c语言的编译器运行,考试一般是VC++60编译器运行。对于题空题和改错题,评分程序先是读取考生文件夹下的BLANC和MODIC文件,再找到其中需要填空和改错的代码所在的行数,最后与评分程序中的提供的数据进行对比。
对于考编程题,评分程序一般先是读取考生文件夹下的扩展名为DAT的文件,再其中的数据与评分程序中的提供的数据进行对比,因此,在编程后一定要运行程序,以生成扩展名为DAT的输出文件。
成绩评定:
各级上机考试的成绩由考生交卷后由计算机直接评分给出,机器阅卷,并由考点汇总并与答题卡一起提交至北京,但是除了0分考生以外,考生无法当场得到具体的成绩。
另外,一级考生、补考上机的考生将要和其余考生一样在当地的成绩公布日才能得到成绩。当北京方面将试卷评阅完毕后,会将各省的成绩合格信息汇总并发回给各省的主考部门,并由各省的主考部门来决定具体的成绩公布的时间。
以上就是关于计算机二级的一道程序题全部的内容,包括:计算机二级的一道程序题、计算机二级考试的程序设计题应该怎样运行、计算机二级题目......等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)