《高级语言程序设计》期末考试试卷
05计科《高级语言程序设计》期末考试卷B

2005-2006学年第一学期期末考试05级计算机科学技术 《高级语言程序设计》期末试卷 B一、 填空题:(20分,每空1分) 1.实型变量分为 和 ,即float 和double 型。
2.在C 程序中,数据可以用__________和__________两种代码形式存放。
3.Int 型的取值范围是 ,long 型的取值范围是 。
4.16位的无符号数的最小数为 ,最大数是 ;16位有符号数的最小数是 ,最大数是 。
5.为表示关系x>=y>=z ,应使用C 语言表达式为 。
6.表达式(int )2.1416的值为: 。
7.一个指针变量p 和数组变量a 的说明如下: int a[10],*p; 则p=&a[1]+2的含义是指p 指向数组a 的第 个元素。
8.对于数组a[m][n]来说,使用数组的某个元素时,行下标最大值是 , 列下标的最大值是 。
9.为了建立如下结构(每个结点有两个域:data 是数据域,next 是指向结点的指针域),补充完成下述的结构定义语句: struct link { char data; ; }node; 10.i = sizeof (int) ; j = sizeof ( char); i= ; j=。
11.在C 语言程序中,若对函数类型未加显式说明,函数的隐含类型为:_______。
12. 定义FILE *fp,这里fp 是一个__________。
二、 选择题:(45分,每题3分) 1. 在C 语言中,逻辑运算符 &&、 ||、 !的优先级从高到低的排列为: (A) !、||、 && (B) &&、 ||、 ! (C) ||、 !、 && (D) !、 &&、 || 2. 执行下列程序后, a 值为: int a, b;a = 15 ;b = 12;a = (a-- == b) ? a%5 : b/5;(A) 0 (B) 2.4 (C) 4 (D) 2char c, i;c='b'; i=4;switch(c){ case 'a': i=1;case 'b': i=2;case 'c': i=3;}printf ("%d ", i);其输出应为:(A) 2 (B) 3 (C) 4 (D) 54. 分析下面程序#include <stdio.h>main(){ int i;int *int_ptr;int_ptr=&i;*int_ptr=5;printf("i=%d",i);}程序的执行结果是__________。
《高级语言程序设计》复习题及答案

一、选择题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、有以下程序,程序运行后的输出结果是。
高级语言程序设计1期末考试试题(A卷)

高级语言程序设计1期末考试试题(A卷) work Information Technology Company.2020YEAR《高级语言程序设计1》期末考试试题(A卷) (2005.1) 姓名: 学号: 专业(系):一、标记出如下程序中的语法错误,并简单说明出错原因(6分)。
#include<iostrem.h>void main(){int d[10], abc[6] = {2,4,0,-5,10,6,-8}, count=0;for(i=0; i<10; i++)if(d[i]=i) count++;else count -;cout<<” count=”<<count<<endl;switch( d[i] ){case 1,2: cout<<”1,2\n”; break;case 3: cout<<”3\n”; break;default: cout<<”others\n”;}1+2, 2+=3, count+=5;}二、选择题(14分)(共7题,每题2分)1.以下程序的输出结果是_____。
#include<iostream.h>main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){1case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;}cout<<a<<","<<b<<endl;}A. 2,1B.1,1C.1,0D.2,22.以下能正确计算1*2*3*...*10的程序段是()。
A)do {i=1;s=1; B)do {i=1;s=0;s=s*i; i++;} s=s*i;i++;}while(i<=10); while(i<=10);C) i=1;s=1; D)i=1;s=0;do {s=s*i; do{s=s*i;i++;} i++;}while(i<=10); while(i<=10);3. int a=1,b=2,c=2;while(a<b<c) {t=a;a=b;b=t;c--;}cout<<a<<”,”<<b<<”,”<<c;运行结果为()。
高级语言程序设计期末考试试卷及答案(+E卷)

