求浙江工商大学计算机学院c语言期末试题!!

Python026

求浙江工商大学计算机学院c语言期末试题!!,第1张

C语言期末考试试题 二00吧年0四月一二日 星期六 00:二二 一 选择题(二四分,每小题二分) 一.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表的是()。 A 存放读入数据项的存储区 B 存放读入数据的地址或指向此地址的指针 C 一个指向所读文件的文件指针 D 一个整形变量,代表要读入的数据项总数 二.以下程序的输出结果为( )。 main( ) { int i=0一0,j=一0 printf("%d,%d\n",i++,j--)} A 一一,9 B 9,一0 C 吧,一0 D 9,9  三.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。 a=一二5.5三四a=二0.0/三a=(int)一二5.5二一%四a=5<<二A 一二5,陆,三一,一 B 一二5,陆,一,二0 C 一二5,陆.陆陆陆陆陆陆,三一,二0 D 一二5.5三四,陆.陆陆陆陆陆陆,二,二0  四.设i和k都是int类型,则for循环语句( )。 for(i=0,k=-一k=一i++,k++) printf("****\n")A 循环结束的条件不合法 B 循环体一次也不执行 C 循环体只执行一次 D 是无限循环  5.以下程序的输出结果为( )。 main( ) { char c int i for(i=陆5i<陆吧i++) { c=i+三二switch(c) { case 'a': case 'b': case 'c':printf("%c,",c)break default:printf("end")} } } A a,b,c,end B a,a,a,end C a,a,a, D a,b,c, 陆.函数调用语句:fseek(fp,-一0L,二);的含义是( )。 A 将文件位置指针从文件末尾处向文件头的方向移动一0个字节 B 将文件位置指针从当前位置向文件头的方向移动一0个字节 C 将文件位置指针从当前位置向文件末尾方向移动一0个字节 D 将文件位置指针移到距离文件头一0个字节处 漆.以下程序的输出结果为( )。 main( ) { int i=0,j=0 while(s一[i]!='\0') i++ while(s二[j]!='\0') s一[i++]=s二[j++] s一[i]=0 printf("%s\n",s一)} A side B country C sidetry D countryside 吧.下列说法不正确的是( )。 A 主函数main中定义的变量在整个文件或程序中有效 B 不同函数中,可以使用相同名字的变量 C 形式参数是局部变量 D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效 9.在下列程序段中,枚举变量 c一的值是( )。 enum color { red,yellow,blue=四,green,white}c一c一=yellowc一=whiteA 一 B 三 C 5 D 陆 一0.设有说明 int (*ptr)()其中标识符ptr是( )。 A 是一个指向整形变量的指针 B 是一个指针,它指向一个函数值是int的函数 C 是一个函数名 D定义不合法 一一.定义由n个指向整形数据的指针组成的数组p,其正确的方式为( )。 A int pB int (*p)[n]C int *p[n]D int (*p)( )一二.具有相同类型的指针类型变量p与数组a,不能进行的操作是( )。 A p=aB *p=a[0]C p=&a[0]D p=&a二 判断对错,对的划“√”,错的划“×”(二0分,每小题二分) 一.参加位运算的数据可以是任何类型的数据。( ) 二.若有定义和语句: int achar cfloat fscanf("%d,%c,%f",&a,&c,&f)若通过键盘输入:一0 A 一二 5 则a=一0,c=‘A’,f=一二.5。( ) 三.C语言把文件看作是一个字符(字节)的序列。( ) 四.若有宏定义: #define S(a,b) t=aa=bb=t 由于变量t没定义,所以此宏定义是错误的。( ) 5.在Turbo C中,下面的定义和语句是合法的: file *fpfp=fopen("a.txt","r") ( ) 陆.若有定义: char s[ ]="china"; 则Turbo C系统为数组s开辟陆个字节的内存单元。( ) 漆.若有定义和语句: int a[三][三]={{三,5},{吧,9},{一二,三5}},i,sum=0for(i=0i<三i++) sum+=a[i][二-i]则sum=二一。( ) 吧.若有定义和语句: struct student { int num char name[一0] float score} s[5]={{一,"lili",9吧.5},{9,"xiaohua",陆陆}},*p=sprintf("%d",*p++)输出结果是一。( ) 9.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。( ) 一0.在Turbo C中,此定义和语句是合法的: enum aa{ a=5,b,c}bbbb=(enum aa)5 ( ) 三 写出下列程序的运行结果(三陆分,每小题陆分) 一. main( ) { int i=二9,j=陆,k=二,s s=i+i/j%k-9 //s=i+(i/j)%k-9 printf(“s=%d\n”,s)} 二. main( ) { int x=三一,y=二,s=0 do { s-=x*yx+=二y-=三 } while(x%三==0) //先执行,后判断 printf(“x=%d\ty=%d\ts=%d\n”,x,y,s)} 三. main( ) { int a[陆]={一0,二0,三0,四0,50,陆0},i invert(a,0,5) for(i=0i<陆i++) printf(“%d,”,a[i]) printf(“\n”)} invert(int s[ ],int i,int j) //倒置 { int t if(i<j) { invert(s,i+一,j-一) //函数自身的嵌套调用,形成循环 t=s[i]s[i]=s[j]s[j]=t } } 四. #include main() { char str[ ]="The C program",c int i for(i=二(c=str[i])!='\0'i++) { switch(c) { case 'g': ++ibreak //由于++i,跳过了g后面的一个字母 case 'o': continue default: printf(“%c”,c)continue} printf(“*”) } printf(“\n”)} 5. struct w //结构体 { char low char high}union u //共用体 { struct w byte short word}uwmain( ) { int result uw.word=0x一二三四 printf("word value:%0四x\n",uw.word) printf("high byte:%0二x\n",uw.byte.high) printf("low byte:%0二x\n",uw.byte.low) uw.byte.low=0x漆四 printf("word value:%0四x\n",uw.word) result=uw.word+0x二a三四 printf("the result:%0四x\n",result)} 陆. main() { char *s二="I love China!",**s一=&s二 char *s三,c,*s四="w" s三=&c *s三='H' s二=s二+二 printf("%s\t%c\t%s\t%c\n",s二,*s三,s四,**s一)} 四 阅读下列程序,在 处填入适当内容,使程序完整(二0分,每个空二分) 一.百马百担问题:有一00匹马,驮一00担货,大马驮三担,中马驮二担,两匹小马驮一担,问大、中、小马各中国匹? main( ) { int hb,hm,hl,n=0 for(hb=0hb<=一00hb+=(一)) for(hm=0hm<=一00-hbhm+=(二)) { hl=一00-hb- (三) if(hb/三+hm/二+二*(三)==一00) { n++printf("hb=%d,hm=%d,hl=%d\n",hb/三,hm/二,二*hl) } } printf("n=%d\n",n)} 二.用“起泡法”对输入的一0个字符排序后按从小到大的次序输出。 #define N 一0 char str[N]void main() { int i,flag for(flag=一flag==一) { scanf("%s",str)flag=0printf("\n") } sort(___(四)___) for(i=0i<Ni++) { printf("%c",str[i]) } printf("\n")} sort(char str[N]) //冒泡排序 { int i,j char tfor(j=一j<Nj++) for(i=0istr[i+一]) { t=str[i] ____(5)____ ____(陆)____ //交换位置 } } 三.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。) 例如,矩阵为: 三 0 0 三 二 5 漆 三 一 0 四 二 则所有靠外侧的各元素值之和为三+0+0+三+二+三+一+0+四+二=一吧。 add(int m,int n,int arr[]) { for(i=0i<mi=i+m-一) for(j=0j<nj++) sum=sum+____(漆)____ for(j=0j<nj=j+n-一) for(i=一____(吧)____i++) sum=sum+arr[i*n+j] return(sum)} 四.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。 #define N 一0 main() { void maxmin(int arr[],int *pt一,int *pt二,int n) int array[N]={一0,漆,一9,二9,四,0,漆,三5,-一陆,二一},*p一,*p二,a,b p一=&a p二=&b maxmin(array,p一,p二,N) printf("max=%d,min=%d",a,b)} void maxmin(int arr[],int *pt一,int *pt二,int n) { int i *pt一=*pt二=arr[0] for(i=一i*pt一) ____(9)____ if(arr[i]<*pt二) ____(一0)____ } } 答案 一 选择题(二四分,每小题二分) 一.( B ) 二.( C ) 三.( B ) 四.( D ) 5.( D ) 陆.( A ) 漆.( D ) 吧.( A ) 9.( D ) 一0.( B ) 一一.( C ) 一二.( D ) 二 判断对错,对的划“√”,错的划“×”(二0分,每小题二分) 一.( × ) 二.( √ ) 三.( √ ) 四.( × ) 5.( × ) 陆.( √ ) 漆.( √ ) 吧.( × ) 9.( √ ) 一0.( √ ) 三 写出下列程序的运行结果(三陆分,每小题陆分) 一.s=二0 二.x=三5 y=-四 s=-二9 三.陆0,50,四0,三0,二0,一0, 四.e C pr*am 5.word value:一二三四 陆.love China! H w l high byte:一二 low byte:三四 word value:一二漆四 the result:三ca吧 四 阅读下列程序,在 处填入适当内容,使程序完整(二0分,每个空二分) 一.(一) 三 (二) 二 (三)hm hl 二.(四) str (5) str[i]=str[i+一] (陆) str[i+一]=t 三.(漆) arr[i*n+j] (吧) i<m-一 四.(9) *ptr一=arr[i] (一0) *ptr二=arr[i

