武汉大学C语言期末复习_试题
VC期末考试题及标准答案

武汉大学2021—2021学年上学期面向对象程序设计试卷〔B〕学号:姓名:院系:专业:得分:一、名词解释〔每题5分,共计25分〕〔1〕构造函数:是一种特殊成员函数,它提供了对成员变量进展初始化方法,使得在声明对象时能自动初始化对象〔+2〕;构造函数名称与类名一样〔+1〕;构造函数不能指定任何返回值类型〔+1〕;构造函数可以重载〔+1〕。
〔2〕多态:多态性是面向对象编程一个重要特征〔+1〕,主要表现在函数调用时实现“一种接口,多种方法〞〔+2〕。
多态又分为编译时多态和运行时多态两种〔+2〕。
〔3〕抽象类:抽象类是指这样类,它一些行为〔成员函数〕不给出具体定义〔+2〕,抽象类至少带有一个纯虚函数〔+1〕,抽象类不能用来申明对象,只能作为基类使用,因此它又称为抽象基类〔+2〕。
〔4〕文档模板:在文档/视图构造应用程序中,数据以文档类对象形式存在〔+1〕。
文档对象通过视图对象显示出来,而视图大对象又是框架窗口一个子窗口,并且涉及文档操作菜单和工具栏等资源也是建立在框架窗口上〔+2〕。
这样文档、视图、框架和所涉及资源形成了一种固定关系,这种固定关系就成为文档模板〔+1〕。
也就是说,文档模板描述了对应于每一种类型文档视图和窗口类型〔+1〕。
〔5〕序列化:对象保存和恢复过程称为序列化〔+2〕。
即对象具有保存和加载其状态能力〔+1〕,对象能够在程序运行完毕前将对象当前状态写入永久存储体中,以后在程序运行时通过数据读取而恢复对象状态〔+2〕。
二、简答题〔每题10分,共计40分〕1.简述文档、视图和应用程序框架之间如何相互作用?答:文档、视图和应用程序包含了一系列复杂相互作用过程〔+1〕,稳当和视图交互式通过类共有数据成员和成员函数实现〔+1〕。
一个视图对象只与一个文档对象关联,一个文档可以与多个视图关联,但一个文档对象只反映当前视图变化〔+2〕。
视图中用GetDocument()获取文档对象进展操作〔+1〕;在文档中利用Invalidate(), UpdateAllViews()或SendMessage(WM_PAINT,a,b)调用视图中OnDraw()对文档数据进展绘图〔+3〕;在程序任何地方可以调用AfxGetApp()得到程序框架对象指针,利用框架对象指针可进一步利用GetActiveView()获取程序视图对象,并对其进展操作〔+2〕。
大学c语言期末考试题库试题及答案

大学c语言期末考试题库试题及答案在即将到来的大学C语言期末考试中,同学们可能会遇到各种类型的题目。
以下是一些典型的试题及其答案,供同学们复习参考。
1. 以下哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. integer答案:A. int2. 若有定义:int a = 10; 则表达式 a++ 的值是多少?A. 9B. 10C. 11D. 无法确定答案:B. 103. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. str_length()D. string_length()答案:A. strlen()4. 若有以下代码片段:```cint x = 5;printf("%d", x++);```执行后输出的结果是?A. 4B. 5C. 6D. 无法确定答案:B. 55. 在C语言中,以下哪个选项表示“逻辑与”操作?A. &&B. ||C. !D. &答案:A. &&6. 若有以下代码:```cint a = 3, b = 4, c;c = a + b;```则变量 c 的值是多少?A. 7B. 3C. 4D. 无法确定答案:A. 77. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2,3];B. int array[2][3];C. int array[2][3][4];D. int array[][];答案:B. int array[2][3];8. 若有以下函数定义:```cint add(int x, int y) {return x + y;}```则调用 add(5, 3) 时,返回的值是多少?A. 2B. 5C. 8D. 无法确定答案:C. 89. 在C语言中,以下哪个选项表示“不等于”的比较运算符?A. ==B. !=C. =D. <=答案:B. !=10. 若有以下代码:```cchar str[] = "Hello";str[0] = 'h';```执行后,str 数组的内容是什么?A. "hello"B. "Hello"C. "helloworld"D. "hEllo"答案:A. "hello"这些题目覆盖了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. intB. voidC. returnD. function答案:A2. 以下哪个选项是正确的C语言变量声明?A. int a = b = 2;B. int a = 2, b;C. int a = 2.0;D. int a = 2, b = 3.0;答案:B3. 在C语言中,以下哪个运算符用于逻辑“与”操作?A. &&B. ||C. !D. &答案:A4. 以下哪个选项是C语言中的合法数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array[5] = {1, 2, 3, 4, 5, 6};答案:B5. C语言中,以下哪个函数用于计算两个整数的和?A. max()B. pow()C. sqrt()D. sum()答案:D6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项是C语言中的合法指针声明?A. int *ptr;B. int *ptr = 0;C. int *ptr = "hello";D. int *ptr = 5;答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B9. C语言中,以下哪个关键字用于创建一个循环,直到满足某个条件?A. whileB. forC. do-whileD. switch答案:C10. 在C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. free()答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
c语言期末试题