高级语言程序设计期末考试试卷及答案( E卷)2005—2006学年上学期考试科目:考试类型:(闭卷) 考试时间:120 分钟考试须知:1.答案必须写在“答题卡”上,写在试卷上不得分.2.必须在答题卡上正确填写班级、学号、姓名等内容。
一、选择题(共20小题,每小题1分)1。
下列C常量中不合法的是( )A。
’\500' B。
0500 C.'500' D。
"500"2。
C语言中,若对函数类型未加显示说明,则函数的隐含类型为()类型A.void B.intC.空 D.char3. C语言程序的三种基本结构是( )A。
嵌套结构、递归结构、顺序结构 B.递归结构、循环结构、转移结构C。
顺序结构、选择结构、循环结构 D.循环结构、转移结构、顺序结构4。
一个可执行C程序的开始执行点是()A.名为main()的函数 B.包含文件的第一函数C.程序中的第一个语句 D.程序中的第一个函数5。
下面程序段的执行结果是()int a=5, b=4, c=3;if(a〉b〉c)printf(”a>b〉c”);elseprintf(”no");A.a>b〉c B.noC.编译错误 D.运行错误6。
合法的数组定义是( )A.int a[]= “string" B.int a[5] = {0,1,2,3,4,5}C.char a[] = {0,1,2,3,4,5} D.char s = “string”7。
在C语言中,提供的合法关键字是()A.printf B.cher C.case D.Else8。
在C语言中,合法的字符常量是( )A.’\081’ B.’\0’ C.’ab’ D.”a ”9。
putchar函数可以向终端输出一个().A)字符串 B)实型变量值C)整型变量表达式D)字符或字符型变量10。
在C语言中,一个char变量占( )字节。
A.1 B.2 C.4 D.811. 调用scanf(“%d,%d”,&a,&b);时,正确的键盘输入是( )A.12,23 B. a=12,b=23C.12:23 D. 12 2312。
华南理工大学-高级程序设计语言 C++期末试卷真题

<< 高级程序设计语言C++ 》 试卷A 第 2 页 共 6 页int fun( int n ) {int x; x = n - 3; return ( x ); } 则函数调用fun( fun( 10 ) )的值是( )A) 10 B) 7 C) 4 D) 113、设有下列定义语句struct node { int a; int b; } m[3]={{0,2},{4,6},{8,10}},值等于6的正确表达式是( )。
A) m[1][2] B) node[1] [2] C) m[1]->a D) m[1].b 二、简答题 (每小题3分,共12分)1、语句cout<<setfill('#')<<setw(6)<<123<<oct<<45<<ends <<setprecision(4)<<12.3456;的输出结果是什么? 2. 若有以下定义:int w[10]={ 23,54,10,33,47, 98, 72, 80, 61 } , *p = w;则不移动指针p 并通过指针p 将值为98的数组元素改为20的两种方法是什么?3、简述c++中new 和delete 运算符的作用;并举例说明如何定义一个长度n 的动态双精度浮点数组。
4、已知有职工情况结构类型定义为:struct employee{ char name [20]; long code; float salary; ); employee emp;请用合适c++语句,将姓名为:Wang lin ,代号为:1234556,工资为:2580的职工信息存入结构变量emp 中。
二、 读程序写结果(每小题5分,共30分)1、(5分)2、(5分)#include <iostream.h> #include<iostream.h> void main( ) void main() { int x=6; { char s[6]="abcde", *p=s; if(x++>5) cout<<*p<<p<<end; cout<<" x="<<x<<endl; } else cout<<" x="<<x--<<endl; } 3、(5分) 4、(5分) #include <iostream.h> int f( int[], int ) ; void main( ) #include <iostream.h> { int x=1, y=0; void main() switch( x >0 ) { inta[]={-1,5,-10,20,-11,40} ; { case 1: cout<<f ( a, 6)<< endl; switch( y ==0 ) } { case 0: cout<< "Title 1\t" ; int f(int a[], int size) break; { int i, t=1; case 1: cout<< "Title 2\t" ; for(i=0; i<size; i++) break ; { if( a[i]<0 ) continue; } t+=a[i]; case 2: cout<< "Title 3\n" ; } } return t; } }。
2010年《高级语言程序设计》期末考试A卷

