高级语言程序设计1期末考试试题(A卷)

合集下载

华农-2012年第一学期高级语言程序设计试卷(A)

华农-2012年第一学期高级语言程序设计试卷(A)

华南农业大学期末考试试卷( A 卷)2012学年第1学期 考试科目: 高级语言程序设计 考试类型:(闭卷) 考试时间: 90 分钟考生须知:1. 必须在答卷上正确填写班级、学号、姓名等内容。

2. 答案写在答卷上,写在试卷等其它地方不得分。

3. 试卷上出现的int 类型变量均为4字节存贮。

4. 上机考试部分,考试时间与地点另行安排。

一、单项选择题(共10题,每题1分)1. 下面对C 语言运算符的优先级叙述正确的是( A )。

A . !(非) > 算术运算符 > 关系运算符 > &&(与) > ||(或) > 赋值运算符B . !(非) > 关系运算符 >算术运算符 > &&(与) > ||(或) > 赋值运算符C . 算术运算符 >!(非) >关系运算符 > &&(与) > ||(或) > 赋值运算符D . 算术运算符 > 关系运算符 > !(非) > &&(与) > ||(或) > 赋值运算符2. float x=3.5, y=4.3 ;int a=8, 表达式y+a%3*(int)((x+y)/4+0.05)/3 的值为( B )A .4.3;B .5.3;C .6.3;D .7.3;3. 若有代数式bc yx 322(x,y,b,c 是浮点数),则正确的C 语言表达式是( C )A .2/3*x^2*y/b*cB .2/3.0*x^2*y/b/cC .2*x*x*y/3*b*cD .x*x/b/c*2/3*y4. 在a=2,b=1,c=0;则执行c=b||a--;语句后,a 和c 的结果是( B )A .0,1B .2,1C .1,0D .2,05.下面程序段的输出结果是 D 。

int main( ){ int a[ ]={1,2,3},s,b,*p;s=1;p=a;for(b=0;b<3;b++)s*=*(p+b);printf(“s=%d\n ”,s);}A.s=1 B.s=2 C.s=3 D.s=66.设整型变量a为5,使b不为2的表达式是 ( C )A. b=a/2B. b=6-(--a)C. b=a%2D.b=a>3?2:17. 执行以下程序后,y的值是(A)int main (){ i nt y = 10;do { y --;} while(-- y);printf("%d\n",y --);}A. -1 B. 1 C. 8 D. 08.有如下程序#include <stdio.h>int main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++) s+=a[i][j];printf(“%d”,s);}该程序的输出结果是AA.18 B.19 C.20 D.219. 有以下程序段int n,t= 0,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; } while (t!=n);为使此程序段不陷入死循环,从键盘输入的数据以下最合适的选项是(A)A.任意负奇数B.任意偶数 C.任意整数D.任意负偶数10. 若变量已正确定义,要求程序段完成求5!的计算,不能..完成此操作的程序段是(C)A.i=1;p=1;do{p*=i; i++; } while(i<=5);B.for(i=1,p=1;i<=5;i++) p*=i;C.for(i=1;i<=5;i++) { p=1; p*=i;}D.i=1;p=1;while(i<=5) {p*=i; i++;}二、看程序写结果(共6题,每题4分)1.#include "stdio.h"#define M 4#define N 3int main(){ int a[M*N]={1, 2, 3, 4,5, 6, 7, 8,9,10,11,12};int b[N*M], i, j;for(i=0; i<M*N; i++)b[(i%M)*N+i/M]=a[i];for(i=0; i<M*N; i++)printf("%4d", b[i]);}请写出运行结果:2.#include "stdio.h"main(){ int k=5,n=0;while(k>0){ switch(k){ default : break;case 1 :case 2 : n+=k;case 3 : n+=k;}k- -;printf("%d\n",n);}}请写出运行结果:3.#include <stdio.h>int main(){ int i,j,k;for(i=1;i<4;i++){for(j=1;j<4-i;j++)printf(" ");for(k=1;k<=2*i-1;k++)printf("%c",'A'+i-1);printf("\n");}}请写出运行结果:4.#include<stdio.h>main( ){char arr[]=”ABCDE”;char *ptr;for(ptr=arr;ptr<arr+5;ptr++) printf(“%s\n”,ptr);}请写出运行结果:5. #include <stdio.h>int main( ){ int a[5][5],i, j ;for( i=0;i<5;i++){ a[i][0] =1; a[i][i] =1; }for( i=2; i<5; i++ )for(j=1; j<i ; j++ )a[i][j] =a[i-1][j-1] + a[i-1][j];for(i=0; i<5; i++){for( j=0; j<=i; j++)printf(“%5d”,a[i][j]);printf(“\n”);}}请写出运行结果:6. 有下面结构体类型定义,struct node{char info;struct node *link;};以head为实参调用如下函数,void func(struct node *head){ struct node *p = head, *p2=NULL;int i=0;while( p!= NULL){ putchar(p->info); p = p-> link; }putchar('\n');p = head;while( p!= NULL){ if (p-> link!= NULL) p->info=p-> link ->info; p = p-> link; }p = head;while( p!= NULL){ putchar(p->info); p = p-> link; }}请写出运行结果:三、看程序填空题(共8空,每空2分)1.下面程序判断某一年是否闰年,请填空。