一、选择题(每小题2分,共34分)1. 以下不合法的用户标识符是______。
A、j2_KEYB、DoubleC、4dD、_8_2.以下叙述中正确的是______。
A、C程序中注释部分可以出现在程序中任意合适的地方B、花括号“{”和“}”只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名(库函数)D、分号是C语言之间的分隔符,不是语句的一部分3.设int a=12,则执行完语句a+=a-=a*a后,a的值是______。
A、0B、264C、144D、-2644.假定x和y为double型,表达式x=2,y=x+3/2的值是______。
A、3.500000B、3C、2.000000D、3.0000005.语句:printf("%d",(a=2)&&(b=-2));的输出结果是______。
A、2B、1C、-4D、-26.若变量c为char类型,能正确判断出c为小写字母的表达式是______。
A、´a´<=c<=´z´B、(c>=´a´)||(c<=´z´)C、(´a´<=c)and(´z´>=c)D、(c>=´a´)&&(c<=´z´)7.在嵌套使用if语句时,C语言规定else总是______。
A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对8.以下循环体的执行次数是______。
main(){int i,j;for (i=0,j=1; i<=j+1;i+=2,j--)printf("%d \n",i);}A、3B、2C、1D、09.int a[2][3]={{1},{2,3}};,则a[0][1]的值是______。
武汉大学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语言期末考试复习试题及答案

