东北大学C语言程序设计与数据结构考研真题试题2016年
东北大学16春学期《C语言程序设计》在线作业
东北大学16春学期《C语言程序设计》在线作业16春学期《C语言程序设计》在线作业一、单选题(共 40 道试题,共 80 分。
)1. 若执行fopen函数时发生错误,则函数的返回值是( )A. 地址值B. nullC. 1D. EOF2. 下列哪个是字符写函数( )。
A. fgetcB. fputcC. fgetsD. fwrite3. struct person {char name[9]; int age;}; struct personclass[10]={"John",17,"Paul",19,"Mary"18,"adam",16}; 根据上面的定义,能打印出字母M的语句是( )。
A. printf("%c\n",class[3].name);B. printf("%c\n",class[3].name[1]);C. printf("%c\n",class[2].name[1]);D. printf("%c\n",class[2].name[0])4. 若以”a+”方式打开一个已存在的文件,则以下叙述正确的是( )。
A. 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。
B. 文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作。
C. 文件打开时,原有文件内容被删除,只可作写操作。
D. 以上各种说法皆不下确。
5. 下面4个选项中,均是不合法的用户标识符的选项是( )A. A P_0 doB. float a0 _AC. b-a 123 intD. _123 temp INT6. 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A. k%2B. k%2==0C. (k%2)!=0D. !(k%2==0)7. putchar函数可以向终端输出一个:A. 整型变量表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值8. for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )A. 2次B. 无限次C. 0次D. 1 次9. fscanf函数的正确调用形式是( )。
东北大学C语言机考试题全
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,要求输出结果保留两位小数。
东大C语言及程序设计网考复习资料答案
东北大学继续教育学院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语言考试题库及答案
东北大学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 题目:计算二次方程的根。
计算机等级C语言考试真题及答案
计算机等级C语言考试真题及答案2016年计算机等级C语言考试真题及答案一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图 B)N-S图 C)结构图 D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性 B)关系 C)键 D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF CaseD)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b; D)double a=0?0;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#includemain(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ inti,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ cha r str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbAD)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX 是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;charch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名 B)PER是结构体类型名 C)typedef struct 是结构体类型 D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#includemain(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′,′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B)由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C)由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D)由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include#includevoid fun(char ?*s[],int n){ char ?*t; int i,j;for(i=0;i<n-1;i++)< bdsfid="259" p=""> </n-1;i++)<> for(j=i+1;j<n;j++)< bdsfid="261" p=""> </n;j++)<> if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char ?*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#includeint f(int x){ int y;if(x==0||x==1) return(3);y=x?*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));下载文档。
东北大学计算机专业基础(含C语言程序设计、数据结构)1996—2019(缺2005、2012)年
东北大学 97 考研题
一、(25 分)按要求完成下题 1 知 U=‘xyxyxyxxyxy’;t=‘xxy‘; ASSIGN(S,U); ASSIGN(V,SUBSTR(S,INDEX(s,t),LEN(T)+1)); ASSIGN(m,‘ww’) 求 REPLACE(S,V,m)= 2 知广义表 A=(((a)),(b),c,(a),(((d,e))))
东北大学 96 考研题
一、(25 分)每小题 5 分 1. 根据下图完成:
1) 画出该图的十字链表存储结构图。 2) 写出其拓扑排序的输出序列。 3) 写出图的强连通分量(支)。 4) 写出到的所有路径及简单路径。 2.给定 8 个权值集合(2,5,3,10,4,7,9,18)画出含有 8 个叶子结点的最佳三叉 归并树,并计算出 3.知含有 8 个结点的一棵二叉树,按先序、中序、后序进行遍历后,有些结点序号不清 楚如下图示。要求构造出一棵符合条件的二叉树。
四、1与L2分别为两单链表头结点,地址指针,且两表中数据结与L2中数据相同的连续结点顺序完全倒置的算法。例:
(15分)
五、知输入关键字序列为(100,90,120,60,78,35,42,31,15)
址区向为0~11。设计一个哈希表函数把上述关键字散到0~11中画出散列表(冲突
用线性探测法);写出查找算法,计算在等概率情况下查找长度。
(15分)
六、一棵高度K具有n个结点的二叉树,按顺序方式存贮:
1)编写用先根遍历树中每个结点的递归算法;
2)编写将树中最大序号叶子结点的祖先结点全部打印输出的算法。
(20分)。
东北大学 98 考研题
一.完成下列各小题(每小题 10 分,共计 30 分)。 1)知三个字符分别为 s=’ab…abcaabcbca…a’ s’=’caab’, s’’=’bcb’ 利用所学字符串基本运算的函数得到结果串为 s’’’=’caabcbca…aca…a’ 要求写出得到上结果串 S“‘所用的函数及执行算法。 2)知记录关键字集合为(53,17,19,61,98,75,79。63,49,46)要求散列到地 址区间(100,101,102,103,104,105,106,107,108,109)内,若产生冲突用开 型寻址法的线性探测法解决。要求写出选用的散列函数;形成的散列表;计算出查找成 功时平均查找长度与查找不成功的平均查找长度。(设等概率情况) 2)知一棵 3 阶 B-树如下图所示: 1)画出查入(18)的 3 阶 B-树计算读结点/写结点次数。
东北大学机械学院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 题目:计算二次方程的根。
18 题目:给出一个不多于5位的正整数,求出它是几位数,分别打印出每一位数字,然后再按逆序打印出各位数字。
19 题目:从键盘输入三个整数a、b、c,输出其中最大的数。
东北大学C语言程序+答案1
第一大题13.根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
(1)当x小于1时,y等于2+cos(x)(2)当x大于等于1且x小于2时,y等于x的平方加上sin(x)(3)当x大于等于2时,y等于(x-2)的平方根;要求:按格式输出x和y的值,要求小数点后保留2位。
#include<stdio.h>#include<math.h>main(){float x,y;printf("请输入x:");scanf("%f",&x);if(x<1)y=cos(x)+2;else if(x<2)y=x*x+sin(x);elsey=sqrt(x-2);printf("%.2f",y);}14. 从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。
例如输入12.345,其结果为12.35;输入12.341,其结果为12.34。
#include<stdio.h>main(){float x;printf("请输入一个小数:");scanf("%f",&x);x=x*100;x=int(x+0.5);x=x/100.0;printf("%.2f\n",x);}15.从键盘输入任意一个字母,如果其为大写字母,则转为小写字母;如果其为小写字母,请转换为大写字母;其他情况保持不变,计算并输出。
#include<stdio.h>main(){char x;printf("请输入一个字母:");scanf("%c",&x);if(x>='a'&&x<='z')printf("%c ",x-32);else if(x>='A'&&x<='Z')printf("%c ",x+32);elseprintf("%c ",x);}16. 从键盘输入三个整数a、b、c,输出其中最大的数。
东北大学(秦皇岛)c语言考试题8
东北大学(秦皇岛)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语言考试题库
(2)在主函数中初始化原始矩阵,输出原始矩阵以及交换发生后的矩阵。
例如:初始化矩阵为:交换后矩阵为:
1 4 5 8 1 5 4 8
3 2 6 7
3
22
编写函数void fun(char str[30],char a),删除字符串str中所有a代表的字符,被删除后的字符依次向前移动。
3
25
编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。要求:不允许使用strcat()和strlen()字符处理库函数,在主函数以直接初始化的方式输入两个字符串str1和str2。如输入str1为"howareyou",str2为"me",调用catStr函数后str1为"howareyoume",调用lenStr函数后输出11。
1
10
利用公式e=1/1!+1/2!+1/3!+…+1/n!计算e的值并输出(要求:误差小于10-5)。
1
11
从键盘输入一个字符串str,统计其中大写英文字母A,B,C,D出现的次数。要求输出原始字符串,以及统计的结果。
2
12
将字符串a中的每个字符用加3的方法加密并存入数组b中,再对b中的字符串解密存入数组c。要求:初始化字符串a,依次输出字符串a、b、c。
3
27
编写函数int fun(char *t,char a),统计字符串t中有多少个变量a代表的字符。
东北大学C语言样题
东北大学C语言样题1.从键盘输入任意浮点数,对此数进行四舍五入处理,小数后仅仅保留4位,例如x=3.1415926则经过处理后,x=3.1416。
在格式输出时,小数后也输出4位。
#includeint main(){float s;scanf("%f",&s);printf("%.4f",s);return 0;}2. 初始化一个3X5的二维矩阵,计算前4列的和,保存在每行的最后一个元素中。
例如:第一行的和为A[0][0]+ A[0][1] +A[0][2]+ A[0][3],放入A[0][4]中,要求输出原始矩阵和新矩阵。
#includeint main(){int a[3][5]={{1,2,3,4,1},{1,2,3,4,1} ,{1,2,3,4,1} ,},i,j;for(i=0;i<=2;i++){for(j=0;j<=3;j++)printf("%4d",a[i][j]);printf("\n");}for(i=0;i<=2;i++)a[i][4]=a[i][1]+a[i][2]+a[i][3]+a[i][0];printf("\n");for(i=0;i<=2;i++){for(j=0;j<=4;j++)printf("%4d",a[i][j]);printf("\n");}}3. 编制函数mystrcat(char *s1,char *s2),将字符串s2种的数字字符连接到字符串s1的后面。
例如s1=”1010”,s2=”Hi1T2”,则连接后的s1为“101012”。
#include#includevoid mystrcat(char *s1,char *s2){int i;//printf("%d",strlen(s1));for(i=strlen(s1);*s2!='\0';i++){*(s1+i)=*s2;//putchar(*s1);s2++;//printf("OK");}*(s1+i)='\0';printf("%s",s1);}void main(){char a[30],b[30];printf("请输入第一个字符串:");scanf("%s",a);printf("请输入第二个字符串:");scanf("%s",b);mystrcat(a,b);}4.写一个函数mystrcmp(char *s1,char *s2),其功能和库函数strcmp相同。
东北大学历年初试考研真题分享
六、(14分)设L为单链表的头结点地址,其数据结点的数据都是正整数且无相同的,试设计利用直接插入的原则把该链表整理成数据递增的有序单链表的算法。
七、(15分)设t是一棵按后序遍历方式构成的线索二叉树的根结点指针,试设计一个非递归的算法,把一个地址为x的新结点插到t树中,已知地址为y的结点有侧作为结点y的右孩子,并把插入后的二叉树仍为后序线索二叉树。
一.简要回答下列问题:
1.在执行某个排序算法的过程中,出现了排序关键字朝着最终排序相反方向的移动,从而认为该算法是不稳定的。这种说法对么?为什么?
2.从一棵二叉排序树中删除两个元素后,该二叉排序树的形态是否与两个元素的删除次序有关?为什么?
3.如在内存中存放一个完全二叉树,在树上只进行下面两个操作:1>寻找某个结点的双亲;2:>寻找某个结点的的儿子;请问应该用何种结构来存储二叉树。
东北大学97考研题
一、(25分)按要求完成下题
1知U=‘xyxyxyxxyxy’;t=‘xxy‘;
ASSIGN(S,U);
ASSIGN(V,SUBSTR(S,INDEX(s,t),LEN(T)+1));
ASSIGN(m,‘ww’)
求REPLACE(S,V,m)=
2知广义表A=(((a)),(b),c,(a),(((d,e))))
(15分)
五、知输入关键字序列为(100,90,120,60,78,35,42,31,15)址区向为0~11。设计一个哈希表函数把上述关键字散到0~11中画出散列表(冲突用线性探测法);写出查找算法,计算在等概率情况下查找长度。 (15分)
东北大学(秦皇岛)c语言考试题1
一、选择题答案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。
东北大学16春学期《数据结构Ⅰ》在线作业参考答案
东北大学16春学期《数据结构Ⅰ》在线作业参考答案一、单选题:1. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为 (满分:5)A. 1和5B. 2和4C. 4和2D. 5和12. 为便于判别有向图中是否存在回路,可借助于 (满分:5)A. 广度优先搜索算法B. 最小生成树算法C. 最短路径算法D. 拓扑排序算法3. 连通网的最小生成树是其所有生成树中 (满分:5)A. 顶点集最小的生成树B. 边集最小的生成树C. 顶点权值之和最小的生成树D. 边的权值之和最小的生成树4. 上溢现象通常出现在 (满分:5)A. 顺序栈的入栈操作过程中B. 顺序栈的出栈操作过程中C. 链栈的入栈操作过程中D. 链栈的出栈操作过程中5. ALV树是一种平衡的二叉排序树,树中任一结点的 (满分:5)A. 左、右子树的高度均相同B. 左、右子树高度差的绝对值不超过1C. 左子树的高度均大于右子树的高度D. 左子树的高度均小于右子树的高度6. ISAM文件的周期性整理是为了空出 (满分:5)A. 磁道索引B. 柱面索引C. 柱面基本区D. 柱面溢出区7. 已知函数Sub(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t 到s。
若字符串S=″SCIENCESTUDY″,则调用函数Scopy(P,Sub(S,1,7))后得到 (满分:5)A. P=″SCIENCE″B. P=″STUDY″C. S=″SCIENCE″D. S=″STUDY″8. 链栈与顺序栈相比,比较明显的优点是 (满分:5)A. 插入操作更加方便B. 删除操作更加方便C. 不会出现下溢的情况D. 不会出现上溢的情况9. 当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为 (满分:5)A. A.左子树的叶子结点B. B.左子树的分支结点C. C.右子树的叶子结点D. D.右子树的分支结点10. 高度为5的完全二叉树中含有的结点数至少为 (满分:5)A. 16B. 17C. 31D. 3211. 已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的结点个数为 (满分:5)A. 0B. 1C. 48D. 4912. 快速排序在最坏情况下的时间复杂度是 (满分:5)A. O(n2log2n)B. O(n2)C. O(nlog2n)D. O(log2n)13. for(i=0;i;i++)for(j=0;j;j++)c[i][j]=0;for(i=0;i;i++)for(j=0;j;j++)for(k=0;k;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];上列程序的时间复杂度为 (满分:5)A. O(m+n×t)B. O(m+n+t)C. O(m×n×t)D. O(m×t+n)14. 根据数据元素的关键字直接计算出该元素存储地址的存储方法是 (满分:5)A. 顺序存储方法B. 链式存储方法C. 索引存储方法D. 散列存储方法15. 在计算机内实现递归算法时所需的辅助数据结构是 (满分:5)A. 栈B. 队列C. 树D. 图16. 除第一层外,满二叉树中每一层结点个数是上一层结点个数的 (满分:5)A. 1/2倍B. 1倍D. 3倍17. 一棵完全二叉树上有1001个结点,其中叶子结点的个数是 (满分:5)A. 250B. 500C. 254D. 以上答案都不对18. 若一个有向图的邻接距阵中,主对角线以下的元素均为零,则该图的拓扑有序序列 (满分:5)A. 一定存在B. 一定不存在C. 不一定存在D. 不确定19. 以下说法不正确的是 (满分:5)A. 无向图中的极大连通子图称为连通分量B. 连通图的广度优先搜索中一般要采用队列来暂存刚访问过的顶点C. 图的深度优先搜索中一般要采用栈来暂存刚访问过的顶点D. 有向图的遍历不可采用广度优先搜索20. 数据元素及其关系在计算机存储器内的表示,称为数据的 (满分:5)A. 逻辑结构B. 存储结构C. 线性结构D. 非线性结构16春学期《数据结构Ⅰ》在线作业2一、单选题:1. 设哈希表长为14,哈希函数H(key)=key%11,表中已有数据的关键字为15,38,61,84,四个,现将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是 (满分:5)A. 8B. 3C. 5D. 92. for(i=0;i;i++)for(j=0;j;j++)c[i][j]=0;for(i=0;i;i++)for(j=0;j;j++)for(k=0;k;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];上列程序的时间复杂度为 (满分:5)A. O(m+n×t)B. O(m+n+t)C. O(m×n×t)D. O(m×t+n)3. 为使平均查找长度达到最小,当由关键字集合{05,11,21,25,37,40,41,62,84}构建二叉排序树时,第一个插入的关键字应为 (满分:5)A. 05B. 37D. 624. 已知函数Sub(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t 到s。
东北大学16春学期《C语言及程序设计》在线作业参考答案
东北大学16春学期《C语言及程序设计》在线作业参考答案一、单选题:1.下列程序的输出结果是( )main( ){intb=4;b*=b+=b+b;printf(“%d\n”,a);} (满分:5)A. 16B. 32C. 96D. 1442.有下列语句和赋值语句:(1)charstr[]=”iamaboy.”(2)charstr[12]=”iamaboy.”(3)char*p=”iamaboy.”(4)p=”iamaboy.”下列说法正确的是( ) (满分:5)A. 只有(1)、(2)正确B. 只有(3)、(4)正确C. 只有(1)、(3)、(4)正确D. 只有(3)正确3.下面对指针变量的叙述,正确的是( ) (满分:5)A. 指针变量可以加上一个指针变量B. 可以把一个整形数赋给指针变量C. 指针变量的值可以赋给指针变量D. 指针变量不可以有空值,即该指针变量必须指向某一变量4.若有定义:intA[3][4];能表现数组元素A[1][1]的是( ) (满分:5)A.(A[1]+1)B. *(A[1][1])C.(*(A+1)[1])D. *(A+5)5.以下程序段执行后输出结果( )。
inti;for(i=1;;i++);printf(“%d”,i++); (满分:5)A. 1B. 2C. 3D. 死循环6.以下程序段( )。
intx=1,y=4;printf(xA. 输出控制格式错误B. 输出:x=1C. 输出:y=1D. 输出:y=47.已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为( )。
(满分:5)A. DB. 68C. 一个不确定的值D. C8.对于循环语句while(1);下面( )是正确的。
(满分:5)A. 死循环B. 循环一次C. 不进如循环体D. 编译有错9.在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是( )。
东北大学c语言编程试题及其答案
东北大学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、执行下面程序段的结果是_____。
2016考研东北大学计算机专业课(842)
2016考研东北大学计算机专业课(842)2016考研东北大学计算机专业课(842)C语言部分一、一、简答1、1、循环语句while和do…while的区别。
2、2、有static声明的局部变量和自由变量的区别。
3、3、根据4 4、Int (*p)[4]和int *p[4]的区别二、二、写出程序运行的结果有一个是用指针作函数参数,实现数据的交换有一个是a[9]={1,2,3,4,5,6,7,8,9},for(i=2;i<7;i++) { a=a[i-1]+a[i+1];printf(“%d”,a);}输出程序运行的结果。
三、三、编程1、 1、编写函数求s=1+2x3+4x5x6+6x7x8x9+…….前n项的和。
2、 2、有编号1-20的选手,8名评委,每位选手的得分为各评委给分中去掉一个最高分和一个最低分之后的平均分,编写程序按得分从高到低输出前三位选手的编号和得分。
3、编写程序求给定字符(由键盘输入)在字符串中的位置,要求:子函数实现字符串的查找,查找成功返回指定字符在字符串中的位置,否则返回0数据结构部分一、简答1、矩阵的压缩存储,一个矩阵a[0][0]存放的地址为1,按下三角矩阵存储,求a62的地址。
2、{一些数}画出哈夫曼树并写出哈夫曼编码。
3、4、给定了一个图,要求:1)画出广度优先搜索生成树;2)生成树转换成二叉树;5、希尔排序和快速排序都是不稳定排序,举例说明二、编程1、带头结点的双链表,每个接点有pred和next域,还有一个访问频度域freq,链表启用前freq都为0.当链表没进行一次locate(L,x)元素值为x的接点的freq+1,并使表中保持链表接点按访问频度值递减排列。
最近访问的接点在同频度的前面。
编写这样的locate (L,x)函数。
2、编写函数求二叉树中指定接点所在层数3、图按邻接矩阵存储,求连通分量,输出各连通分量顶点。