百年教育职业培训中心 百年教育学习服务平台
题库试卷

东大高级语言程序设计基础期末考试复习资料与参考答案

来源: 更新时间:

3亿多的题库,支持文图片,语音搜题,包含国家开放大广东开放大云南开放大北京开放大上海开放大江苏开放大超青奥鹏等等多个平台题库,考试作业必备神器。正确答案:微信搜索【渝粤搜题】公众号广东开放大学2023

3亿多的题库,支持文图片,语音搜题,包含国家开放大广东开放大云南开放大北京开放大上海开放大江苏开放大超青奥鹏等等多个平台题库,考试作业必备神器。

正确 答案:微信搜索【渝粤搜题】公众号

广东开放大学 2023年春季招生简章

高级语言程序设计基础复习题

选择题

下面关于计算机正确的是( )

A.计算机由硬件系统和软件系统两部分构成

B.只要有硬件系统,计算机就能工作

C.计算机只能处理文本信息

D.计算机只能处理计算问题

答案:A

( )c语言提供的合法的数据类型关键字。

A.Long B. in C.har D.ineger

答案:B

软件按功能可以分为: 应用软系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )

A.编译程序 B. 操作系统 C.教务管理系统 D.汇编程序

答案:C

以下选项中关于C语言常量的叙述错误的是()

所谓常量,是指在程序运行过程中,其值不能被改变的量

常量分为整型常实型常字符常量和字符串常量

常量可分为数值型常量和非数值型常量

D.经常被使用的变量可以定义成常量

答案:D

下面描述中正确的是( )

A.语言提供了专门的输入/输出语句

B.语言调用输入/输出函数时需要使用include命令包含头文件

C.语言可以直接使用输入/输出函数

D.输入/输出函数所在的头文件是sdlib.h

答案:B

假设有char型变量c1,c2,执行下面程序段:

c1=gachar();

c2=gachar();

prin(“c1=%c,c2=%c\n”,c1,c2);

如果c1c2的值分别为字符ab,则从键盘正确的输入方式是( )

<回车> B.<回车>b<回车>

C.<空格>b<回车> D.<>b<回车>

答案:A

执行下面程序段的结果是( )

in a=10b=20;

loax=1.234,y=123.0;

prin(“a=%d,b=%d,x=%,y=%\n”,a,b,c);

A.=10,b=20,x=1.234,y=123.0

B.=10,b=20,x=1.234000,y=123.000000

C.10,1.234,1.234000,123.000000

D.10,1.234,1.234,123.0

答案:B

