武汉大学计算机学院C语言历年试题
武汉大学C语言程序设计习题答案
武汉大学C语言程序设计习题答案(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--习题答案:第一章一.选择题ABDAC CABAA DDABA CCACB ADDDB AACAA二、判断题BABAB ABBBA BBBAB BBBAA三、填空题1.位2.3.4.机内码5.Hz或赫兹6.72B7.机器字长8.CPU9.10.小第二章一、单选题1. B2. D3. D4. C5. A6. A7. C8. C9. A 10. D 11. B 12. C 13. A 14. A 15. C 16. B 17 D 18. D 19. A 20. B 21. C 22. A 23. B 24. A 25. B 26. B 27. C 28. B 29. D31. A 32. B 33. B 34. C 35. D 36. A 37. A 38. D 39. A 40. D二、判断题1. T 10. F11. F 20. T21. T 30. T31. F三、填空题1. 资源管理器2. 添加/删除Windows组件3. ·4. 树5. ……6. 还原7. 存档8. 显示9. TXT10. EXIT 11. 启动12. 右13. 文件夹选项14. Alt+PrnScreen 15. 硬盘16. CTRL 17. 属性18. 任务栏和开始菜单属性19. del 20. 移动21. 25522. 子文件夹23. 隐藏24. 浏览器25. 彻底26. A*.wav 27. 我的文档28. 应用程序29. shift 30. 关闭31. 移动窗口32. 任务栏33. 横向34. Home、End 35. 桌面36. 对话框37. 拉伸38. 复制39. wav40. 剪贴板第3章一、选择题1.C 4.B 5.A 6.D 7.D 8.B 9. A 10. C11.D 14.C 15.B 16.D 17.D 18.C 19. C 20. D21.B 24.A 25.A 26.A 27.D 28.B 29. B 30. B31.D 34.B 35.C 36.C 37.A 38.D 39. B 40. C41.D 44.D 45.D 46.C 47.D 48.D 49. B 50. D二、填空题1.选择性粘贴2. SUM3. 占位符4. 表格中插入点所在的行被删除5.格式 6. 引用运算符; 算术运算符; 文本运算符; 比较运算符7. 等差8. 记录单9.更新10.设计模板空演示文稿11.“文件/页面设置”12.4,613.演讲者放映观众自行浏览14.幻灯片放映设置放映方式15.普通视图幻灯片视图16.应用17.忽略母版的背景图形18.幻灯片浏览19.超级链接20.新幻灯片21.幻灯片浏览 22. 表23. 查询24. 空值25. 对磁盘空间26. 字段名称27. 数据类型28. 备注型29. 千位分割符30. 有效性规则三、判断题1.F 4.T 5.T 6.F 7.F 8.F 9. T10. F11. F 12. T 13. T 14. F 15. F 16. T 17. F 18. F 19. T 20. T21. T 22. F 23. T 24. T 25. T 26. F 27. T 28.F 29. T 30. F第4章填空题1、局域2、Internet protocol3、域名服务器4、网络地址主机地址5、smtp pop3(或 IMAP4)6、com cn7、http8、超文本置标9、域名10、IP11、ftp12、ping13、掩码地址14、不对称数字用户线15、路由器16、17、ipconfig18、ISP19、WAN20、80选择题BDCAACCDADACDCCBBCAA判断题TFFFFFFTFTTTTFFFFFTT第五章一、选择题BBCACBCADDCCBDC二、判断题1. 2. 3.4. 5. 6.7. 8. 9.10.三、填空题1. 硬件软件数据2. 破坏3.完整性4.信息垃圾5.自然威胁人为威胁6.机房网络服务器7.加密解密8.单密钥系统双密钥系统第6章一、选择题DABADCBDDCDC二、判断题T T T F FF T T三、填空题1.交互性2.表示媒体3.颜色深度4.视觉暂留5.位图矢量图。
大学c语言考试题及答案
大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言。
B. C语言具有跨平台的特性。
C. C语言是面向对象的编程语言。
D. C语言广泛应用于系统软件的开发。
答案:C2. C语言中,用于定义整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. -variableD. variable$答案:B4. C语言中,用于实现顺序结构的控制语句是:A. ifC. whileD. switch答案:A5. 在C语言中,以下哪个函数用于计算两个数的和?A. max()B. pow()C. sqrt()D. strcat()答案:A6. C语言中,用于定义字符型变量的关键字是:A. intB. floatC. charD. double答案:C7. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C8. C语言中,用于定义浮点型变量的关键字是:B. floatC. doubleD. char答案:B9. 在C语言中,以下哪个关键字用于定义函数?A. classB. functionC. voidD. struct答案:C10. C语言中,用于实现条件选择的控制语句是:A. ifB. forC. whileD. switch答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义布尔型变量的关键字是________。
答案:_Bool2. C语言中,用于定义字符串的字符数组时,最后一个元素必须是________。
答案:'\0'3. C语言中,用于实现循环结构的控制语句是________和________。
答案:for,while4. 在C语言中,________函数用于计算两个数的乘积。
武汉大学计算机学院C语言部分年份试题
武汉大学计算机学院C语言部分年份试题武汉大学计算机学院2004-2005学年度第2学期2004级《高级语言程序设计》期末考试试卷A卷答案及评分标准一.单项选择题:(选择最合适的答案填空,每小题2分,共20分)( )1.不正确的常量是____B__ 。
A.‘\t’B.084C. 1.2e4D.0x8fL( )2.表达式-8%3+13/2的结果为______D 。
A. 4.5B.8C.8.5D.4( )3.设变量 int a=1,b=2; 则执行表达式a+=3,b-2,++b,a*=b后变量a 和b 的值为______C 。
A.2和2B.3和3C.12和3D.12和2( )4.表达式0xad86|0xff的值为____A__ 。
A.0xadffB.0x86C.0xad86D.0xff( )5.设有如下宏定义#define price(x) 5+x则执行赋值语句v=price(4)*price(15);/*v为int型变量*/后,v的值为 C 。
A.180B.85C.40D.60( )6.在定义指针变量时,void *类型表明指针____ A 。
A.指向对象类型未知B.不指向任何对象C.指向整型的对象D.指向char类型对象( )7.设int a[3][4],*p[3]; 则以下___C____赋值语句是正确的。
A.p=a[0];B.p[1]=a;C.p[1]=a[2];D.p=a;( )8.创建一个新的文本文件,可对该文件进行读写操作,则____A____打开方式是正确的。
A.“w+”B.“wb”C.“r+”D.“rb+”( )9.表达式4&&5结果为______B 。
A.0B.1C.4D.5( )10.正确的标识符是______A 。
A._a123B.3zC.“next”D.‘A’二.文字填空(共15分)1.一个合理的算法应该具有“有穷性”,“有穷性”指的是_____经过有限个步骤的处理以后,算法应该结束_________。
大学计算机c语言考试试题及答案
大学计算机c语言考试试题及答案一、选择题(每题2分,共40分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 在C语言中,用于定义一个结构体的关键字是什么?A. structB. unionC. classD. typedef答案:A3. 下列哪个选项是C语言中的合法整型常量?A. 0x1AB. 1.23C. 0123D. 0b1010答案:A4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. //D. %答案:A5. C语言中,以下哪个选项是正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. <!-- 这是一个注释 -->D. # 这是一个注释答案:B6. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. goto答案:D7. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B8. C语言中,以下哪个选项是正确的数组声明?A. int a[10];B. int a[];C. int a[10] = {0};D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D10. C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. #defineD. #include答案:C二、填空题(每题2分,共20分)1. C语言中,用于定义一个全局变量的关键字是________。
答案:extern2. 在C语言中,________运算符用于判断两个值是否相等。
答案:==3. C语言中,________函数用于输出字符串。
武汉大学计算机学院C语言历年试题
武汉大学计算机学院2001-2002学年度第一学期2001级《高级语言程序设计》期末考试试卷姓名:学号:专业:未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。
一.选择最合适的答案填空(每题1分,共10分)( )1.______ 不是C语言的基本控制结构。
A.转移B.循环C.顺序D.选择( )2.表达式65|9和65&9的值为______ 。
A.74和74B.73和1C.74和405D.73和9( )3.设变量int m,n,a,b的值均为1,则执行表达式(m=a>b) &&(n=a>b)后,m,n的值为______ 。
A.1和1B.0和1C.1和0D.0和0( )4.表达式35<<3的值为______ 。
A.4B.38C.105D.280( )5.设有如下宏定义#define WIDTH 80#define LENGTH WIDTH+1则执行赋值语句v=LENGTH*20;/*v为int型变量*/后,v的值为______ 。
A.1620B.1601C.100D.1600( )6.假如指针p已经指向某个整型变量,语句____ 使指针q与p指向同一变量。
A.q=**pB.q=*&pC.q=&&pD.q=*p( )7.设long a[50],*p;执行p=a; p+=4;后*(p+4)等价于____ 。
A.a[8]B.a[4]C.a[2]D.无法确定( )8.执行fp=fopen(”A:Exam1_8.txt”,”wb”);后fp为null,最可能的原因是____ 。
A.按二进制方式打开文本文件B.文件A:Exam1_8.txt不存在C.文件写保护D.文件A:Exam1_8.txt大小写不一致( )9.______ 不是对象的基本特性。
A.封装B.多态(重载)C.非结构D.继承( )10.结构化程序设计追求的首要目标是程序的______ 。
大学c语言考试题及答案
大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,正确的是:A. 变量名必须以字母开头B. 变量名可以包含空格C. 变量名区分大小写D. 变量名可以以数字开头答案:C2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. C语言中,用于表示逻辑“与”的运算符是:A. &&B. ||C. !D. =答案:A4. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 1.2.3C. 123abcD. 0b1010答案:A5. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B6. C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A7. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C8. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str = "Hello";C. char str[] = 'Hello';D. char str[] = {"Hello"};答案:A9. C语言中,以下哪个选项是正确的数组定义方式?A. int array[5] = {0, 1, 2, 3, 4};B. int array[] = {0, 1, 2, 3, 4};C. int array[5] = {0, 1, 2};D. int array = {0, 1, 2, 3, 4};答案:A10. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #import <stdio.h>C. #include "stdio.h"D. #include "stdio.h"答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个结构体。
大学c语言考试题及答案
大学c语言考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. function答案:C2. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. char str[10] = 'Hello';C. char str = "Hello";D. char str[10] = {"Hello"};答案:A3. 下列哪个选项是C语言中的合法整型常量?A. 0x1AB. 1.2E3C. 0177D. 0b101答案:C4. C语言中,以下哪个是正确的数组声明?A. int array[];B. int array[10] = {0};C. int array = 10;D. int array[10] = 0;答案:B5. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. *C. %D. ^答案:B6. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A8. C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. *答案:D9. 在C语言中,以下哪个是正确的二维数组声明?A. int array[10][10];B. int array[][];C. int array[10][];D. int array;答案:A10. C语言中,以下哪个关键字用于定义一个宏?A. #defineB. #includeC. #ifdefD. #ifndef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
大学c语言试题题库及答案
大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。
答案:+2. C语言中的________关键字用于声明一个无返回值的函数。
武汉大学计算机学院C#考试卷子
武汉大学计算机学院《C#程序设计》试卷(A)(2010-2011学年度第2学期 2008级)[开卷,答题时间120分钟]一、单项选择题(每小题2分,共30分)1. 在C#中,表示一个字符串的变量应使用以下语句定义。
A. CString str;B. string str;C. Dim str as stringD. char * str;2.下列选项中,是引用类型。
A.enum类型B.struct类型C.string类型D.int类型3. 下列关于C#中索引器理解正确的是。
A.索引器的参数必须是两个或两个以上B.索引器的参数类型必须是整数型C.索引器没有名称D.都不是4. 以下是一些C#中的枚举型的定义,其中错误的用法有。
A.public enum var1{ Mike = 100, Nike = 102, Jike }B.public enum var1{ Mike = 100, Nike, Jike }C.public enum var1={ Mike=-1 , Nike, Jike }D.public enum var1{ Mike , Nike , Jike }5. 调用重载方法时,系统根据________来选择具体的方法。
A.方法名B.参数的个数和类型C.参数名及参数个数D.方法的返回值类型6. 接口是一种引用类型,在接口中可以声明,但不可以声明公有的域或私有的成员变量。
A.方法、属性、索引器和事件B.方法、属性信息、属性C.索引器和字段D.事件和字段7. C#中关于委托的说法正确的是。
A.委托类型是一种数据类型B.委托类型和委托对象是一回事C.定义委托对象时需要使用delegate关键字D.都不对8. C#程序中,可使用try..catch机制来处理程序出现的错误。
A.语法B.执行C.逻辑D.拼写9. 下列哪个类型的对象是在非连接模式下处理数据内容的主要对象?mandB.ConnectionC.DataAdapterD.DataSet10. Web窗体文件的扩展名为。
武大C语言试题
武汉大学C语言考试4-6章试题(内部交流) 1以下程序的输出结果是()main(){int i=0,j=0,k=6;if((++i>0)||(++j>0))k++;printf("%d,%d,%d\n",i,j,k);}A)0,0,6B)1,0,7C)1,1,7D)0,1,72。
下面程序段()。
for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}A)当x<0时整个循环结束B)x>=0时什么也不输出C)printf函数永远也不执行D)最多允许输出100个非负整数3。
以下程序的输出结果是()。
#include<stdio.h>main(){int num=0;while(num<=2){num++;printf("%d\n",num);}}A)1B)1C)1D)12223344。
请读下面程序:main(){int x=1,y=2,z=3;x+=y+=z;printf("%d\t",x<y?y:x);printf("%d\t",x<y?x++:y++);}程序输出结果为()A)54B)45C)56D)655。
若定义数组并初始化int a[10]={1,2,3,4},以下语句哪一个成立()?A)若引用a[10],编译时报错B)若引用a[10],连接时报错C)若引用a[10],运行时出错D)若引用a[10],系统不报错6。
下面程序段的功能是计算1000!的末尾含有多少个0。
while后的括号里的正确答案是()。
(提示:只要算出1000!中含有因数5的个数即可)for(k=0,i=5;i<1000;i+=5){m=iwhile(){k++;m=m/5;}A)m%5=0B)m=m%5==0C)m%5==0D)m%5!=07。
武汉大学C语言程序设计考试复习资料
C题库新C语言(基础知识)单元练习一1.能正确表示a和b同时为正或同时为负的逻辑表达式是______。
A. (a>=0‖b>=0)&&(a<0‖b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C. (a+b>0)&&(a+b<=0)D. a*b>0D2.一个C语言程序的执行是从______。
A. main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D. main函数开始,直到最后一个函数结束A3.可用作用户标识符的一组标识符是______。
A. voidB. a3_b3C. ForD. 2adefine _xyz -abc DOWORD IF Case sigeofB4.能正确表示a、b不能同时为零的逻辑表达式是______。
A. a==0&&b!=0||a!=0&&b==0B. (a==0)||(b==0)C. (a!=0)||(b!=0)D. a*b==0A5.已知各变量的类型说明如下:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是______。
A. a+=a-=(b=4)*(a=3)B. a=a*3=2C. x%(-3)D. y=float(i)A6.若k为int型变量,则以下语句______。
k=8567; printf("|%-06d|\n",k);A.输出格式描述不合法B.输出为|008567|C.输出为|8567 |D.输出为|-08567|C7.正确的C语言自定义标识符是______。
A.file_bakB.abc(10)C.continueD.class+3A8.设int x=8,y,z;执行y=z=x++;x=y=z;后,变量x的值是______。
武汉大学c语言题库
武汉大学C语言题库第一章C语言源程序经过编译、链接后生成的可执行文件扩展名是______。
(A).exe (B).cpp (C).c (D).objC语言程序要正确地运行,必须要有______。
(A)printf函数(B)scanf函数(C)自定义的函数(D)main 函数以下均为合法用户标识符的是______。
(A)do,xyz,_printf(B)3a,_tt,IF(C)void,ff,s_v(D)_pi,IF,big_tree以下叙述中正确的是______。
(A)C语言程序从源程序中第一个函数开始执行(B)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束(C)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行(D)main可作为用户标识符,用以命名任意一个函数作为主函数以下叙述中错误的是______。
(A)C语言是一种结构化程序设计语言(B)结构化程序有顺序、选择和循环三种基本结构(C)使用三种基本结构构成的程序只能解决简单问题(D)结构化程序设计提倡模块化的设计方法C语言程序的基本单位是【函数】。
编写C语言源程序时,需要使用【编辑】器将源代码输入到计算机中。
C语言源程序中可以有多处注释。
第二章以下属于合法数据类型关键字的是______。
(A)Long (B)shot (C)char (D)doubel以下不合法的数值常量是______。
(A)011 (B)1e1 (C)8.0E0.5(D)0xabcd以下正确的字符常量是______。
(A)"T" (B)'\\'' (C)' (D)'T'以下不合法的字符常量是______。
(A)"a" (B)'\77' (C)'\n' (D)'\x5c'表达式3.6-5/2+1.2+5%2的值是______。
武大C语言题库
12.int x,y;x=y=10;printf("%d",x-=y-4); 执行之后,输出结果是( ) 。 (A)5 (B)6 (C)7 (D)4
15.double x=10.5;printf("%f",x/=x+x); 执行之后,输出结果是( ) 。 (A)0.5 (B)10.5 (C)11.5 (D)21
16.short x=12;x%=x%=10; 执行后,x 值是( ) 。 (A)0 (B)1 (C)12 (D)10
17. short x=14;x=3+1>2; 执行后,x 值是( ) 。 (A)1 (B)14 (C)4 (D)5
二、填空题(每空 2 分,共 10 分) 填空题( printf("%d",x); 执行之后,输出结果是 。 。
1.int x=0;while(1) if((x+=1)>10) break;
2.下列程序运行后的输出结果是 void main() {int x=15, y=25, t=0; if (x! =y) t=x; x=y; y=t; printf(“%d,%d\n”,x,y);}
13.int x=10; printf("%d",(x+2,x+3,x+4)); 执行之后,输出结果是( ) 。 (A)2 (B)3 (C)5 (D)14
14.int x=10; printf("%d",(x=2,x+=3,x+4)); 执行之后,输出结果是( ) 。 (A)2 (B)13 (C)17 (D)9
大学生c语言考试试题及答案
大学生c语言考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,错误的是:A. C语言是一种高级编程语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言支持指针操作答案:B2. C语言中,用于定义一个整型数组的关键字是:A. intB. arrayC. stringD. list答案:A3. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable_2D. variable!2答案:C4. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. ==答案:A5. 下列哪个函数用于将字符串连接到另一个字符串的末尾?A. strcatB. strcpyC. strcmpD. strlen答案:A6. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D7. 下列哪个选项是C语言中的合法浮点数?A. 3.14e2B. 3.14EC. 3.14E+D. 3.14e答案:A8. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. typedefD. enum答案:A9. C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A10. 下列哪个选项是C语言中正确的注释?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释 */D. /* 这是一个注释答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是________。
答案:char2. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float3. C语言中,用于定义一个双精度浮点型变量的关键字是________。
武汉大学《C语言程序设计》 2017-2018学年第二学期期末试卷A卷
武汉大学计算机学院2017-2018学年度第2学期《C语言程序设计》期末考试试卷A卷姓名:学号:专业:说明:开卷考试,答案请全部写在答题纸上,写在试卷上无效。
未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。
题号一二三四五总分总分1629103015100一.单项选择题:(选择最合适的答案填空,每小题2分,共16分)()1、设有变量定义:int m=5,n=3;则执行表达式((m+=2)>=7)||((n-=3)<10)后,m,n的值分别为______。
A.5和0B.5和3C.7和0D.7和3()2、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是。
A.w+=-2B.k=(a=2,b=3,a+b)C.a+=a-=(b=4)*(a=3)D.x%(-3)()3、下面程序段的运行结果是。
#include<stdio.h>int main(){int a=11,b=10,c=0;a/=b+(b&&c);printf(“%d\n”,a);return0;}A.0B.1C.1.1D.11()4、头文件type1.h的内容如下所示:#define N5#define M1N*3程序如下:#include“type1.h”#define M2N*2int main(){int i;i=M1+M2;printf(“%d\n”,i);return0;}则上述程序编译后运行的输出结果是:A.10B.20C.25D.30()5、设有如下定义:struck sk{int a;float b;}data;int*p;若要使P指向data中的a域,正确的赋值语句是:A.p=&data.a;B.p=data.a;C.p=&a;D.*p=data.a ()6、设有如下定义int a[]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是。
武汉大学《C语言程序设计》2016-2017学年第二学期期末试卷B卷
武汉大学计算机学院2016-2017学年度第2学期《C语言程序设计》期末考试试卷B卷一.单项选择题:(共10分,每个小题1分)1.以下说法错误的是。
A.三种基本结构的共同点是“单入口单出口”。
B.goto语句可以在程序中自由跳转。
C.结构化程序设计设计三种基本结构的目的是增加程序的可读性和可维护性。
D.结构化程序设计中划分模块的原则是模块“相对独立,功能单一”。
2.在C语言中,形参的缺省存储类是。
A.staticB.registerC.externD.auto3.设有如下宏定义:#define test(t) t-4%t则表达式test(2)*test(5)的值为。
A.-12B.-2C.2D.04.执行语句b=(a=2*10,a=a=4,(a=3*5,a*4),a+5); 后,a和b的值分别是。
A.24,29B.20,25C.15,25D.15,205.设有变量定义:int p=4; char k='a'; 则执行表达式((k+=2)>= 'c') ||((p*=3)<10) 后,变量k和p的值分别为______ 。
A.a和4B.a和12C.c和4D.c和126.表达式076432&~01777的结果是____________。
A.432B.0432C.76000D.0760007.执行以下程序段后,变量m的值为。
int a[8]={ 4,3,2,1 , 7,6,5,4 };int m,*p;p = &a[0];m = ( *p + 1) + ( p[ 2 ] ) * ( p[ 7 ] );A.13B.11C. 16D. 198.设有变量定义:char a[30]; long int *p = (long int *)(a+3); 则以下与表达式p+4等价的是。
A.&a[7]B. a+16C. a+19D. a+289.对于以下字符串,strlen(s)的值为:(1) char s1[]="\t\"\\\\\0abc\n";(2) char s2[]="\x69\33\n";(3) char s3[]="\t\082\n";A.4、3和1B.4、3和3C.16、3和3D.16、3和1010.表达式2.5+7%2-5/2*2的结果为______ 。
武汉大学C语言题目东湖分校
考试科目:高级语言程序设计(C语言)一、选择最合适的答案填空(每题1分,共10分)1、容易破坏程序结构,应该限制使用的语句是______ 。
A.continueB. forC. gotoD. break2、表达式1095&0x2145的值为_________。
A.0x45B. 0x2152C. 3120D. 0x32403、设变量char x,y,z的值均为’A’,则执行表达式z=(x>y? ++x: y++)后,x,y,z的值依次为_________。
A.‘A’,‘B’,‘A’B. ‘A’,‘A’,‘B’C. ‘A’,‘A’,‘A’D. ‘B’,‘B’,‘B’4、char a[ ]=”12345670”占内存的字节数为__________。
A.7B. 8C. 9D. 105、设有如下宏定义 #define V1 35#define V2 V1 - 1则表达式V1 – V2 的值为__________。
A.-1B. 1C. 71D. 366、结构化程序设计方法将_______作为评价程序的首要标准。
A.易读性B. 节约内存C. 执行速度D. 程序的长度7、设int a[40];long *p; 执行p=(long * )a后, *(p+4)为____。
A.a[8]B. a[16]C. a[32]D. a[4]8、以读方式打开文件KY2002.doc不成功的原因为__________。
A.KY2002.doc写保护B. 磁盘不可写D.磁盘无可用空间E. KY2002.doc不存在9、无符号字符变量能够表示的最大值是________。
A.32768B.256C. 65535D. 25510、程序的基本结构不包括_____ _。
A.分支B. 循环C. 顺序D. 对象二、阅读程序(共3题,30分)1.下列函数有若干错误,请你标明,如有必要简要说明原因。
/*递归计算∑==niinsum1)(*/int sum(int n){ long s;s = sum(n-1) + n;if (s == 0) return 0; else return s;}2.仔细阅读下列程序,分析原因。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉大学计算机学院2001-2002学年度第一学期2001级《高级语言程序设计》期末考试试卷姓名:学号:专业:未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。
一.选择最合适的答案填空(每题1分,共10分)( )1.______ 不是C语言的基本控制结构。
A.转移B.循环C.顺序D.选择( )2.表达式65|9和65&9的值为______ 。
A.74和74B.73和1C.74和405D.73和9( )3.设变量int m,n,a,b的值均为1,则执行表达式(m=a>b) &&(n=a>b)后,m,n的值为______ 。
A.1和1B.0和1C.1和0D.0和0( )4.表达式35<<3的值为______ 。
A.4B.38C.105D.280( )5.设有如下宏定义#define WIDTH 80#define LENGTH WIDTH+1则执行赋值语句v=LENGTH*20;/*v为int型变量*/后,v的值为______ 。
A.1620B.1601C.100D.1600( )6.假如指针p已经指向某个整型变量,语句____ 使指针q与p指向同一变量。
A.q=**pB.q=*&pC.q=&&pD.q=*p( )7.设long a[50],*p;执行p=a; p+=4;后*(p+4)等价于____ 。
A.a[8]B.a[4]C.a[2]D.无法确定( )8.执行fp=fopen(”A:Exam1_8.txt”,”wb”);后fp为null,最可能的原因是____ 。
A.按二进制方式打开文本文件B.文件A:Exam1_8.txt不存在C.文件写保护D.文件A:Exam1_8.txt大小写不一致( )9.______ 不是对象的基本特性。
A.封装B.多态(重载)C.非结构D.继承( )10.结构化程序设计追求的首要目标是程序的______ 。
A.运行速度快B.存储空间少C.结构优D.代码长度最短二.程序纠错(10分)下列两个程序段有若干错误,请你错误之处下方标明,如有必要可以简要说明原因(在程序右侧)。
重要提示:任何一种程序语言其数据类型的存储空间将受到计算机制约。
程序段A/*输入不超过20个正整数,计算其乘积*/#define num 20int a[num],count=0, buf=1;for(int i=0; (i<num)&(buf>0); i++){ scanf(“%u”, buf);a[++count] = buf;}num = count;long sum=0;for ( i=0; i<count; i++) sum *= a[i];程序段B/*下列函数递归函数求f(n) = (2n)!*/long f(int n){ int tmpif (n<2) tmp = 1;tmp = (2*n)*(2*n-1) * f(n-2);return (long ) tmp;}三.程序阅读与分析(32分)1.(6分)下面的程序求矩阵A(m,m)的右下三角区的所有元素的和,请在程序的空白处填上适当的内容。
#define m 100main(){ int a[m][m];int i, j;① sum = 0;for (i=0; i<m; i++)for (j=0;j<m;j++) scanf(“%d”, ② );for (i= ③ ; i< ④ ; i++)for (j= ⑤ ;j< ⑥ ;j++) sum += (double) a[i][j];}2.(6分)写出下列程序的运行结果。
#include <stdio.h>main(){ int i,b,k=0;for(i=1;i<=5;i++){ b=i%2;while(b-->=0) k++;}printf(“%d,%d”,k,b);}3.(6分)写出下列程序的运行结果。
int fat(int n){ static int f=1;f=f*n*2;return (f);}main(){ int i,j;for(i=1;i<=5;++i)printf(“%d\t”,fat(i));}4.(6分)下列程序段将一个单链表写入一个文件:p=head;if (fp = fopen (“Exam5.dat”,”w”) != null){ while (p != null){fwrite(p,sizeof(struct node),1,fp);p = (*p).next;}};请问用下面的程序段,可以将这个链表从该文件中生成到内存中吗?为什么?if (fp = fopen (“Exam5.dat”,”r”) != null){ while !feof(fp){ p = malloc(sizeof(struct node))fread(p,sizeof(struct node),1,fp);p = (*p).next;}};5.(8分)阅读以下递归函数,并用非递归方法改写该函数。
#include <stdio.h>void convert(int n){ int i;if (( i=n/7)!=0) convert(i);putchar(n%7+’0’);}四.子程序设计(每题10分,共30分)本题说明:完成函数设计时,请自行说明所有的形式参数的类型1.设计一个函数arrsum(a, n)计算一维整数数组a中前n个元素的平均值。
2.设计函数prime(n),其中n为任意一个整数,当n为素数时,函数返回真,否则返回假。
3.调用函数reverse(h)将h指向的单链表倒置。
实在参数h应该指向倒置后链表的头节点。
五.算法设计(选做一题18分)说明:●仅需任意选做一题。
多选者,以卷面先列出的为判分依据;●分析思路、重要数据类型的定义、模块的功能、形式参数、函数返回值说明;(9分)●用伪代码或其它方法描述子程序;(9分)●不必完整写出函数程序的代码,完整代码将不作为判分依据。
1.用字符数组模拟实现字符串,给出下列函数:两个字符串的并接、找一个字符在串中的位置、统计一个字符在串中的数目。
2.模拟实现大小写(52个)英文字母的集合运算,给出集合的表示方法,及运算属于∈、并∪、差─的子程序。
3.模拟实现复数类型,给出复数的加法、减法和乘法的子程序。
武汉大学计算机学院2002-2003学年度第一学期2002级《高级语言程序设计》期末考试试卷姓名:学号:专业:未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。
一.选择最合适的答案填空(每题2分,共20分)( )1.在一个整常量后面加一个字母,如213L,则表示该常量为型常量。
A.长整数B.常量C.地址D.八进制( )2.定义变量时冠以关键字,则表示此标识符是静态外部变量,可以供其他文件共用。
A.registerB.externC.voidD.static ( )3.______ 不是C语言的基本控制结构。
A.转移B.循环C.顺序D.选择( )4.表达式0x0fff&0x3345的值为______ 。
A.3345B.0x3345C.0x345D.0x3fff( )5.设变量int x=10,y=20,则执行x=x+y;y=x-y;x=x-y后x为______ 。
A.30B.20C.10D.0( )6.表达式27<<2的值为______ 。
A.54B.13C.81D.108( )7.设有如下宏定义#define WIDTH f(x,y) (x>y)?x-y:x+y; 则表达式f(10,20)的值为______ 。
A.30B.20C.-10D.10( )8.与*p.data指等价的表达式为____ 。
A.*&pB.*&pC.p->dataD.p->*data( )9.设int a[50],q; long *p;执行p=(long *)a; p+=4;q=(int *)p;后*(q+2)等价于____ 。
A.a[6]B.a[4]C.a[10]D.无法确定( )10.执行fp=fopen(”A:Exam1_8.txt”,”rb”);后fp为null,最可能的原因是____ 。
A.源文件不是二进制文件B.文件A:Exam1_8.txt不存在C.文件写保护D.文件A:Exam1_8.txt长度太大二.文字填空(15分)1.变量名实际上是一个符号地址,对于已经定义的一个整型变量X,要获取其地址则可以用操作来实现。
2.如果将变量c定义为无符号字符类型,定义形式为,其数值取值范围(写成十六进制)为至。
3.设有int a = 2, b = 3; float c = 2.5; 则算术表达式(a + b) / (int) c + (float) (a + b) / c的值是。
4.对于c = a < b ? b : a; 如果已知a = 5; b = 4; 则c的值为。
5.已知char *name[ ] = {“Basic”, “C”, ”Pascal”, “VB”, “VC++”}; char **p; p = name +2; 则语句printf (“%o\n”, *p);的输出为, 语句printf (“%s\n”, *p);的输出为。
6.在定义函数时,如果在函数首部的最左端冠以关键字,则表示此函数是外部函数,可以供其他文件调用。
7.声明一个结构体类型的一般形式为。
三.程序阅读与分析(20分)1.一个int型变量的最大允许值为32767,请写出程序的执行结果。
(6分) main ( ){ int a, b;long c;a = 32767;b = a + 1;c = a + 1;printf (“%d, %d, %u”, a, b, c);}2. (6分)下面的程序对数组A[m]进行排序,并计算它们的和。
请在程序的空白处填上适当的内容。
#define m 50main(){ int a[m];①sum = 0;int i, j, K;for (i=0; i<m; i++) scanf(“%d”, ②);for (i= 1; i<m-1; i++)for (j= ③; ④;j++){ sum += (double) a[i][j];if ⑤{ K = a[i]; a[i]= ⑥; a[j] = K; }}}3.(8分)说明子程序的功能void Reverse(char ch){ch = getchar();if ch !=’#’{Reverse(ch);putchar(ch);};};给定输入字符串ABCDXF%&123#KK 调用该过程Reverse(C)后,产生的输出是什么?实在参数C(字符变量)的值为什么?四.子程序设计(共30分)说明:●每题15分,仅需任意选做两题。