贵州大学2010-2011学年第一学期考试试卷 A高级语言程序设计注意事项:1. 请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3. 不要在试卷上乱写乱画,不要在装订线内填写无关的内容。
4. 满分100分,考试时间为120分钟。
一、选择题(共30分,每小题2分)1. 程序经过编译生成的是( B )。
A、源文件B、目标文件C、可执行文件D、编译文件2. 在一个C程序中( C )。
A、main函数出现在所有函数之前。
C程序不一定都有main函数。
B、main函数必须出现在所有函数之后。
一个C程序必须有且仅有一个main函数。
C、main函数可以在任何地方出现。
一个C程序必须有且仅有一个main函数。
D、main函数出现在固定位置。
一个C程序可以有多个main函数。
3. 已知三角形的底为a,高为b,用C语言书写正确的面积公式为( B )。
A、 1/2*a*bB、 1.0/2*a*bC、 1.0/2.0abD、 1.0/2*ab4.可用作用户标识符的一组标识是( C )。
A、void defineB、a3-3 _123C、For _abcD、2a sizeof5. 已知int i=3,j=5; float x=2.5; double y=5.0;则y+=i-=j*=++x;的值为( C )。
A、 -9.5B、 -9C、 -9.0D、-7.06.设 x=011; 执行printf (“%d”, x); 的输出是( B )。
A、11B、9C、8D、77. 语句if (!i ) i++; 中的条件表达式 !i 等价于()。
A、i=0B、i!=1C、i!=0D、-i8. 设int a=4;则表达式a<1&&--a>1的运算结果和a的值分别是( B )。
A、0和3B、0和4C、1和3D、1和49. 若有以下语句int x = 3;do {printf("%d\n", x -= 2);} while (!(--x));运行后输出( B )。
《高级语言程序设计基础(Java)》2019期末考试题附答案

《高级语言程序设计基础(Java)》课程2019 年春季期末考试复习资料一、单项选择题1. 下面哪个不是Java 的基本数据类型(D)。
A.intB. charC. floatD. string2. 下面合法的布尔类型声明是(C)。
A.boolean b1=0;B. boolean b2=’false’;C. boolean b3=false;D. boolean b4=no;3. 下面选项中,均是不合法的用户标识符的选项是(C)。
A.A P_0 doB.float la0 _AC.b-a try intD._123 temp INT4. 没有访问控制修饰符的成员变量被自动视为(D)。
A.public 变量B.private 变量C.protected 变量D.package 变量5. 下面可以调用void set(int x,int y)方法的选项是___C____。
A.set(“hello”)B. set(50,”hello”)C. set(10,25)D. set(3,10,2)6. 关于类的继承叙述不正确的是(A)。
A.子类可以继承父类中的所有变量和方法B.一个子类只能有一个父类C.子类可以继承父类的父类中的变量和方法D.所有类都是通过直接或间接地继承Object 类而得到的7. 以下运算符中优先级最低的是(A)A.? :B.= =C.||D. !8. 下列程序片段输出的是什么?(C )int a=3;int b=1;if(a==b)System.out.println(“a=”+a);A.a=1B. a=3C. 编译错误,没有输出D. 正常运行,但没有输出9. 下列语句执行后,x 的值为(A)。
int a=4,b=5,x=3;if(++a!=b) x=x*a;A.3B.12C.15D.2010. 下列语句执行后,z 的值为(D)。
int x=5,y=3,z=0;switch(x%y+2){case 3:z=x*y ;break ;case 4:z=x/y ;break;case 6:z=x-y;break;default:z=x*y-x;}A.15B.2C.10D.1二、简答题1. 请画出并说明Java 运行环境的层次结构图。
高级语言程序设计期末试卷A