大学计算机C语言期末考试复习试题及答案一、选择题(每题4分,共40分)1. C语言中,以下哪个选项不是合法的数据类型?A. intB. floatC. charD. string答案:D2. 以下哪个选项是C语言的逻辑运算符?A. &&B. ||C. <<D. &答案:A、B3. 在C语言中,下列哪个函数用于输入字符串?A. scanf()B. gets()C. printf()D. putchar()答案:B4. 在C语言中,以下哪个选项表示单行注释?A. //B. /C. //D. //答案:A5. 在C语言中,以下哪个选项表示多行注释的开始?A. //B. /C. //D. //答案:B6. 在C语言中,以下哪个选项表示多行注释的结束?A. //B. /C. //D. //答案:D7. 在C语言中,以下哪个选项是合法的变量名?A. intB. floatC. charD. a123答案:D8. 在C语言中,以下哪个选项表示整型常量?A. 1.23B. 'a'C. "Hello"D. 123答案:D9. 在C语言中,以下哪个选项表示字符型常量?A. 1.23B. 'a'C. "Hello"D. 123答案:B10. 在C语言中,以下哪个选项表示字符串常量?A. 1.23B. 'a'C. "Hello"D. 123答案:C二、填空题(每题5分,共30分)11. 在C语言中,main函数的返回类型是______。
答案:int12. 在C语言中,用于声明整型变量的关键字是______。
答案:int13. 在C语言中,用于声明单精度浮点型变量的关键字是______。
答案:float14. 在C语言中,用于声明字符型变量的关键字是______。
答案:char15. 在C语言中,用于声明双精度浮点型变量的关键字是______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ int y=9;
for(;y>0;y--)
{ if(y%3==0)
{ printf("%d",--y);
continue;
}
}
} A)741
B)852 √
C)963
5
D)875421
13. 下面程序的输出是 main() { char x=040; printf("%d\n",x=x<<1):
main()
{ int a,b;
scanf(“%d%d”,&a,&b);
if(a<b) printf(“%d\n”, a++);
else printf("%d\n, b--);
} A) 12
B) 13√
C) 14
D) 15
6、下面程序的输出是
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
3
7、下面程序的输出是
main()
{ enum team { my,your=4,his,her=his+10};
printf("%d%d%d%d\n",my,your,his,her);
} A) 0 1 2 3
B) 0 4 0 10
个printf语句的输出结果是:
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n",p+9);
} A)203
B)204
C)1a4
D)1a6 √ 7
18. 以下说法中正确的是 A)C语言程序总是从第一个的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 √ D)C语言程序中的main()函数必须放在程序的开始部分
19.执行下面的程序后, a的值为 main() { int a,b; for (a=1,b=1;a<=100;a++) { if(b>=2043;=3;
continue; }
b-=5;
}
}
A)7
B)8 √
C)9
D)10
8
20.以下程序段的输出结果是 int x=3; do { printf("%3d",x-=2);
A)EOF
B)-1
C)非零值 √
11. 根据下面的定义,能印出字母M的语句是
D)NULL
struct person{ char name[9]; int age; };
struct person class[10]={“john”,17,“paul”,19,“mary”,18,“adam”,16};
int(*P)[4]=a,i,j,k=0;
for(i=0;i<3;i++)
for(j=0;j<2;j++)
k=k+*(*(p+i)+j);
printf("%d\n",k);
} A)60 √
B)68
C)99
D)108
17.该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二
试卷共5个大题
•单项选择题题(每题1分,共20分) • 填空题(20分,每题2分) • 阅读程序(20分,每题4分) • 完成程序题(20分,每空2分) • 程序编制题:(20分,每题10分)
1
练习
1、下列语句中符合C语言语法的赋值语句是
A) a=7+b+c=a+7;
B) a=7+b++=a+7;
C) a=7+b,b++,a+7
D) a=7+b,c=a+7; √
2、在C语言中,要求运算数必须是整型的运算符是
A) % √
B) /
C) <
D) !
3、已知字母A的ASCⅡ码为十进制的65,下面程序的输出是
main()
{ char ch1,ch2;
ch1='A'+'5'-'3'; ch2='A'+'6'-'3';
fun3(int x)
{ static int a=3;
a+=x;
return(a); } main() { int k=2,m=1,n;
n=fun3(k); n=fun3(m); printf("%d\n",n);
}
A)3
B)4
C)6 √
6
D)9
16. 下面程序的输出是
main()
{ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int fun1(char *x)
{ char *y=x;
while(*y++);
return(y-x-1);
} A)求字符串的长度 √
B)比较两个字符串的大小
C)将字符串X复制到字符串Y
D)将字符串X连接到字符串Y后面4
10. 若fp是指向某文件的指针,且已读到该文件的末尾,则feof( fp)的返回是
}while(!(--x));
A)1
B)3 0
}
A)100
B)160
C)120
D)64√
14. 下面程序的输出是
main()
{ struct cmplx {int x; inf y;}cnum[2]={1,3,2,7};
printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);
}
A)0
B)1
C)3
D)6 √
15. 下面程序的输出是
C) 0 4 5 15√
D) 1 4 5 15
8、下面程序的输出是
main()
{ int a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d%d%d%\n",k,a,b);
} A) 0 0 3
B) 0 1 2
C) 1 0 3 √
D) 1 1 2
9、下列函数的功能是
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”,clsaa[2].name[0]); √
12. 下面程序的输出是
main()
printf("%d,%c\n",ch1,ch2);
}
A) 67,D √
B) B,C
C) C,D
D) 不确定的值
2
4、下面程序的输出是
main()
{ int x=10,y=3;
printf("%d\n",y=x/y);
}
A) 0
B) 1
C) 3 √
D) 不确定的值
5、 若执行下面的程序时从键盘上输入13和14,则输出是