大学考试—高级语言程序设计——试题库及答案
- 格式:docx
- 大小:104.85 KB
- 文档页数:199
一、选择题1.以下叙述正确的是():A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行只能写一条语句C) C语言使用库函数实现输入输出操作D) 注释中的拼写错误会影响编译结果2、以下说法中正确的是()A) C语言程序总是从第一个的函数开始执行B) C语言程序总是从main()函数开始执行C)在C语言程序中,要调用的函数必须在main()函数中定义D) C语言程序中的main()函数必须放在程序的开始部分3、下列选项种说法正确的是()A) 函数由声明部分和执行部分两部分组成B)语言中main函数一定在程序的开始部分C)C语言程序总是从第一个定义的函数开始执行D)C程序的每行中只能写一条语句4、设有说明:int a; float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int)2.6 值的类型为()。
A) double B) char C) float D) int5、 C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符6、以下不正确的C语言标识符是()。
A) ABC B) abc C) a_bc D) void7、下列运算符中优先级最高的是()A) < B)+ C)&& D)!=8、以下选项中属于C语言中合法关键字的是()A)Float B)abc C)int D)CASE9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为()x=(i=4,j=16,k=32)A)4 B)16 C)32 D)5210、在C语言中,要求数据必须是整型的运算符是()A)/ B)+ + C)!= D) %11、若整型变量x的值为8,则下列表达式中值为1的表达式是A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x12、若w=1,x=2,y=3,z=4,则条件表达式“w > x?w : y<z?y : z”的值是()A)4 B)3 C)2 D)113、有以下程序,程序运行后的输出结果是。
全国2001年10月自考高级语言程序设计(一)试题课程代码:00342第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.C语言程序编译时,程序中的注释部分A.参加编译,并会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.不参加编译,也不会出现在目标程序中2.下列表达式的值为0的是()A.3%5B.3/5.0C.3/5D.3<53.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%24.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()A.0和2B.0和3C.1和2D.1和35.下列叙述中,正确的是()A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致B.宏名必须用大写字母表示C.宏替换不占用运行时间,只占编译时间D.在程序的一行上可以出现多个有效的宏定义6.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default7.与语句if(a>b)if(c>d)x=1;else x=2;等价的是()A.if(a>b){if(c>d)x=1;else x=2;}B.if(a>b){if(c>d)x=1;}else x=2;C.if((a>b)&&(c>d))x=1;else x=2;D.if(a<=b)x=2;else if(c>d) x=1;8.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是A.x=a,y=97B.x=97,y=aC.x=97,y=97D.x=a,y=a9.设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是()A.2B.3C.4D.无确定值10.执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf("%d\n”,a[1][0]+b[0][0]);}后输出的结果是A.0B.1C.2D.311.设char str[100];int i=5;则引用数组元素的错误形式是()A.str[i+10]B.*(str+i)C.*(str+i-1)D.*((str++)+i)12.设int x[]={1,2,3,4,5,6},*p=x;则值为3的表达式是()13.在函数内,定义变量时存储类型符可省略的是()A.autoB.staticC.externD.register14.执行下列程序()int a=3,b=4;void fun(int x1,int x2){printf("%d,%d\n",x1+x2,b);}main(){int a=5,b=6;fun(a,b);}后输出的结果是A.3,4B.11,1C.11,4D.11,615.设有定义语句struct{int a;float b;} d[3]={{1,4},{2,5},{6,7}};则printf("%3.1f\n",d[2].a*d[2].b/d[1].b);的输出是()A.2.5B.2.0C.8.0D.8.416.设有定义语句:enum t1 {a1,a2=7,a3,a4=15}time; ( )则枚举常量a2和a3的值分别为A.1和2B.2和3C.7和2D.7和817.将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是()A.2和2B.2和5C.5和2D.5和518.在文件使用方式中,字符串"rb"表示()A.打开一个已存在的二进制文件,只能读取数据B.打开一个文本文件,只能写入数据C.打开一个已存在的文本文件,只能读取数据D.打开一个二进制文件,只能写入数据19.执行下列程序()# define F(y) 15>>y#define PRINT(a) printf("%d",a)main(){PRINT(F(2));}后输出的结果是A.3B.3.5C.14D.7.520.main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为()A.int argvB.char * argv[];C.char argv[];D.char **argv[];第二部分非选择题二、填空题(本大题共10小题,每小题2分,共20分)21.初始化值是0.618的双精度变量a的定义形式为____________。
第1章C语言概述习题1.单项选择题(1)C语言是在B语言的基础上产生的。
A.AB.BC.DD.E(2)在C语言中,每个语句必须以D结束。
A.回车符B.冒号C.逗号D.分号(3)标识符和关键字间,要用C隔开。
A.回车符B.冒号C.空格D.分号(4)用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。
A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件(5)下列说法中正确的是(B)。
A.由于C源程序是高级语言程序,因此一定要在TC软件中输入B.由C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入后即可执行D.由于C程序是高级语言程序,因此它由命令组成(6)下列说法中正确的是(A)。
A.C语言程序由主函数和0个或多个函数组成B.C语言程序由主程序和子程序组成C.C语言程序由子程序组成D.C语言程序由过程组成(7)下列说法中错误的是(D)。
A.主函数可以分为两个部分:主函数说明部分和主函数体B.主函数可以调用任何非主函数的其他函数C.任何非主函数可以调用其他任何非主函数D.程序可以从任何非主函数开始执行2.填空题(1)C语言只有32个关键字和9种控制语句。
(2)C语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3)每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。
(4)在C语言程序中允许出现的字符集是ASCII码字符集。
(5)C语言的程序中有特殊含义的英语单词称为保留字。
(6)C语言标识符的长度是前8位有效。
(7)C语言中,标识符的定义规则是以字母或下划线为开头。
(8)C语言程序的注释可以出现在程序中的任何地方,它总是以/*符号作为开始标记,以*/符号作为结束标记。
第2章数据类型运算符和表达式习题1.单项选择题(1)以下选项中,正确的C语言整型常量是D。
参考答案及评分标准一、填空(每空1分,共10分,答错不得分)1.fiS2.83. 34.125.J67.1_8._T9.x<011v<010.46二、请选择正确答案填在()内(每题2分,共16分,选错、多选均不得分)1.D2.D3.D4.C5.C6.B7.D8.B三、写出下列程序的运行结果(每小题5分,共20分)2.程序输出:pasca1basic评分标准:结果正确得5分。
3.程序输出:8, 17评分标准:结果正确得5分。
4.程序输出:8910评分标准:结果和格式都正确得5分。
4.程序输出:11 212312341 2345评分标准:结果正确得5分。
五、在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,使其完成指定的功能(每空3分,共24分)评分标准:每空3分,答错不得分。
1.n=k*k;continue;break;n/10%10或(n-a*IOO)/10;或(限IOo)/10;或n∕10~a*10;intX,inty,intZ2.gets(str);'∖0';num++;六、编制完整的程序,使其完成指定的功能。
(共30分)说明:编程答案不唯一,结果正确即可得分。
1.(15分)ttinc1ude<stdio.h>voidmain(){inti,j,t,a[10];〃声明 ........ 1分for(i=0;i<=9;i++)〃数据输入........ 3分scanf(*%d*,&a[i]);for(i=1;i<=9;i++)〃数据排序........ 8分for(j=0;j<=9-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i〈=9;i++)〃数据输出........ 3分printf(z,%d",a[i]);}2.(15分)ttinc1ude<stdio.h>i∏tfib(intn)〃递归函数定义......... 9分{if(n==1I∣n==2)return1;e1sereturnfib(n-1)+fib(n-2):)voidmain(){intn=20;Printf(〃第20个月的兔子总对数为*1d∖n”,fib(n));〃函数调用,结果输出.......... 6分)。
大学高级语言程序设计期末考试试卷一、填空题(每空1分,共10分)1.程序设计的基本控制结构有_________________、_________________、_________________。
2.列出两种不同的算法表示方法_________________、_________________。
3.在C语言中,要求运算量必须是整型的运算符是_________________。
4.若s是int型变量,且s=6,则表达式(s+1)%2的值为_________________。
5.数组intA[2][3];中有_________________个元素,首行首列的元素为_________________。
6.表达式9|5的结果是_________________。
二、单项选择题(每题1.5分,共30分)1.下列叙述中正确的是()。
A.C语言编译时不检查语法B.C语言的子程序有过程和函数两种C.C语言的函数可以嵌套定义D.C语言所有函数都是用户自定义函数2.下列选项中,合法的C语言关键字是()。
A.VARB.cherC.integerD.default3.若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋于10.0,b赋予22.0,c 赋予33.0,不正确的输入形式是()。
A.10<回车>B.10.0,22.0,33.0<回车>22<回车>33<回车>C.10.0<回车>D.1022<回车>22.033.0<回车>33<回车>4.下面四个选项中,哪个选项是合法变量()。
A.4asB.a#3C._3aD.“a”5.以下选项中合法的字符常量是()。
A."B"B.'\010'C.68D.D6.设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是()。
1.1 单项选择题1.二进制语言是属于()①面向机器语言②面向问题语言③面向过程语言④面向汇编语言【解】人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。
面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。
面向过程语言是一种能方便描述算法过程的计算机程序设计语言。
有汇编语言,但没有面向汇编语言。
汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。
所以解答是①。
2.下列语言中不属于面向过程的语言是()①高级语言②低级语言③C语言④PASCAL语言【解】C语言和PASCAL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。
低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。
所以解答是②。
3.下列字符中属于键盘符号的是()①②n ③t ④b【解】键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。
有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。
为了能让C程序标记这种符号,程序采用转义字符的方式书写这种字符。
如"n"、"t" 、"b"都不是键盘字符,在C语言中,它们都得用转义字符来表达。
只有字符才是键盘字符。
所以解答是①。
但在C程序中,反斜杠字符已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成""。
4.下列字符列中,不是用来表达转义字符是()①②" ③074 ④【解】转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上13个八进制数字符;反斜社字符和字符X之后接上1至2个十六进制数字符。
后两种分别八进制数和十六进制数直接给出字符的ASCll代码值。
高级语言及程序设计试卷与答案高级语言程序设计一、选择题:(共20题,每题1.5分,共30分)1. 下列四个选项中,均是合法的整型常量的选项是()A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是()A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是()A.'\t' B. "A"C.54 D. A4. 在C语言中,要求运算数一定是整型的运算符是()A./ B. ++C.!= D. %5. 字符串常量”mine”的字符个数是()A.4 B. 5C.6 D. 76. 以下属于非法的C语言转义字符的是()A.'\b' B. '0xf'C.'\037' D. '\'7. 若x、y、z均为int型变量,则执行以下语句后的输出是()x=(y=(z=10)+5)-5;printf("x=%d, y=%d, z=%d\n",x,y,z);y=(z=x=0,x+10);printf("x=%d, y=%d, z=%d\n",x,y,z);A. x=10, y=15, z=10B.x=10, y=10, z=10x=0, y=10, z=0x=0, y=10, z=0C.x=10, y=15, z=10D. x=10, y=10, z=10x=10, y=10, z=0 x=10, y=10, z=08. 在以下一组运算符中,优先级最高的运算符是()A.<= B. =C.% D. &&9. 已知:int x; float y; 所用的scanf调用语句格式为:scanf( “x=%d, y=%f”, &x, &y );为了将数据10和66.6分别赋给x和y,正确的输入应当是()A.x=10, y=66.6<回车> B. 10, 66.6<回车>C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车>10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()(注:□表示空格,表示回车)int a1, a2,;char c1, c2;scanf( “%d%c%d%c”, &a1, &c1, &a2, &c2 );A.10□A□20B B. 10□A□20□BC.10A20B D. 10A20□B11. 能正确表达:“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) || (x<=10) || (x>=200) || (x<=210)C.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)D. (x>=1) || (x<=10)&&(x>=200) || (x<=210)12. 假定所有变量均已正确说明,下列程序段运行后x的值是()a=b=c=0; x=35;if(!a) x--;else if (b);if(c) x=3;else x=4;A.34 B. 4C.35 D. 3。
武汉大学珞珈学院《高级语言程序设计》试卷答案(A)( 2007-2008学年度第2学期 2007级)[闭卷,试卷共页,答题时间120分钟]学号姓名专业计算机科学与技术班号2007级05、06班系计算机(说明:请考生将答案写在“武汉大学珞珈学院考试答题纸”纸上并标明题号,否则不得分。
)一、选择题(每小题2 分,共20 分。
)1、正确的标识符是____A__ 。
A._a123B.3zC.“next”D.…A‟2、表达式2.5+7%2-5/2*2的结果为____C__ 。
A. 3.5B. 1.5C.-0.5D.-1.53、下面的四个选项中,正确的整型常量是____B__ 。
A.x234FB.068C.0672D.07aL4、设有如下宏定义#define weight 10#define price (1+weight)则执行赋值语句v=price*20;/*v为int型变量*/后,v的值为____D_ 。
A.41B.200C.201D.2205、设有变量定义:int m=5,n=3;则执行表达式((m+=2)>=7)||((n-=3)<10)后,m,n的值分别为_____ D _。
A.5和0B.5和3C.7和0D.7和36、 B 不属于三种基本程序结构。
A.顺序B.转移C.选择D.循环7、设long a[50],*p;执行p=a+2; 后*(p+4)等价于___C_____。
A.a[2]B.a[4]C.a[6]D.无法确定8、表达式0x7586&0xff00结果为____D__ 。
A.0x86B.0x7586C.7500D.0x75009、采用只读模式打开二进制文件”book.txt”,下面正确的打开模式是A_ 。
A.“r b”B.“r b+”C.“r”D.“r+”10、已知各变量的类型说明如下:int i=8, k, a, b;unsigned long w=5;double x=1.42, y=5.2;则以下符合C语言语法的表达式是 B 。
华南理工大学计算机学院高级语言程序设计(C++I)试卷学生证号:____________________姓名:____________________注意事项:1.本试卷共五大题,满分100分,考试时间120分钟;2.所有答案请写在答卷上,试卷和答卷同时提交;一.单项选择题(每小题2分,共20分)1.下列字符列中,合法的长整型常量是:(A) 4.18e3(B) 0.46793(C) 4L(D) 9567382.设变量x,y,a,b,c,d的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是:(A) 0,0(B) 0,1(C) 1,0(D) 1,13.以下运算符中,优先级最低的是:(A) *=(B) ?::(C) &&(D) >=4.在C++中,char类型数据在内存的存储形式是:(A)原码(B)反码(C)补码(D) ASCII码5.设变量定义int x = 6, y, z;执行语句y = z = x--; y = x == z;后变量y的值是:(A) 0(B) 1(C) 5(D) 66.下面的变量定义中,不正确的是:(A) char *p=”string”(C) float *q=&b, b;(B) int a[]={‘A’,’B’,’C’}(D) doudle a, *r=&a;7.设有变量定义doubleb[5], *p=b;能正确表示b数组中元素地址的表达式是:(A) b(B) b+5(C) *b[0](D) &b8.设有变量定义int a[]={2,3,5,9,11,13},*pa=a, w;执行语句w=++(*++pa);后,变量w和*pa的值是:(A) 3和3 (B) 4和3 (C) 3和4 (D) 4和49.语句if(w)…; else…;中的表达式w的等价表示是:(A) w==0(B) w==1(C) w!=0(D) w!=110.设有函数说明和变量定义:intmax(intx,inty);int(*p)(int,int)=max;inta,b;以下正确调用函数的代码是:(A) *p(a,b) (B) p(a,b) (C) *(p(a,b)) (D) p(&a,&b)- 1 -二.简答题(每小题2分,共20分)1.语句cout<<setfill(‘*’)<<set(10)<<1234;的输出结果是?2.表述问题“x或y中有一个小于z”的C++表达式是?3.设有变量定义int y=2;表达式y+=y*=2*y+1的值是?4.设有变量定义char s[10]=”student”, *p=s;则*(p+7)的值?5.设有变量定义int w[]={1,3,5,7,9}, *p=w;表达式*(p+2)**(w+3)的值?6.变量定义int (*pf)(int);中pf是?7.设有变量定义int a[3][2]={1,2,3,4,5,6}, (*p)[2]=a;表达式**(p+2)的值?8.设有变量定义struct{int x; int y; }d[2]={{1,4},{3,5}};表达式d[0].y / d[0].x * (d+1)->x的值?9.设有函数调用语句Avegare(a,50,ave)的功能是求整型数组前50个元素的平均值ave。
高级语言c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C3. 下列关于C语言函数的描述中,正确的是()。
A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型必须与定义时一致D. 函数可以嵌套定义答案:B4. 在C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. ||C. !D. =答案:A5. 下列关于C语言数组的描述中,正确的是()。
A. 数组的下标从0开始B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后可以改变答案:A6. 在C语言中,用于定义指针的关键字是()。
A. ptrB. pointC. *D. &答案:C7. 下列关于C语言中结构体的描述中,错误的是()。
A. 结构体可以包含不同类型的数据B. 结构体可以包含其他结构体C. 结构体变量不能存储数据D. 结构体可以包含函数答案:C8. 在C语言中,用于实现文件操作的函数库是()。
A. stdio.hB. stdlib.hC. string.hD. fcntl.h答案:A9. 下列关于C语言中预处理指令的描述中,错误的是()。
A. #define可以定义宏B. #include用于包含头文件C. #if用于条件编译D. #else用于循环控制答案:D10. 在C语言中,用于实现动态内存分配的函数是()。
A. mallocB. freeC. callocD. realloc答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个变量的声明通常包括变量的____和____。
答案:类型名称2. C语言中,用于输入的函数是____。
高级语言程序设计试卷3一、选择题(试题全部写在答题纸上、每小题2分,共40分)1、C语言程序由什么组成?( C )A. 子程序B. 主程序和子程序C. 函数D. 过程2、设有定义:int a[10],*p=a; float b=2.0;int c=1;以下不合法的运算是( B )A) p++; B) a--; C) b++; D) c--;3、判断char型变量c1是否为大写字母的正确表达式 CA、’A’<=c1<=’Z’B、(c1>=’A’)&(c1<=’Z’)C、(c1>=’A’)&&(c1<=’Z’)D、(‘a<=c1’)AND(‘Z’>=c1)4、这段程序中的常量有:(多选) A C F#define PI 3.14void main(){int sum;sum = 10 + 15;printf("sum=%d\n",sum);printf("result is 25\n");}这段程序中常量有:A. 10B. sumC. 15D. 25E. mainF. PI5、在C语言中逻辑“真”等价于以下( D )A、整数1B、大于0的数C、小于0的数D、不等于0的数6、在C语言的if语句中,用作判断的表达式为_A__。
A. 关系表达式B. 逻辑表达式C. 算术表达式D. 任意表达式7、若有以下语句,则正确的描述是( B )char x[ ]={”12345”};char y[]={‘1’,’2’,’3’,’4’,’5’};A)数组x与数组y的长度相同B)数组x长度大于数组y长度C)数组x长度小于数组y长度D)数组x等价于数组y8、程序片段输出结果为( C )m=37;n=13;while(m!=n){while(m>n)m=m-n;n-=m;}printf("m=%d\n",m);A. m=13B. m=11C. m=1D. m=29、在与switch语句配套的case语句中所使用的正确的表达式为( C )A、只能是常量B、可以是变量或常量C、只能是常量或常量表达式D、无论是常量还是变量,只要在执行时已有确定的值就行10、下列程序执行后,a的值为( B )main(){ int a,b;for(a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1){ b+=3; continue;}b-=5;}}A、7B、8C、9D、1011、下列程序的运行结果为( C )main(){ char a[7]={“65ab21”}; int i,s=0;for(i=0;a[i]>=’0’&&a[i]<=’9’;i++)s=10*s+a[i]-‘0’;printf(“%d”,s);}A、12AB56B、6521C、65D、6212、下列程序执行后输出的结果为( D )#include<stdil.h>abc(){ stdtic int x=0; ++x; printf(“%d”,x);}main(){ abc(); abc();abc();}A、000B、111C、1,2,3 D、12313、下列程序的输出结果为( C )main(){ int a[5]={2,4,5,6,10},*p,**k;p=a; k=&p; printf(“%d”,*(P++)); printf(“%d\n”,**k); }A、44B、22C、24D、4614、该程序的输出结果是( C )for(i=0;i<5;i++){for(j=1;j<10;j++)break;if(i<2)continue;if(i>2)break;printf("%d,",j);}printf("%d\n",i);输出结果为:A. 10,3B. 5,2C. 5,3D. 10,215、以下程序的输出结果为(C )#include<stdio.h>main(){ int a=010,b=10; printf(“%d,%d\n”,a++,--b); }A、10,10B、8,10C、10,9D、8,916、下面这个程序段的输出是什么?Aint a,b,c;a=7;b=8;c=9;if(a>b)a=b;b=c;c=a;printf("a=%d b=%d c=%d\n",a,b,c);A. a=7 b=8 c=7B. a=7 b=9 c=7C. a=8 b=9 c=7D. a=8 b=9 c=817、point(char *pt); Dmain(){ char b[4]={‘a’,’c’,’s’,’f’},*pt=b;point(pt);printf(“%c\n”,*pt);}point(char *p){p+=3;}A、aB、cC、sD、f18、以下程序的输出结果为( C )#include <stdio.h>main(){int i,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;}}printf("x=%d\n",x);}A. x=4B. x=8C. x=6D. x=1219、若要定义b为10*10的二维数组,正确的定义语句为( D )A、float b(10,10)B、float b[10,10]C、float [10][10]D、float b[10][10]20在下列语句中,不正确的是(D )A、c=2*max(a,b)B、m=max(a,max(b,c))C、printf(“%d”,max(a,b))D、int max(int x,int max(int y,int z))二、填空题(试题全部写在答题纸上、每小题2分,共20分)1、若已知a=10,b=15,c=1。
华南理工大学计算机学院高级语言程序设计(C++ II)试卷学生证号:____________________ 姓名: ____________________【注意事项】1. 严格遵守考场纪律,考试时间120分钟。
2. 试卷共6页。
答卷上必须填写参考人所属的学院名称、专业及本人姓名。
3. 试题总分100分。
所有作答必须按题号对应填写在答卷上,否则无效。
4. 考试结束,试卷、答卷和草稿纸必须完整无损地一起递交。
一、给出一个有理数类,实现有理数的加法运算。
请按后列要求作答。
1.仔细、完整地阅读程序,对应题号填写注释。
注释的内容包括两部分:1.本行的语句是什么;2.简述其功能或特点。
例如,注释可以这样写:“友员函数;重载加法运算符(+)。
”(每小题1分,共10 分)#include<iostream.h>#include<math.h>#include<iomanip.h>class Rational{ private:int numerator,denominator; //(例)数据成员;表示一个有理数的分子、分母。
int maxcommonFactor(int,int);void simplify( );void DtoF(double,int&,int&);public:Rational(int n,int d=1);Rational(double x=0);~Rational();void plus(const Rational&);Rational operator + (const Rational&); //(例)公有成员函数;重载加法运算符(+)。
void showFraction( );operator double( );friend ostream &operator<<(ostream &output, Rational &t);};2.对应题号把函数的定义补充完整。
高级语言程序设计题库一、选择题1. 以下哪个是高级语言程序设计的特点?A. 与机器语言紧密相关B. 依赖于特定的计算机硬件C. 易于学习和使用D. 执行速度极快2. 在高级语言程序设计中,以下哪个概念不属于面向对象编程?A. 类B. 对象C. 继承D. 过程3. 在使用高级语言编写程序时,以下哪种情况不会发生?A. 编译错误B. 运行时错误C. 逻辑错误D. 硬件故障4. 以下哪个选项不是高级语言程序设计中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 并行结构5. 在高级语言程序设计中,以下哪个是数组的特点?A. 存储空间连续B. 存储空间分散C. 元素类型不固定D. 元素数量不固定二、简答题1. 简述高级语言与低级语言的区别。
2. 解释面向对象编程的三个基本特征,并给出一个简单的例子。
3. 描述高级语言程序设计中的异常处理机制。
4. 什么是函数重载和函数覆盖?它们在程序设计中有什么作用?5. 描述循环结构在程序设计中的重要性及其应用场景。
三、编程题1. 编写一个函数,实现对一个整数数组的排序。
2. 编写一个程序,实现简单的学生信息管理系统,包括学生信息的添加、删除、查询和修改功能。
3. 编写一个程序,实现对文本文件的读取,并统计文件中每个单词出现的次数。
4. 编写一个程序,实现一个简单的计算器,可以进行加、减、乘、除等基本运算。
5. 编写一个程序,实现一个简单的文本编辑器,可以进行文本的输入、保存和读取。
四、案例分析题1. 分析以下程序段的逻辑错误,并给出修正方案:```cint sum = 0;for (int i = 1; i <= 10; i++) {sum += i * 2;}printf("The sum is: %d\n", sum);```2. 给出一个面向对象设计的例子,说明如何使用类和对象来解决实际问题。
3. 分析以下程序段的性能问题,并提出优化建议:```pythondef factorial(n):if n == 0:return 1else:return n * factorial(n - 1)```4. 描述在程序设计中使用递归的优缺点,并给出一个使用递归解决问题的例子。
一、单选题1、程序设计语言包括( )A.机器语言B.机器语言、汇编语言、高级语言C.高级语言D.汇编语言正确答案:B2、用C语言编写的程序( )A.以上说法都不对B.可直接被计算机硬件执行C.经过编译方式翻译成其机器指令,并链接后可以执行D.经过解释方式翻译成其机器指令后可以执行正确答案:C3、程序设计的基本步骤主要包括( )A.确定程序实现算法、编写程序以及程序测试B.确定程序设计方法,描述数据方式、编写程序以及程序调试C.确定数据结构,算法描述、编写程序以及程序测试D.数据描述,算法描述、编写程序正确答案:C4、一个C语言程序如何执行()A.从主程序开始执行B.子程序开始执行C.主函数main()开始执行D.主过程开始执行正确答案:C5、以下叙述中错误的是( )A.一个C程序只能有一个主函数B.C程序在书写时,有严格的缩进要求,否则不能编译通过C.C程序的主函数必须用main作为函数名D.一个C程序中可以包含多个不同名的函数正确答案:B6、下列叙述中错误的是( )A.后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件B.C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C.计算机不能直接执行用C语言编写的源程序D.后缀为.obj和.exe的二进制文件都可以直接运行正确答案:D7、C语言源程序中如何实现注释A. 一行中#开始的剩余部分为注释内容。
例如int a=10;#测试B. 一行中@开始的剩余部分为注释内容。
例如int a=10;@测试C. 一行中\\开始的剩余部分为注释内容。
例如int a=10;\\测试D.通过/* */ 界定的内容为注释内容。
例如/* 测试*/正确答案:D8、C语言程序中主函数的名称是A.mainB.MAINC.MainD.WinMain正确答案:A9、如下属于C语言的基本语句的是?A.x=sin(100)B.#include <stdio.h>C.1+2;D.x=1+2正确答案:C10、C语言中界定函数开始与结束的符号是A.< >B.( )C.[ ]D.{ }正确答案:D11、不合法的c语言标识符是()A.MDB.x.cC.IntD._abc正确答案:B12、关于C语言中数的表示,以下叙述中正确的是()A.只有实型数在允许范围内能精确无误的表示,整型数会有误差B.只有整型数在允许范围内能准确无误的表示,实型数会有误差C.只要在允许范围内整型数和实型数都能精确的表示D.只有用八进制表示的数才不会有误差正确答案:B13、已知char a=’\17’,变量a中()A.存储3个字符B.存储1个字符C.错误的变量声明与初始化D.存储2个字符正确答案:B14、有定义:int a; long b; double x,y; 则以下选项中正确的表达式是( )A.y=x+y=xB.a=x/10=y;C.a%(int)(x-y)D.(a*y)%b正确答案:C15、设有定义:int x=2;,以下表达式中,值不为6的是A.x++,2*xB.x*=(1+x)C.2*x, x+=2D.x*=x+1正确答案:C16、若有int n=6;表达式n%=n+=n-=n*n的值为()A.0B.10C.12D.6正确答案:A17、sizeof(float)是()A.一个整型表达式B.一个函数调用C.一个不合法的表达式D.一个双精度型表达式正确答案:A18、判断char型变量c1是否为大写字母的正确表达式是()A.'A'<=c1<='Z'B.('A'<=c1)AND('Z'>=c1)C.(c1>='A')&(c1<='Z')D.(c1>='A')&&(c1<='Z')正确答案:D19、正确表达式数学不等式10<x<100的C语言表达式是?(假设x 已经声明)()A.10<x and x<100B.10<x && x<100C.10<x<100D.10>x>100正确答案:B20、关于如下语句的输出结果为const int a=100;a=a+100;printf("%d",a);A.300B.200C.100D.程序存在错误无法运行正确答案:D21、有以下程序void main(){int a=6,b=7;printf("a=%%d,b=%%d",a,b);}输出结果是()。
设有定义语句“struct {int a;float b;char c;}abc,*p;”,则对结构体成员a的引用可以是( )。
A.(*p).aB.abc->aC.abc.aD.p->a回答错误!正确答案: A C D以下叙述中,正确的叙述是:A.预处理行不是c的可编译语句B.在程序中凡以#开始的语句都是预处理命令C.C程序在执行过程中对预处理命令进行处理D.预处理命令须以#开始回答错误!正确答案: A B D下列属于单字符输入输出函数的是()。
A.getchar()B.printf()C.scanf()D.putchar()回答错误!正确答案: A D当一个函数为外部函数时,不正确的说法是( )。
A.该函数不能被本文件中函数调用B.该函数不能被其他文件调用C.该函数只能被main()调用D.该函数只能被非主函数调用回答错误!正确答案: A B C D不能将高级语言编写的源程序转换成目标程序的是:A.编译程序B.解释程序C.编程程序D.链接程序回答错误!正确答案: B C D下列选项中关于外部变量,正确的是( )。
A.main函数是主函数,不在main函数内部定义的变量都是外部变量B.外部变量必须定义在源程序的开始处C.定义外部变量时,可以进行初始化外部变量必须定义在所有函数的外面回答错误!正确答案: C D已知“int a=1;char b=65; float c=2.0;double d=3.5;”。
则下述赋值表达式结果为整型的是()。
A.b=a+b;B.b=(int)(c+d);C.a=3.2;D.a=c+d;E.c=a+b;F.c=(int)3.2;回答错误!正确答案: A B C D已有char s[10][10]={0};int i=10;。
在下列表达式中,没有意义的表达式是:*(&(s+i)+i)B.*(*(s+i)+i)C.*(*(s+i-1)+i-1)D.s[i][i]回答错误!正确答案: A B D下列属于C语言标准库函数的为()。
A.pow()B.sin()C.log10()D.isalpha()E.sqrt()F.回答错误!正确答案: A B C D E已知int a[]={1,2,3,4,5,6,7,8,9},*p =a; 则值为3的表达式是()A.p+=2,*(p++)B.p+=2,*p++C.p+=2,*++pD.p+=2,++*p回答错误!正确答案: A B在定义int a[2][3];之后,对数组a的引用错误的是( )。
A.a(1,2)B.a[1,3]C.a[1>2][!1]a[2][0]回答错误!正确答案: A B D若有int *px; float *pf;char *pc;,下列关于指针的正确描述为()。
A.px、pc与pf三个变量的存储单元长度都一样。
B.px与pf存储单元长度一样。
C.px与pc存储单元长度一样。
D.pc与pf存储单元长度一样。
E.px、pc与pf三个变量的存储单元长度互不相同。
回答错误!正确答案: A B C D如果全局的外部变量和函数体内定义的局部变量重名,则错误说法为:A.局部变量优先B.C.全局的外部变量优先D.外部变量优先回答错误!正确答案: B C D当c的值不为0时,则在下列选项中,能正确将c的值赋给变量a、b的是( )。
A.b=a =c;B.a&&(b=c);C.(a=c)‖(b=c) ;D.(a=c) &&(b=c);回答错误!正确答案: A D下列选项中关于变量的生存期,不正确的描述是( )。
A.auto型变量是静态存储的,其生存期等同于程序的运行期。
static变量是动态存储的,函数调用结束时,static变量所占用的内存单元被释放C.register变量都是动态存储的D.外部变量都是静态存储的回答错误!正确答案: A B关于C语言程序的语句,正确的说法是( )。
A.语句的结束标识符是句号B.一行可以书写多条语句C.建议每条语句占一行D.一条语句只能占一行回答错误!正确答案: B C下列四条语句中,没有语法错误的语句是( )。
A.if(a=b<a)m=b;B.if((a=b)>=0)m=a;C.if((a=b)>=0)m=a;D.if(a>b)m=a;回答错误!正确答案: A B C D以下叙述中,不正确的叙述是( )。
A.未在定义语句中赋初值的auto变量和static变量的初值都是随机值B.静态(static)类别变量的生存期贯穿整个程序的运行期间C.函数的形参都属于全局变量D.全局变量的作用域不比局部变量的作用域范围大回答错误!正确答案: A C D有关结构化程序设计,正确的说法是( )。
A.三种基本结构可以相互嵌套B.三种基本结构可以交叉设计C.每个结构化的算法都可以归结为三种基本结构D.每个算法都必须包含三种基本结构回答错误!正确答案: A C如果想使下列数组a中5个元素的值全部为0,可以写成( )。
A.int a[5]={0:5};B.int a[5]=0;C.int a[5]={0};D.int a[5]={0,0,0,0,0};E.int a[5]={5:0};回答错误!正确答案: C D已有定义char s[10],*p=s;。
在下列表达式中,正确的表达式是:A.s=p+sB.s[2]=p[4]C.*p=s[0]D.p=s+5回答错误!正确答案: B C D函数中的形参若为指针,则调用时对应位置上的实参可以是( )。
A.指针变量B.地址C.简单变量的地址D.回答错误!正确答案: A B C D若有程序段int k=5; ,则下列执行后变量k的值是6的有( )。
A.++k;B.k++;C.k=(k++)+1;D.1+k++;E.k=(++k)+1;F.++k+1;回答错误!正确答案: A B D F若有int x=3,*px; float y=3,*py;,则正确的赋值表达式是( )。
A.py=&xpy=&yC.px=&yD.px=&x回答错误!正确答案: B D以下叙述中,错误的叙述是:A.函数的形参都属于全局变量B.未在定义语句中赋初值的auto变量和static变量的初值都是随机值C.全局变量的作用域不比局部变量的作用域范围大D.静态(static)类别变量的生存期贯穿整个程序的运行期间回答错误!正确答案: A B C下列选项中关于外部变量的作用域,正确的是( )。
A.外部变量若定义为静态的,其他源文件不能使用该外部变量B.外部变量的作用域是整个源程序C.可以通过extern,将一些外部变量的作用域扩展到多个源文件D.外部变量的作用域是所在的源文件回答错误!正确答案: A B C下列属于结构化程序设计基本结构的是:A.选择结构、循环结构B.顺序结构、选择结构C.顺序结构、选择结构、循环结构D.顺序结构、循环结构回答错误!正确答案: A B C D下列关于对二维数组a进行初始化的操作中,正确的写法是( )。
int a[][]={{3,2,1},{1,2,3}};B.int a[2][3]={{3,2,1},{1,2,3}};C.int a[][3]={{3,2,1},{1,2,3}};D.int a[][3]={3,2,1,1,2,3};回答错误!正确答案: B C D以下对C语言函数的有关描述中,不正确的描述是:A.C函数既可以嵌套定义又可以递归调用B.C程序中有调用关系的所有函数必须放在同一个源程序文件中C.函数必须有返回值,否则不能使用函数D.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参回答错误!正确答案: A B C若形参是简单变量形式,则对应的实参可以是:A.数组名B.常量C.简单变量D.数组元素回答错误!正确答案: B C D下列计算机语言中,CPU不能直接执行的是:A.机器语言B.高级语言C.自然语言D.汇编语言回答错误!正确答案: B C D以下不合法的赋值语句是:A.c=int(a+b);B.d+5=10;C.x+y=100;D.x=y=100;回答错误!正确答案: A B C不能正确表示条件x≥y≥z的C语言表达式是:A.(x>=y>=z)B.(x>=y).AND.(y>=z)C.(x>=y)&(y>=z)D.(x>=y)&&(y>=z)回答错误!正确答案: A B C设char s[10];int i=5;,下列表达式中,不正确的表达式是( )。
A.*(&s+i)B.*(s+i)C.s[i+6]D.*((s++)+i回答错误!正确答案: A C D设有说明语句:char a=ˊ\72ˊ;,则变量a包含的字符数为:A.0个字符B.1个字符C.2个字符D.3个字符回答错误!正确答案: A C D下列选项中属于内部变量的是( )。
A.所有函数外部定义的变量B.函数的形式参数C.main函数内定义的变量D.复合语句内部定义的变量回答错误!正确答案: B C D下列属于字符串的是( )A.“3”B.“3 =y”C.“( x + y ) =6”D.“y”回答错误!正确答案: A B C D对于16位系统中,C语言中整数-8在内存中的错误存储形式是:A.1000 0000 0000 0000B.1000 0000 0000 1000C.1111 1111 1111 0111D.1111 1111 1111 1000回答错误!正确答案: A B CC语言中的文件分类是:A.文本文件和数据文件B.顺序文件和随机文件C.文本文件和二进制文件D.数据文件和二进制文件回答错误!正确答案: A B已知“int a, b; scanf ( "%d%d", &a, &b );”。
若为a和b输入值,可以作为输入分隔符的是( )。
A.逗号B.回车C.空格D.Tab键回答错误!正确答案: B C D与汇编程序相比,C语言程序的优点包括( )。
A.能够进行位操作B.目标代码质量较高C.更容易移植D.更容易阅读回答错误!正确答案: C D下列描述中,不能正确给字符数组str定义和赋值的是( )。
A.char str[]={"abcdefghijklmn "};B.char str[10];strcpy(str,"abcdefghijklmn");C.char str[10]={"abcdefghijklmn"};D.char str[10];str={" abcdefghijklmn "};回答错误!正确答案: B C D若有定义float w=1; int a=1, b=0; ,则不合法的switch语句是:A.switch(a); { case 1 printf("*\n"); case 2 printf("**\n"); }B.switch(a+b); { case 1: printf("*\n"); default: printf("\n"); }C.switch(w) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); }D.switch(b) { case 1: printf("*\n"); default: printf("\n");}回答错误!正确答案: A B若有int x,*px=&x; float y, *pf=&y;char c,*pc=&c;,下列正确的为()。