清华大学《高级语言程序设计》期末考试试题

清华大学《高级语言程序设计》期末考试试题

清华大学《高级语言程序设计》期末考试试题(3小时上机完成)试卷说明:➢ 请在C 盘根目录下建立一个子目录,以自己的学号命名,并将所有的程序存入此目录。

如,学号为010000的同学,需要建立目录C:\010000,并将程序存入此目录。

按照题目名称中指定文件名保存你的程序,并保存一个备份,以免程序被意外破坏。

例如,第一题应当保存一个叫做1-1bak.cpp 的文件。

➢ 3-A 和3-B 最多只能选择一道题目。

如果同时存在3-A.cpp 和3-B.cpp ,我们将随机选择一道题目进行评分。

➢ 所有题目采用键盘输入和屏幕输出,你的程序不得访问任何文件。

➢ 评分时将查看源程序,请严格遵守题目中给出的限制。

第一部分 基础问题 (每题12分,共60分)1-1.自我介绍 ( 1-1.cpp )在屏幕上输出你的学号和姓名,各占一行。

1-2.递归函数 ( 1-2.cpp )有这样一个函数:0,1(,)(0.73,)(,8.4)11(/2,1)(1,/3)1x x y x y x y F x y F x y F x y x y x y F x y F x y x yy x =⎧⎪≠⎪=⎨-+-+++>≥⎪⎪-+-++>≥⎩且至少有一个小于 键盘输入实数a 和b(0 < a, b < 100),计算该函数当x=a, y=b 的值并输出到屏幕。

输入值最多有四位小数,输出时四舍五入保留两位小数。

1-3.进制转换 ( 1-3.cpp )请将一个n 进制的数转换成m 进制的数,并输出.(在10进制以上的数中A 代表10,B 代表11,以此类推)输入:第1行1个整数n,表示被转换的数的进制(2 < = n < = 30)第2行1个整数m,表示转换后的数的进制(2 < = m < = 30)第3行有1个n进制的数。

输出:仅1行,为转换后的m进制的数。

1-4.竖式打印 ( 1-4.cpp )键盘输入两个两位正整数a,b ( 11 < = a,b < = 99,且a和b都不包含数字’0’ ),在屏幕上输出a与b相乘的竖式。

高级语言程序设计试卷及答案两套

高级语言程序设计试卷及答案两套

高级语言程序设计试卷A一、选择题(每题2分,共16分)1.若a = TRUE , b = FALSE , x = 10 , i = 1 , j = -1 ,则表达式a AND NOT (x>0) AND (i>j+3) OR a>b AND b 的值为A.0B.1C.TRUED.FALSE2.下面的程序执行后,x的值是a:= 9;b:= 0;IF ( a<=a+b ) AND (a>b) THENIF a>6 THENIF a>10 THEN x:=0.5 ELSE x:=1.5ELSE IF a>2 THEN x:= 10 ELSE x:= 20;A..0.5B.1.5C.10D.203.执行下面的程序段后,结果是a:= 2;b:= 0;REPEATWRITE (‘AAA’);b:= b + 1UNTIL ( a > b );A.打印一个AAAB.打印2个AAAC.打印无数个AAAD.什么也不打印4.下述程序段将打印出s:= 0;c:= 0;FOR c:= 2 TO 7 DOCASE C OF4 , 7 , 1:S:= S + 1;2 , 6 , 3:;0 , 10 , 5:S:= S + 3END;WRITELN (‘S =’ , S);A.S = 4B.S =5C.’S’ =4D.’S’ =55.下列常量说明中,合法的是A. CONST color = red . . blue ;B. CONST const = 10*5 ;C. CONST x 1 : = 3.9 ;D. CONST abc = ‘abc’ ;6.下列类型的变量中,不能用Write语句直接输出的变量是A. 布尔型变量B. 枚举型变量C. 整型变量D. 字符型变量7.设有一单向链表,指针p,q分别指向链表中的结点,q↑是p↑的前驱结点,现要把指针p0指向的结点插在q↑和p↑之间,应用语句A.p0↑.next:=q↑.next; q↑.next:=p0;B.p0:=p; q↑.next:=p0;C.p0↑.next:=p↑.next; q↑.next:=p0;D.p0↑.next:=p; q↑.next:=p0;8.以下程序段共执行循环体的次数是i : = 2.5 ;WHILE i <= 4 DOBEGINi = i + 0.5 ;Write ( i ) ;END;A. 1B. 2C. 3D. 4二、填空题(每空3分,共54分)1.请填充下面程序段,并计算l一50之间不能被3整除同时也不能被5整除的所有整数之积。

