河南科技大学C语言试题
- 格式:doc
- 大小:84.50 KB
- 文档页数:15
河南科技大学2009年硕士研究生入学考试试题考试科目代码: 825 考试科目名称:数据结构与C语言(如无特殊注明,所有答案必须写在答题纸上,否则以“0”分计算)数据结构部分(共100分)一、判断下列叙述是否正确,正确的打√,不正确的打×(每题1分,共10分)1、线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性。
2、循环队列的引入,目的是为了克服假溢出。
3、稀疏矩阵压缩存储后,必会失去随机存取功能。
4、在一个有向图的邻接表中,如果某个顶点的链表为空,则该顶点的度一定为零。
5、在栈空的情况下,不能做退栈运算,否则产生下溢。
6、在拓扑排序中,拓扑序列的第一个顶点必定是入度为0的顶点。
7、连通网的最小生成树是唯一的。
8、对两棵具有相同关键字集合而形状不同的二叉排序树,按中序遍历它们得到的序列顺序是一样的。
9、当待排序记录已经按照从小到大或从大到小排序时,快速排序的执行时间最少。
10、堆排序的方法是稳定的排序方法。
二、简答题(共24分):1、线性表有哪两种存储结构各有什么特点(6分)2、如果两个串含有相等的字符,能否说它们相等(4分)3、求网的最小生成树有哪些算法各适用于何种情况为什么(4分)4、已知完全二叉树的第七层有10个叶子结点,则整个二叉树的结点数最多是多少(4分)5、什么是冲突解决冲突的方法有哪些(6分)三、应用题(共44分):1、已知二叉树如图所示,要求:(1)写出先序遍历序列(2分)。
(2)写出中序遍历序列(2分)(3)写出后序遍历序列(2分)。
2、已知带权连通图G的邻接表如下图所示,要求:(1)画出该带权连通图G。
(4分)(2)根据带权连通图G的邻接表,从顶点A出发,分别写出进行深度优先搜索遍历和广度优先搜索遍历所得顶点序列,画出对应的生成树。
(8分)3、给定一组数列(15,8,10,21,6,19,3),分别代表字符A,B,C,D、E,F,G出现的频度,要求:(1)画出哈夫曼树。
2022年河南科技学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);2、在C语言源程序中,一个变量代表【】。
3、结构化程序由________、________ 、________ 3种基本结构组成。
4、C语言中的标识符可分为关键字、_______和_______3类。
5、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______6、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。
int a=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);9、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
10、下面程序段的运行结果是_______。
chara[]="12345",*p;int s=0;for(p=a;*p!=\0';p++)s=10*s+*p-'o';printf("%d\n",s);二、选择题11、下面4个选项中,是合法转义字符的选项是( )。
数据结构部分(共110分)一、简答题(共32分):1、 根据数据元素之间的逻辑关系,一般有哪几类基本的数据结构?(4分)2、 利用三元组存储任意稀疏矩阵时,在什么条件下才能节省存储空间?(4分)3、 广义表具有哪些重要特性?(6分)4、 内存中一片连续空间 (地址从1到n ),提供给两个栈S1和S2使用,怎样分配这部分存储空间,使得对任一个栈,仅当这部分空间全满时才发生上溢?(5分)5、 在采用线性探测再散列法处理冲突的哈希表中,所有同义词在表中是否一定相邻?为什么?(4分)6、 在堆排序、快速排序和归并排序中:(1) 若只从存储空间考虑,则应首先选取哪种排序方法?其次选取哪种排序方法?最后选取哪种排序方法?(3分)(2) 若只从排序结果的稳定性考虑,则应选取哪种排序方法?(2分)(3) 若只从平均情况下排序最快考虑,则应选取哪种排序方法?(2分)(4) 若只从最坏情况下排序最快并且要节省内存考虑,则应选取哪种排序方法?(2分)二、应用题(共56分):1、 设有上三角矩阵(a ij )n*n ,将其上三角元素逐行存于数组E[n]中(n 充分大),使得E[k]=a ij ,且k=f 1(i)+f 2(j)+c ,试推导出函数f1、f2和常数c (要求f 1和f 2中不含常数项)。
(6分)2、 已知一棵二叉树的先序遍历序列为ABDFCEGH 、中序遍历序列为BFDAGEHC ,(1)画出对应的二叉树。
(4分)(2)将这棵二叉树转换为对应的森林。
(4分)3、 设无向网G 如图所示:(1)写出网G 的邻接矩阵。
(3分)(2)画出网G 的邻接表。
(3分)(3)按克鲁斯卡尔算法求出网G 的一棵最小生成树。
(6分)4、设哈希表的地址范围为0~17,哈希函数为:H(K)=K MOD 16,K 为关键字,用线性探测再散列法解决冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49),(1)构造哈希表。
2021年河南科技大学计算机科学与技术专业《计算机组成原理》科目期末试卷A(有答案)一、选择题1、用二地址指令来完成算术运算时,其结果一般存放在()。
A.其中一个地址码提供的地址中B.栈顶C.累加器(ACC)中D.以上都不对2、执行操作的数据不可能来()。
A.寄存器B.指令本身C.控制存储器D.存储器3、一个浮点数N可以用下式表示:N=mr me,其中,e=rc g;m:尾数的值,包括尾数采用的码制和数制:e:阶码的值,一般采用移码或补码,整数;Tm:尾数的基;re:阶码的基;p:尾数长度,这里的p不是指尾数的:进制位数,当ra=16时,每4个二进制位表示一位尾数;q:阶码长度,由于阶码的基通常为2,因此,在一般情况下,q就是阶码部分的二进制位数。
研究浮点数表示方式的主要目的是用尽量短的字长(主要是阶码字长q和尾数字长的和)实现尽可能大的表述范围和尽可能高的表数精度。
根据这一目的,上述6个参数中只有3个参数是浮点数表示方式要研究的对象,它们是()。
A.m、e、rmB. rm、e、rmC.re、p、qD. rm、p、q4、组成一个运算器需要多个部件,但下面所列()不是组成运算器的部件。
A.通用寄存器组B.数据总线C.ALUD.地址寄存器5、在补码一位乘中,若判断位Y n Y n+1=01,则应执行的操作为()。
A.原部分积加[-x]补,然后右移一位B.原部分积加[x]补,然后右移一位C.原部分积加[-x] 补,然后左移一位D.原部分积加[x]补,然后左移一位6、假定编译器将赋值语句“x=x+3;”转换为指令“add xaddr,3”,其中xaddr是x 对应的存储单元地址。
若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写(Write Trough)方式,则完成该指令功能需要访问主存的次数至少是()。
A.0B.1C.2D.347、有如下C语言程序段:for(k=0;k<1000;k++)a[k]=a[k]+32;若数组a及变量k均为int型,int型数据占4B,数据Cache采用直接映射方式、数据区大小为1KB,块大小位16B,该程序段执行前Cache为空,则该程序段执行过程中访问数组a的Cache缺失率约为()。
河南科技大学C语言上机实验指导书答案C语言上机实验指导实验2.1-2.9答案2.1 实验1 C语言表达式1.阅读程序,分析结果,并上机验证(1) t=550 (2) a+u=22,b+u=-14 (3) f ge(4) x=3.600000,i=3 (5) a=100 c ike2.阅读程序,分析程序中的错误,每处错误均在提示行/********************/的下一行,请将错误改正,并上机验证。
(1) int a=3; (2) /********************//********************/ int a=99,b=100;a+=4(3) /********************/ (4) /********************/a=(int)c%3; int b;(5) /********************/a=5;3.阅读程序,在程序中提示行/********************/的下一行填写正确内容,将程序补充完整,并上机验证。
(1) int float (2) sqrt(x) (3) x*x+3*x+2(4) *(x+32) (5) abs(a)+abs(b)2.2 实验2 顺序结构程序设计1.阅读程序,分析结果,并上机验证(1) i=5,j=6 (2) i=5,j=6 (3) i=1234,j=5(4) i=12.500,j=-4.000 (5) c=652.阅读程序,分析程序中的错误,每处错误均在提示行/********************/的下一行,请将错误改正,并上机验证。
(1) /********************/ (2) /********************/scanf(―%f‖,&i); printf(―%c‖,a);(3) /********************/ (4) /********************/int b=20;a=10; scanf(―%d‖,&a);(5) /********************/scanf(―%d%d‖,a,b);3.阅读程序,在程序中提示行/********************/的下一行填写正确内容,将程序补充完整,并上机验证。
一1-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请在右边完善GetZhouChang函数,函数的具体要求如下:输入:圆的半径r处理:计算这个圆的周长,并返回结果输出:圆的周长输出样式:注意:请勿修改任何已有代码!默认圆周率为3.14!默认代码#include <stdio.h>/*请在此处注释语句下方完成GetZhouChang函数的声明与实现*/float GetZhouChang(float x);float GetZhouChang(float r){return 2*3.14*r;}int main( ) {float r = 4.4;float zhouchang = GetZhouChang(r);printf("%0.2f",zhouchang);return 0;}2-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请完善判断奇偶数JudgeOddNumber函数,函数的具体要求如下:形参:一个整型数num处理:判断num奇偶数,如果是奇数,返回1;如果是偶数,返回0返回:返回判断结果提示:函数建议声明为如下格式 int JudgeOddNumber(int num); 注意:请勿修改任何已有代码!默认代码#include<stdio.h>//请在此处注释语句下方完成JudgeOddNumber函数的声明与实现int JudgeOddNumber(int num);int JudgeOddNumber(int num){if(num%2==1)return 1;elsereturn 0;}int main( ) {int num = 103;int result = JudgeOddNumber(num);printf("%d", result); // 当前num是奇数,输出1num = 8;result = JudgeOddNumber(num);printf("%d", result); // 当前num是偶数,输出0return 0;}3-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请在右边完善func函数,函数的具体要求如下:输入:两个整型的数据a和b处理:求a-b的绝对值,并返回结果输出:|a-b|注意:请勿修改任何已有代码!默认代码#include<stdio.h>/*请在此处注释语句下方完成func函数的声明与实现,*/int func(int a,int b);int func(int a,int b){if(a>b)return a-b;elsereturn b-a;}int main( ){int a = 30,b = 100;int result = func(a,b);printf("%d", result);return 0;}4-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请完善div函数,函数的具体要求如下:形参:两个整型数a,b处理:判断a能否整除b,如果可以整除,输出0;如果不能整除,输出它们的余数返回:返回处理结果提示:函数建议声明为如下格式 int div(int a,int b);注意:输出语句结束不用换行!请勿修改任何已有代码!默认代码#include<stdio.h>//请在此处注释语句下方完成div函数的声明与实现int div(int a,int b);int div(int a,int b){return a%b;}int main( ) {int a = 100;int b = 50;int result = div(a,b);printf("%d",result);return 0;}5-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请在右边完善Calculation函数,函数的具体要求如下:输入:两个整型的数据处理:计算这两个数组成的矩形的周长,并返回结果输出:矩形周长输出样式:注意:请勿修改任何已有代码!默认代码#include <stdio.h>/*请在此处注释语句下方完成Calculation函数的声明与实现*/int Calculation(int a,int b);int Calculation(int a,int b){return 2*(a+b);}int main( ) {int a = 10, b = 20;int c irc = Calculation(a,b);printf("周长为%d",circ);return 0;}6-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请完善判断最大数的GetMax函数,函数的具体要求如下:输入:三个整型数a,b,c处理:通过条件语句判断最大的数,并返回最大的数输出:返回判断结果提示:函数建议声明为如下格式 int GetMax(int a,int b,int c) 注意:请勿修改任何已有代码!默认代码#include <stdio.h>//请在此处注释语句下方完成GetMax函数的声明与实现int GetMax(int a, int b, int c);int GetMax(int a, int b, int c){int max;if(a>b)max=a;elsemax=b;if(max<c)max=c;return max;}int main( ) {int a = 20, b = 5, c = 10;int max = GetMax(a, b, c);printf("三个数最大的是%d", max);return 0;}7-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请在右边完善fun函数,函数的具体要求如下:输入:一个整型数字处理:用户传入一个整型数字,然后返回这个整型数字的最后一位数字,输出样式如下图输出样式:注意:请勿修改任何已有代码!默认代码#include <stdio.h>/*请在此处注释语句下方完成fun函数的声明与实现,*/int fun(int x);int fun(int x){return x%10;}int main( ){int x = 325;int result = fun(x);printf("%d", result);return 0;}8-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请完善右边的fun函数,函数的具体要求如下:输入:任意一个字母处理:如果是大写字母返回1;如果是小写字母返回0.输出:返回判断结果注意:请勿修改任何已有代码!提示:A的ASCII码是65,a的ASCII码是97默认代码#include <stdio.h>//请在此处注释语句下方完成fun函数的声明与实现int fun(char letter);int fun(char letter){if(letter>=65 && letter<=90)return 1;elsereturn 0;}int main( ){char letter = 'A';int result = fun(letter);printf("%d%\n", result);char letter2 = 'b';int result2 = fun(letter2);printf("%d",result2);return 0;}9-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请完善判断最小数的GetMin函数,函数的具体要求如下:输入:三个整型数a,b,c处理:通过定义的GetMin函数判断最小的数,并返回最小的数输出:返回判断结果注意:请勿修改任何已有代码!输出语句结束不用换行!默认代码#include <stdio.h>//请在此处注释语句下方完成GetMin函数的声明与实现int GetMin(int a, int b, int c);int GetMin(int a, int b, int c){int min;if(a<b)min=a;elsemin=b;if(c<min)min=c;return min;}int main( ) {int a = 18, b = 8, c = 28;int min = GetMin(a, b, c);printf("三个数最小的是%d", min);return 0;}10-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请在右边完善UpperLetter函数,函数的具体要求如下:输入:一个小写字母处理:将小写字母转换成大写字母,返回结果输出样式:大写字母注意:请勿修改任何已有代码!提示:A的ASCII码是65,a的ASCII码是97默认代码#include <stdio.h>/*请在此处注释语句下方完成UpperLetter函数的声明与实现,*/char UpperLetter(char letter);char UpperLetter(char letter){return letter-32;}int main( ){char letter = 'g';char r = UpperLetter(letter);printf("%c", r);return 0;}11-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请在右边完善fun函数,函数的具体要求如下:输入:一个浮点型数字处理:输出该数绝对值,保留小数点后三位有效数位输出:返回绝对值注意:请勿修改任何已有代码!默认代码#include <stdio.h>/*请在此处注释语句下方完成fun函数的声明与实现,*/float fun(float a);float fun(float a){if(a>=0)return a;elsereturn -a;}int main( ){float a = -30;float b = fun(a);printf("绝对值是%.3f",b);return 0;}12-1 考察点计算思维C语言实现->模块化编程能力->函数设计题型C语言-自主编程难度系数 4题目请完善fun函数,函数的具体要求如下:输入你和你朋友的年龄,返回两者的年龄差,注意务必年龄大者减去年龄小者。
2022年河南科技学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.NB.2N-1C.2ND.N-12、下述文件中适合于磁带存储的是()。
A.顺序文件B.索引文件C.哈希文件D.多关键字文件3、链表不具有的特点是()。
A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比4、动态存储管理系统中,通常可有()种不同的分配策略。
A.1B.2C.3D.45、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。
A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front6、下列选项中,不能构成折半查找中关键字比较序列的是()。
A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4507、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。
假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。
初始时为空,下列判断队空和队满的条件中,正确的是()。
A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)8、每个结点的度或者为0或者为2的二叉树称为正则二叉树。
n个结点的正则二叉树中有()个叶子。
A.log2nB.(n-1)/2C.log2n+1D.(n+1)/29、一个具有1025个结点的二叉树的高h为()。
面向对象与程序设计A河南科技大学考试试卷格式(四页式)B卷1一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的。
错选、多选或未选均无分。
1.决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型2. 对基类和派生类的关系描述中,错误的是()A. 派生类是基类的具体化B. 基类继承了派生类的属性C. 派生类是基类定义的延续D. 派生类是基类的特殊化3. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
4. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数5. 适宜采用inline定义函数情况是()A. 函数体含有循环语句B. 函数体含有递归语句C. 函数代码少、频繁调用D. 函数代码多、不常调用6. 假定一个类的构造函数为A(int aa,int bb){a=aa- -;b =a*bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为()A. 3和15B. 5和4C. 4和20D. 20和57. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register8. 使用地址作为实参传给形参,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象9. 关于对象概念的描述中,说法错误的是()A. 对象就是C语言中的结构变量B. 对象代表着正在创建的系统中的一个实体C. 对象是类的一个变量D. 对象之间的信息传递是通过消息进行的10. 使用string类建立对象的不正确方式是()A. string s(?C++?);B. string s=?C++?;C. string str;D. string s=‘C++’;二、填空题(本大题共14空,每空1分,共14分)。
2022年河南科技大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。
5、若x和a均是int型变量,则执行表达式(1)后的x值为_______,执行表达式(2)后的x值为_______。
(1)x=(a=4,6*2)(2)x=a=4,6*26、下面程序段的运行结果是_______。
chara[]="12345",*p;int s=0;for(p=a;*p!=\0';p++)s=10*s+*p-'o';printf("%d\n",s);7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;10、下面程序段的运行结果是_______。
char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);二、选择题11、设有说明语句:char w;intx;float y;double z;则表达式w*x+z-y值的数据类型为()。
河南科技学院新科学院 2009-2010学年第二学期期终考试C 语言试题(A )2.考试时间共100分钟。
if(a= =0)y--; else if(a>0)y++; else y+=y;prin tf (”%d\n" ,y); }程序的输出结果是2、main () { int X ;sca nf ( "%d",&x ); while(x=x/10)printf("%5d",x%10); 3、main () { int i=1 ;for ( i=50;i<=100 ; i++) if ( i%16= =0)break ; printf ( "%d\n",i );程序运行后,输出结果为4. #include <stdio.h> void mai n()考核方式: 开卷适用班级: 国贸 091-6、信工091-3、 城规091-2、电气091-6、电子091-4、机制091-6注意事项:1.在试卷的密封线内填写院 、专业、班级、姓名和准考证号。
号证考准3.本试卷需A4演草纸(2 )张。
6分,共30分)业专}程序运行时,从键盘输入213出结果为{int i=16; float f=123.456; printf( printf( printf( printf( }程序运行后,输出结果为5. #i nclude <stdio.h> void mai n() {int a=12; a/=a+a;printf( %d\n ”a); a=12; a%=(5%=2); printf( %d\n ”a); a=12;a+=a-=a*=a; printf( %d\n ”a); }程序运行后,输出结果为二、程序填空(本题共有4小题,每空2.5分,共20分;注: 1、从键盘输入一个字符小写字母,将它转换成大写字母。
大一c语言考试题及答案解析一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言可以用于系统编程C. C语言不支持面向对象编程D. C语言的源代码文件扩展名是.cpp答案:D解析:C语言的源代码文件扩展名是.c,而不是.cpp,后者是C++的源代码文件扩展名。
2. 在C语言中,以下哪个关键字用于定义一个函数?()A. returnB. functionC. defineD. void答案:D解析:在C语言中,void是用于定义函数的关键字,例如:void functionName()。
二、填空题1. 在C语言中,用于声明一个整型变量的关键字是______。
答案:int2. 若定义一个变量x,其值为10,正确的声明语句是______。
答案:int x = 10;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一个数据结构,用于存储相同类型的多个元素,而指针是一个变量,它存储了另一个变量的内存地址。
数组名本身代表数组的首地址,而指针变量可以被赋值为任意地址。
2. 请解释C语言中结构体的作用。
答案:结构体是一种用户自定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构,从而可以创建复杂的数据结构来表示复杂的数据。
四、编程题1. 编写一个C语言程序,计算并输出1到100之间所有奇数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("The sum of odd numbers from 1 to 100 is: %d\n", sum);return 0;}```解析:程序使用for循环遍历1到100的整数,通过if语句检查每个数是否为奇数,如果是,则将其加到sum变量中。
C语言考试题库及答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C语言考试题库及答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为C语言考试题库及答案的全部内容。
C 语言理论上机考试选择题部分(共200题)1、下面程序的输出是___D______#include 〈stdio 。
h> void main () { int k=11;printf ("k=%d,k=%o,k=%x\n”,k ,k,k); }A ) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D ) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______。
A ) ++t ; B) n1=(n2=(n3=0)); C) k=i=j ; D ) a=b+c=1;3、下面合法的C 语言字符常量是______A____。
A ) '\t’ B ) "A" C ) 65 D ) A4、表达式: 10!=9的值是________D____。
A) true B) 非零值 C) 0D ) 15、C 语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D ) Char6、字符(char)型数据在微机内存中的存储形式是__D__。
A ) 反码 B) 补码 C) EBCDIC 码 D )ASCII 码7、C 语言程序的基本单位是_____C______. A) 程序行 B ) 语句 C ) 函数 D ) 字符8、设 int a=12,则执行完语句a+=a —=a*a 后,a 的值是____D____ A ) 552 B ) 264 C ) 144 D) —264 9、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio 。
大一c语言考试题及详细答案解析一、选择题(每题2分,共20分)1. 以下哪个选项是C语言中的关键字?A. intB. floatC. includeD. main答案:A解析:在C语言中,int、float和main是基本数据类型和程序入口点,但不是关键字。
include是预处理指令,用于包含头文件,也不是关键字。
因此,正确答案是A,int是C语言中的关键字。
2. C语言中,以下哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. pow()答案:C解析:在C语言标准库中,并没有直接提供计算两个数和的函数。
max()和min()用于比较两个数的大小,pow()用于计算幂。
因此,正确答案是C,sum()是假设的一个函数名,用于计算两个数的和。
3. 以下哪个选项是C语言中正确的变量声明?A. int a = b = 5;B. int a = 5, b;C. int a, b = 5;D. int a, b = 5.0;答案:C解析:在C语言中,变量声明时不能连续赋值,因此选项A不正确。
选项B中,b没有初始化,因此不正确。
选项D中,b被赋值为浮点数,而它被声明为整型,因此不正确。
选项C是正确的变量声明方式,因此正确答案是C。
4. C语言中,以下哪个选项是正确的字符串声明方式?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello", "World";D. char str[] = {"Hello"};答案:A解析:在C语言中,字符串应该使用双引号括起来,因此选项B和D不正确。
选项C中,不能同时为一个数组赋多个字符串值,因此不正确。
选项A是正确的字符串声明方式,因此正确答案是A。
5. 以下哪个选项是C语言中正确的函数声明?A. int func();B. int func(int a);C. int func(int);D. int func(int a, int b);答案:B解析:在C语言中,函数声明需要指明返回类型和参数列表。
河工大C语言大题绝版答案1.有一函数:当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。
编一程序,输入x的值,输出y的值。
#include <stdio.h>void main(){int x,y;printf("请输入x:");scanf("%d",&x);if(x<0)y=1;else if(x=0)y=0;elsey=1;printf("y=%d\n",y);return 0;}2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。
#include <stdio.h>void main(){int a,b,c,temp=0;printf("请输入三个数a,b,c:");scanf("%d,%d,%d",&a,&b,&c);printf("a=%d,b=%d,c=%d,",a,b,c);if (a<b){ temp=a;a=b;b=temp;}if (a<c){ temp=a;a=c;c=temp;}if (b<c){ temp=b;b=c;c=temp;}printf("排序结果如下: \n");printf("%d %d %d \n" ,a,b,c);return 0;}3.有三个整数a,b,c,由键盘输入,输出其中最大者#include <stdio.h>void main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}4.编程求圆面积、圆周长。
大学C语言期末考试练习题(带详解答案)------------------------------------------作者------------------------------------------日期一、单项选择题.( ✌ )是构成 语言程序的基本单位。
✌、函数 、过程 、子程序 、子例程. 语言程序从 开始执行。
✌✆ 程序中第一条可执行语句∙∙∙ ✆ 程序中第一个函数∙∙∙✆ 程序中的❍♋♓⏹函数∙∙∙∙∙∙∙∙∙ ✆ 包含文件中的第一个函数、以下说法中正确的是( )。
✌、 语言程序总是从第一个定义的函数开始执行、在 语言程序中,要调用的函数必须在❍♋♓⏹☎ ✆函数中定义、 语言程序总是从❍♋♓⏹☎ ✆函数开始执行、 语言程序中的❍♋♓⏹☎ ✆函数必须放在程序的开始部分下列关于 语言的说法错误的是( ) 。
✌✆ 程序的工作过程是编辑、编译、连接、运行✆ 语言不区分大小写。
✆ 程序的三种基本结构是顺序、选择、循环✆ 程序从❍♋♓⏹函数开始执行下列正确的标识符是( )。
✌♋ ♋☯♓ ♋♉♓ ♓⏹♦ ♦❞题为相同类型题考点:标识符的命名规则( )只能由字母、数字、下划线构成( )数字不能作为标识符的开头( )关键字不能作为标识符选项✌中的❽❾ ,选项 中❽☯❾与❽❾不满足( );选项 中的♓⏹♦为关键字,不满足( ).下列 语言用户标识符中合法的是( )。
✌✆♋⌧ ✆⌧ ✆♍♋♦♏ ✆♏ ☜✆◆⏹♓☐⏹选项✌中的标识符以数字开头不满足( );选项 ,☜均为为关键字,不满足( );选项 中的❽❾不满足( );.下列四组选项中,正确的 语言标识符是( )。
✌) ⌧ ) ♋♌ )♋ ) ( )、下列四组字符串中都可以用作 语言程序中的标识符的是( ✌ )。
✌、☐❒♓⏹♦ ♉♎ ♎♌ ♋♍ 、✋♋❍ ☐⏹♏♉♒♋●♐ ♦♦♋❒♦♓♦ ☐♋♓、♦♦❒♉ ☐☐ ☐☐♦ ♦♒♓●♏ 、⌧❑ ⍓♌☐☐ ●♓⏹♏✁ ☟♓♦♋♑♏选项 中的❽❾,❾❾ ,选项 中❽❾,❾✁❾,❾❾,❾❾不满足( );选项 中的♦♒♓●♏为关键字,不满足( )语言中的简单数据类型包括( )。
数据结构部分(100分)一、判断题:(每题1分,共6分):1、线性表只能用顺序存储结构实现。
2、为了很方便地插入和删除数据,可以使用双向链表存放数据。
3、队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
4、完全二叉树一定存在度为1的结点。
5、在AOE网中,关键路径上的某个活动时间的缩短,整个工程的时间也就必定缩短。
6、装填因子是哈希表的一个重要参数,它反映哈希表的装满程度。
二、简答题(共22分)1、已知完全二叉树有30个结点,则整个二叉树有多少个度为0的结点?(4分)2、对一个图进行遍历可以得到不同的遍历序列,那么导致得到的遍历序列不唯一的因素有哪些?(4分)3、设一数列的输入序列为345678,运用栈操作,能否得到输出顺序为547863的序列?为什么?(4分)4、简述顺序表查找法、有序表查找法和索引顺序表查找法对被查找表中元素的要求?(6分)5、用线性探测法解决冲突时,如何处理被删除的结点?为什么?(4分)三、应用题(共48分)1、一棵二叉树的先序、中序和后序序列如下,其中一部分未标出,请构造出该二叉树。
(8分)先序序列:CDE GHI K中序序列:CB FA JKIG后序序列:EFDB_JIH A2、对于任意一棵非空的二叉树,若度为2的结点个数为n2,叶子结点个数为n0,请给出n0和n2之间所满足的关系式n0=f(n2),要求给出推导过程。
(10分)3、下图所示是一带权有向图的邻接表存储表示,请根据邻接表:(1)、画出该带权有向图的图形。
(4分)(2)、以顶点V1为起点的广度优先遍历的顶点序列及对应的生成树。
(4分)分)(3)、以顶点V1为起点的深度优先遍历的顶点序列及对应的生成树。
(4 Array4、按下述顺序输入关键字:(23,7,8,22,24,10,5,13,4,14,21,12),画出平衡二叉树的构造与调整过程,并为每一次的平衡处理指明旋转类型。
(10分)5、已知待排序的记录关键字集为{8,3,2,5,9,1,7},要求按照从大到小进行排序,写出用直接插入排序法进行排序的全过程。
河南科技学院2012-2013学年第二学期期终考试计算机应用技术I(C 程序设计)试题B适用班级:食工121-4,数学121-2,化工121-4,生科121-2,园艺121-6,种科123-4,生物121-4,制药121-2,生工121-4,通信121-2,信工121-2,应化121-2,农学123-4,质量121-2,数学(统计)121-2,计算121-2,教育121注意事项:1.在试卷的密封线内填写院(系)、专业、班级、姓名和准考证号。
2.考试时间共100分钟。
一、选择题(答案唯一,多选或少选均不得分,每小题2分,共30分)1、下面叙述正确的是 D 。
A 、C 语言本身就有输入输出语句 (C 语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的。
) B 、C 程序的每行只能写一条语句 C 、C 语言的字符型数据不能进行数学运算D 、C 程序的变量必须定义后才能使用2、在turbo C 语言中,错误的int 类型的常数是 D 。
A 、0xAF (0x 代表16进制)B 、0A 、#defineB 、_123C 、%dD 、\n(标识符由字母(A-Z,a-z )、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。
例如,正确的标识符:abc ,a1,prog_to 。
不能把C 语言关键字作为用户标识符,例如if ,for, while 等)..4、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是B。
A、200B、100C、100 200D、输出格式符不够,输出不确定的值5、请读程序:#include<stdio.h>void main(){int mun=0;while(num<=2){ num++;printf(“%d\n”,num);}}上面程序的输出结果是C。
计算机C语言专升本题库(总分100分,考试时长60分钟)一、单项选择题(每小题2 分,共 100分)1、以下选项中合法的实型常数是________。
A、5E2.0B、E-3C、2E0D、1.3E2、下列程序段执行后的输出结果为 int x=3; int y=10; printf("%d",y%x);A、0B、1C、2D、33、设变量a、b、c、d和y都已正确定义并赋值。
若有以下if语句: if(a<b) if(c==d)y=0; else y=1; 该语句所表示的含义是________。
A、y=0,ay=1,a≥bB、y=0,ay=1,a≥b且c≠dC、y=0,ay=1,a<B且C≠DD、y=0,ay=1,c≠d4、若有以下程序#include<stdio.h>main() {int a=6,b=0,c=0; for(;a;) {b+=a;a-=++c;}printf("%d,%d,%d\n",a,b,c);}则程序的输出结果是______。
A、0,14,3B、1,14,3C、0,18,3D、0,14,65、设有以下定义: int a[3][3]= { 1,2,3,4,5,6,7,8,9 }; int(*ptr)[3]=a; 则下列能正确表示数组元素a[1][2]的表达式是______。
A、*((*ptr+1)[2])B、a[2][3]C、(*ptr+1)+2D、*(*(a+1)+2)6、设a为整型变量,不能正确表达数学关系10A、10B、a==11||a==12||a==13||a==14C、a>10&&a<15D、!(a<=10)&&!(a>=15)7、下面程序段的运行结果是________。
char * format="%s,a=%d,b=%d\n";int a=11,b=10;a+=b;printf(format,"a+=b",a,b);A、for,"a+=b",abB、format,"a+=b"C、a+=b,a=21,b=10D、以上结果都不对8、在标准ascii码表中,若英文字母i的十进制码值是105,则小写字母f的十进制码值为______。
C程序的运行环境和简单C源程序的调试,实验报告(共题),用时(127分33秒),成绩(A)1、有如下程序:#include"stdio.h"main( ){ int a=8;printf("%d,%5d,%-5d####\n",a,a,a);printf("%d,%o,%x,%u",a,a,a,a);}第二个printf语句的运行结果是_______________。
你的答案:8,10,8,8 √2、有如下程序:#include"stdio.h"main( ){ char c1='a',c2='b'; int a=97,b=98;printf("%d,%d\n",a,b);printf("%c,%c",c1,c2);}最后一个printf语句的运行结果是_______________。
你的答案:a,b √3、有如下程序:#include"stdio.h"main( ){ int i,j; i=3; j=4;printf("%d %d\n",i++,++j);printf("%d,%d\n",i,j);printf("%d,%d\n",-i++,-++j);}最后一个printf语句的运行结果是_______________。
你的答案:-4,-6 √4、有如下程序:#include"stdio.h"main( ){ int a=7;float x=2.5,y=4.7,z;z= x + a % 3 * (int) (x + y) % 2 / 4;printf("%f\n",z); }程序的运行结果是______________。
你的答案:2.500000 √思考题分数:60分,源代码分数:40分。
应提交源代码:5个,实际提交源代码:5个。
Copyright ? 2006 All rights reserved河南科技大学建议使用:800×600以上分辨率IE4.0以上版本浏览器顺序结构程序设计,实验报告(共题),用时(48分21秒),成绩(A)1、从键盘上输入:32 18<CR>,运行结果是_______________。
#include"stdio.h"main( ){ int i,j;printf("Enter i,j\n");scanf("%d%d",&i,&j);printf("i=%d,j=%d\n",i,j);}你的答案:i=32,j=18 √2、如果下面程序运行结果是i=12.5,j=-4.0,从键盘应输入:_______________。
#include"stdio.h"main( ){ float i,j;scanf("i=%f,j=%f",&i,&j);printf("i=%.1f,j=%.1f\n",i,j);}你的答案:i=12.5,j=-4.0 √3、输入一个大写字母A,将它转换为小写字母a,输出小写字母a及对应的ASCII值97。
要求输出格式为:j=a,j=97。
输出语句应为________________。
#include"stdio.h"main( ){ char i,j;scanf("%c",&i);j=i+32;输出语句;}你的答案:printf("j=%c,j=%d",j,j); √4、将a,b两个变量的值交换后,要求按“a=2,b=1”格式输出。
划线处应当填写:__________________。
#include"stdio.h"main( ){ int a=1,b=2,t;t=a;a=b;b=t;______________ ;}你的答案:printf("a=%d,b=%d",a,b); √思考题分数:60分,源代码分数:40分。
应提交源代码:5个,实际提交源代码:5个。
Copyright ? 2006 All rights reserved河南科技大学建议使用:800×600以上分辨率IE4.0以上版本浏览器选择结构程序设计,实验报告(共题),用时(84分39秒),成绩(A)1、下面程序的功能是实现表达式z=(x>=y ? x : y),请将程序填写完整。
#include"stdio.h"main( ){ int x, y, z;printf("Please input x,y:");scanf("%d%d",&x,&y);if (______) z=x;else z=y;}你的答案:x>=y √2、下面程序的运行结果为_______________。
#include"stdio.h"main( ){ int a=3,b=5,c=8;if(a++<3 && c--!=0) b=b+1;printf("a=%d,b=%d,c=%d\n",a,b,c);}你的答案:a=4,b=5,c=8 √3、程序填空,从键盘上输入x的值,按下式计算y的值。
┌x x<1y= ┤2x-1 1≤x<10└3x-11 x≥10#include "stdio.h"main( ){ float x,y;printf("x=");scanf("%f",&x);if ( ________ ) y=x;else if( x<10&&x>=1 )y=2*x-1;elsey=3*x-11;printf("y=%f\n",y);}你的答案:x<1 √4、下面程序运行时从键盘上输入15,20,运行结果为_______________。
#include "stdio.h"main( ){ int a,b,t;t = 0;scanf("%d,%d",&a,&b);if (a>b)t = a ;a =b ;b = t ;}你的答案:b=0 √思考题分数:60分,源代码分数:40分。
应提交源代码:5个,实际提交源代码:5个。
Copyright ? 2006 All rights reserved河南科技大学建议使用:800×600以上分辨率IE4.0以上版本浏览器循环结构程序设计(一),实验报告(共题),用时(23分36秒),成绩(A)1、求两个正整数x和y的最大公约数,请填空。
#include <math.h>#include <stdio.h>main( ){ int x,y,t,i;scanf("%d,%d",&x,&y);if(x > y) {t = x; x = y; y = t;}for( _______________ ){ if( x%i==0 && y%i==0 )break;}printf("Maximal Common Divisor is : %d\n",i);}你的答案:i=x;i>=1;i-- √2、计算1到100之间的奇数之和及偶数之和。
请填空。
#include"stdio.h"main( ){ int a,b,c,i;a=0, c=0; /* 变量赋初值*/for(i=0;i<=100;i+=2){ a+=i; /* 变量a存放偶数的和*/_______________ ;c+=b; /* 变量c存放奇数的和*/}printf("Sum of Evens is %d\n",a);printf("Sum of Odds is %d\n",c-101);}你的答案:b=i+1 √3、下面程序的功能是:计算正整数num的各位上的数字之和。
例如,若输入:252,则输出应该是:9;若输入:202,则输出应该是:4。
请将程序补充完整。
#include <stdio.h>main( ){ int num,k;k=0;printf("Please enter a number:") ;scanf("%d",&num) ;do{ k=____________ ;num/=10;} while(num) ;printf("\n%d\n",k) ;}你的答案:k+num%10 √4、求两个正整数[m,n]之间所有既不能被3整除也不能被7整除的整数之和。
请填空。
#include <math.h>#include <stdio.h>main( ){ int m,n,i,t;long int s=0;scanf("%d,%d",&m,&n);if( m>n ){ t=m; m=n; n=t;}for ( _______________ )if ( i%3 != 0 && i%7 != 0 )s += i;printf("Sum is : %ld\n",s );}你的答案:i=m;i<=n;i++ √思考题分数:60分,源代码分数:40分。
应提交源代码:5个,实际提交源代码:5个。
Copyright ? 2006 All rights reserved河南科技大学建议使用:800×600以上分辨率IE4.0以上版本浏览器循环结构程序设计(二),实验报告(共题),用时(1分30秒),成绩(A)1、下面程序的功能是:输出以下图形:*-------------->在第11列********请把程序补充完整。
#include"stdio.h"main( ){ int i,j,k;for(i=0;i<=2;i++){ for( j=0; j<10-i ;j++ ) printf(" ");for( k=0; _______________ ;k++ ) printf("*");printf("\n");}}你的答案:k2、下面函数的功能是求出100~300间的素数和,请把程序补充完整。