西交大《程序设计基础》试题及答案

西交大《程序设计基础》试题及答案
西交大《程序设计基础》试题及答案

西交大《程序设计基础》试题及答案

一、单项选择题(本大题共20小题,每小题2分,共40分)

1.int a[10];合法的数组元素的最小下标值为()。A:10 B:9 C:1 D:0 答案:D

2.以下运算符中优先级最低的是()。A:&& B:& C:|| D:| 答案:C

3.若使用一维数组名作函数实参,则以下正确的说法是()。A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A

4.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是()。

A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C

5.对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是()。A:将5个初值依次赋给a[1]至a[5]

B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[6]至a[10]

D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B

6.下列程序的输出结果是()。main()

{ int x=1,y=0,a=0,b=0; switch(x) {

case 1:switch(y) {

case case } case 2:a++;b++;break; case 3:a++;b++;break; }

printf(\} A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 答案:B

7.下列程序的输出结果为()。main() {int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(\

0:a++;break; 1:b++;break;

}

A:27.000000 B:27.500000 C:28.000000 D:28.500000 答案:A

8.若k为int型变量,则以下程序段的执行结果是()。k=-8567; printf(\A:格式描述符不合

法,输出无定值B:输出为|D| C:输出为|0-8567| D:输出为|-8567| 答案:B

9.下列程序段的输出结果为()。int x=3,y=2;

printf(\A:1 B:7 C:3 D:5 答案:C

10.char a[]=\输出前5个字符的语句是()。A:printf(\B:puts(a); C:printf(\D:a[5*2]=0;puts(a); 答案:A

11.下列程序的输出结果是()。main()

{char c1=97,c2=98;

printf(\} A:97 98 B:97 b C:a 98 D:a b 答案:B

12.以下选项中合法的实型常数是()。A:5E2.0 B:E-3 C:.2E0 D:1.3E 答案:C

13.C语言中的文件类型只有()。A:索引文件和文本文件两种B:ASCII文件和二进制文件两种C:文本文件一种D:二进制文件一种答案:B

14.以下叙述不正确的是()。

A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main函数C:C程序的基本组成单位是函数

D:在C程序中,注释说明只能位于一条语句的后面答案:D

15.以下运算符中,优先级最高的运算符是()。A:|| B:% C:! D:==

答案:C

16.执行以下程序段后,输出结果和a的值是()。int a=10; printf(\A:10 和10 B:10 和11 C:11 和10 D:11 和11 答案:B

17.能正确表示逻辑关系:\≥10或a≤0\的C语言表达式是()。A:a>=10 or a<=0 B:a>=0|a<=10 C:a>=10&&a<=0 D:a>=10‖a<=0 答案:D

18.以下叙述中错误的是()。

A:二进制文件打开后可以先读文件的末尾,而顺序文件不可以B:在程序结束时,应当用fclose 函数关闭已打开的文件

C:在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据

D:不可以用FILE定义指向二进制文件的文件指针答案:D 19.下列程序段的输出结果为()。float k=0.8567;

printf(\A:0085.6%% B:0085.7% C:0085.6% D:.857

C++程序设计基础课后答案 第八章

8.1 阅读下列程序,写出执行结果 1.#include class Bclass { public: Bclass( int i, int j ) { x = i; y = j; } virtual int fun() { return 0 ; } protected: int x, y ; }; class Iclass:public Bclass { public : Iclass(int i, int j, int k):Bclass(i, j) { z = k; } int fun() { return ( x + y + z ) / 3; } private : int z ; }; void main() { Iclass obj( 2, 4, 10 ); Bclass p1 = obj; cout << p1.fun() << endl; Bclass & p2 = obj ; cout << p2.fun() << endl; cout << p2.Bclass :: fun() << endl; Bclass *p3 = &obj;

cout << p3 -> fun() << endl; } 2.#include class Base { public: virtual void getxy( int i,int j = 0 ) { x = i; y = j; } virtual void fun() = 0 ; protected: int x , y; }; class A: public Base { public: void fun() { cout<<"x = "<

程序设计基础

程序设计基础 下面我们这一节我们概要向用户管理人员介绍面问过程的程序设计语言的原理。绝大多数生产程序是用诸如COBOL、BASIC这样的POL编制的。虽然用户管理人员通常没有机会去实际地从事这类编程序的工作,但是他(或者她)将经常与从事这些工作的人们相互联系。掌握程序设计的基础知识将使得这种相互联系更加有效,同时也使得管理人员能够理解查询语言的概念。 在POL中,一个指令(又称作语句)序列是一条接着一条执行的,除非用一条“条件测试”指令来控制执行顺序而转移到程序的另一部分。例如,一个工资程序处理按月发工资的职工与按工时发工资的职工的两部分程序是不同的。计时职工的毛工资是计算出来的,而按月发工资的职工其每月的毛工资是从数据库中检索出来的。对每种工作(按工时计算或按月计算)都要求一组唯一的指令。一旦确定了毛工资,那么对二者的处理步骤(即程序指令)是相同的(例如,工资扣除、社会保险金额的计算、打印工资支票等等)。 我们从一个BASIC工资程序中挑选出一些关键的语句用以说明程序设计中的“序列”和“条件测试”的概念。这些指令是自我说明了。编制一个计算和打印工资的联单的实际程序将要求几百行代码(LOC)或指令。 每种POL都有自己的一组指令集,其中,对下面一般的指令分类的每一类至少有一条指令。 (1)计算指令。计算指令允许程序员作加、减、乘、除和一个数的乘方中的语句等运算。 (2)数据传送指令。它可以将数据从主存的一个单元传送到另一个单元。赋值语句也属这一类,这些语句允许程序员通过一个命名的存储单元(称作为一个变量)使用一个常字“NETPAYIS”,或一个数值。语句160是一个赋值语句,并且对“P”赋以值“S”。 (3)控制[判定和(或)转移]指令。这些是唯一能改变程序执行顺序的指令。有无条件转移和条件转移指令,它们引起一次判断和(或)转移到程序另一部分。尽管在各种语言之间的语法差别很大,但是一般都用“IF”语句来表示条件转移指令,而用“GOTO”语句来表示无条件转移指令,“END”语句(语句号 260)终止程序的执行。 (4)输入/输出指令。输入/输出(简写为I/O)语句指挥计算机从外部设备读数据或者将数据写到外部设备上。 (5)格式语句,当从磁盘记录读到主存时,它只不过是一串字符。格式语句装配这些字符串以待处理。格式语句也用来编辑输出,以使其容易阅读。每月的总工资可能是以333333形式存放在一个磁盘文件上的,然而在输出时,则需要加进十进制小数点和美元符号。比如说,将输出编辑成$3333.33形式。

相关文档
最新文档