2017高级语言程序设计考卷A及参考答案

2017高级语言程序设计考卷A及参考答案

…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………装订线………………装订线内不要答题,不要填写信息………………装订线…………武汉理工大学考试试题答案(A卷)2017 ~2018 学年1 学期高级语言程序设计课程二、程序阅读题(本大题共 6 小题,每小题4分,共24 分)1.332.73.924.215.46.14三、程序填空题(本大题共2小题,每空3分,共18 分)1.(1)j==i (2)k!=i && k!=j (3)100*i+10*j+k2.(1)month (2)table[i] (3)year%4==0 && year%100!=0 || year%400==0 四、程序编写题(本大题共 3 小题,每小题10 分,共30 分)1.#include <iostream>using namespace std;int main(){ int i,a,b,t,two=0,five=0;cin>>a>>b;for (i=a;i<=b;i++){ t=i;while (t%2==0){ two++; t=t/2; }while (t%5==0){ five++; t=t/5; }}cout<<(two>five?five:two)<<endl;return 0;}2.int fun(int x){int sum = 0;while (x != 0){sum = sum * 10 + (x% 10);x =x / 10;}return sum;}3.double average(LinkList head) {int n=0,s=0;LinkList p;if (head==NULL) return 0;p=head;while (p->next){s=s+p->data;n++;p=p->next;}return 1.0*s/n;}。

高级语言程序设计1期末考试试题(A卷)

高级语言程序设计1期末考试试题(A卷)

《高级语言程序设计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<<en dl;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){case 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;运行结果为()。

秋季《高级语言程序设计》期末试卷

秋季《高级语言程序设计》期末试卷

2017年秋季《高级语言程序设计》期末试卷1. ( 单选题 ) 能将高级语言编写的源程序转换为目标程序的是_____________ 。

(本题2.0分)A、链接程序B、解释程序C、编译程序D、编辑程序学生答案:B标准答案:C解析:得分:02. ( 单选题 ) C语言程序编译时,程序中的注释部分()。

(本题2.0分)A、参加编译,并会出现在目标程序中B、参加编译,但不会出现在目标程序中C、不参加编译,但会出现在目标程序中D、不参加编译,也不会出现在目标程序中学生答案:D标准答案:D解析:得分:23. ( 单选题 ) C 语言中的标识符只能由字母、数字和下划线三种字符组成 , 且第一个字符( )(本题2.0分)A、必须为下划线B、可以是字母、数字和下划线中的任意一种C、必须为字母或下划线D、必须为字母学生答案:C标准答案:C解析:得分:24. ( 单选题 ) 一个 C 程序的执行是从( )(本题2.0分)A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束学生答案:C标准答案:C解析:得分:25. ( 单选题 ) C 语言提供的合法关键字是( ) (本题2.0分)A、swicthB、chanC、caseD、default学生答案:D标准答案:D解析:得分:26. ( 单选题 ) C语言程序的基本单位是()(本题2.0分)A、程序行B、语句C、函数D、字符学生答案:C标准答案:C解析:得分:27. ( 单选题 ) 组成C语言程序的是( )。

(本题2.0分)A、过程B、函数C、子程序D、主程序和子程序学生答案:B标准答案:B解析:得分:28. ( 单选题 )有以下程序,输出结果是()float fun(int x,int y){ return(x+y); }main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c)); }(本题2.0分)A、9B、21C、9.0D、编译出错学生答案:A标准答案:A解析:得分:29. ( 单选题 )有以下程序,输出结果是()float fun(int x,int y){ return(x+y); }main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c)); }(本题2.0分)A、9B、21C、9.0D、编译出错学生答案:A标准答案:A解析:得分:210. ( 单选题 ) 在下列叙述中,正确的是()(本题2.0分)A、下面的程序有一个整型输出值:main(){int a;a=pp();printf(“%d”,a);}void pp(){ … }B、以下程序的运行结果为1,3,5,7main(){static int a[4]={1,3,5,7};printf(“%d,%d,%d,%d\n”,a);}C、以下程序中的PRINT()是一个函数#define PRINT(V) printf(“V=%d\t”, V)main(){int a,b;a=1;b=2;PRINT(a);PRINT(b);}D、以下两个语句是等价的for(;(c=getchar())!=‘\n’;printf(“%c\n”, c));for(;(c=getchar())!=‘\n’;) printf(“%c\n”, c);学生答案:D标准答案:D 解析:得分:211. ( 单选题 )以下程序的输出结果是()。