南京邮电大学通达学院 2008/2009 学年第一学期《 高级语言程序设计 》期末试卷(A )本试卷共 页; 考试时间 110 分钟;专业班级 学号 姓名一、选择题(20分,每题1分)1、一个C 语言程序是由( )。
A .一个主程序和若干子程序组成B .函数组成C .若干过程组成D .若干子程序组成2、若x 、i 、j 和k 都是int 型变量,则计算下面表达式后,x 的值是( )。
x=(i=4,j=16,k=32) A .4B .16C .32D .523、表达式18/4*sqrt(4.0)/8值的数据类型为( )。
A .intB .floatC .doubleD .不确定4、putchar 函数可以向终端输出一个( )。
A .整型变量表达式值 B .实型变量值C .字符串D .字符或字符型变量值5、下列运算符优先级最高的是( )。
A .<B .&&C .!=D .+6、C 语言中while 和do -while 循环的主要区别是( )。
A .do -while 的循环体至少无条件执行一次 B .while 的循环控制条件比do -while 严格 C .do -while 允许从外部转到循环体内装 订 线 内 不 要 答 题自觉遵 守考 试 规 则,诚 信 考 试,绝 不作 弊D.do-while的循环体不能是复合语句7、设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是()。
A.while循环执行10次B.无限循环C.循环体一次也不执行D.循环体执行一次8、语句while(E);中的表达式E等价于()。
A.E==0 B.E==1 C.E!=0 D.E!=19、以下对一维整型数组a的正确说明是()。
A.int a(10); B.int n=10,a[n];C.int n; D.#define SIZE 10scanf(“%d”,&n); int a[SIZE];int a[n];10、判断字符串a和b是否相等,应当使用()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
114199249.doc 2007年7月11日 第 1 页 共 6 页 武汉大学计算机学院 2006-2007学年度第2学期2006级 《高级语言程序设计》期末考试试卷A卷 姓名: 学号: 专业: 说明:开卷考试,答案请全部写在答题纸上,写在试卷上无效。 未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。 题号 一 二 三 四 五 总分 总分 16 24 15 30 15 100
一. 单项选择题:(选择最合适的答案填空,每小题2分,共16分) ( )1、在执行以下程序时,从键盘上输入9,则该程序输出结果是__________。 #include int main( ) { int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); return 0; } A、8 B、9 C、10 D、11 ( )2、表达式0156637&~0777的结果是____________。 A、0156000 B、156000 C、0637 D、637 ( )3、假设有如下定义:int m=1,n=1; 则执行表达式(m=’5’<’3’)&&(n=’7’>’9’)后,m和n的值分别是_____________________。 A、1和1 B、1和0 C、0和1 D、0和0 ( )4、表达式-11%3+7/2的结果是____________。 A、5.5 B、5 C、1.5 D、1 ( )5、设有如下宏定义: #define BOOK(x) 8-x 则执行赋值语句 v=BOOK(2)*BOOK(4); /*v为int型变量*/ 后,变量v的值为 。 A、-12 B、0 C、24 D、44 ( )6、设有如下定义: int a[6][4]; int (*p)[4]; p=a; 则与表达式*p+3等价的选项是_________。 A、a[0][3] B、&a[0][3] C、a[3][0] D、&a[3][0] ( )7、假设有以下定义: static char *a=”h\te\nY\0W\0o\b”; 114199249.doc 2007年7月11日 第 2 页 共 6 页
则表达式strlen(a)的结果为________。 A、15 B、10 C、7 D、5 ( )8、假设有如下定义: int a=1,b=2,c=3,u,v; 执行下面语句组后,整型变量u和v的值分别为_____________。 u = a ? b : c; v = (a = 2) ? b + a:c + a; A、3和3 B、3和4 C、2和3 D、2和4
二. 程序阅读与分析(每小题8分,共24分) 9、分析下面程序执行流程,指出程序执行结果。 #include int main() { int i; for(i=1;i<=6;i++) switch (i%5) { case 0: printf(“*”);break; case 1: printf(“#”);break; default: printf(“\n”); case 2: printf(“&”); } return 0; } 10、下面程序完成的功能如下:输入一个由10个整数组成的数组a,将该数组下标值为偶数的元素由小到大排序,将下标值为奇数的元素由大到小排序。 例如,输入数组a为{8,1,6,3,4,5,2,7,0,9},执行下面程序后,数组a为{0,9,2,7,4,5,6,3,8,1}。 请在空白处填写合适内容以正确完成整个程序。 #include int main() { (1) a[10],n; int i,j,t; for(i=0;i<10;i++) scanf("%d", (2) ); for(i=0;i<7;i+=2) for(j= (3) ;j<10; (4) ) { if( (5) ) { t=a[i]; a[i]=a[j]; a[j]=t; } if( (6) ) { t=a[i+1]; a[i+1]=a[j+1]; a[j+1]=t;} } for(i=0; (7) ;i++) printf("%d\t", (8) ); return 0; 114199249.doc 2007年7月11日 第 3 页 共 6 页
} 11、分析以下程序执行流程,请指明错误之处,并简要说明错误原因,并给出修改意见。(共4个错误)
/*输入多个整数,以0作为结束标记,将这些整数存入到Exam.dat文件中*/ /*然后将这些数据从Exam.dat文件中读出来,显示到显示器上*/ #include #include int main() { File *fp; if((fp = fopen("Exam.dat","w"))==NULL) { printf("open file error!"); exit(1); } do { scanf("%d", p); fprintf(fp,”%d ”,p); }while(p!=0); fclose(fp); if((fp = fopen ("Exam.dat","r")) == NULL) { printf("open file error!"); exit(1); } do { fscanf(fp,"%d",p); printf("%6d\t",p); }while(p!=0); fclose(fp); return (0); }
三. 程序测试与分析(每小题5分,共15分) 12、以下程序计算-32768-3,执行以下程序,得到如下所示的运行结果,请分析结果为什么不是-32771?并指出该如何修改。 #include int main() { short int a,b; a=-32768; b=a-3; printf("a=%d,b=%d\n",a,b); } 运行结果: 114199249.doc 2007年7月11日 第 4 页 共 6 页
a=-32768,b=32765 13、上机调试下面的程序,在编译过程提示有如下语法错误“too many arguments to function in max(int,int)”。分析下面程序,说明出现上述语法错误的原因。并指出用下划线标注的语句的作用是什么? #include #define MAX #ifdef MAX int max(int x, int y) { return (x>y)?x:y; } #else int max(int x, int y, int z) { int k; k=x>y?x:y; return (z>k)?z:k; } #endif int main() { int a,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“max=%d\n”,max(a,b,c)); return 0; } 14、下面的函数的功能是从一个整数组成的单链表中删除指定整数n的节点。 #include #include struct node{ int data; struct node *next; }; int deletelink (struct node *phead,int n) { struct node *p,*q; p=phead; while(p->data!=n&&p->next!=NULL) { q=p; p=p->next; } if(p->data==n) /*找到*/ { if(p==phead) /*被删除的结点是链头*/ phead=p->next; else /*被删除的结点不是链头*/ q->next=p->next; free(p); return (1); } else 114199249.doc 2007年7月11日 第 5 页 共 6 页
return (0); } 假设有下图所示的单链表:
现在要求从上图所示的单链表中删除数据值等于3的节点,通过执行函数调用deletelink(head,3)来完成该删除操作。但是函数调用结束后,该链表仍然和上图一样,整数3并没有从链表中删除,请分析出错的原因,并给出修改意见。 (提示:被删除的节点是单链表中的第一个节点。)
四. 程序实现题(每小题15分,共30分) 15、下面程序完成的功能如下:输入一个整数,要求按原来的规律将它插入一个已经排好序的数组中。分析该程序的执行流程,写出该程序的流程图。 #include int main() { int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; printf("original array is:\n"); for(i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); printf("insert a new number:"); scanf("%d",&number); end=a[9]; if(number>end) a[10]=number; else { for(i=0;i<10;i++) { if(a[i]>number) { temp1=a[i]; a[i]=number; for(j=i+1;j<11;j++) { temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } } for(i=0;i<11;i++) printf("%6d",a[i]);
3 4 5 / head