逻辑题 1. 参加断型冠状病毒疫苗开发研讨会的70名学者中,亚商学者39人,博士33人,非亚裔学者中无博士学位的4人,根据以上陈述,参加此次研讨会的亚裔博士有几人? A 1 B 2 C 6 D 7 E 8 C 亚裔学者39人,博士33人,非亚裔学者中无博士学位4人,这三者加起来是76人,但实际总人数只有70人。亚裔学者和博士两个概念之间为交叉关系,这两个概念和非亚裔学者中无博士学位者之间都是全异关系。这说明,既是亚裔学者又是博士即亚裔博士有6人。 也可以通过运用计算法来求解。设亚裔博士有x人,则可列方程:31+33-x+4=70,解这个方程,可得:x=6。 2. 某省妇女儿童占全省总人口的2/3。如果妇女是指所有女性人口,儿童是指所有非成年人口,并且对任一年龄段,该省男女人口的数量持平,则上述断定能推出以下哪项结论? A 该省男性成年人口和儿童人口持平。 B 该省男性成年人口大于儿童人口。 C 该省男性成年人口小于儿童人口。 D 该省女性成年人口和男性儿童人口持平 E 该省男性成年人口和女性儿童人口持平。 A 由题干,可以给出以下表 女性 男性 成年 1/3 1/3 2/3 儿童 1/6 1/6 1/3 1/2 1/2 由任一年龄段,该省男女人口的数量持平,可得总人口男女持平。 由妇女儿童占全省总人口的三分之二,可得成年男性占三分之一。 由成年男性占三分之一,得男童占六分之一(因为男性占二分之一)。 由男童占六分之一,得女童占六分之一。因此,该省男性成年人口和儿童人口持平。 3. 某次讨论会共有25名与会者,已知(1)至少有7名青年教师是男性,(2)至少有8名男教师已过中年(3)至少有10名男青年是教师;如上述3句话两真一假,则关于与会人员可以得出以下哪项 A 青年教师至少有10名 B 男教师至多有15名 C 男青年都是教师 D 男青年至少有7名 D [1]:大于等于7名青男 [2]:大于等于8名中男[3]:大于等于10名青男。 [1]与[3]数量上有重叠部分,如果[3]为真,则[1]一定为真; 如果[1]为假,则[3]一定为假。此时就会两个为假,与题干条件的两真一假相矛盾,故[1]必真。而如果[1]为真,既青年男教师大于等于7人,那么男青年至少有7名。 4. 某中药配方有如下要求(1)如果有甲药材,那么没有乙药材(2)如果没有丙药材,那么必须有丁药材(3)人参和天麻不能都有(4)如果没有甲药材而有丙药材,则需要有人参。如果还有天麻,则关于该配方的断定哪项为真?D A 含有甲药材 B 含有丙药材 C 没有丙药材 D 含有乙药材或不含丁药材 无正确答案 由“含有天麻”和(3)可以推出,不含有人参;进而由(4),否定后件就能否定前件,可以推出,有甲药材或者没有丙药材。 如果有甲药材,由(1)可以推出,无乙药材;如果没有丙药材,由(2)可以推出,有丁药材;故无乙药材或有丁药材。 因此,选项中没有正确答案。 5. 某国拟在甲、乙、丙、丁、戊己6种农作物中进口几种,用于该国庞大的动物饲料产业,考虑到些农作物可能有违禁成分,以及它们之间存在的互补或可替代因素,该国对进口这些农作物有如下要求(1)它们当中不含违禁成分的都进口。2)如果甲或乙含有违禁成分,就进口丙和丁。3)如果戊含有违禁成分,那么己就不进口了;如果进口丙,就进口乙和己。(4)如果不进口己,就进口戊;如果进口戊,就不进口己。根据上述要求,以下哪项所列的农作物是该国可以进囗的; A 甲、乙、丙 B 乙、丙、丁 C 甲、乙、戊 D 甲、乙、己 E 丙、戊、己 C A选项与(2)矛盾 B选项与(2)矛盾 D选项与(3)矛盾 E选项与(4)矛盾 不定向选择 1. int i =1;const int j =2;以下说法不正确的是 A const int *p1 = &i; B const int *p2 = &j; C int *const p3 = &i; D int *const p4 = &j; D int *const p4 ,p4为指针常量,p4指向的内存位置不能改变,但是,p4所指内存存放的值是可以改变的。j表示常量,其数值不能被改变。 将j的地址赋给p4后,p4可以执行其他操作( 如*p4=4;),将j的值改变,因此,int *const p4 = &j;是错误的。 2. 以下关于内存的说法正确的是 A RAM是随机存储器,在断电时将丢失其存储内容,ROM是只读存储器,断电时不会丢失存储内容 B 内存的数据带宽与内存的数据传输频率、内存数据总线位数以及内存大小有关 C 用户进程通常情况只能访问用户空间的虚拟地址,不能访问内核空间虚拟地址 D Linux中使用 buddy system算法可以管理页外内存碎片,使用slub算法可以管理页内内存碎片 ACD B:内存的数据带宽的计算公式是:数据带宽=内存的数据传输频率×内存数据总线位数/8 3. 以下哪些事件会导致进程的创建 A 系统初始化 B fork系统调用 C pthread_ create函数调用 D 一个批处理作业的初始化 ABD 创建进程的多种方式但凡是硬件,都需要有操作系统去管理,只要有操作系统,就有进程的概念,就需要有创建进程的方式,一些操作系统只为一个应用程序设计,比如扫地机器人,一旦启动,所有的进程都已经存在。 而对于通用系统(跑很多应用程序),需要有系统运行过程中创建或撤销进程的能力,主要分为4中形式创建新的进程 1.系统初始化(查看进程 linux中用ps命令, windows中用任务管理器,前台进程负责与用户交互,后台运行的进程与用户无关,运行在后台并且只在需要时才唤醒的进程,称为守护进程,如电子邮件、web页面、新闻、打印) 2.一个进程在运行过程中开启了子进程(如 nginx开启多进程,os.fork等) 3.用户的交互式请求,而创建一个新进程(如用户用鼠标双击任意一款软件,qq,微信等) 4.—个批处理作业的初始化(只在大型机的批处理系统中应用) 无论哪一种,新进程的创建都是由—个已经存在的进程执行了—个用于创建进程的系统调用而创建的。 4. 下列说法正确的有 A 计算机体系结构是一门研究计算机系统软件结构的学科。 B 现代计算机处理器结构按照存储方式划分,可分为复杂指令集计算机和精简指令集计算机 C RISC技术对比CISC最大的区别就是对CPI的精简 D 单指令流单数据流计算机的每个机器周期最多执行一条指令 CD A.计算机体系结构主要研究软件、硬件功能分配和对软件、硬件界面的确定 B.现代计算机处理器结构按照指令系统方式划分,可分为复杂指令集计算机和精简指令集计算机 5. 32位系统中,该程序的输出为 //参数传递 退化为指针void Func(char str_arg[100]){ printf("%d\n",sizeof(str_arg));}int main(){ char str[] = "Hello"; printf("%d\n",sizeof(str)); printf("%d\n",strlen(str)); char *p = str; printf("%d\n",sizeof(p)); Func(str); return 0;} A 5 5 4 4 B 6 5 4 4 C 6 5 6 4 D 5 5 5 100 B 6 5 4 4 使用函数**strlen()求某个字符串的长度时是不包括结尾标志符'\0'的,但当你用sizeof()**求某个字符串占用的内存空间时,结尾字符'\0'是被包括在里面的。 strlen用来计算字符串的长度(在C/C++中,字符串是以"\0"作为结束符的),它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描直到碰到第一个字符串结束符\0为止,然后返回计数器值。 sizeof是C语言的关键字,它以字节的形式给出了其操作数的存储大小,操作数可以是一个表达式或括在括号内的类型名,操作数的存储大小由操作数的类型决定。 6. 有以下程序,求输出结果 #include<stdio.h>int fun(int i){ int cnt = 0; while(i) { cnt++; i=i&(i-1); } return cnt;}int main(){ printf("%d\n\r",fun(2021)); return 0;} 8 &是按位与,对应位都为1时该位得1,否则得0。所以 i&(i-1) 的作用:将i的二进制表示中的最右边的1置为0。 在本题中即数出2021转换成二进制有几个1就会走几次循环(不断除2)。2021对应的二进制是:10100111111,一共8个1,故走8次。 扩展:(n > 0 && ((n & (n - 1)) == 0)是判断n是不是2的次幂 7. 若 int x = 5&6,那么x的值为() A 3 B 4 C 5 D 6 B5: 01016: 0110x: 0100 8. 以下错误的表达式为 struct { inr a; char b;}Q,*p=&Q; A Q.a B (*p).b C p->a D *p.b D *p=&Q ,把Q的地址赋值给了指针p,对p解引用其实就是Q。 A 选项肯定是对的,结构体的正常访问方法。 B 选项 (*p).b 等价于 Q.b C p->a p为指针访问结构体用->没问题。 D *p.b 优先级问题,.的优先级高于 *,所以 *p.b == *(p.b),p为指针,访问结构体成员要用->。 扩展:结构体中.和->两种访问区别 定义结构体指针,访问成员时就用-> 定义结构体变量,访问成员时就用. struct A { int a; char b;};struct A q; //访问成员就用:q.a;struct A *p; //访问成员就用:p->a; 9. 关于对象的this指针,以下叙述不正确的有 A 必须显示地在类中定义声明this数据成员才能使用this指针 B 一且生成一个对