2013高级语言程序设计考卷A及参考答案

2013高级语言程序设计考卷A及参考答案

…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………装订线………………装订线内不要答题,不要填写信息………………装订线…………武汉理工大学考试试题答案(A卷)2013 ~2014 学年1 学期高级语言程序设计课程二、填空题(本大题共 5 小题,每空1分,共10 分)1.if……else switch ……case2.参数返回值3.局部变量全局变量4. 全局变量静态变量5. 6 5三、程序阅读题(本大题共 4 小题,每小题5分,共20 分)1.8 55 2.453.5 10 4.-1四、程序填空题(本大题共3小题,每空2分,共20 分)1.(1)i<100 (2)continue2.(3)n<=100 (4)sign*1.0/(2*n-1) (5)-sign3.(6)i=0 (7)c[i]-48或c[i]-'0' (8)c[i]-55或c[i]-‘A’+10 (9)c[i]-87 或c[i]-‘a’+10 (10)return n五、程序编写题(本大题共 3 小题,每小题10 分,共30 分)1.#include <iostream>using namespace std;int main() {int i,sum,a,b,c;a=1,b=1,sum=a+b;i=3;while(i<=20){ c=a+b; a=b; b=c;sum+=c; i++;}cout<<"Sum="<<sum<<endl;return 0;}2.#include <iostream>using namespace std;int main(){int a[10],i,j,k,t;for (i=0;i<10;i++)cin>>a[i];for (i=0;i<5;i++){k=i;for (j=i+1;j<10;j++)if (a[j]<a[k]) k=j;t=a[i]; a[i]=a[k];a[k]=t;cout<<a[i]<<" ";}cout<<endl;return 0;}3.int count(node *head){int i=0;node *p;p=head;while(p!=NULL){if(p->data%2==1) i++;p=p->next;}return i;}89。

2016秋_高级程序设计语言_A卷(1)

2016秋_高级程序设计语言_A卷(1)

