程序设计基础期末样题Word文档格式.docx
《程序设计基础期末样题Word文档格式.docx》由会员分享,可在线阅读,更多相关《程序设计基础期末样题Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
23400
下述错误的C语言常量是().
A、5.
B、.25
C、0xf
D、090
D
23577
以下对C语言中联合类型数据的正确叙述是().
A、定义了联合变量后,即可引用该变量或该变量中的任意成员
B、一个联合变量中可以同时存放其所有成员
C、在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变
D、联合中的各个成员使用共同的存储区域
23584
如已定义x和y为double类型,则表达式x=1,y=x+5/2的值是().
A、3.0
B、3.5
C、2
D、3
23493
有以下程序:
#include<
stdio.h>
main()
{inta1,a2;
charc1,c2;
scanf("
%d%c%d%c"
&
a1,&
c1,&
a2,&
c2);
printf("
%d,%c,%d,%c"
a1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:
12,a,34,b,则正确的输入格式是以下代表空格,<
CR>
代表回车.
A、12,a,34,b<
B、12a34b<
C、12a34]b<
D、12a34b<
24158
关于%-m.nf格式符,下列描述中,正确的是().
A、字符"
-"
表示在输出字符前面加上字符"
.
B、字符"
表示输出字符靠左对齐.
C、字符"
表示在输出字符最后加上字符"
D、字符"
表示输出字符靠右对齐.
23674
下面程序的输出结果是().
{inti=2,p;
p=f(i,i+1);
%d"
p);
intf(inta,intb)
{intc;
c=a;
if(a>
b)c=1;
elseif(a==b)c=0;
elsec=-1;
returnc;
A、0
B、1
D、-1
23833
在数据库设计中,将E-R图转换成关系数据模型的过程属于().
A、物理设计阶段
B、需求分析阶段
C、逻辑设计阶段
D、概念设计阶段
23779
已有声明"
intx=5,y;
floatz=2;
则以下表达式语法正确的是().
A、x>
0?
y=x:
y=-x
B、y=x/2=z
C、y=x=z/2
D、y=x%z
23735
关系表中的每一横行称为一个.
A、元组
B、字段
C、行
D、码
24289
若有inti=0;
则以下程序段中,while循环的循环次数是()
while(i<
10)
{
if(i<
1)continue;
if(i==5)break;
i++;
A、6
B、死循环,不能确定次数
C、1
D、4
24605
以下不是无限循环的语句为().
A、while
(1){x++;
B、for(i=10;
i--)sum+=i;
C、for(y=0,x=1;
x>
++y;
x=i++)i=x;
D、for(;
x++=i);
24655
下面程序的功能是将从键盘输入的一对数,由小到大排序输出.当输入一对相等数时结束循环.请选择.
voidmain()
{inta,b,t;
%d%d"
a,&
b);
while()
{if(a>
b)
{t=a;
a=b;
b=t;
%d,%d\n"
a,b);
A、!
a=b
B、a=b
C、a!
=b
D、a==b
24192
请阅读以下程序:
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
break;
case1:
b++;
}
case2:
a++;
}
a=%d,b=%d\n"
上面程序的输出结果是().
A、a=1,b=1
B、a=2,b=2
C、a=2,b=1
D、a=1,b=0
24329
inta=1;
intf(intc)
{staticinta=2;
c=c+1;
return(a++)+c;
{inti,k=0;
for(i=0;
i<
2;
i++){inta=3;
k+=f(a);
k+=a;
%d\n"
k);
程序的运行结果是().
A、15
B、14
C、程序不正确,无法编译
D、16
24750
设有数组定义:
chararray[]="
China"
则数组array所占的空间为().
A、5个字节
B、4个字节
C、6个字节
D、7个字节
24979
string.h>
main(){chara[10]="
abcd"
strlena,sizeofa);
程序运行后的输出结果是().
A、8,8
B、10,10
C、7,4
D、4,10
24996
下面程序的输出结果是().
{charp1[]="
WHO"
p2[]="
who"
str[50]="
xyz"
strcpy(str+1,strcat(p1,p2));
printf("
%s"
str);
A、zWHOwho
B、zWHOwho
C、xWHOwho
D、xyzWHOwho
24949
{intaa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}};
inti,s=0;
4;
i++)
s+=aa[i][2];
s);
程序运行后的输出结果是().
A、19
B、10
C、26
D、20
24888
语句printf"
strlen"
msn\t\01\\\t"
的输出结果有几个字符.
A、10
B、6
C、9
D、7
25059
{chars[]="
012xy\08s34f4w2"
inti,n=0;
s[i]!
=0;
if(s[i]>
='
0'
&
s[i]<
9'
)n++;
n);
A、8
B、7
C、3
D、0
24935
以下能正确定义数组并正确赋初值的语句是().
A、intd[3][2]={{1,2},{34}};
B、intc[4][]={{1,2},{3,4}};
C、intb[1][3]={{1},{3}};
D、inta=1,b[a][a];
24981
以下程序的输出结果是().
voidchangeintk[]{k[0]=k[5];
main(){intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;
while(n<
=4){change&
x[n];
n++;
for(n=0;
n<
5;
n++)printf("
x[n]);
\n"
);
A、13579
B、62345
C、12345
D、678910
25123
以下对数组初始化错误的是().
A、inta[2][3]={{1,2,3},{4,5}}
B、inta[2][3]={1,2,3,4};
C、int[2][]={1,2,3,4,5,6};
D、inta[][3]={1,2,3,4,5,6};
25050
若有如下说明,且int类型占两个字节,则正确的叙述为().
structst
{inta;
intb[2];
}a;
A、程序运行时为结构体st分配8字节存储单元
B、程序只在执行到该结构体时才为结构体st分配存储单元
C、结构体变量a与结构体成员a同名,定义是合法的
D、类型名structst可以通过extern关键字提前引用
25530
下列不能正确计算代数式值的C语言表达式是().
A、1/3.0*pow(sin(1.0/2),2)
B、pow(sin(0.5),2)/3
C、1/3*sin(1/2)*sin(1/2)
D、sin(0.5)*sin(0.5)/3
25543
已有定义:
charc;
程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是().
A、c<
=("
'
z'
-32)&
("
a'
-32)<
=c
B、isupper(c)
C、A'
<
=c&
c<
="
Z'
D、A'
=c<
26457
以下程序段中与语句:
k=a>
b?
b>
c?
1:
0:
0;
功能相同的是().
A、if(a<
=b)k=0;
elseif(b<
=c)k=1;
B、if((a>
b)‖(b>
c))k=1;
elsek=0;
C、if((a>
b)&
(b>
elsek=0;
D、if(a>
b)k=1;
elseif(b>
c)k=1;
25404
若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是().
A、++x,y=x--
B、x+1=y
C、double(x)/10
D、x=x+10=x+y
26092
调用函数时,基本类型变量做函数参数,实参和对应的形参().
A、同名时才能共用存储单元
B、各自占用独立的存储单元
C、不占用存储单元
D、共占用一个存储单元
程序设计
32147
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
求小于lim的所有素数并放在aa数组中,该函数返回
所求出素数的个数。
*********Begin**********和**********End**********不可删除
------------------------------------------------*/
#include"
stdio.h"
conio.h"
#defineMAX100
intfun(intlim,intaa[MAX])
/*********Begin**********/
/**********End**********/
intlimit,i,sum;
intaa[MAX];
voidNONO();
PleaseInputaInteger:
scanf("
limit);
sum=fun(limit,aa);
for(i=0;
sum;
i++){
if(i%10==0&
i!
=0)printf("
%5d"
aa[i]);
NONO();
voidNONO()
{
inti,j,array[100],sum,lim;
FILE*rf,*wf;
rf=fopen("
in.dat"
"
r"
);
wf=fopen("
out.dat"
w"
for(j=0;
j<
=5;
j++)
{
fscanf(rf,"
&
lim);
sum=fun(lim,array);
fprintf(wf,"
%7d"
array[i]);
}
fclose(rf);
fclose(wf);
}
示例代码:
intn=0,i,j;
for(i=2;
=lim;
{for(j=2;
j<
i;
j++)
if(i%j==0)break;
if(j==i)aa[n++]=i;
returnn;
程序填空
31799
/*给定程序中,函数fun的功能是:
计算N×
N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。
注意:
要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。
例如,若N=3,有下列矩阵:
123
456
789
fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
*/
#include<
#defineN4
fun(intt[][N],intn)
{inti,sum;
/**********FILL**********/
___1___;
i<
n;
i++)
sum+=___2___;
sum+=t[i][n-i-___3___];
returnsum;
{intt[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10},i,j;
\nTheoriginaldata:
N;
{for(j=0;
j<
j++)printf("
%4d"
t[i][j]);
Theresultis:
%d"
fun(t,N));
位置1:
sum=0
位置2:
t[i][i]
位置3:
1
程序改错
31952
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
题目:
从键盘输入的整数中找出最小值,输入负数时结束。
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
intmin,a;
a);
min=a;
/**********ERROR**********/
while(a<
0)
if(a>
min)min=a;
while(a>
=0)
if(a<
【或】if(a<
=min)min=a;