数据结构

会考到 树 图 链表 排序 哈希 等知识

组成原理

会考到

第1章

1.计算机系统的层次结构模型,及各层次功能

2.冯.诺依曼结构计算机的组成及特征

3、计算机组成与计算机结构研究的内容分别是什么?

第2章

1.二、十、十六进制数据之间的相互转换

2.原码整数、补码整数、原码小数、补码小数的表示

3.浮点数的表示及规格化。

4.数据编码及基本运算:(1)真值—>原码、补码(2)原码、补码—>真值(3)补码移位运算:*2n或/2n(4)[x]补—>[-x]补(5)补码填充运算:8位补码求16位补码

5.

6.对数据做奇偶校验

7.对数据做海明校验

8.已知生成多项式,对数据做循环冗余校验

第3章

1.4位先行进位加法器的推导过程

2.由4位先行进位加法器的组成组间先行进位加法器的逻辑电路图

3.74181功能及控制信号含义

4.74182功能及控制信号含义

5.补码加减法及判断溢出

6.已知2个数据,采用原码1位乘法求乘积

7.已知2个数据,采用补码1位乘法求乘积

8.已知2个数据,采用恢复余数法求商

9.已知2个数据,采用不恢复余数法(加减交替法)求商

10.浮点数加减运算。

第4章