int main( ){
int key = 98;
if(key='C'-'A'+'a') printf("%c is lower of C", key);
else printf("%c is Not lower of C", key);
return 0;
}
A. b is Not lower of C B. b is lower of C C. c is lower of C D. c is Not lower of C
A. 10
B. 9 C. 0 D. 1
5. 对于定义 char str[20] = "hello"; (注: 其中 o 为小写字母, 0 为数字零), strlen(str) 和
sizeof(str) 的值分别是(

A. 5 20
B. 20 5 C. 6 120 D. 5 5
6. 定义 int score = 75; 则表达式 80 > score > 70 的值是(
11. 执行下面程序: int x=5, y=7;
void swap( ){
int z; z=x; x=y; y=z;
}
int main( ){
int x=3, y=8; swap( ); printf("%d, %d\n", x, y);
return 0;
}
打印输出的内容是(

A. 3, 8 B. 8, 3 C. 5, 7 D. 7, 5 12. 设有如下定义:
得分
一、单选题(每小题 2 分,共 30 分。)

2012高级语言程序设计考卷A及参考答案

2012高级语言程序设计考卷A及参考答案

…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线……………………装订线………………装订线内不要答题,不要填写信息………………装订线…………武汉理工大学考试试题答案(A卷)2012 ~2013 学年1 学期高级语言程序设计课程二、填空题(本大题共 5 小题,每空1分,共10 分)1.0 12.递归递归3.定义变量的位置源程序文件4. 堆区栈区5. 5 6三、判断题(本大题共 5 小题,每小题2分,共10 分)1.(√)2.(x)3.(x)4.(x)5.(√)四、程序阅读题(本大题共 4 小题,每小题5分,共20 分)1.30 2.253.27 4.ABCDE五、程序填空题(本大题共2小题,每空2分,共10 分)1.(1)x2=x1 (2)day—(或day=day-1)2.(1)i/1000 (2)a+c==b*d (3)break六、程序编写题(本大题共 3 小题,每小题10 分,共30 分)1.#include<iostream.h>int main() {int i,x,sum;sum=0;for(i=1;i<=20;i++){cin>>x;if (x>0)sum+=x;}cout<<"Sum="<<sum<<endl;return 0;}2.void invert( int a[], int k){int t;if( k>1){invert(a+1,k-2);t=a[0];a[0]=a[k-1];a[k-1]=t;}} (注:如果写成非递归函数,最多给5分)3.int count(node *head,int x){int i=0;node *p;p=head;while(p!=NULL){if(p->data==x) i++;p=p->next;}return i;}。

高级语言程序设计-期末复习题和答案2023年修改整理

高级语言程序设计-期末复习题和答案2023年修改整理

《高级语言程序设计(基于JAVA)》课程2019年春季期末考试复习资料第一部分 客观题(请在答题纸的客观题答题区域作答)一、 单项抉择题(每题 2 分,共 40 分)1.下面哪个是不合法的标识符?(C)A.$persons;B.TwoUsers;C.*point;D._endline;2.下面的代码段中,执行之后i和j 的值是什么?(B)inti =3;int j;j = i--;A.3, 3B.2, 3C.3, 2D.2, 23.下列选项中哪个是将一个十六进制值赋值给一个long型变量的正确方法(D)A.long number = 345L;B.long number = 0345;C.long number = 0345L;D.long number = 0x345L;4.下面哪条语句导致程序回到循环开头,并从那儿接着运行?(A。

)A.continueB.breakC.nextD.goto :05.下面初始化数组的语句中,不正确的是:(D)A.int x[] = {8,5,6,4};B.int x[4] = {8,5,6,4};C.int[] x = {8,5,6,4};D.int x[] = new int[]{8,5,6,4};6.下列关于构造方法的叙述中,错误的是(C)A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用void声明C.Java语言规定构造方法不能够重载D.Java语言规定构造方法只能通过new自动调用7.类与对象的关系是(A)A.类是对象的抽象B.类是对象的具体实例C.对象是类的抽象D.对象是类的子类8.下列关于修饰符混用的说法,错误的是(D)A.abstract不能与final并列修饰同一个类B.abstract类中不能够有private的成员C.abstract方法必须在abstract类中D.static方法中能处理非static的属性9.下面的循环将执行几次?(B)for(int i=0; i<10; i++) {if (i==5) break;System.out.println(“i=”+i);}A.4B.5C.6D.以上答案都不对10.下面哪个单词不是Java语言的关键字(A)A.FloatB.thisC.superD.boolean11. 对象的特征在类中表示为变量,称为类的(B)。

高级语言程序设计A:期末练习1及答案

高级语言程序设计A:期末练习1及答案

一、选择正确的答案填写在空白处1. C语言规定C程序中的标识符是 C 组成的。

A) 由任意顺序的字符B) 仅由字母和数字C) 由字母、数字和下划线D) 由字母、数字作为首字符的任意字符串2.下列数据中 D 是C语言规定的合法数据常量。

A) 01010011B B) 0X37GF C)07182 D) 0X87AF3.C语言包括 C 种基本的程序结构。

A) 1 B) 2 C)3 D) 44. C语言中,printf(“%-8.2f\n”,a)要求输出的变量类型及格式要求为 B 。

A)整型数,右对齐B)浮点数,左对齐C)整型数,左对齐D)浮点数,右对齐5.在C语言中, C 为字符串的结束标志。

A) \t B) \n C) \0 D) \b6. B 全为双目运算符。

A)|| && ? B)+ >= || C)++ >= ! D)+ && &7. 执行复合语句{i=10;j=i--;}后,变量i和j的值为 B 。

A)10,10 B)9,10 C)10,9 D)9,98. 执行语句x=(a=3,b=a--)后,x、a、b的值分别为 C 。

A) 3,3,2 B) 3,2,2 C) 3,2,3 D) 2,3,29. 若定义:int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9, 则下列选项错误的是 C 。

A) *p B) *(a+i) C) a=p+2 D) p[i]10. 当调用函数时,实参和形参都是数组名,则向被调用函数传送的是 B 。

A) 数组的长度B) 数组的首地址C) 数组的类型D) 数组首元素的值11. 在循环语句的循环体中执行continue语句,其作用是 C 。

A) 跳出该循环体,提前结束循环B) 继续执行该语句之后的循环体语句C) 结束本次循环D) 终止程序运行12. 若定义:int a,*p=&a; 则a与下列表达式 B 等价。

《高级语言程序设计》第一学期期末上机考试试题 (A1卷)

《高级语言程序设计》第一学期期末上机考试试题 (A1卷)

