东北大学C语言程序设计与数据结构考研真题试题2018年
- 格式:pdf
- 大小:1.41 MB
- 文档页数:4
7 8 9 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45在物理实验中,获得5个数据{0.89,0.78,0.0009,0.67,0.56},其中有一个数据小于0.001,此数据无效,将此无效在跳水比赛中,有10个评委共同打分,评分规则是去除最高分和最低分,然后计算剩余8个评委分数的平均分作为已知一有序序列1,2,4,6,12,14,要求从键盘输入一个整数,将此整数插入到此有序序列中。
要求输出原始数组和从键盘读入一整数,判断其在数组3,23,-7,8,9,10中是否存在,假设此数组中不存在重复的数字。
若存在,则删除(2)当x大根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
(1)当x小于1时,y等于2+cos(x)从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。
例如输入12.345,其结果为12.35;输从键盘输入三个整数a、b、c,输出其中最小的数。
从键盘输入三个整数a、b、c,输出其中最大的数。
从键盘输入一个百分制成绩,将其转换为等级'A'、'B'、'C'、'D'、'E'后输出成绩。
转换规则为:90分以上为'A 输入一个3位的正整数,判定该正整数是否为一个回文数。
(所谓回文数是指正读和反读都相同的数,例如131)。
从键盘输入一个字母表示的成绩,将其转换为分数。
规则是'A'对应95、'B'对应85、'C'对应75、'D'对应65、'E'输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 1(2)当x大于根据下面的函数关系,输入X,计算Y,要求输出结果保留两位小数。
东北大学考研操作系统真题
1. 2018年操作系统考研真题
下面是2018年东北大学考研操作系统真题,请根据题目要求
完成以下问题:
1.1 请简述进程与线程的概念和区别。
1.2 请解释用户态与内核态的概念及其之间的切换过程。
1.3 请说明虚拟内存的作用,并解释页表机制是如何将虚拟地
址转换为物理地址的。
2. 2017年操作系统考研真题
下面是2017年东北大学考研操作系统真题,请根据题目要求
完成以下问题:
2.1 请解释死锁的概念,以及导致死锁的必要条件。
2.2 请解释虚拟内存中的页面置换算法FIFO,并给出示例说明。
2.3 请说明进程调度算法中的时间片轮转调度算法的工作原理,以及其优缺点。
3. 2016年操作系统考研真题
下面是2016年东北大学考研操作系统真题,请根据题目要求
完成以下问题:
3.1 请解释进程的概念,并说明进程的状态转换和原语操作。
3.2 请解释死锁预防与避免的概念及其实现方法。
3.3 请解释页面置换算法LRU,并给出示例说明。
注意:以上均为根据真题要求完成的问题,不包含真实的题目标题。
东北大学继续教育学院C语言及程序设计复习题第一部分(填空题):1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A.大写字母B.连接符C.数字字符D.下划线答案:B2.下面关于计算机正确的是( )。
A.计算机由硬件系统和软件系统两部分构成B.只要有硬件系统,计算机就能工作C.计算机只能处理文本信息D.计算机只能处理计算问题答案:A3.( )是c语言提供的合法的数据类型关键字。
A.IntB.longC.CharD.integer答案:B4.面向过程的高级语言包括( )。
A.C,JA V AB.C,BASICC.C++.NET,ASPD.C,VB答案:B5.软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A.编译程序B. 操作系统C.教务管理系统D.汇编程序答案:C6.以下选项中关于C语言常量的叙述错误的是()。
A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可以定义成常量答案:D7.下面描述中正确的是()。
A.C语言提供了专门的输入/输出语句B.C语言调用输入/输出函数时需要使用include命令包含头文件C.C语言可以直接使用输入/输出函数D.输入/输出函数所在的头文件是stdlib.h答案:B8.假设有char型变量c1,c2,执行下面程序段:c1=gatchar();c2=gatchar();printf(“c1=%c,c2=%c\n”,c1,c2);如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。
A.ab<回车>B.a<回车>b<回车>B.C.a<空格>b<回车> D.a<tab>b<回车>答案:A9.下面描述中正确的是()。
东北大学(秦皇岛)c语言考试题7一、选择题答案1. 若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b); B) switch(a*a+b*b) { case 1:y=a+b; break; {case 3:case 0:y=a-b; break; case 1:y=a+b;break;}case 3:y=b-a,break;}C) switch a D) switch(a-b) { case c1 :y=a-b; break {default:y=a*b;breakcase c2: x=a*d; break case 3:case 4:x=a+b;breakdefault:x=a+b;case 10:case 11:y=a-b;break;}}B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)你所选择的答案是:*,正确答案是:C ×5. 下列程序的运行结果是void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}A) 6 3B) 3 6C) 编译出错D) 0 0你所选择的答案是:*,正确答案是:B ×6. 以下只有在使用时才为该类型变量分配内存的存储类说明是A) auto和staticB) auto和registerC) register和staticD) extern和register你所选择的答案是:*,正确答案是:B ×7. 以下程序的输出结果是main(){ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%dn",s);}A) 18B) 19C) 20D)21你所选择的答案是:*,正确答案是:A ×8. 以下合法的赋值语句是A) x=y=100B) d--;C) x+y;D) c=int(a+b);你所选择的答案是:*,正确答案是:B ×9. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3B) 9,3C) 9,2D) 10,2你所选择的答案是:*,正确答案是:D ×10. 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(w<x)?w; x; m=(m<y)?m;y; m=(m<z)?m; z;则该程序运行后,m的值是itA) 4B) 3C) 2D) 2你所选择的答案是:*,正确答案是:D ×11. 设有以下函数:f ( int a){ int b=0;static int c = 3;b++; c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){ int a = 2, i;for(i=0;i<3;i++) printf("%d\n",f(a));}A) 789B) 7911C) 71013D) 777你所选择的答案是:*,正确答案是:A ×12. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3B) 6C) 10D) 20你所选择的答案是:*,正确答案是:D ×13. 以下程序的输出结果是main(){ char st[20]= "hello\0\t\\\";printf(%d %d \n",strlen(st),sizeof(st));}A) 9 9B) 5 20C) 13 20D) 20 20你所选择的答案是:*,正确答案是:B ×14. 以下程序段的输出结果是int a=1234;printf("%2d\n",a);A) 12B) 34C) 1234D) 提示出错、无结果你所选择的答案是:*,正确答案是:C ×15. 以下程序的输出结果是main(){ char x=040;printf("%d\n",x<<1);}A) 100B) 80C) 64D) 32你所选择的答案是:*,正确答案是:C ×16. 以下程序的输出结果是main(){ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++) t=t+b[i][b[j][j]];printf("%d\n",t);}A) 3B) 4C) 1D) 9你所选择的答案是:*,正确答案是:B ×17. 若以下定义:struct link{ int data;struck link *next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构: a bdata next data next┌──┬──┐┌──┬──┐│ 5 │┼──→│9 │\0 │└──┴──┘└──┴──┘↑pcdata next┌──┬──┐│7 ││└──┴──┘↑q指针p指向变量a,q指向变量c。
考研计算机复试(C语⾔复试2018笔试题)(精华题选)
1.obj⽂件是:(⼆进制⽂件)
2.函数func(float x){printf("%f",x+x);}的类型是()
A.void
B.int类型
C.⽆法确定
3.若有定义:int a[2][3];则对a数组的第i⾏第j列元素地址的正确引⽤是(C、D),
对a数组的第i⾏第j列元素值的正确引⽤是(A、B)
A.*(a[i]+j)
B.*(*(a+i)+j)
C.(a[i]+j)
D.*(a+i)+j
4.关系运算符==与>=的优先级相同(错误)
解析:> >= < <= 优先级⼤于 == !=
5.全局变量加上static属性,作⽤是限制全局变量的作⽤域(正确)
解析:
(1)static 全局变量--->作⽤是限制其作⽤域(仅本⽂件可使⽤)
(2)static 局部变量--->作⽤是改变其存储⽅式(⽣存期)
(3)static 函数--->作⽤是限制其作⽤域(仅本⽂件可使⽤)(内存只存⼀份)
6.什么叫结构化算法?为什么要提倡结构化算法?
答:
7.简述单链表的优点和缺点。
答:单链表操作灵活,增加、删除元素时只需修改指针,从堆中分配空间,⾃由度⼤但难管理,只能顺序存取,不能随机存取。
8.(1.将数字转换为字符串)(2.取整数各个位数的值)(3输⼊位数判断)。
东北大学“计算机科学与技术”《C语言及程序设计》23秋期末试题库含答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串是“ab+”。
()A.正确B.错误2.3.以下不正确的说法为()。
A.在不同函数中可以使用相同名字的变量B.形式参数是局部变量C.在函数内定义的变量只在本函数范围内有效D.在函数内的复合语句中定义的变量在本函数范围内有效4.下面程序的运行结果是()。
charc[]=“\t\v\\\0will\n”; printf(“%d”,strlen(c))A.14B.3C.9D.字符串中有非法字符,输出值不能确定5.以下for循环语句()。
for(;;)printf(“*”);A.判断循环结束的条件不合法B.是无限循环C.循环一次也不执行D.循环只执行一次6.合法的C语言标识符是()。
A.abcB.2abC._a1D./n 7.函数rewind(fp)的作用是:使文件位置指针()。
A.重新返回文件的开头B.返回到前一个字符的位置C.指向文件的末尾D.自动移至下一个字符的位置8.声明语句int x=y=z=5; 可以正确定义整型变量x,y和z并为其赋初值5。
()A.正确B.错误9.在C程序中,注释说明只能位于一条语句的后面。
()A.正确B.错误10.C语言程序中有调用关系的所有函数都必须放在同一源程序文件中。
()A.正确B.错误11.一个整数可以直接赋给一个枚举变量。
()A.正确B.错误12.若使用下述程序段将整数12和浮点数13.6分别赋给变量a和b,那么输入应该式()。
int a;float b;scanf(“a=%d,b=%f”,a,b);A.1213.6B."a=12,b=13.6"C."12,13.6"D.a=12b=13.613.下列程序的输出为()。
东北大学(秦皇岛)c语言考试题8一、选择题答案1. 有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是A) 1B) 3 0C) 1 -2D) 死循环你所选择的答案是:*,正确答案是:C ×2. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为main( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}A) ABCDEFGB) IJHLC) ABCDEFGHIJKLD) IJKLABCDEFGH你所选择的答案是:*,正确答案是:D ×3. 以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};main(){ p=aa;printf("%d\n",++(p->x));}A) 10B) 11C) 51D) 60你所选择的答案是:*,正确答案是:C ×4. 以下选项中,非法的字符常量是A) '\t'B) '\17'C)"n"D) '\xaa'你所选择的答案是:*,正确答案是:C ×5. 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A) fopen("A:\user\abc.txt","r")B) fopen("A:\\user\\abc.txt","r+")C) fopen("A:\user\abc.txt","rb")C) fopen("A:\\user\\abc.txt","w")你所选择的答案是:*,正确答案是:B ×6. 以下不能正确进行字符串赋初值的语句是A) char str[5]="good!";B) char str[]="good!";C) char *str="good!";D) char str[5]={'g','o','o','d'};你所选择的答案是:*,正确答案是:A ×7. 若有以下程序:#include "stdio.h"main(){int k=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}执行后的输出结果是A) 8,6B) 8,3C) 6,4D) 7,4你所选择的答案是:*,正确答案是:C ×8. 有一函数,1 (x>0)y= 0 (x=0)-1(x<0)以下程序段中不能根据x值正确计算出y值的是A) if(x>0) y=1;else if(x==0) y=0;else y=-1;B) y=0;if(x>0) y=1;else if(x<0) y=-1;C)y=0;if(x>=0);if(x>0) y=1;else y=-1;D)if(x>=0)if(x>0) y=1;else y=0;else y=-1;你所选择的答案是:*,正确答案是:C ×9. 有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345 &&n<3);此处do-while循环的结束条件是A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于3你所选择的答案是:*,正确答案是:D ×10. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是A) p=q;B) *p=*q;C) n=*q;D) p=n;你所选择的答案是:*,正确答案是:D ×11. 有以下程序float fun(int x,int y){ return(x+y); }main(){ int a=2,b=5,c=8;printf("%3.0f\n",fun(int)fun(a+c,b),a-c));}程序运行后的输出结果是A) 编译出错B) 9C) 21D) 9.0你所选择的答案是:*,正确答案是:B ×12. 有以下程序void fun(char *c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){ char a='A',b='a';fun(&b,a); printf("%c,%c\n",a,b);}程序运行后的输出结果是A)B,a,B,aB) a,B,a,BC) A,b,A,bD) b,B,A,b你所选择的答案是:*,正确答案是:D ×13. 在一个C程序中()。
东北大学C语言考试题库及答案————————————————————————————————作者:————————————————————————————————日期:题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
5 题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END.(可选用switch 语句编写)6 题目:编写程序将用户输入的字母进行大小写转换。
7 题目:编程判断输入的正整数是否即是5的倍数又是7的倍数.若是则输出该数;否则输出—1。
8 题目:输入一个整数,判断它是奇数还是偶数并输出。
9 题目:从键盘输入二个整数a、b,将其按大到小排列.10 题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。
例如:13、17、113、317等。
11 题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一:(1)能同时被3,5,7整除;(2)能被其中两数(要指出哪两个)整除;(3)被其中一个数(要指出哪一个)整除;(4)不能被3,5,7任一个整除.12 题目:输入一个5位的正整数,判定该正整数是否为一个回文数。
(所谓回文素数是指正读和反读都相同的数,例如12321)。
13 题目:假设变量a、b、c为整数,从键盘读入a、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作.14 题目:输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 100 to 999)。
15 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。
16 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般)。
17 题目:计算二次方程的根。
一、选择题答案1. 若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b); B) switch(a*a+b*b){ case 1:y=a+b; break; {case 3:case 0:y=a-b; break; case 1:y=a+b;break;} case 3:y=b-a,break;}C) switch a D) switch(a-b){ case c1 :y=a-b; break {default:y=a*b;break case c2: x=a*d; break case 3:case 4:x=a+b;breakdefault:x=a+b; case 10:case 11:y=a-b;break;} }你所选择的答案是:*,正确答案是:D ×2. 有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是A) 1B) 3 0C) 1 -2D) 死循环你所选择的答案是:*,正确答案是:C ×3. 下列程序的输出结果是main(){ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}A) 非法B)a[4]的地址C)5D)3你所选择的答案是:*,正确答案是:C ×4. 当调用函数时,实参是一个数组名,则向函数传送的是A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值你所选择的答案是:*,正确答案是:B ×5. 以下选项中合法的字符常量是A)"B"B) '\010'C) 68D) D你所选择的答案是:*,正确答案是:B ×6. 以下合法的赋值语句是A) x=y=100B) d--;C) x+y;D) c=int(a+b);你所选择的答案是:*,正确答案是:B ×7. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是A) INPUT x、y、z;B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z);D) read("%d%d%d",&x,&y,&z);你所选择的答案是:*,正确答案是:B ×8. 阅读以下程序:main(){ int x;scanf("%d",&x);if(x--<5) printf("%d"'x);else printf("%d"'x++);}程序运行后,如果从键盘上输人5,则输出结果是A)3B) 4C) 5D) 6你所选择的答案是:*,正确答案是:B ×9. 以下程序的输出结果是main(){ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}A) 0650B) 1470C) 5430D) 输出值不定你所选择的答案是:*,正确答案是:A ×10. 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是A) x || yB) x | yC) x & yD) x ^ y你所选择的答案是:*,正确答案是:D ×11. 下面的程序执行后,文件testt.t中的内容是#include <stdio.h>void fun(char *fname.,char *st){ FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;i<strlen(st); i++)fputc(st[i],myf);fclose(myf);}main(){ fun("test","new world"; fun("test","hello,"0;)A)hello,B)new worldhello,C)new worldD)hello, rld你所选择的答案是:*,正确答案是:A ×12. 若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是A) a的值是字符CB) a的值是浮点型C) 不允许字符型和浮点型相加D) a的值是字符'A'的ASCII值加上1。
2007年东北大学《C语言程序设计与数据结构》考研真题
C语言:
前面几道小题(只给出考点):
1,子函数考点:定义一个指针形参p,经过简单运算,return(*p)++---------主要是判断先加再返回还是先返回再加的问题
2,好象是关于指针的
3,数组交换位置:子函数中用数组名做形参,用交换语句进行数组项交换,主函数给出数组,最后输出
数组:a[5]={1.2,3,4,5},
交换语句:i=0,j=4,if(i<j){t=a,a=a[j],a[j]=t,i++,j--} 4,指向字符串的指针数组,初始化一个二维指针数组a[2][3],char*p=a,
输出下列内容:***(p+1)**(p+2)*(*(p+1)+2)[3](还有些记不太清楚了,一共5个
二题判断对错:
1,结构体的定义,里面嵌套了结构体变量及结构体指针
2,关于指向字符串指针的指针,分配整型空间,赋值等
3,关于函数返回值,主函数需要一个返回值,但子函数形参不是指针
4,关于数组名,直接用数组名递加把元素输出,由于数组名不能自加,所以有另设变量大题一:已经按字典序排好的词条序列,存于一个文件中,格式:book/n书/n支票(大致),要求用二分查找的思想,在文件中查找给定词条,并打印出来;
大题二:n个小孩组成环,从一开始报数,报到2的次幂的出列,请打印出列顺序;要求使用链表结构
数据结构:
小题:
1.在1..m的一片连续存储空间上,有两个栈S1,S
2.怎样设置这两个栈,可以充分利用这片存储空间,画出示意图,给出如何判断栈空和栈满5分
2.利用深度优先遍历方法,能否对有向图进行拓扑排序,若能请说明方法,不能说明原因.4分。
东北大学C语言题库第一部分(选择题)1、构成C语言的基本单位是________。
你的答案是:正确答案是:B过程函数语句命令2、设x为整型变量,不能正确表达数学关系:5<x<10的c语言表达式是_____。
你的答案是:正确答案是:A5<="">x>5&&x<10x==6||x==7||x==8||x==9!(x<=5)&&(x<10)3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为_____。
你的答案是:正确答案是:D&&、||、!||、&&、!&&、!、||!、&&、||4、下面语句中,正确的是_____。
你的答案是:正确答案是:Dprintf("%c\n","student");printf("%c\n","c");printf("%s\n",&a);printf("%s\n","hello");5、对于for(表达式1;;表达式3)可以理解为_____。
你的答案是:正确答案是:Bfor(表达式1;0;表达式3)for(表达式1;1;表达式3)for(表达式1;表达式1;表达式3)for(表达式1;表达式3;表达式3)6、执行下面程序段的结果是_____。
main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }你的答案是:正确答案是:Ba=1,b=1a=2,b=1a=1,b=0a=2,b=27、执行下面程序段的结果是_____。