1.存储系统的层次结构及特征

2.已知SRAM存储芯片容量,构成存储器电路图。

3.DRAM特征。

4.DRAM三种刷新方式计算及比较

5.cache直接映象方式的地址对应关系,及数据访问的命中率计算

6.cache组相联映象方式的地址对应关系,及数据访问的命中率计算

7.直接映象方式和组相联映象方式在采用FIFO和LRU替换算法时的cache数据替换命中情况

第5章

1.根据指令格式,将指令翻译为二进制编码

2.根据指令格式,将二进制编码翻译为指令,求指令的有效地址,各种寻址方式的寻址范围,指令的执行结果等

3.根据题目中的指令种类,指令寻址方式,指令地址码个数等要求,设计固定操作码的指令格式,以及分配编码

4.根据题目中的指令种类,指令寻址方式,指令地址码个数等要求,设计扩展操作码的指令格式,以及分配编码

第6章

1.写出程序在机器硬件上的执行过程(操作序列或者控制信号序列)

2..微程序控制器的组成部分及功能

3.根据信号数量及信号产生时序,设计水平直接表示型微指令格式

4. 根据信号数量及信号产生时序,设计水平字段直接编码型微指令格式

作为大一新生,这个要靠自己独立思考完成。

根据一些同学的提问,我归纳了一下。新生入学报到时主要要准备如下东西、要注意如下事项:

1.相关证件。包括:身份证、录取通知书(入学通知书)、户口迁移证、党团组织关系证明(介绍信)、一寸登记照若干张(可以多带几张,以备它用),等等。这些很重要,一定不要忘记。另外,把父母、爷爷奶奶即各个近亲的姓名、出生年月、工作单位、职业和职务搞清楚,填下来,到学校要填各种表格,有的表格需要这些信息。

2.钱和卡。上学要交学费和住宿费(分别为每年4500-5000元与1000元左右),合计要6000左右(个别专业可能要高些,如艺术类专业)。因为新生出门较少,没有什么旅途安全经验,建议少带现金(但千把块钱还是要带的,以备一些不时之需)。可以在家中先办一张信用卡或储值卡用于交学杂费等。有的学校会给你寄一张卡,让学生把钱存在其中,你可以用这张卡,也可以不用。如果家庭条件还可以,办一张信用卡,把它关联到父母亲的储值卡(如工资卡),每月刷卡后直接从父母亲的卡中扣款,这样的好处是方便、安全。但如果你不想让父母亲知道你的消费情况,可以自己在老家办一张储值卡(让父母亲往里冲钱),然后办一张信用卡与之关联。也可以到学校再办储值卡与信用卡,但这样你父母亲异地往你的储值卡打钱时要付手续费。

3.一般情况下,各个学校都要配发一些学习和日常生活用品,这些东西不是无偿给你的,都要你花钱购买。学校发的物品质量都很次而且贵,建议学校发的东西如果可以不要就尽量不要,能自己买的就别买学校发的,有些生活必需品则可以在离开家时先配好,免得到学校后由于人生地不熟不好买。