《高级语言程序设计》第一学期期末上机考试试题(A1卷)年级__________ 专业__________________ 学号_______________ 姓名______________(请注意:在每道题的程序第一行加一行注释行,注明:学号、姓名、专业、试卷类型:A、题号。

每道题存储为一个独立的Cpp文件,使用题号和卷号命名,例如:A_1.cpp,并建立一个文件夹存储这些文件,文件夹使用试卷号+学号命名。

例如:A_xxxxxxxxx不考虑输入的合法性检测问题。

)1.通过使用循环处理的方式输出以下图形**********************************************************2.设计一个函数int HighestCommonFactor(int a, int b),实现计算a和b的最大公约数,并将结果返回给主函数输出。

试编程实现该函数,a和b的输入在主函数中实现。

3.从键盘输入任意一个长度小于20的字符串,其中包括但不限于小写字母(a~z)、大写字母(A~Z)以及数字(0~9),请将这个字符串中的小写字母转换为相应的大写字母,将连续的数字反向输出,并将大小写字母以及数字之外的符号成倍输出。

例如输入为ad893GHJ012+-%,结果为AD398&&GHJ210++--%%。

void main(){string a;int num = 0;vector<string> input;while(num++ < 5){cin >> a;input.push_back(a);}sort(input.begin(), input.end());num = 0;while(num++ < 5){cout << input[num] << endl;}}bool compare(const char a[], const char b[]){ int pa = 0, pb = 0;while(a[pa] != '\0' && b[pb] != '\0'){if(a[pa] == b[pb]){++pa;++pb;continue;}elsereturn a[pa] < b[pb];}if(a[pa] == b[pb])return false;else if(a[pa] == '\0')return true;return false;}void swap(char a[], char b[]){char tmp[20];int pa = 0, pb = 0;while(a[pa] != '\0'){tmp[pa] = a[pa];++pa;}tmp[pa] = '\0';while(b[pb] != '\0'){a[pb] = b[pb];++pb;}a[pb] = '\0';pa = 0;while(tmp[pa] != '\0'){b[pa] = tmp[pa];++pa;}b[pa] = '\0';}void main(){char input[5][20];//cinint i = 0;while(i < 5)cin >> input[i++]; // input[0] => char [20]for(int k = 4; k > 0; k--){for(int i = 0; i < k; i++){//compare input[i] & input[i+1]if(compare(input[i], input[i+1]))swap(input[i], input[i+1]);}}}。

2018高级语言程序设计考卷A及参考答案

2018高级语言程序设计考卷A及参考答案

…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………姓名学号专业班级学院武汉理工大学考试试卷(A卷)2018 ~2019 学年1 学期高级语言程序设计A 课程闭卷时间120分钟,56 学时, 3.5 学分,总分100分,占总评成绩70 % 年月日题号一二三四五六七八九十合计满分30251530100任课教师得分一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表格中的对应位置。

错选、多选或未选均无分。

1234567891011121314151.下列选项中,可以用作用户定义的合法标识符的是A.define B._out2C.stu&3D.5_example2.若x=1,y=2,执行x=++y+5后,x和y的值分别为A.7和2 B.7和3 C.8和2 D.8和33.设有定义int x=1,y=2,z;执行z=(x=y)?x+5:y+10后,变量x和z的值分别为A.1和6 B.1和12 C.2和6 D.2和74.设有定义 char s[10]="A\102\x43";则字符串s的长度为A.3 B.5 C.9 D.105.设有定义 int n=1;执行语句“ while(n++<3); ”后,变量n的值为A.1 B.2 C.3 D.46.设有定义 int a[5];则a数组中首元素的地址可以表示为A.&a B.a C.a+1D.&a[1]7.设变量m定义为“int m=7; ”,则定义变量p的正确语句为A.int p=&m;B.int *p=&m;C.int &p=*m;D.int *p=m;8.已知某cpp文件中已经定义了函数fun,其原型是int fun(char ='A');则下列函数中,可以在同一系统中进行重载的是A.int fun(); B .void fun(char);C.int fun(char,int);D.int fun(char,double=0.0);得分9.数组定义为int a[3][2]={1,2,3,4,5,6},值为3的数组元素是A.a[0][2]B.a[1][0]C.a[1][3]D.a[2][1]10.定义一个指向具有4个元素的一维整型数组的指针变量的正确方法为A.int (*p)[4];B.int *p; C.int *p[4]; D.int *p[][4];11.设有定义char a[]="xyz",b[]={'x','y','z'}; ,则sizeof(a)和sizeof(b)的值分别为A.3 3 B.3 4 C.4 3 D.4 412.设char x[][10]={"Windows","dos","unix"}; ,执行cout<<x[1][2];后输出的结果是A.n B.i C.o D.s13.若有int a[5][5],(*p)[5] ;且有p=a;则数组元素a[3][4]可以表示为A.&a[3][4] B.*(p+3 )+4 C.*(&a[3]+4)D.*(*(p+3 )+4)14.设int(*p)(int a);,p的含义是A.指向一维数组的指针变量B.指向二维数组的指针变量C.指向整型函数的指针变量D.指向一个整型变量的指针变量15.设宏定义#define P(x) x/x则执行语句cout<<P(4+6)<<endl;后的输出结果是A.1 B.8.5 C.11 D.11.5二、程序阅读题(本大题共 5 小题,每小题5分,共25分)得分请将下面各程序运行后的输出结果填写在下划线处。

2013年c语言试卷(带答案版)

2013年c语言试卷(带答案版)

湖北科技学院2013学年春季学期2012级非计算机本科专业《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷)一.选择题:(每小题1分,共40分)1.C语言规定,必须用( C )作为主函数名。

