北航考研复试C语言题
北航计算机系考研复试上机真题及答案(06-12年)
#include <stdio.h> #include <stdlib.h>
#endif /* JOBDU_H_ */ while(scanf("%d",&N) != EOF){
int i,j; //初始化 memset(data,-1,100*4*sizeof(int)); //读入数据 for(i=0;i<N;i++){
for(j=0;j<N;j++){ scanf("%d",&island[i][j]);
area++;
//printf("i=%d,j=%d\n",i,j); for debug } } } } printf("%d\n",area); } return 0; }
3.【问题描述】
统计关键字出现位置
输入:
一行标准 c 语言代码(字符个数小于 300),统计出该字符串中关键字的 if,while,for 所 在的位置,按照关键字出现的顺序依次输出。注意双引号内的不需要统计。 输入:一行标准 c 语言代码,字符个数小于 300
输入:
第一行输入一个整数 N,表示输入方阵的维数 输入一个 N 维方阵
输出:
小岛面积
样例输入:
6 111111 110001 100010 110111 010100 111111
北航《C语言程序设计》答案
北航《C语言程序设计》在线作业一单选题判断题一、单选题(共15 道试题,共60 分。
)1. 以下叙述中正确的是A. 预处理命令行必须位于源文件的开头B. 在源文件的一行上可以有多条预处理命令C. 宏名必须用大写字母表示D. 宏替换不占用程序的运行时间正确答案:D2. 以下各选项企图说明一种新的类型名,其中正确的是A. typedef v1 int;B. typedef v2=int;C. typedef int v3;D. typedef v4: int;正确答案:C3. C语言对嵌套if语句的规定是:else总是与( )配对。
A. 其之前最近的ifB. 第一个ifC. 其之前最近且不带else的ifD. 缩进位置相同的if正确答案:C4. 已知:#define N 3; 执行语句i=N*3; 后,i=_______.A. 3B. 6C. 9D. 以上均不正确正确答案:C5. 以下选项中可作为C语言合法常量的是A. -8B. -080C. -8e1.0D. -80.0e正确答案:A6. 以下不正确的C语言标识符是_____。
A. ABCB. abcC. a_bcD. ab.c正确答案:D7. 数组int**a[3][4]占据多大空间B. 12C. 48D. 128正确答案:C8. 已知:int x,a,b;下列选项中错误的if语句是______。
()A. if(a=b) x++;B. if(a=<b) x++;C. if(a-b) x++;D. if(x) x++;正确答案:B9. 下列可以正确表示字符型常数的是______。
A. "a"B. …t…C. "n"D. 297正确答案:B10. 表达式:10!=9的值是( )A. trueB. 非零值C. 0D. 1正确答案:D11. 在C语言中,形参的缺省存储类型是( )A. autoB. registerC. staticD. extern正确答案:A12. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为_____。
北航《C语言程序设计》在线作业二满分答案
北航《C语言程序设计》在线作业二一、单选题(共 10 道试题,共 40 分。
)1. 若用数组名作为函数调用时的参数,则实际上传递给形参的是A. 数组元素的个数B. 数组的第一个元素值C. 数组中全部元素的值D. 数组首地址-----------------选择:D2. 下列关于#include命令的叙述中,错误的是A. #include命令中,文件名可以用双引号或尖括号括起来B. 一个被包含文件中又可以包含另一个被包含文件C. 一个#include命令中可以指定多个被包含文件D. 一个#include命令中只能指定一个被包含文件-----------------选择:C3. 在C程序中,若对函数类型未加说明,则函数的隐含类型为( )A. intB. doubleC. voidD. char-----------------选择:A4. 表达式( )的值是0。
A. 3%5B. 3/5.0C. 3/5D. 3<5-----------------选择:C5. 已知:int a=5; 执行以下的程序段后输出结果为_______.Do { printf(“%dn”,a--); } while (!a);A. 5B. 4C. 陷入死循环D. 5 4 3 2 1-----------------选择:A6. 有以下语句:int b;char c[10];,则正确的输入语句是_______A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);-----------------选择:B7. 若有定义:int x; 要将x强制转换为双精度型,应该写成A. x(double)B. x(double)C. (double)xD. double(x)-----------------选择:C8. 函数形参与实参之间的传递是“值传递”,以下叙述正确的是( )A. 实参和与其对应的形参共用一个存储单元B. 实参和与其对应的形参各占用独立的存储单元C. 当实参和与其对应的形参同名时才共用一个存储单元D. 形参是形式的,不占用存储单元-----------------选择:B9. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为_____。
北京航空航天大学C语言e2第五讲 第一阶段综合训练
课堂练习1, 打印乘法九九表; 课堂练习2, 古典算术问题:搬砖头。
某地需要搬运砖块,已知男人一人搬3块, 女人一人搬2块,小孩两人搬一块。 问用45人正好搬45块砖,有多少种搬法?
1×1=1 2×1=2
9×1=9
要求:清晰写出思路或
2×2=4
9×2=18 9×3=27
关键程序段。
... ...
9×9=81
}
switch (choice) { case 1: price=2.0; case 2: price=2.5; case 3: price=3.0; case 4: price=3.5; default: price=0.0; }
表达式的值=常量表达式 1 的值 语句段1
price=?
表达式的值=常量表达式 2 的值
else if (choice==2) price=2.5;
else if (choice==3) price=3.0; else if (choice==4) price=3.5; else price=0;
2、在switch中不使用break
switch (表达式) {
case 常量表达式1:语句段1 case 常量表达式2:语句段2 ....… case 常量表达式n:语句段n default : 语句段n+1
C程序设计
第六讲 数组
习题讲解
练习6.13 用二分法求下面方程在(-10,10) 3 2 之间的根。2x -4x +3x-6=0 解题分析:首先要求理解什么叫二分法?
▼ x2,f(x2)
x=(x1+x2)/2
x
x1,f(x1)
▲
▲
x,f(x)
北航在线作业C语言答案1
A、1024
B、512
C、256
D、128
答案:C
第4题 C语言中的注释语句用什么标示?
A、/* */
B、//
C、;
D、#
答转换成十六进制数是:
A、64
B、63
C、100
D、144
答案:A
第6题 常数的书写格式决定了常数的类型和值,0x1011是:
A、8进制整型常量
B、字符常量
C、16进制整型常数
D、2进制整型常数
答案:C
第7题 C语言中函数的返回语句是___。
单项选择题
第1题 C语言从哪个函数开始执行?
A、main
B、begin
C、start
D、go
答案:A
第2题 常用的C语言输出函数是___。
A、scanf
B、print
C、printf
D、input
答案:C
正确
错误
答案:正确
第18题 long能表示的最小数是-2^31。
正确
错误
答案:正确
第19题 实型数据在内存中是以指数形式存储的。
正确
错误
答案:正确
第20题 每一个C程序都必须有一个main函数。
正确
正确
错误
答案:正确
第12题 实数只有十进制小数形式和指数形式两种。
正确
错误
答案:正确
第13题 字符数据只占一个字节,只能存放0~255范围内的整数。
正确
错误
答案:正确
c语言面试题目100及最佳答案精选全文
精选全文完整版(可编辑修改)c语言面试题目及最佳答案1、描述⼀下gcc的编译过程?gcc编译过程分为4个阶段:预处理、编译、汇编、链接。
预处理:头⼀件包含、宏替换、条件编译、删除注释编译:主要进⼀词法、语法、语义分析等,检查⼀误后将预处理好的⼀件编译成汇编⼀件。
汇编:将汇编⼀件转换成⼀进制⼀标⼀件链接:将项⼀中的各个⼀进制⼀件+所需的库+启动代码链接成可执⼀⼀件2、内存的最⼀存储单位以及内存的最⼀计量单位分别是?内存的最⼀存储单位为⼀进制位,内存的最⼀计量单位字节3、#include<> 与#include ""的区别?include<>到系统指定⼀录寻找头⼀件,#include ""先到项⼀所在⼀录寻找头⼀件,如果没有找再到系统指定的⼀录下寻找4、描述⼀下变量的命名规则变量名有字⼀、数值、下划线组成,但不能以数值开头5、变量的声明与定义有啥区别?声明变量不需要建⼀存储空间,变量的定义需要建⼀存储空间6、谈谈c语⼀中有符号和⼀符号的区别?有符号:数据的最⼀位为符号位,0表示正数,1表示负数⼀符号:数据的最⼀位不是符号位,⼀是数据的⼀部分7、谈谈计算机中补码的意义统⼀了零的编码将符号位与其他位统⼀处理将减法运算转换成加法运算8、谈谈数组的特点同⼀个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的9、数组的分类数组的分类主要是:静态数组、动态数组两类。
静态数组:类似int arr[5];在程序运⼀就确定了数组的⼀⼀,运⼀过程不能更改数组的⼀⼀。
动态数组:主要是在堆区申请的空间,数组的⼀⼀是在程序运⼀过程中确定,可以更改数组的⼀⼀。
10、描述⼀下⼀维数组的不初始化、部分初始化、完全初始化的不同点不初始化:如果是局部数组数组元素的内容随机如果是全局数组,数组的元素内容为0 部分初始化:未被初始化的部分⼀动补0完全初始化:如果⼀个数组全部初始化可以省略元素的个数数组的⼀⼀由初始化的个数确定11、谈谈数组名作为类型、作为地址、对数组名取地址的区别?数组名作为类型:代表的是整个数组的⼀⼀数组名作为地址:代表的是数组⼀元素的地址对数组名取地址:代表的是数组的⼀地址12、谈谈你对⼀维数组在物理上以及逻辑上的数组维度理解⼀维数组在逻辑上是⼀维的,在物理上是⼀维的13、描述⼀下函数的定义与函数的声明的区别函数定义:是指对函数功能的确⼀,包括指定函数名、函数类型、形参及其类型、函数体等,它是⼀个完整的、独⼀的函数单位。
北京航空航天大学《C语言程序设计》试卷
北京航空航天大学《C语言程序设计》课程考试试卷注意事项: 1、本试卷满分100分;考试时间:90分钟;考试形式:开卷2、请将答案一律写在答题纸上,试卷上作答无效3、考试结束后,考生将试卷及答题纸一并交回4、请将条形码贴在答题纸的指定位置学习中心______________姓名____________学号____________一、单项选择题(本大题共10小题,每小题2分,共20分)1、设有定义语句“char s[]=”123”;”,则表达式“s[3]”的值是______。
()A.' 1' B.'3'C.'\0' D.存在语法错误2、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为______。
()A.自动(auto) B.静态(static)C.外部(extern) D.寄存器(register)3、已知:char w; int x; float y; double z;,则表达式w*x+z-y结果的类型是______。
()A.float B.charC.int D.double4、当声明一个结构变量时,系统分配给它的内存是______。
()A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量5、C语言中的简单数据类型包括______。
()A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型6、合法的数组说明语句是______。
()A.int a[]="string";B.int a[]={0,1,2,3,4,5};C.char a="string";D.char a[5]={'0','1','2','3','4','5,};7、定义int i=1;,执行语句while(i++<5);后,i的值为______。
计算机专业研究生复试-C语言程序设计面试简答题
C语言程序设计1.简述C语⾔采取了哪些措施提⾔执⾔效率●使⽤指针:有些程序⽤其他语⽤也可以实现,但C能够更有效地实现;有些程序⽤法⽤其它语⽤实现,如直接访问硬件,但C却可以。
正因为指针可以拥有类似于汇编的寻址⽤式,所以可以使程序更⽤效。
●使⽤宏函数:宏函数仅仅作为预先写好的代码嵌⽤到当前程序,不会产⽤函数调⽤,所以仅仅是占⽤了空间,⽤使程序可以⽤效运⽤。
在频繁调⽤同⽤个宏函数的时候,该现象尤其突出。
函数和宏函数的区别就在于,宏函数占⽤了⽤量的空间,⽤函数占⽤了时间。
●使⽤位操作:位操作可以减少除法和取模的运算。
在计算机程序中数据的位是可以操作的最⽤数据单位,理论上可以⽤"位运算"来完成所有的运算和操作。
灵活的位操作可以有效地提⽤程序运⽤的效率。
●将汇编指令嵌⽤到C 语⽤程序中,汇编语⽤是效率最⽤的计算机语⽤,因此在C语⽤程序中嵌⽤汇编,从⽤充分利⽤⽤级语⽤和汇编语⽤各⽤的特点。
●系统调用:在C语⽤程序中可以调⽤操作系统级的API,从⽤提⽤程序的运⽤效率。
●条件编译:C语⽤源程序中加上条件编译,让编译器只对满⽤条件的代码进⽤编译,将不满⽤条件的代码舍弃,可以减少编译及执行程序代码量。
●循环嵌套中将较长循环设为内置循环,较短循环设为外置循环,以减少cpu跨切循环层的次数,提⽤程序的运⽤效率。
(操作系统页⽤置换相关,减少页⽤置换次数)●其它诸如寄存器变量、联合体、编译器优化等手段提⽤执⽤效率。
2.if…else和switch区别总结:都是条件选中语句。
但switch语句只能取代if语句的一部分功能。
●比较的范围不同:if 语句可做各种关系比较(只要是boolean 表达式都可以用if 判断)switch语句只能做等式比较,即只能对基本类型进行数值比较。
(switch只能做几个数据类型的等式比较,实现非等式效率低,)switch之后括号内的表达式只能是整型(byte、short、char和int)、枚举型或字符型表达式,不能是长整型或其他任何类型。
北京航空航天大学991数据结构与C语言程序设计历年考研真题专业课考试试题
2017年北京航空航天大学991数据 结构与C语言程序设计考研真题
2018年北京航空航天大学991数据 结构与C语言程序设计考研真题
目 录
2010年北京航空航天大学993数据结构与C语言程序设计考研真题 2011年北京航空航天大学991数据结构与C语言程序设计考研真题 2012年北京航空航天大学991数据结构与C语言程序设计考研真题 2013年北京航空航天大学991数据结构与C语言程序设计考研真题 2014年北京航空航天大学991数据结构与C语言程序设计考研真题 2015年北京航空航天大学991数据结构与C语言程序设计考研真题 2016年北京航空航天大学991数据结构与C语言程序设计考研真题 2017年北京航空航天大学991数据结构与C语言程序设计考研真题 2018年北京航空航天大学991数据结构与C语言程序设计考研真题
2014年北京航空航天大学991数据 结构与C语言程序设计考研真题
2015年北京航空航天大学991数据 结构与C语言程序设计考研真题
2016年北京航空航天大学991数据 结构与C语言程序设计考研真题
2010年北京航空航天大学993数据 结构与C语言程序设计考研真题
2011年北京航空航天大学991数据 结构与C语言程序设数据 结构与C语言程序设计考研真题
2013年北京航空航天大学991数据 结构与C语言程序设计考研真题
2014年北京航空航天大学数据结构与C语言程序设计真题
北京航空航天大学2014年硕士研究生入学考试
“数据结构与C语言程序设计”(科目代码:991)试题
一、单项选择题(本题共20 分,每小题各2 分)
1、在非空线性链表中由p所指的链结点后面插入一个由q所指的链结点的过程是依次执行动作。
A. Link(q) ←p; Link(p) ←q;
B. Link(q) ←Link(p); Link(p) ←q;
C. Link(q) ←Link(p); Link(p) ←q;
D. Link(p) ←q; Link(q) ←p;
2、线性链表中各链结点之间的地址。
A. 必须连续
B.部分地址必须连续
C. 不一定连续
D.连续与否无所谓
3、一个顺序表所占用的存储空间大小与无关。
A. 表的长度
B.元素的存放顺序
C. 元素的类型
D.元素中个字段的类型
4、一般情况下,在一个双向链表中插入一个新的链结点,
A.需要修改3个指针域内的指针
B.只需要修改1个指针域内的指针
C.需要修改4个指针域内的指针
D.需要修改2个指针域内的指针。
北航《C语言程序设计》答案
北航《C语言程序设计》答案北航《c语言程序设计》在线作业一单项选择和判断问题一、单选题(共15道试题,共60分。
)1.以下叙述中正确的是a、预处理命令行必须位于源文件的开头。
B.源文件的一行上可以有多个预处理命令。
C.宏名称必须用大写字母表示d.宏替换不占用程序的运行时间正确答案:d2.以下选项试图描述一个新的类型名称,其中正确的名称是a.typedefv1int;b、typedefv2=int;c、类型定义tv3;d、 typedefv4:int;正确答案:C3.c语言对嵌套if语句的规定是:else总是与()配对。
a.其之前最近的ifb.第一个ifc、其上一个最近的IFD没有其他的,如果具有相同的缩进位置,正确答案是:c4.已知:#definen3;执行语句i=n*3;后,i=_______.a.3b.6c.9d、以上这些都不正确。
正确答案:C5.以下选项中可作为c语言合法常量的是a.-8b.-080c.-8e1.0d.-80.0e正确答案:a6.以下不正确的c语言标识符是_____。
a.abcb.abcc.a_bcd.ab.c正确答案:D7.数组int**a[3][4]占据多大空间a、 64b。
12c。
48d。
一百二十八正确答案:c8.已知:intx,a,B;以下选项中错误的if语句是_;。
()a.if(a=b)x++;b.if (a)=正确答案:b9.以下可以正确表示字符类型常量为___。
a、 \b。
?Tc、 \d.297正确答案:b10.表达式:10=9的值为()a.trueb非零值c.0d一正确答案:d11.在C语言中,形式参数的默认存储类型是()a.autob registerc。
静力学。
外人正确答案:a12.假设在C语言中,一个int数据在内存中占用2个字节,那么无符号int数据的值范围是_u。
a、 0~255b。
0~32767c。
0~65535d.0~2147483647正确答案:c13.有以下声明:intb;charc[10];,正确的输入语句是a.Scanf(\b.Scanf(\c.Scanf(\d.Scanf)(\正确答案:b)14.为了避免嵌套的条件分支语句的二义性,c语言规定,c程序中的else总是与()组成配对关系。
北航14秋《C语言程序设计》在线作业三答案
北航《C语言程序设计》在线作业三单选题判断题一、单选题(共10 道试题,共40 分。
)1. 用C语言编制的源程序要变为目标程序,必须经过A. 编辑B. 编译C. 解释D. 连接-----------------选择:B2. 当执行以下程序时,( )。
#include<stdio.h> void main() { int a; while(a=5) printf("%d ",a--); }A. 循环体将执行5次B. 循环体将执行0次C. 循环体将执行无限次D. 系统会死机-----------------选择:C3. 以下说法错误的是A. do-while语句与while语句的区别仅是关键词“while”出现的位置不同B. while语句是先进行循环条件判断,后执行循环体的C. do-while是先执行循环体,后进行循环条件判断D. while、do-while和for语句的循环体都可以是空语句-----------------选择:A4. 已知:int x,a,b;下列选项中错误的if语句是______。
()A. if(a=b) x++;B. if(a=<b) x++;C. if(a-b) x++;D. if(x) x++;-----------------选择:B5. 若int型数据占2个字节,则以下语句的输出为_______.int k=-1; printf(“%d,%un”,k,k);A. -1,-1B. -1,32767C. -1,32768D. -1,65535-----------------选择:D6. 简单变量做实参时,实参与其对应的形参之间的数据传递方式是( )。
A. 双向值传递方式B. 地址传递方式C. 单向值传递方式D. 用户指定传递方式-----------------选择:C7. 下面的for语句______。
for(x=0,y=0;(y!=123)&&(x<4);x++);()。
c语言复试面试题目
1、在C语言中,以下哪个关键字用于定义一个结构体类型?A. classB. structC. unionD. enum(答案)B2、关于C语言的指针,以下说法错误的是?A. 指针是存储变量地址的变量B. 指针可以进行加减运算,但结果仍然是地址C. 空指针不指向任何有效的内存地址D. 指针变量的类型决定了它可以指向的变量类型及占用的内存大小(答案)D3、在C语言中,若要使用标准输入输出库函数,必须包含哪个头文件?A. <stdio.h>B. <stdlib.h>C. <string.h>D. <math.h>(答案)A4、以下哪个不是C语言的基本数据类型?A. intB. floatC. charD. string(答案)D5、在C语言中,数组名作为函数参数时,传递的是?A. 数组的第一个元素的值B. 数组所有元素的值C. 数组第一个元素的地址D. 数组的长度(答案)C6、关于C语言的循环结构,以下说法正确的是?A. while循环和do-while循环至少执行一次循环体B. for循环中的初始化表达式可以省略,但循环条件表达式和循环后表达式不能省略C. 三种循环结构(while, do-while, for)完全可以相互替代,没有区别D. 在任何情况下,for循环都可以被while循环替代,但反之不然(答案)D(注:虽然D 选项在技术上不完全准确,因为有些情况下for循环的简洁性是不可替代的,但从循环功能上来看,for循环能做的事情while循环也能做到,只是可能更冗长。
这里选择D作为最接近正确的答案。
)8、关于C语言的函数,以下说法错误的是?A. 每个函数都可以有返回值,返回值类型由函数声明时指定B. 函数可以有参数,参数列表在函数名后的括号内指定C. main函数是C程序的入口点D. 在一个C程序中,可以定义多个同名但参数列表不同的函数(答案)A(注:A选项错误在于并非每个函数都必须有返回值,void类型的函数就没有返回值。
北航软院2012年数据结构与C语言程序设计试题(原版)
北京航空航天大学2012年硕士研究生入学考试试题“数据结构与C语言程序设计”(科目代码:991)一、填空题(本题共20分,每小题各2分)1.从总体上说,“数据结构”课程主要研究三个方面的内容。
2.若对某线性表最常用的操作是在表中插入元素或者删除表中元素,则对于顺序存储结构和链式存储结构这两种存储结构而言,线性表应该采用。
3.在长度为n的非空队列中进行插入或者删除操作的时间复杂度用大O符号表示为。
4.若一棵度为4的树中度为1、2、3和4的结点个数分别为4、2、1和1,则该树中叶结点的个数为。
5.若某二叉树的中序遍历序列为B,A,F,D,G,C,E,按层次遍历序列为A,B,C,D,E,F,G,则该二叉树的后序遍历序列为。
6.将一棵结点总数为n、且具有m个叶结点的树转换为一棵二叉树以后,该二叉树中右子树为空的结点有个。
7.对于图G=(V,E) 与G^=(V^,E^),若有V^包含于V,E^包含于E,则称G^是G的。
8.在顺序表(6,15,30,37,65,68,70,72,89,99)中采用折半查找法查找元素37,与表中进行过比较的元素依次是。
9.若已知n个关键字值具有相同的散列函数值,并且采用线性探测再散列法处理冲突,那么,将这n个关键字值全部散列到初始为空的地址空间中,发生散列冲突的次数是。
10.若长度为n的序列K=(k1,k2,…,kn)当且仅当满足ki≤k2i并且ki≤k2i+1(1≤i≤n/2)时,则称该序列为一个小顶堆积(Heap)。
根据该定义,序列(26,5,77,1,61,11,59,48,15,19)对应的小顶堆积是。
二、简答题(本题共20分,每小题各5分)1.如果一个具有100个顶点、200条边的有向图采用邻接矩阵存储,该邻接矩阵是否是稀疏矩阵?为什么?(这里我们假设:当矩阵中非零元素的数目小于整个矩阵总元素的数目的5%时认为该矩阵为稀疏矩阵)2.一般情况下,建立散列表时难以避免出现散列冲突,常用处理散列冲突的方法之一是开放定址法,该方法的基本思想是什么?3.若对序列(2,12,16,88,5,10)按值从小到大进行排序,前三趟排序的结果分别为:第1趟排序的结果:(2,12,16,5,10,88)第2趟排序的结果:(2,12,5,10,16,88)第3趟排序的结果:(2,5,10,12,16,88)请问:该结果是采用了选择排序法还是采用了(起)泡排序法得到的?为什么?4.快速排序法的排序过程是递归的。
北京航空航天大学991数据结构与C语言程序设计考研真题试题2016年
B. 无向图;
C. AOV网;
D. AOE网。
,; .
7令下列关千带权连通图的最小生成树的叙述中 令 正确的是一。 A. 最小生成树的代价不一定比该图其他任何一棵生成树的代价小;
B. 若图中出现权值相同的边时,则该图的最小生成树不是惟一的;
c. 若图中边上的权值各不相同,则该图的最小生成树是惟一的;
北京航空航天大学2016 年
硕士研究生招生考试初试试题科目代码991
数据结构与 C 语言程序设计(共 8页)
考生注意:所有答题务必书写在考场提供的答题纸上,写在本试题单上的 答题一律无效(本题单不参与阅卷)。
一、单项选择题(本题共20分,每小题各2分)
L若listl和list2分别为一个指向单向链表与指向双向链表的指针变量则下列叙述中, 正确的是—°
A. list2比listl占用更多的存储单元; B. Iistl与list2占用相同多的存储单元; C. listl和list2应该是相同类型的指针变量; D. 双向链表比单向链表占用更多的存储单元。
Байду номын сангаас
2. 下列关于队列的叙述中,错误的是 '0 A. 队列是一种插入和删除位置受到限制的特殊线性表; B. 做删除操作时要先判断队列是否为空,做插入操作时要先判断队列是否已满; C. 采用循环链表作为存储结构的队列称为循环队列; D. 通常情况下,循环队列比非循环的队列的空间使用率要高。
s. 若采用快速排序法对序列(49, 38, 65, 97, 76, 13, 27. 49')的元素按值从小到大进行排
D. push, pop, push, pop, push, pop。
4. 若某完全二叉树的第6层有24个叶结点,则该完全二叉树的结点总数最大为-一°
北航c语言11所有作业题目及答案
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
t=x;
x=y;
y=z;
z=t;
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
5.P46 2-3
int htoi(char s[])
{
int i,n;
i=0;
#include"stdio.h"
#include"math.h"
void greater_than_zero(float a, float b, float delta)
{
float x1,x2;
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
#include <stdio.h>
main()
{
floatterm ,sum = 0;
int i, j;
for (i = 1;i <=20;i++)
{
term = 1;
for (j = 1;j <= i;j++)
{
term = term * j;
}
sum = sum + term;
}
printf("1!+2!+…+10!= %e\n", sum);
e. the distance frombeijingto hainan.long/float
2022年北京航空航天大学公共课《C语言》科目期末试卷A(有答案)
2022年北京航空航天大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=1,b=2;if(a&b)printf("***\n");else printf("$$ $\n");以上程序段的输出结果是_______。
2、在C语言源程序中,一个变量代表【】。
3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。
6、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。
已有调用语句process(a,b,max);和process(a,b,min);。
请填空。
void process(_______){int result;result=(*fun)(x,y);printf("%d\n",result);}7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
北航《C语言程序设计》答案
北航《C语言程序设计》答案```plaintext一、基本概念和语法1. 在C语言中,什么是标识符?答:标识符是由字母、数字和下划线组成的字符序列,用于给变量、函数等命名。
2. C语言的注释有哪几种形式?答:C语言的注释有单行注释(//)和多行注释(/* */)两种形式。
3. 请简要解释一下C语言中的变量声明和定义的区别。
答:变量声明是为变量分配内存空间,告诉编译器该变量的类型和名称;变量定义是在声明的基础上为变量分配初值。
4. C语言中有哪些基本数据类型?请列举并简要介绍。
答:C语言中有int、float、char、double、void等基本数据类型。
- int类型用于表示整数;- float和double类型用于表示浮点数;- char类型用于表示字符;- void类型用于表示无类型。
5. C语言中的运算符有哪些种类?请简要介绍一下算术运算符和逻辑运算符。
答:C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。
- 算术运算符用于完成基本的算术运算,如加法(+)、减法(-)、乘法(*)、除法(/)等;- 逻辑运算符用于处理逻辑判断,如与(&&)、或(||)、非(!)等。
二、流程控制语句1. C语言中的条件语句有哪些?请简要介绍if语句和switch语句。
答:C语言中的条件语句有if语句和switch语句。
- if语句用于判断条件是否成立,若条件为真,则执行相应的代码;- switch语句用于根据表达式的值选择执行不同的代码块。
2. 循环语句在C语言中有哪几种形式?请简要介绍while循环和for循环。
答:C语言中的循环语句有while循环、do-while循环和for循环。
- while循环用于在指定条件为真的情况下重复执行一段代码;- for循环结构更加灵活,通过初始化、条件和增量表达式来控制循环次数。
三、函数和数组1. C语言中的函数有哪些特点?请简要介绍函数的定义和调用。
北航14秋《C语言程序设计》在线作业一答案
北航《C语言程序设计》在线作业一
单选题判断题
一、单选题(共10 道试题,共40 分。
)
1. 定义int x,y;执行y=(x=1,++x, x+2)语句后,y的值是( ).
A. 1
B. 2
C. 7
D. 4
-----------------选择:D
2. 当调用函数时,实参是一个数组名,则向函数传送的是( )
A. 数组的长度
B. 数组的首地址
C. 数组每一个元素的地址
D. 数组每个元素中的值
-----------------选择:B
3. 表达式:10!=9的值是( )
A. true
B. 非零值
C. 0
D. 1
-----------------选择:D
4. C语言中,长整型long数据在内存中的存储形式是( )。
A. ASCII
B. 原码
C. 反码
D. 补码
-----------------选择:D
5. 若有定义:int x; 要将x强制转换为双精度型,应该写成
A. x(double)
B. x(double)
C. (double)x
D. double(x)
-----------------选择:C
6. 设n=3;则执行++n语句后,n的值为_____。
()
A. 5
B. 4
C. 3
D. 2
-----------------选择:B
7. 下面程序的输出结果是__________. main() { int x=102,y=012; printf("%2d,%2d",x,y);}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
要求:字符串的查找删除
给定文件filein.txt 按要求输出fileout.txt。
输入: 无空格的字符串
输出: 将filein.txt删除输入的字符串(不区分大小写),输出至fileout.txt
sample
输入:in
输出:将filein.txt 中的In、IN、iN、in删除,每行中的空格全部提前至行首,输出至fileout.txt 例:
filein.txt中的值为:
#include <stdio.h>
int main()
{
printf(" Hi ");
}
输出的fileout.txt为
#clude<stdio.h>
tma()
{
prtf("Hi");
}
程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LINE 100
#define MAX 20
void main()
{
FILE *fin,*fout;
char ch;
char s[MAX],tmp[LINE];
int len,space;
int i,j,k;
if((fin = fopen("filein.txt","r")) == NULL)
{
printf("cannot open \"filein.txt\".\n");
exit(0);
}
if((fout = fopen("fileout.txt","w")) == NULL)
{
printf("cannot open \"fileout.txt\".\n");
exit(0);
}
printf("Please input a string less than 20 characters:");
gets(s);
len = strlen(s);
while(!feof(fin))
{
for (i=0;(ch=fgetc(fin))!='\n'&&ch!=EOF;i++)
tmp[i]=ch;
tmp[i]='\0';
space=0;
for (i=0;i<strlen(tmp);i++)
{
if (tmp[i]==' ') space++;
if (strlen(tmp)>=len)
{
k=i;
for (j=0;j<len;j++)
{
if(tmp[k]==s[j]||tmp[k]-s[j]=='a'-'A'||tmp[k]-s[j]=='A'-'a')
k++;
else
break;
}
if(j==len)
{
k=i;
for(j=0;j<len;j++)
{
if (tmp[k+j]==' ')
space--;
else
tmp[k+j]=' ';
}
i=i+len-1;
}
}
}
for (j=0;j<space;j++)
fputc(' ',fout);
for (i=0;i<strlen(tmp);i++)
{
if (tmp[i]!=' ')
fputc(tmp[i],fout);
}
fputc('\n',fout);
}
fclose(fin);
fclose(fout);
}。