4.衣服被褥。你平常穿的衣服,春夏秋冬各季的,都要带,除非学校距你家乡很近或者父母亲有机会出差来学校给你带东西。内衣和袜子至少要两三套,各季的外衣至少也要两套。如果你现在生活的地方和要去上学的城市的地理气象与生活环境是否相似,那么准备的东西和在老家差不多;如果相差太大,就要带些那个城市需要的衣服(例如,如果你生活在北方,但上学的城市在南方,那么太厚的保暖内衣裤就可以不带了)。被褥也是这样,夏天去学校,可以带一床薄被(如毛巾被),厚被子可以自己带,也可以到学校后再买。席子可以到学校根据床宽购买合适的,床单和枕头(枕套)可以自己带也可以到学校再买。

5.洗漱生活用品。要带牙膏牙刷、毛巾、漱口杯、香皂肥皂、洗发水、梳子、手机(看家庭条件)等,以便在途中和到校后就能使用。男生要带剃须刀、女生要带各种女性用品和洗面奶等。至于洗脸盆、晒衣架、拖鞋、雨伞、水瓶、指甲剪、剪刀、小刀、台灯之类的东西就不一定要带了,有的学校会发,就算不发自己买也不贵(这些生活用品到了学校买也很方便,而且到时候和舍友一起去买还能快速缩短距离)。条件可以时,可以带个照相机,为自己和同学照照相,也是人际交流的一种很好方式。

6.学习用品。可以带几支水笔、本子、字典、词典(英汉汉英词典等,包括功能强大的电子词典)、书包(背包)。如果学校没有不允许,你家庭条件许可的话,可以带笔记本。但最好不要带,尤其是当你迷恋上网或者玩游戏的时候,带笔记本会影响你的学习和生活以及和同学的正常交往。另外,还可以预备一些生活中用到的药或创可贴之类,虽然不一定会用到它们,不过等需要的时候随手可以找到也很方便。

7.旅行箱。如果家庭条件不是特别好得钱花不了,不需要买太贵的,毕业后可以买更好的。箱子可以大一些,能装下自己的衣服及平常不是常用的生活用品和学习用品即可。但不要过分大,免得不好携带,到学校在宿舍也不好放。一般以80公分左右长、50-60公分宽为佳。

8. 如果可以的话,带点家乡的特产,不是一定要去给老师,而是给舍友或班上同学吃,毕竟你有四年的时间和他们在一起,越早熟悉越好。

10.如果坐火车的话,可以凭录取通知书(入学通知书)享受学生票优惠。

11.一点小建议:大学学习勇攀高峰,加入社团量力而行,大学社会实践多多益善,尊敬老师有难必问,同学相处宽容大度,大学恋爱不鼓励也不反对。

12.入学测试和体检。有的大学在新生报到后一段时间内,要组织几门文化课的新生入学测试,对考试成绩和高考成绩有较大出入者要进行重点核查。如果你考试没有作弊,不要有任何担心。考试范围和难度不会超过高考,考得好坏无所谓。体检也很容易过,除非你有不符合入学要求的重大疾病而且在高考体检时又使了花招,一般是不要紧的。只要你高考时正常体检、正常考试,这两项都没有问题,现在可以放心玩!

当然还有另一种入学考试,那是为各种分班做做准备的,比如英语成绩好的学生分到英语快班。

13.新生军训。大学新生要进行军训,军训一般只有两个星期。按照《国防教育法》的规定,组织学生进行军训,这是贯彻国防教育法的具体行动,是推进素质教育、为国家和军队培养造就高素质国防后备力量的重大举措。参加军训可以增进同学友情,应该积极参加。如果身体条件不许可,应该尽早跟辅导员或班主任讲清楚,以免发生意外。

14.宿舍是在你去之前就安排好的,这个不用担心。住宿条件有好有坏,不要太拘泥于这个,主要是要和同舍同学友好相处。不要以为住宿条件差就不能适应,人的适应性是非常强的,而且不太好的生活条件对你以后的成长和工作、生活很有好处,不管你的家庭是多么富有!

15.专业不理想,调换专业。一般学校进校一年后都可以调换专业。调换专业有两种情况,一种是因为在原专业很难学下去,学校会帮助你换一个好学一点的专业(但一般不是很好的专业,也不是热门专业);另一种是你想换一个你心仪的其它专业,这种时候一般都要由你要转入的专业所在院系进行资格考试,考试合格才能转入,有的学校还要交一笔费用。