A) Function B) include C) main D) stdio2.下列说法正确的是( C )。

A) 在执行C程序时不是从main 函数开始的B) C程序书写格式严格限制,一行内必须写一个语句C) C程序书写格式自由,一个语句可以分写在多行上D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号3.下列字符串是用户标识符的是( A )。

A) _HJ B) 9_student C) long D) float4.下列数据中是合法的整型常量的是( C )。

A) 3E2 B) 029 C) -32768 D) 6e+0075.语句int k,i=3;k=(i++)+(i++)+(i++);执行过后k和i的值分别为( A )。

A) 9,6 B) 12,5 C) 18,6 D) 15,56.10+‟a‟+1.5-567.345/‟b‟的结果是( B )型数据。

A) long B) double C) int D) unsigned float7.在C 语言中,下列类型属于构造类型的是( D )。

A) 整型B) 指针类型C) 实型D) 结构体类型8.在C语言中,退格符是( D )。

A) \n B) \t C) \v D) \b9.下列符号中,可以作为变量名的是( C )。

A) +c B) *X C) _DAY D) next-day10.以下程序的输出结果是( B )。

void main(){ unsigned char a=2,b=4,c=5,d;d=a|b; d&=c;printf("%d\n",d); }A) 3 B) 4 C) 5 D) 611.若已知a=5,b=10,则表达式a==b的值为( D )。

高级语言程序设计(一)试卷(三)

高级语言程序设计(一)试卷(三)

高级语言程序设计(一)(试卷编号:8252,考试时间120分钟,满分120分)学院:________系:________班级:________姓名:________学号:________考号:________一、填空(共30题,合计30分)1. C语言表达式!(3<6)||(4<9)的值是________________。

2. int x=2;z=-x+++1; 则x的值为________________。

3. 若有以下定义和语句: int a[5]={1,3,5,7,9},*p;p=&a[2]; 则++(*p)的值是________________。

4. 若所用变量都已正确定义,请填写以下程序段的输出结果________________.for(i=1;i<=5;i++); printf("OK\n");5. 设char a,b;若想通过a&& b运算保留a的第1位和第6位的值,则b的二进制数是________________。

6. 在C语言中,文件的存取是以________________为单位的,这种文件被称为________________文件。

7. 若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 13该数组可用的最小下标值是________________。

8. 结构体是不同数据类型的数据集合,作为数据类型,必须先说明结构体________________,再说明结构体变量。

9. 将数组a的首地址赋给指针变量p的语句是________________。

10. 调用 fopen 函数打开一文本文件,在"使用方式"这一项中,为输入而打开需填入________________。

11. 按内存排列顺序, 数组char a[2]中的所有元素是a[1]和________________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《高级语言程序设计1》期末考试试题(A卷) 姓名: 学号: 专业(系):一、标记出如下程序中的语法错误,并简单说明出错原因(6分)。

#include<>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<>main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;}cout<<a<<","<<b<<endl;}A. 2,1 ,1 ,0 ,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;运行结果为()。

A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,14.下面程序段的运行结果为()。

for(y=1;y<10;) y=((x=3*y,x+1),x-1);cout<<“x=”<<x<<”y=”<<y;A)x=27,y=27 B)x=12,y=13C)x=15,y=14 D)x=y=275.设有代码“int a=5;”,则执行了语句“a+=a-=a*a;”后,变量a的值是()。

A)3 B) 0 C)-40 D)-126.在下面的一维数组定义中,哪一个有语法错误。

