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

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

来源: 更新时间:

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

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

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

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

高级语言程序设计X复习题

选择题

按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )

A.大写字母 B.连接符 C.数字字符 D.下划线

答案:B

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

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

答案:A

面向过程的高级语言包括( )

A.PYHON,JAVA B.,BASIC C.JSP D.,VB

答案:B

AC语言编写的代码程序( )

可立即执行 B.是一个源程序

C.经过编译即可执行 D.经过解释才能执行

答案:B

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

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

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

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

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

答案:D

已知char a='\17',变量a( )

A. 包含1个字符 B.包含2个字符 C.包含3个字符 D.说明非法

答案:A

下列描述中正确的是( )

A.语言中所有输入/输出功能都是通过输入/输出函数调用语句实现的

B.语言中所有输入/输出功能都是通过调用库函数实现的

C.调用gechar()函数和puchar()函数可以省略#include命令

D.在输入/输出格式中的*表示跳过数据的含义

答案:A

下面描述中正确的是( )

A.prin()函数的输出列表项只允许是变量

B.prin()函数的输出列表项可以是常变量以及表达式

C.prin()函数输出列表项也可以是另一个prin()函数

D.prin()函数的输出列表项之间用空格分隔

答案:B

假设有:in a,b; scan("%d,%d",&a,&b);

为了得到ab分别为1020,从键盘正确输入数据的是( )

A.10<空格>20<回车> B.10<回车>20<回车>

C.10,20<回车> D.10,20,<回车>

答案:C

有如下语句: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.负数参与“/”“%”运算时,其结果与C89C99的标准有关

B.语言的“/”“%”运算可以写成5/05%0的形式

C.赋值运算要求他的左操作数可以是变常量或另一个表达式

D.表达式(x=a>b)&&(y=c>d)是错误的写法

答案:A

假设a,b,c,x,y均为in型,下面说法正确的是( )

A.表达式“a+=2”等价于表达式“a=a+2”

B.表达式“a*=b+c”等价于表达式“a=a*b+c”

C.表达式“y=x++”等价于表达式“x++,y=x”

D.表达式“y=x++”等价于表达式“y=x,x++”

答案:D

假设有in 型变量i=1j=2k=3,下面正确的是( )

A. i>=j的值为1 B. i==j的值为1

C.(j<k)==(i<k)0 D.(i==j)+(j==k)的值为0

答案:D

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

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

阅读程序,该程序的输出结果是( )
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

下面说法错误的是( )

A.循环结构分为前判断结构和后判断结构

B.while语句和do...while语句可以实现标记式循环

C. 可以用or语句实现的循环一定可以用while语句实现

D.o…while语句与while语句的区别仅仅是关键字while的位置不同

答案: D

设有:in x=100,y

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

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

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

答案:C

22.下面程序段的运行结果是( )

in m=0;

while (m<=2)

{ m++;

prin("%d", m);

}

prin("\n");

A.1 B.1 2 C.1 2 3 D.1 2 3 4

答案:C

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

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

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

答案:C

编程题

计算所有水仙花数。说明:水仙花数是指一个3位数,其每位数字的立方和市该数本身。例如153=13+53+33

in main()

{

in a,b,c;

in i;

or(i=100;i<=999;i++)

{

a=i/100;

c=i%10;

b=i%100/10;

i(a*a*a+b*b*b+c*c*c==i)

prin("%d 是水仙花数",i); }

}

在包含10个有若干重复数据的数组中,查找指定的数据并删除。要求:输出原始数组数据以及输出删除数据后的剩余数据。例如:10个数据分别是( ),指定数据是2,输出原始数据( )和删除2之后的数据( )

答案:

#include<sdio.h>

in main()

{

in a[10]={1,2,3,4,2,2,2,6,2,7};

in x,i,j=0,b[10];

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

prin("%3d",a[i]);

prin("\n");

scan("%d",&x);

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

i(a[i]!=x)

b[j++]=a[i];

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

prin("%3d",b[i]);

}

编写程序,判断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;

}

编写程序,输入两个正整数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);

}

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

答:

#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");

电话咨询