程序设计基础07-08春试题及答案
2008年春等级考试(一级)第六场试卷UMEB答案及分章
2008年(春)江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试一级(本试卷答题时间为100分钟)试卷密码:UMEB试卷代号:IT06考生须知:1.请考生准确无误地输入“准考证号”、“姓名”、“试卷密码”,确认后进入考试。
2.在未完成所有考试项目之前,不得按“交卷”按钮;一旦按“交卷”按钮,考生则不得再次进入考试系统。
一、基础知识必做题(共45题)[1]. 文档是程序开发、维护和使用所涉及的资料,是软件的重要组成部分之一。
A.正确B.错误[2]. 使用Windows2000或Windows XP,如果要查看当前正在运行哪些应用程序,可以使用的系统工具是________。
A.资源管理器B.系统监视器C.任务管理器D.网络监视器[3]. 在域名系统中,每个域可以再分成一系列的子域,但最多不能超过____5______级。
[4]. 计算机常用的输入设备为键盘、鼠标,常用的输出设备有显示器、打印机。
A.正确B.错误[5]. 计算机中总线的重要指标之一是带宽,它指的是总线中数据线的宽度,用二进位数目来表示(如16位,32位总线)。
A.正确B.错误[6]. 中文Word是一个功能丰富的文字处理软件,下面的叙述中错误的是________。
A.在文本编辑过程中,它能做到“所见即所得”B.在文本编辑过程中,它不具有“回退”(Undo)功能C.它可以编辑制作超文本D.它不但能进行编辑操作,而且能自动生成文本的“摘要”[7]. 在计算机中描述景物结构、形状与外貌,然后将它绘制成图像显示出来,这称为_____。
A.位图B.点阵图像C.扫描图像D.合成图像(图形)[8]. 喷墨打印机的耗材之一是_墨水_______,它的使用要求很高,消耗也快。
[9]. PC机的主存储器是由许多DRAM芯片组成的,目前其完成一次存取操作所用时间的单位是____ms____。
[10]. 计算机病毒也是一种程序,它在某些条件下激活,起干扰和破坏作用,并能传染到其它计算机。
2007级等级考试《C语言程序设计》基础知识练习8k
2007级等级考试《C语言程序设计》基础知识练习50101、在C语言源程序中,以下叙述正确的是()。
答案:CA、main函数必须位于文件的开头B、每行只能写一条语句C、程序中的一个语句可以写成多行D、每个语句的最后必须有点号50102、关于C语言的源程序的叙述中,错误的是()。
答案:CA、C语言的源程序由函数构成B、main函数可以书写在自定义函数之后C、必须包含有输入语句D、一行可以书写多个语句50103、关于C语言数据类型的叙述,正确的是()。
答案:CA、枚举类型不是基本类型B、数组不是构造类型C、变量必须先定义后使用D、不允许使用空类型50104、C程序中main函数的位置()。
答案:CA、必须在最开始B、必须在系统库函数后面C、可以在自定义函数后面D、必须在最后50105、C语言的函数体由()括起来。
答案:BA、()B、{ }C、[ ]D、/* */50106、关于C语言的叙述中,不正确的是()。
答案:DA、C程序可由一个或多个函数组成B、C程序必须包含一个main()函数C、C程序的基本组成单位是函数D、注释说明只能位于一条语句的后面50107、以下叙述不正确的是()。
答案:DA、C程序的执行总是从main函数开始B、一个C源程序必须包含一个main函数C、C语言程序的基本组成单位是函数D、在编译C程序源程序时,可发现注释中的拼写错误50108、结构化程序设计的三种基本结构是()。
答案:CA、函数结构、分支结构、判断结构B、函数结构、嵌套结构、平行结构C、顺序结构、分支结构、循环结构D、分支结构、循环结构、嵌套结构50109、对于C语言源程序,以下叙述错误的是()。
答案:CA、可以有空语句B、函数之间是平等的,在一个函数内部不能定义其它函数C、程序调试时如果没有提示错误,就能得到正确结果D、注释可以出现在语句的前面50201、下面关于C语言用户标识符的描述,正确的是()。
答案:DA、不区分大小写B、用户标识符不能描述常量C、类型名也是用户标识符D、用户标识符可以作为变量名50202、以下()是正确的变量名。
上海交通大学 2007-2008学年 程序设计基础(C++)期末考试试卷(附答案)
pt3=pt2;//A
strcpy(pt1, pt2); //B
strcpy(pt2, pt3);//C
cout<<pt2;//D
}
9下列定义或者声明语句哪个是不正确的(D)
A void* f(int a[], int n);
B void* (*f)(int a[], int n);
3写出运行结果:
#include<iostream>
using namespace std;
void foo( int &c){
static a=1;
c+=a++;
}
void main()
{
int a;
int &b=a;
a=10;
foo(a);
cout<<a<<endl;
foo(++b);
cout<<a<<endl;
A break语句只应用于循环体中
B continue语句只应用于循环体中
C break是无条件跳转语句,continue不是
D break和continue的跳转范围不够明确,容易产生问题
4.有如下定义语句:int a[]={1,2,3,4,5};,则对语句int *p=a;正确的描述是(B)。
A语句int *p=a;定义不正确
一、选择填空:(每题1分,共10分)
1.已知各变量的类型说明如下:
inta=1,b=2;
double x=1.42;
则以下不符合C++语言语法的表达式是(D)
2007-2008年c语言考试A卷
吉林大学农学部2007—2008学年第二学期《C 语言程序设计》考试试卷(A 卷)(考试时间:120分钟,本卷共3页,共印 份)10道小题,每道小题2分,满分20分)1.下列叙述中不正确的是( )A) 一个C 源程序可由一个或多个函数组成 B) 一个C 源程序必须包含一个main 函数 C) C 程序的基本组成单位是函数D) 在C 程序中,注释说明只能位于一条语句的后面2.若有定义:int a=7; float x=2.5, y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( ) A) 2.500000 B) 2.750000 C) 3.500000 D) 0.000000 3.若有代数式bcae 3,则不正确的C 语言表达式是( )A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*34.若有定义:int m=5, y=2; 则计算表达式y + = y - = m * = y 后的y 值为( ) A) -15 B) -8 C)10 D) -165.执行以下程序段后,变量a, b, c 的值分别是( ) int x=10, y=9; int a,b,c;a = (--x= =y++) ? - -x : ++y; b=x++; c=y;A) a=9,b=9,c=9 B) a=8,b=8,c=10 C) a=9,b=10,c=9 D) a=1,b=11,c=10 6.有以下程序 main() { int i;for(i=0;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } }执行后输出结果是( ) A) 011122 B) 012 C) 012020 D) 120 7.下面程序的运行结果是( ) int x=-1; do{ x=x*x; } while(!x);A) 是死循环 B) 循环执行二次 C) 循环执行一次 D) 有语法错误 8.若有以下程序段: … …int a[]={4,0,2,3,1}, i, j, t; for(i=1; i<5; i++) {t=a[i]; j=i-1;while(j>=0 && t>a[i]) {a[j+1]=a[j]; j--; }a[j+1]=t; }… …则该程序段的功能是( )A) 对数组a 进行插入排序(升序) B) 对数组a 进行插入排序(降序) C) 对数组a 进行选择排序(升序) D) 对数组a 进行选择排序(降序)9.若二维数组a 有m 列,则计算任一元素a[i][j]在数组中位置的公式为( )。
C语言程序设计2007~2008学年第二学期期末考试试卷(A)
。
整型常量整型表达式 整型常量或整型表达式任何类型的表达式
、
若二维数组有列,则在前的元素个数为
。
、 以下叙述中不正确的是。
在中,函数中的自动变量可以赋初值,每调用一次,赋一次初值 在中,在调用函数时,实参和对应形参在类型上只需赋值兼容 在中,外部变量的隐含类别是自动存储类别 在中,函数形参可以说明为变量
、 以下程序运行后输出结果是 () () ()
大厦白蚁预防工程承包合同合同签订版
、 以下程序运行后输出结果是 ❖❖
、 以下程序运行后输出结果是
四、 程序设计题共分
得分 评阅人
某班级学生进行百米跑测试,规定成绩在秒以内(含秒)为优秀,在 秒以上至秒为达标,在秒以上为不达标,编一程序,从键盘上输入每个 人的成绩,以作为输入变量,并以小于的任何数作为终止标志,分别用变量 和统计出成绩为优秀、达标和不达标的人数。
、 以下正确的函数原型语句是。
、 循环体至少被执行一次的语句为。
循环循环循环 任一种循环
、 在下面循环语句中内层循环体语句的执行总次数为。
、 函数调用不可以。
出现在一个表达式中 出现在执行语句中 作为一个函数的实参 作为一个函数的形参
大厦白蚁预防工程承包合同合同签订版
、 将两个字符串连接起来组成一个字符串时,选用函数。
大厦白蚁预防工程承包合同合同签订版
试卷编号:卷
课程编号:课程名称:语言程序设计考试形式: 闭卷
适用班级:全校非计算机专业姓名:学号: 班级:
学院:专业: 考试日期:、、
题号 一 二 三 四 五 六 七 八 九 十 总分 累分人
题分 得分
签 名
考生注意事项:、本试卷共页,请查看试卷中是否有缺页或破损。如有立 即举手报告以便更换。
2007级程序设计基础(一)期末考试参考答案A卷
2007级《程序设计基础(一)》期末考试参考答案(A卷)一、单选题:(每题1分,共20分)1. D2. A3. C4. B5. A6. C7. D8. A9. D10. B11. B12. B13. A14. B15. C16. B17.C 18. D19. C 20. C二、程序阅读题:(每题4分,共24分)1.j=82. 2 4 0 8 103.9*7*8*5*3*4.before swap a[0]=5,a[1]=7after swap a[0]=5,a[1]=75.61231116. 0 3 6 91 4 7 102 5 8 113 6 9 12三、改错题:(每题5分,共15分)1.#include <stdio.h> -----------1分void fun(char s[],char c); -----------1分void fun(char s[],char c) -----------1分{int i,j;for(i=j=0;s[i];i++)if(s[i]!= c)s[j++]=s[i]; ----------1分s[j]='\0'; ----------1分}2.#include <stdio.h>int plus(int ,int); ----------0.5分void main(){int x,y,z; ----------1分scanf("%d,%d",&x,&y); ----------1分z=plus(x,y); ----------0.5分printf("The sum is %d",z);}int plus(int a,int b) ----------1分{int c; ----------1分c=a+b;return c;}3.#include <stdio.h>int fun(float x[],int n){int i,c=0; ----------1分float xn=0; ----------1分for(i=0;i<n;i++)xn=xn+x[i]/n; ----------1分printf("average=%.2f\n",xn); ----------1分for(i=0;i<n;i++)if(x[i]>=xn) ----------1分c++;return c;}四、程序填空:(每空2 分,共16分)⑴flag*1.0/k ⑵flag*=-1(或flag=-flag)⑶top<=bottom ⑷(top+bottom)/2 ⑸key>list[mid] ⑹return mid (或index=mid;break;)⑺x ⑻x*(1-px(x,n-1))五、程序设计题:(第1小题5分,第2小题8分,第3小题12分,共25分)1.#include <stdio.h>void main(){int x,max;printf("input a group of integer end of 0:\n");scanf("%d",&x); ----------1分max=x; ----------1分while(x!=0) ----------1分{scanf("%d",&x);if(max<x) ----------1分max=x;}printf("max=%d\n",max); ----------1分}2.#include <stdio.h>void main(){int i,j,k; ----------1分for(i=1;i<100;i++) ----------1分for(j=1;j<10;j++) ----------2分{k=100-i-j; ----------1分if(i*0.4+j*4+k*0.2==40&&k>0) ----------2分printf("苹果%3d,西瓜%3d,梨%3d\n",i,j,k); ----------1分}}3.#include <stdio.h>#define N 10void sort(int [],int); ----------0.5分void insert(int [],int,int); ----------0.5分void main(){int i,key,a[N+1];for(i=0;i<N;i++) ----------1分scanf("%d",&a[i]);sort(a,N); ----------0.5分printf("排序后:\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n请输入要插入的数:");scanf("%d",&key);insert(a,key,N+1); ----------0.5分printf("\n插入后:\n");for(i=0;i<N+1;i++) ----------1分printf("%5d",a[i]);}void sort(int a[],int n){int i,j,temp;for(i=0;i<n-1;i++) ----------1分for(j=0;j<n-1-i;j++) ----------1分if(a[j]>a[j+1]) ----------1分{temp=a[j]; ----------1分a[j]=a[j+1];a[j+1]=temp;}}void insert(int a[],int k,int n){int i,j;for(i=0;i<n-1;i++) ----------1分if(k<a[i]) ----------1分break;for(j=n-1;j>i;j--) ----------1分a[j]=a[j-1];a[i]=k; ----------1分}。
程序设计基础理论练习题(带答案)
程序设计基础理论练习题(带答案)程序设计基础理论练习题(带答案)1. 编程语言的发展历程从机器语言到高级语言的发展,现代计算机编程语言的分类和特点。
答案:编程语言的发展经历了多个阶段。
最早的计算机只能使用机器语言进行编程,这是一种由0和1组成的二进制代码。
随着计算机的发展,高级语言逐渐出现。
高级语言通过使用更接近自然语言的语法和结构,使得编程更加易于理解和用户友好。
现代计算机编程语言多种多样,比如C、Java、Python等。
它们各自有着不同的特点和用途。
2. 数据类型与变量不同编程语言中常见的数据类型和变量的定义、使用方法。
答案:不同编程语言中常见的数据类型包括整数、浮点数、布尔值、字符和字符串等。
变量用于存储不同类型的数据。
在大部分编程语言中,变量需要先定义,然后才能使用。
定义变量时需要指定变量名和数据类型。
变量名是用于标识变量的名称,而数据类型决定了变量可以存储的值的种类和范围。
使用变量时可以给其赋值或者读取其值。
3. 运算符常见的运算符有哪些?它们的功能和使用方法是什么?答案:常见的运算符包括算术运算符、比较运算符、逻辑运算符和赋值运算符等。
算术运算符包括加、减、乘、除、取余等,用于执行基本的数学运算。
比较运算符用于比较两个值的大小关系,包括等于、大于、小于等。
逻辑运算符用于处理布尔值,比如与、或、非等。
赋值运算符用于将一个值赋给一个变量。
4. 控制流程程序中常见的控制流程结构,包括条件判断和循环结构。
答案:程序中常见的控制流程包括条件判断和循环结构。
条件判断结构用于根据某个条件的真假来决定执行不同的代码段。
常见的条件判断结构有if语句和switch语句。
循环结构用于反复执行某段代码,直到满足某个条件才停止。
常见的循环结构有while循环、do-while循环和for循环。
5. 函数和模块函数和模块的定义和使用方法,函数的参数传递和返回值。
答案:函数是一段封装了特定功能的代码块,可以被反复调用。
C语言程序设计2007~2008学年第二学期期末考试试卷(A)
南昌大学2007~2008学年第二学期期末考试试卷6、在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
7、以下程序main(){int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i〈4;i++) s+=aa[i][1];printf(%d\n,s);}程序运行后的输出结果是________________。
8、以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符。
请填空。
char fun(char ch){if(ch= =’Z’) ch=__________;else if(ch〉='A’&&ch<=’Y’) ch=__________;return ch;}9、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数.#include 〈stdio。
h>void main(void){int i, j;for(i=0; i〈10; i++) {j = i*10+6;if (_____ _____ ) continue;printf(”%d ”,j);}}10、以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9—10,并输出结果。
请填空。
int fun(int n){int m=0,f=1,i;for(i=1;i<=n;i++){m+=i*f;f= __________ ;}return m;}main(){printf("m=%d\n”,________ __);}11、下面程序段是输出两个字符串中对应字符相等的字符。
请选择填空.char x[]=”programming”;char y[]=”Fortran”;int i=0;while (_______________ __ __){if (x[i]==y[i]) printf ("%c”,x[i]);else i++;}}12、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和.请填空。
2008年春07级c期末试卷a卷
2008年07级C程序设计期末考试卷(A)[注意] 所有答案写在单张的答题卷上。
一、判断题(本题共10分,每小题1分,用A表示正确,用B表示错误。
)(1) C语言程序的变量必须先定义再使用。
(2) do-while语句构成的循环不能用其他语句构成的循环来代替。
(3) C语言规定,函数的实参应与其对应的形参类型一致。
(4) C语言认为名为Student和student的变量是不同变量。
(5) 当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。
(6) 如果定义了int a[10],那么使用语句a[10]=10可以给数组元素a[10]初始化。
(7) 用关键字static声明的变量是全局变量,在整个程序的全部执行过程中都占用存储单元。
(8) 如果a=1,b=2,c=3,d=4则表达式a>b?c:d的值等于3。
(9) 如果a=15,那么执行a=a>>2以后,a的值就变成了3。
(10) 结构体成员的类型可以是另外一种结构体类型。
二、单选题(本题共20分,每小题2分)(11) 假设有以下定义:int a=0xAA,b=0x55,则a & b 的值为:________。
[A] 0x0 [B] 0xff[C] 0x01 [D] 0xAA(12) 假设有以下定义:int a[5]={1,2,3,4,5},i=3,*p=a , *q=a; 则不能正确执行的语句是________。
[A] i=*p +*q; [B] a=i;[C] *p = *(a+i); [D] i = *p**(q+2);(13) 以下有关宏定义的叙述,正确的是________。
[A]宏名必须用大写字母表示[B]带参数的宏就是一个函数[C]宏名不具有类型[D]宏定义和其它C语句,其末尾要加分号(14) 若用数组名作为函数调用时的参数,则实际上传递给形参的是________。
[A] 数组第一个元素的值[B] 数组元素的值[C] 数组的首地址[D] 数组名1第页(共7 页)(15) 如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是________。
2008级电气类程序设计试题答案
2008级计算机程序设计基础试题参考答案(A卷)一.写出下列语句、表达式、程序的运行结果(每空2分,共24分)1.12.1, 23.44.6,7 5.06.9 7.3.5 8.199.-1 10. 6,9二.下列各程序中每个程序各有2个错误,指出错误语句,并将正确语句写在旁边(每小题4分,共20分)1.文件开头加<math.h>float c;写在a=2; b=3;之前2.scanf (“ %f ”,a); 改成scanf(“ %f ”,&a);b=5/8*(a-12); 改成b=5.0/8*(a-12);3.在子函数f中:加语句if(m= =0) a=1;和语句return(a);4.变量定义中加语句int sum=0;for(i=1;i<=3;i++) 改为for(i=0;i<3;i++)5. 将语句y=2x; 改为y=2*x;在语句 y=2x;之前加 {在语句printf(“%d”,y); 之后加 }三.简答题(每小题6分,共18分)1.while循环是首先判断循环条件是否成立,若成立则执行循环,若不成立循环则一次也不执行;do-while循环是先执行循环,再判断循环条件是否满足,若满足则继续执行循环,若不满足则终止循环的运行。
在do-while循环中,循环体至少要执行一次。
2.break语句是当break语句前的判断条件成立时,立即结束循环,跳出循环体,不再进行条件判断;continue语句是当continue语句前的判断条件成立时,结束本次循环,跳过本次循环体下面尚未执行的语句,接着“增”或“减”循环控制变量,再继续判断条件是否满足。
3.*(p++)是先取*p的值,后使p加1,对本例即先得到a[0]的值,然后p 指针指向a[1];*(++p)使先使p加1,后取*p的值,对本例即p指针指向a[1],再得到a[1]的值。
四.下列各程序中,有若干条语句未被写出。
电大历年试题及答案近十套《程序设计基础》专
试卷代号:2182中央广播电视大学2013-2014学年度第一学期“开放专科”期末考试程序设计基础试题一、单项选择题(每空2分.共30分)1.当代计算机的最主要的体系结构称为是( )。
A.冯·诺依曼机 B.非冯·诺依曼机C.图灵机 D.PASCAL机2.现代电子计算机诞生的理论基础是( )。
A.图灵机 B.图灵测试c.冯·诺依曼机 D.邱奇论题3.计算机软件是指( )。
A.计算机程序B.源程序和目标程序C.源程序D.计算机程序及其有关文挡4.计算机能直接执行的语言是( )。
A.机器语言 B.汇编语言C.高级语言 D.目标语言5.JAVA语言的类别是( )。
A.面向过程的程序设计语言B.面向问题的程序设计语言C.面向对象的程序设计语言D.面向硬件的程序设计语言6.在C语言中,字符串常量的定界符是( )。
A.空格 B.单引号C.双引号 D.方括号7.C语言中int变量能够表示的数值范围是( )。
A.—32767—32768B.-32768~32767C. 0~65535D. O -655368.C语言中的循环控制语句中属于“直到型”循环的语句是().A。
goto B. whileC.for D.do—while9.数据的存储结构分为两种,它们是( ).A.线性存储和数组存储 B.顺序存储和链式存储C.线性存储和树型存储 D.数组存储和指针存储10.如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过()。
A.元素在内存中的相对位置表示逻辑次序B.保存在元素中的指针表示先后次序C.设立单独的区域存储元素之间的逻辑次序D.元素本身的关键字来表示逻辑次序11.栈的最主要特点是( )。
A.先进先出 B.先进后出C.两端进出 D.一端进一端出12.数据结构主要研究下面3方面的内容( ).A.数据的逻辑结构、存储结构和运算B.数据的线性结构、树型结构和图结构C数据的顺序存储、链式存储和散列存储D.数据的线性结构和非线性结构,以及相关运算13。
五邑大学2007-2008 JAVA试题A答案
一、单项选择题(2分/题,共30分)1.在创建对象时必须(C)A、先声明对象,然后才能使用对象B、先声明对象,为对象分配内存空间,然后才能使用对象C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D、上述说法都对2.下列叙述错误的是( D )A、成员变量在整个类内有效。
B、局部变量只在定义它的方法内有效。
C、成员变量与它在类体中书写的位置无关。
D、局部变量与它在类体中书写的位置无关。
3.在调用方法时,若要使方法改变实参的值,可以( B )A、用基本数据类型作为参数B、用对象作为参数C、A和B都对D、A和B都不对4.下列那个叙述是正确的( B )A、Java应用程序由若干个类所构成,这些类必须在一个源文件中。
B、Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
C、Java源文件必须含有主类。
D、Java源文件如果含有主类,主类必须是public类。
5.正确的数组声明与创建是( B )A、int boy[][4]B、int boy[][]=new int[3][4]C、int boy[3][4]=new int [ ][]D、int boy[3][4]6.下列哪个是Java应用程序主类中正确的main方法?(D )A、public void main(String args[])B、static void main(String args[])C、public static void Main(String args[])D、public static void main(String args[])7.下列那个叙述是正确的?( D )A、final类可以有子类。
B、abstract类中只可以有abstract方法。
C、abstract类中可以有非abstract方法,但该方法不可以用final修饰。
D、不可以同时用final和abstract修饰同一个方法。
浙江理工大学2008年春07级c期末试卷a卷(含答案)详解
2008年07级C程序设计期末考试卷(A)一、判断题(本题共10分,每小题1分,用A表示正确,用B表示错误。
)(1) C语言程序的变量必须先定义再使用。
(2) do-while语句构成的循环不能用其他语句构成的循环来代替。
(3) C语言规定,函数的实参应与其对应的形参类型一致。
(4) C语言认为名为Student和student的变量是不同变量。
(5) 当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。
(6) 如果定义了int a[10],那么使用语句a[10]=10可以给数组元素a[10]初始化。
(7) 用关键字static声明的变量是全局变量,在整个程序的全部执行过程中都占用存储单元。
(8) 如果a=1,b=2,c=3,d=4则表达式a>b?c:d的值等于3。
(9) 如果a=15,那么执行a=a>>2以后,a的值就变成了3。
(10) 结构体成员的类型可以是另外一种结构体类型。
二、单选题(本题共20分,每小题2分)(11) 假设有以下定义:int a=0xAA,b=0x55,则a & b 的值为:________。
[A] 0x0 [B] 0xff[C] 0x01 [D] 0xAA(12) 假设有以下定义:int a[5]={1,2,3,4,5},i=3,*p=a , *q=a; 则不能正确执行的语句是________。
[A] i=*p +*q; [B] a=i;[C] *p = *(a+i); [D] i = *p**(q+2);(13) 以下有关宏定义的叙述,正确的是________。
[A]宏名必须用大写字母表示[B]带参数的宏就是一个函数[C]宏名不具有类型[D]宏定义和其它C语句,其末尾要加分号(14) 若用数组名作为函数调用时的参数,则实际上传递给形参的是________。
[A] 数组第一个元素的值[B] 数组元素的值[C] 数组的首地址[D] 数组名(15) 如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是________。
五邑大学2007-2008 JAVA试题B答案
单项选择题(2分/题,共30分)1.下列哪些类声明是错误的( D )A、class AB、public class AC、abstract class AD、protected class A2.定义一个接口必须使用的关键字是( C )A、publicB、classC、interfaceD、static3.访问权限是指对象是否可以通过“.”运算符操作自己的变量,或通过“.”运算符使用类中的方法,下列那个不是访问限制修饰符( A )A、staticB、publicC、privateD、ptotected4.下列描述错误的是( D )A、上转型对象不能操作子类新增的成员变量B、上转型对象不能操作子类新增的方法C、上转型对象可以操作子类继承或隐藏的成员变量D、上转型对象不能操作子类重写的方法5.JFrame对象默认的布局管理器是( B )A、FlowLayoutB、BorderLayoutC、CardLayoutD、null6.定义类头时能使用的修饰符是( C )。
A、privateB、staticC、abstractD、protected7.下列哪一个import命令可以使我们在程序中创建输入/输出流对象( C )A、import java.sql.*;B、import java.util.*;C、import java.io.*;D、import .*;8.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象( A )A、FileInputStreamB、FileOutputStreamC、DataOutputStreamD、FileWriter9.下列描述错误的是(B )A、abstract类不可以用new运算符创建对象B、允许使用final修饰abstract方法C、 abstract方法只允许声明,不允许实现D、abstract类可以有abstract方法。
10.以下关于继承的叙述正确的是( A )。
2007-2008C语言程序设计期末试卷及参考答案
2007-2008C语言程序设计期末试卷第一部分:客观题一、单项选择题(共30题,1分/题,共30分)下列各题A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂在机读卡相应位置上,答在试卷上不得分。
1、C语言源程序构成的基本单位是(B)。
A.文件B.函数C.过程D.主函数2、下列哪个选项是C语言提供的合法保留字(A)。
A.mainB.IntC.cherD.max3、下列常量表示中哪个选项不符合C语言的规定(D)。
A.1LB.0123C.12e-2D. 'ab'4、执行下面程序段后,变量y的数据类型是(B)。
int x;float y=9.6; x=(int)y+ 'a';A.intB.floatC.charD.不确定5、语句a=(a=9,a+10,a*2);运行后,变量a的值是(B)。
A.9B.18C.19D. 386、执行下面程序段后,变量a,b,c的值分别是(D)。
int a,b,c; a=b=0; c=(++a<=0)&&(b=1)A.1,1,1B.1,0,1C.1,1,0D.1,0,07、设有定义int a=2;,执行语句a+=a-=a*=a;后,变量a的值是(A)。
A.0B.4C.8D.-48、设有定义int n=010,i=3;,执行语句n%=i+1;后,变量n的值是(A)。
A.0B.1C.2D.39、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(B)。
A.k++B.k+=1C.++kD.k+110、执行下面程序段后,变量k的值是(B)。
int k,m=1,n=2;if(m>n) k=m>n;else k=m<=n;A.0B.1C.m<=nD.赋值语句有错,编译不能通过11、若下列选项中的标识符已经定义,则正确的赋值表达式是(C)。
A.x1=25.5%2B.a=b+3+=1C.x=f(x)+3D.f(x)=f(x-1)+f(x-2)12、下面程序段的输出结果是(B)。
《程序设计基础》试卷B及答案
黄淮学院计算机科学系2007-2008学年度第一学期期末考试《程序设计基础》B 卷注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。
1.__ ____函数是程序启动时惟一的入口。
2.算法的复杂性包含两方面: 和。
3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。
4.数值0x34对应的十进制为 。
5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。
6.面向对象程序开发步骤为: 、 和面向对象实现。
1.下列程序设计语言中( )是面向对象语言。
A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。
A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。
A. 自底向上,逐步求精B. 自顶向下,逐步求精C. 自底向上,同步扩展D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。
int a=4, &z=a, k=3; a=k; z+=2; k++;A. 0B. 4C. 1D. 5 5.以下程序执行后,屏幕输出为( )。
#include “iostream.h ” void fun(int d) {d++;}void main() { int d=3; fun(d); d++; cout<<d<<endl; } A. 3 B. 4 C.5 D. 6 6.执行下列语句后a 的值为( )。
char a(‘a ’),b(‘b ’); a+=(‘a ’!=’A ’)+ (‘b ’==’B ’)+(b-a==3);A. 2B. ‘b ’C. cD. ‘c ’7.判断char 型变量d 是否为小写字母的正确表达式为( )。
上海交通大学 2007-2008学年 程序设计基础(C++)期末考试试卷(附答案)
一、选择填空:(每题1分,共10分)1.已知各变量的类型说明如下:int a=1,b=2;double x=1。
42;则以下不符合C++语言语法的表达式是( D)A.b=x>a?3:4;B.x+=b;C.x=(a=2, a+b);D.x%3;2.下面的循环体哪个执行的次数与其他不同(C )A for(i=0; i<10; i++){cout<〈i<<" "; }B for(i=10; i>=1;i——){cout〈<i〈<” ";}C i=10; do { cout<<i<〈" "; }while(i——>0);D i=0;while(++i<=10){cout<〈i<<” ";}3.C++语言的跳转语句中,对于break和continue说法正确的是(B ):A break语句只应用于循环体中B continue语句只应用于循环体中C break是无条件跳转语句,continue不是D break和continue的跳转范围不够明确,容易产生问题4.有如下定义语句:int a[]={1,2,3,4,5};,则对语句int *p=a;正确的描述是(B).A 语句int *p=a;定义不正确B 语句int *p=a;初始化变量p,使其指向数组对象a的第一个元素C 语句int *p=a;是把a[0]的值赋给变量pD 语句int *p=a; 是把a[1]的值赋给变量p5.当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( B ).A ios::in|ios::appB ios::out|ios::truncC ios::in | ios::outD 没有6 若有以下定义和语句,则不能合法表示a数组元素的是:( D ) char a[]="abcdefg”;int *p=a;A p[7]B a[p—a]C *aD a[8]7 以下所列的各函数原型中,正确的是:(C)A void play(int a,b);B void* play(int a, int b=1, double c);C int* play(int *a,int *b[]);D int* play(int a;int b[ ]);8 下列程序中错误的语句是:(B)#include<iostream>#include〈cstring〉using namespace std;main(){char *pt1=”1234";char pt2[]=”12";char *pt3="34";pt3=pt2; //Astrcpy(pt1,pt2);//Bstrcpy(pt2, pt3); //Ccout〈〈pt2; //D}9 下列定义或者声明语句哪个是不正确的(D )A void* f(int a[],int n);B void*(*f)(int a[], int n);C void*(*f[10])(int a[],int n );D void f (int a[],int n)[10];10 下列语句正确的是(A )A char a[2]={’a'};B char 3a='\0’;C char a[]=’ab c’;D char a= ”\0”;二、程序理解:(每题4分,共32分)1 写出下面函数的功能void foo(char* fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、改错程序(8 分,每错误点 2 分)
下列程序各有两个错误(两个错误分别是在不同的行上,并只在有 注解行号所标注的行上) ,按原来程序的要求,纠正错误,并将错 误所在行号以及错误行完整的正确内容写在答卷纸的对应栏内。 (1)以下程序是在 5 个字符串中求最小字符串并输出结果。 #include <string.h> #include <stdio.h> main() { char *min,*s[5]={ “int”,“short”,“long”,“char”, “float” }; int i; /*1*/ min=s[0]; /*2*/ for ( i=1; i<5; i++) /*3*/ if( min>s[i] ) /*4*/ min=s[i]; /*5*/ printf("%s\n", *min); } (2)以下程序从输入的 10 个整数中找到并输出正好出现 2 次的数 (该数只输出一次) ,如没有这样的数,则输出 No。 #include <stdio.h> main() { int a[10], i, j, count, yn; for(i=0; i<10; i++) scanf(“%d”, &a[i]); /*1*/ for(count=i=0; i<10; i++) { /*2*/ for(yn=j=0; j<10; j++) /*3*/ if(a[i]==a[j]) /*4*/ if(i>j) break; /*5*/ else count++; /*6*/ if(count==2) { /*7*/ printf(“%d”, a[i]);
(073 试卷) 1 / 13
(strlen( ) 为求字符串长度的库函数,sizeof 为求对象存储字节 数的运算符) 。 10.定义 struct student { int num; char name[20];} st[3]; FILE *fp; fp 已以文本方式打开文件写,试写一条语句:将 st[2] 的各成员的值写到文件 fp 中。
(073)上海大学 2007-2008 年春季学期试卷
2008.6
课程名:程序设计基础(C) 课程号:00863006 学分:5
应试人声明: 我保证遵守《上海大学学生手册》中的《上海大学考场规则》 ,如有考试违纪、作弊行 为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。
学号: 题号 题分 得分 一 21
(073 试卷) 8 / 13
创建并插入新结点到链表表尾; 函数 reverse 实现将头指针为 head 的链表的链接顺序颠倒的功能;函数 list 输出头指针为 head 的链 表信息。 #include <stdlib.h> #include <stdio.h> struct node { char data; struct node *next; }; struct node *insert(struct node *head, char ch) { /* 创建并插入新结点到链表表尾 */ struct node *p, *q; p=(struct node *)malloc(sizeof(struct node)); p->data=ch; p->next=NULL; if( head==NULL ) return p; for( q=head; (4) ; q=q->next ); q->next=p; return head; } struct node *reverse(struct node *head) { /* 颠倒链表的链接顺序 */ struct node *p, *q1,*q2; q2=head; q1=NULL; while( q2!=NULL ) { p=q2->next; q2->next=q1; q1=q2; ; q2= (5) } head= (6) ; return head;
(073 试卷) 5 / 13
fib( n-2, &f1 ); fib( n-1, &f2 ); *s=f1+f2; } } main() { long fn; int n; scanf( “%d”, &n ); fib( n, &fn ); printf( “f(%d)=%ld\n”, n, fn ); } 输入:9 输出:? (9)程序 #include <stdio.h> main() { FILE *fp; int i,a[10] = { 11,22,33,44,55,66,77,88,99,100 }; fp = fopen( "test.dat", "wb" ); fwrite( a, sizeof(int), 10, fp ); fclose( fp ); fp = fopen( "test.dat", "rb" ); for ( i = 0; i < 4; i++ ) fread( &a[i+3], sizeof(int), 1, fp ); for ( i = 0; i < 3; i++ ) fread( &a[i+1], sizeof(int), 1, fp ); fclose( fp ); for ( i = 0; i < 10; i++ ) printf( "%d ", a[i] ); } 假设文件操作总是成功。 输出:?
(073 试卷) 7 / 13
/*8*/ }
yn=1; } if(yn==0) printf(“No.”); printf(“\n”); }
四、程序填空(12 分,每填空 2 分)
阅读下列问题描述和相应的 C 程序,把应填入其中 (n) 处的 内容写在答卷纸的对应栏内。 (1) 以下程序用二分法在一个各元已按升序排序的整型数组中查找 某个数。若存在,输出该数及它的下标位置;若不存在,输出表示 找不到该数的信息。 main ( ) { int low, high, m, x; int a[10]={ -54, -34, -8, 0, 3, 12, 25, 56, 68, 98 }; scanf (“%d”, &x); low=0; high=9; while (low<=high) { m=(low+high)/2; ; if ( x==a[m] ) (1) else if ( (2) ) low=m+1; else high=m-1; } ) if ( (3) printf (“%d position is %d\n”, x, m); else printf(“%d is not found.\n”, x); } (2)以下程序读入一行字符,且每个字符存入一个结点,按输入 顺序建立一个链表的结点序列,并输出该行字符,然后反序链表的 结点序列,再输出反序的该行字符。其中,函数 insert 的功能是
(073 试卷) 3 / 13
int run( int *p ) { int i, r=0; for( i=0; *(p+i)!=0; i+=2 ) switch( *(p+i) ) { case 1: r+=*(p+i+1); break; case 2: r-=*(p+i+1); break; case 3: r*=*(p+i+1); break; case 4: r/=*(p+i+1); } return r; } main() { int a[]={ 2, 100, 4, 4, 1, 50, 3, 5, 0, 0 }; printf( “%d\n”, run(a) ); } 输出:? (6)程序 #include <stdio.h> int n=0; int func( int x ) { int y=1; static int z=1; y+=x; z+=x; printf( “%d: %d,%d,%d\n”, ++n, x, y, z); } main() { int i=0; while( i++<3 ) func(i); printf( “Total: %d\n”, n );
姓名: 二 36 三 8 四 12
学院/教师: 卷面 77 上机 23 总分 100
考生须知: 1. 试卷和答题纸上的”学号、姓名、学院、教师”都要填上; 2. 所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上; 3. 不遵守上述要求者考试成绩将为零分。 4. 本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分为上 机分,考试成绩为卷面); } } 输入: abcd 输出:? (3)程序 #include <stdio.h> main() { int i = 1; while ( i<=15 ) if( ++i%3!=2 ) continue; else printf( “%d ”, i ); printf( “\n” ); } 输出:? (4)程序 #include <stdio.h> main() { int a[3][3]={ 1,3,6,7,9,11,14,15,17 }; int i,j,s; for( s=i=0, j=2; i<3; i++, j-- ) s+=a[i][j]; printf( “%d,”, s ); for( s=i=j=0; j<3; i++, j++ ) s+=a[i][j]; printf( “%d\n”, s ); } 输出:? (5)程序 #include <stdio.h>