A. int a[ ]={1,2,3};B. int a[10]={0};C. int a[ ];D. int a[5];7.要定义一个int型二维数组a,并使其各元素具有初值: 2 3 0 04 05 00 0 0 0则正确的定义语句是。

A.int a[][]={2,3,0,0,4,0,5,0,0,0,0,0};B.int a[][4]= {2,3,0,0,4,0,5,0,0,0,0,0};C.int a[3][4]= {{2,3},{4,,5}};D.int a[][]={{2,3,0,0},{4,0,5,0},{0,0,0,0}};三、读程序写结果(30分)1.(5分)从键盘输入edrftgu$,则输出什么结果#include<>void main( ){ char ch;int sum=1;while(sum){ cin>>ch;if(ch=='$') break;if(ch>='a'&&ch<='z') sum++;}cout<<"sum="<<sum-1<<endl;}2.(5分)该程序的运行结果#include<>void main( ){ int m,sum=0;for(m=10;m<=20;m++){ if(m%3==0||m%2==0) continue;cout<<m<<'\t';}cout<<endl;}3.(5分)键盘输入1 4 6 3,则程序的运行结果为#include <>main(){char c;int i,data=0;cout<<"Input char : ";for (i=0;i<4;i++){ cin>>c; if (c<'0'||c>'9')break;data=data*10+c-'0';}cout<<"data="<<data+1;}4.(5分)程序的运行结果为#include <>main ( ){ int i,j;for (i=2;i<5;i++){ for(j=2;j<5;j++)cout<<i*j;if(j==5)cout<<“\n”;}}5.(5分)程序的运行结果为#include <>void main ( ){int a[6] = {1, 3, 5, 0, -5, 2};for (int i=0; i<5; i++) {int m=i ;for (int j=i+1; j<6; j++)if (a[j]<a[m]) m=j ;if (i!=m) {int t=a[i]; a[i]=a[m]; a[m]=t;}}for (i=0; i<6; i++)cout<<a[i]<<" ";}6.(5分)程序的运行结果为#include <>void main ( ){char str[3][50] = {"123 abc +-*/ ABC","Hello! OK! 9+7=15","We are students."};int a[3] = {0, 0, 0};for (int i=0; i<3; i++)for (int j=0; str[i][j]!='\0'; j++)if (str[i][j]>='0' && str[i][j]<='9')a[i]++;for (i=0; i<3; i++)cout<<a[i]<<" ";}四、程序填空题(30分)1.(6分) 程序功能:求出100以内所有奇数的和并输出#include <>void main(){①for(int i=1; i<100 ; ② )s += ③ ;cout<<"s="<<s<<endl;}填写答案①:②:③:2.(6分) 程序功能:键盘输入10个正整数,求出其中的最大者mx并输出。

#include <>void main() {int ①for(int i=1; i<=10 ; i++){cin>>d;if ( ② )③}cout<<"mx="<<mx<<endl;}填写答案①:②:③:3.(6分) 程序功能:将字符串str中的大写字母转换为小写,最后输出结果串。

#include <>void main() {char str[50] = "I am a student. OK!";①while( ② ) {if ③i++;}cout<<str<<endl;}填写答案①:②:③:4.(6分) 程序功能:在任意输入的字符串str中的凡是’c’字母后添加“><”,然后输出结果串。

#include<>void main(){char s[60],str[30];①for(int i=0,j=0; ② ;i++){ if( ③ ){ s[j++]='>';s[j++]='<';}}cout<<"The New string is:"<<s<<endl;}5.(6分) 程序功能:求下述序列的累加和(序列累加n项,正整数n通过cin从键盘输入)。

sum= 2/1 + 3/2 + 5/3 + 8/5 + 13/8 + 21/13 + 34/21 + …#include <>void main( ){int n,i=1,a=1,term31=2,term32=1;float sum=0;cin>>n;while(i<=n){ ①a=term31;② ;③ ;i++;}cout<<"sum="<<sum<<endl;}五、编程题(20分)(2题)1.(10分)编程序,按照如下方式说明二维数组:int a[10][10];并通过键盘为a输入数据;而后找出a数组内处于“四边”的36个元素(0行与9行、0列与9列的那些元素)中满足如下条件的所有数据d并显示在屏幕上 -- d是3的倍数但并非偶数。

2.(10分)编程序,解决搬砖问题。

有36块砖,由成年男、女和小孩共36人来搬,男子每人搬4块,女子每人搬3块,两个小孩抬一块,要求一次全搬完,问需要男、女、小孩各几人。

相关文档
最新文档