天空好像下雨,我好住你隔壁。
一、选择题
1、下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
A.非强占式静态优先权法
B.强占式静态优先权法
C.时间片轮转调度算法
D.非强占式动态优先权法
答案:B。
2、如果信号量的当前值为-4,则表示系统中在该信号量上有()个进程等待。
A、3
B、4
C、0
D、5
答案:B。分析:信号量为-m,就说明有m个进程在等待,一共m + 1个进程,还有一个在临界区。
3、第一份对于Linux说法,下列说法正确的是( )
A.线性访问内存非法时,当前线程会进入信号处理函数
B.用mv命令移动文件时,文件的修改时间会发生变化
C.ulimit-c设置的是函数调用栈的大小
D.malloc函数是应用程序向操作系统申请内存的接口
答案:A。分析:
4、某台微机安装的是 64 位操作系统,64 位指的是()
A、CPU的运算速度,即Cpu每秒钟能计算64位二进制数据
B、CPU的型号
C、CPU的时钟主频
D、CPU的字长,即CPU每次能处理64位二进制数据
答案:D。
5、由源代码生成可执行文件需要经过预编译,编译,汇编,链接等阶段,错误:unresolved external symbol Beginscene属于()阶段错误。
A、预编译
B、链接
C、汇编
D、编译
答案: B。分析:无法解析的外部符号,说明单个文件已经编译过了。在链接时,查找不到外部符号。
二、编程题
1、淘宝网店
中等难度的日期类问题,需要考虑是不是闰年和是不是质数。
usingnamespacestd; inta[13] = { 0, 62, 90, 121, 181, 212, 272, 303, 365, 425, 487, 517,579 }; boolisleapyeaar(intyear) { if (year%4==0&&year%100!=0||year%400==0) returntrue; elsereturnfalse; } boolisPrime(intn) { if (n<=3) { returnn>1; } for (inti=2; i<n; i++) { if (n%i==0) { returnfalse; } } returntrue; } //非闰年一年的利润是579,闰年的利润是580intmain() { inty1, y2, m1, m2, d1, d2; inth=579; while (cin>>y1>>m1>>d1>>y2>>m2>>d2) { ints1=0, s2=0; if (isPrime(m1)) { s1=a[m1-1] +d1; } else { s1=a[m1-1] +2*d1; } if (isPrime(m2)) { s2=a[m2-1] +d2; } else { s2=a[m2-1] +d2*2; } if (isleapyeaar(y1) &&a[m1-1] >2) s1+=1; if (isleapyeaar(y2) &&a[m2-1] >2) s2+=1; if (y1==y2) { if (isPrime(m1)) cout<<s2-s1+1<<endl; elsecout<<s2-s1+2<<endl; } else { while (y1<y2) { if (isleapyeaar(y1)) { s2+=580; } elses2+=579; y1++; } if (isPrime(m1)) cout<<s2-s1+1<<endl; elsecout<<s2-s1+2<<endl; } } return0; }
2、斐波那契凤尾
usingnamespacestd; constintN=100010; inta[N] = { 0 }; voidfbnx() { a[0] =1, a[1] =1; for (inti=2; i<100001; i++) { a[i] = (a[i-1] +a[i-2]) %1000000; } } intmain() { intn; fbnx(); while (cin>>n) { if (n<29) //斐波那契数列小于6位 { printf("%d\n", a[n]); } else { printf("%06d\n", a[n]); } } return0; }
总结
本文总共讲了5题牛客高频的选择题,以及两道牛客编程题,希望大家读后能够有所收获!