有如下语句:scan("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确格式是( )

A.132 B.1,3,2 C.=1,b=3,c=2 D.=1 b=3 c=2

答案:C

下面哪组是正确的运算符( )

A. << || +++ B.=> == ++

C.= ?: % D. sizeO ++ &

答案:C

下面说法正确的是( )

A.表达式计算时要考虑运算符的优先级和结合性

B.表达式计算需要考虑运算符的优先级

C.表达式计算时需要考虑运算符的结合性

D.括号( )可以改变运算符的优先级

答案:A

逻辑运算符两侧运算对象的数据( )

A.只能是01 B.只能是0或非0正数

C.只能是整型或字符型数据 D.可以是任何类型的数据

答案:D

正确描述数学式10≤≤10的表达式是( )

A. -10<=x<=10 B.-10<=x&&x<=10

C.x>=-10&x<=10 D.-10<=x||x<=10

答案:B

结构化程序的实现由( )组成程序逻辑。

A. 顺序结构 B. 分支结构

C. 循环结构 D. 顺序结分支结构和循环结构

答案:D

假设变量a为整型量,语句i (a!=0);和语句i(a);相比较,正确答案( )
A. 两者作用不同 B. 两者作用等价
C. 两者作用相反 D. i(a)语法错

答案:B

阅读下面程序:该程序( )
#include "sdio.h"
main()
{

in x=-10, y=5, z=0;
i (x=y+z)

prin("***\n" );
else

prin("$$$\n");
}
A. 有语法错不能通过编译
B. 输出***
C. 可以通过编译但不能通过连接
D. 输出$$$

答案:B

阅读程序,该程序的输出结果是( )
void main( )
{ in x=0,a=1,b=1;
swich(x){
case 0: a++;
case 1: b++;break;
case 2: a++;b++;
}
prin("a=%d,b=%d\n",a,b);
}
A. a=3,b=3 B. a=2,b=2
C. a=1,b=1 D. 没有正确结果

答案:B

设有:in x=100,y

or(y=100;x!=y;++x,y++)

prin("****\n");

则关于以下or循环的正确判断是( )
A. 循环体只执行一次 B. 是无限循环
C. 循环体一次都不执行 D. or语句中存在语法错误

答案:C

以下不是无限循环的是( )
A. or(y=6,x=1;x<y;x+=2,y-=2) ; B. or( ; ; ) ;
C. while(-5) x++; D. or(i=20; ; i--) sum+=i;

答案:A

以下程序段中的do-while循环( )

m=-1;

   do

 { m=m*m;

     }while(!m);

A.是死循环         B.执行二次        

 C.执行一次         D.有语法错误

答案:C

以下对二维数组a的正确说明是( )

  A.in a[3][];                B.loa a(3,4);

  C.ouble  a[1][4];           D.loa a(3)(4);

答案:C

C语言中,引用数组元素时,其数组下标的数据类型允许是( )

A.整型常量    B.整型表达式   

C.整型常量或整型表达式    D.任何类型的表达式

答案:C

以下正确的函数说明是( )

A.in un(in a, b);    B. loa un(in a; in b);  

C.ouble un(  );    D. in un(char a[ ][ ]);

答案:C

以下正确的描述是( )

  A. 定义函数时,形参的类型说明可以放在函数体内

  B. reurn后面的值不能为表达式

C. 如果函数类型与rerun返回值类型不一致,以函数类型为准

  D. 如果实参与形参的类型不一致,以实参类型为准

答案:C

以下程序的运行结果是( )

  main(  )

  { in a=1, k;

   or (k=0; k<3; k++)

    prin("%4d", 1(a));

  }

  1(in x)

  { saic in z=3, y=0;

   y++;

   z++;

   reurn(x+y+z);

  }

6  8  10              B. 6  6  6                 

C. 7  8  9                 D. 7  9  11

答案:A

程序中对un函数有如下说明: void un();

下面说明是错误的是( )

A. un函数无返回值

B. un函数的返回值可以是任意的数据类型

C. un函数没有形式参数

D. void可以省略

答案:B

编程题

1.输入三个整数x,y,z,请把这三个数由小到大输出。
答案:

#include “sdio.h”
#include “conio.h”
main()
{
in x,y,z,;
scan(“%d%d%d”,&x,&y,&z);
i (x>y)
{=x;x=y;y=;} /*交换x,y的值*/
i(x>z)
{=z;z=x;x=;} /*交换x,z的值*/
i(y>z)
{=y;y=z;z=;} /*交换z,y的值*/
prin(“small o big: %d %d %d\n”,x,y,z);
gech(); 
}
2.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

答案:

#include "sdio.h"

#include "conio.h"

main()

{

  long 1,2;

  in i;

  1=2=1;

  or(i=1;i<=20;i++)

  {

    prin("%12ld %12ld",1,2);

    i(i%2==0) prin("\n"); /*控制输出,每行四个*/

    1=1+2; /*前两个月加起来赋值给第三个月*/

    2=1+2; /*前两个月加起来赋值给第三个月*/

  }

  gech();

}

3. 编写程序,判断101-200之间有多少个素数,并输出所有素数。

答:

#include <sdio.h>

#include <mah.h>

in main()

{

in i,j,k,leap=1;

in coun=0;

or (i=101; i<=200; i++)

{

k=sqr(i+1);

or (j=2; j<=k; j++) {

i (i%j==0) {

leap=0;

break;

}

}

i (leap) {

coun++;

prin("%d ",i);

i (coun % 10 == 0)

prin("\n");

}

leap=1;

}

prin("he oal is %d\n", coun);

reurn 0;

}

4. 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方。

答:

#include<sdio.h>

void main()

{

in i,j,k,n;

prin("Wr lower number is: ");

or(n=100;n<1000;n++)

{

i=n/100;

j=/10;

k=n%10;

i((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))

prin("%-5d\n",n);

}

}

5. 编写程序,输入两个正整数mn,求其最大公约数和最小公倍数。

答:

#include <sdio.h>

#include <mah.h>

main()

{

in a,b,num1,num2,emp;

prin("Please ener wo ineger:");

scan("%d%d",&num1,&num2);

i(num1<num2)

{

emp=num1;

num1=num2;

m=emp;

}

a=num1, b=num2;

while (b!=0)

{

emp=a%b;

a = b;

b=emp;

}

prin("最大公约数为%d\n",a);

prin("最小公倍数为%d\n",num1*num2/a);

}

6. 编写程序,输入某年某月某日,判断这一天是这一年的第几天。

答:

#include <sdio.h>

in main()

{

in i, days = 0;

in year, monh, day;

in mon_days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

prin("输入日:");

scan("%d%d%d", &year, &monh, &day);

or (i=0; i<monh-1; i++)

{

days += mon_days[i];

}

days += day;

i (year%4==0 && year%100!=0 || year%400==0 && monh >= 3)

days+=1;

prin("%d%d%d日是这一年的第%d天!\n", year, monh, day, days);

reurn 0;

}

第二部分( ):

分析下面程序的执行过程,给出输出结果。

main( )

{

in x=2y=3z=4a=0

a = x<z?y:z

prin("d",a)

}

答:3

下面程序的功能是在a数组中查找与x值相同的元素所在位置。

main( )

{ in a[10],i,x;

or(i=0;i<10;i++) scan("d", &a[i]);

scan("d", );

or(i=0;i<10;i++)

i( )

break;

i( )

prin("d", i);

else prin("can no ind x");

}

答:

scan("%d", &x );

or(i=0;i<10;i++)

i( x==a[i] )

break;

i( i<10 )

分析下面程序中while循环的循环次数。

main( )

{ in i=0

while(i<10)

{ i(i<1)coninue

i(i==5) break

i++

}

……}

答:死循环

输入一个字符,判断该字符是数字空格还是其他字符。

main( )

{ char ch;

ch = gechar();

i( ( ) )

prin("I is an English characer\n");

else i( ( ) )

prin("I is a digi characer\n");

else i( ( ) )

prin("I is a space characer\n");

( )

prin("I is oher characer\n");}

答:

i( ch>='a' && ch <='z' || ch >='A' && ch <='Z' )

prin("I is an English characer\n");

else i( ch>='0' && ch<='9' )

prin("I is a digi characer\n");

else i( ch==' ' )

prin("I is a space characer\n");

else

prin("I is oher characer\n");

电话咨询