永发信息网

2009年c语言专升本考试题

答案:1  悬赏:40  手机版
解决时间 2021-12-01 06:48
2009年c语言专升本考试题
最佳答案
2012成人高考专升本考试
考试介绍考试大纲政治英语大学语文

21


有定义如下,

s
truct student{

char name[10];

float score;

int age;
}stu1,*p;
则如下程序段正确的是()


A. stu1={

ddd

,66.0,55};

B. strcpy(stu1.name,

ddd

);
stu1.score=66.0;

stu1.age=15;

C. p=&stu1;
p->name=

ddd

;

p->score=66.0; p->age=15;
D. p=&stu1;
p->name=

ddd

;

p->score=66.0; p->age=15;
22


如下程序段语法正确的是()


A. int mm(
int x,int y
){
int x,y
;return x+y;}
局部变量不能与形参重名

B. char str[10];scanf(

%s

,
&
str);
输入字符数组不能加
&

C. int i,a[10];
for(i=0;i<
=
10;i++)scanf(

%d

,&a[i]);
数组下标从
0
开始

D. int i,a[10],*p;
for(i=0, p=a; p“
%d

,p);
23


已知
int a;
并且
a
已经被正确赋值,则下列逻辑表达式与
(!a)
等价的是()


A. (a==0)

(!a)
成立表示
a
不成立,
C
语言不成立用
0
表示,即
a==0

B. (a>0)
C. !(a==1)
D. (a==1)

24


若变量已经定义,要求程序从
1
累加到
100
,下列选项

能完成此功能的是()


A. for(i=1,sum=0;i<=100;i++) sum=sum+i;
B. i=1;sum=0;while(i++<=100) sum=sum+i;
C. for(i=1,sum=0;i<=100;i++){sum=0; sum=sum+i;}
D. i=1;sum=0;do{ sum=sum+i;} while(++i<=100);
25


已知
int k;

k
已经正确赋值,则下列表达式中存在错误的是()


A. 2B. (k<6)++
C. k<6&&k>2
D. k==1

2虽然语法正确,但是不是表示
k<6&&k>2
,而是表示
(2,不管
k
等于多少,
2
么成立
(1)
,要么不成立
(0)
,即
0

1
都小于
6
,也就是说
2永远成立(
1



26


如下程序段的运行结果是()


main()
{

int i, j, a=0;

for(i=1;i<=5;i++)

for(j=i;j<=5;j++)

a=a+j;

printf (

%d

, a);
}
A. 10

B. 25

C. 55

D. 75

A=0

i=1

j=1 a=1
j=2 a=3
j=3 a=6
j=4 a=10
j=5 a=15
i=2
j=2 a=17
j=3 a=20
j=4 a=24
j=5 a=29

i=3
j=3 a=32
j=4 a=36
j=5 a=41

i=4
j=4 a=45
j=5 a=50
i=5
j=5 a=55
27


语句语句
printf(

%-8.4d

, -36);
的运行结果是()


A. -036
□□□□

B. -036
□□□□□

C.
□□□□
-036
D.
□□□□□
-036

%-8.4d
%d
表示输出整数

-
表示靠左对齐

8
表示占
8
个字符位置

.4
表示小数点后位置数,没有小数,则填空格

28


如下程序段的运行结果是()


main()
{

int

a[10] = {34, 22, 12, 66, 8, 33, 22, 338, 56, 99};
int

i,

x=0;

for(i=1; i<10; i++)
if (a[i] < a[x]) x = i;

printf (

%d

, a[x]);
}

选出数组中的最小值,
x
是最小值的下标。

A. 8

B. 34

C. 99

D. 338
29


如下程序段的运行结果是()


main()
{

char

str[] = {

s

,

t

,

u

,

d

,

e

,

n

,

t

,

\0

};
char *q=str;

while(*q!=

\0

)q++;

printf (

%d

, q-str);
}
A. 5
B. 6

C. 7

D. 8

计算数组中非
0
字符的个数。

30


如下程序段的运行结果是()


#define

n

5
struct student{

int no;

float score;
};
main(){

struct student str[n]={
{1,12.5},

{2,55.5},

{3,90.5},

{4,78.0},

{5,34.0}
};
int

i; float a=0, b;
for(i=0; i


b=a/n;



printf(

%08.4f

, b);



}
A. 0054.1000
B. 054.1000
C. 0054.1
D. 54.10000
二、

程序阅读题(
4
小题,每小题
5
分,共
20
分)

31

#include
void main(){

char str1[]=

good morning

, str2[20];

char *p, *q;

for (p=str1; *p!=

\0

; p++);

for (q=str2; --p>=str1; q++)*q=*p;

*q=

\0

;

printf(

%s

, str2);
}

p
先走到
str1
的尾部,然后从尾部向头部退

同时
q

str2
头部开始向尾部走,
边走边复制字符,

最后将
str1
的内容反过来放到
str2
中。
打印结果是

gninrom doog
32

#include
#define

n

10
void de(int a[], int x, int *m) {

int i=x+1;

for (; i<=*m; i++) a[i-1]=a[i];

*m=*m-1;
}
void main(){

static int a[n]= {32,12, 12, 56, 78, 12,78, 5, 32, 12};

int i, j, x, m=n-1;

for (i=0; i<=m; i++);

{ x=a[i];

for(j=i+1; j<=m; j++)

if(a[j]==x)de(a,j,&m);
}
for (i=0; i<=m; i++);

printf(

%d

, a[i]);
}
25637
33

#include
void ch(int *a, int *b) {

int c;

c=*a; *a=*b; *b=c;

}
void main(){

static int a[10]= {32,5, 18, 56, 98, 52,78, 15, 132,112};

int x=0,

y=1, i;

if (a[x]>a[y])ch(&x, &y);


for(i=2;i<10; i++);

if(a[i]

else if(a[i]>a[y]) y=i;


ch(&a[x], &a[y]);


for(i=0; i<10; i++) printf(

%d,

, a[i]);


}
原来数组:
32,5, 18, 56, 98, 52,78, 15, 132,112
最后结果:
32,
132
, 18, 56, 98, 52,78, 15,
5
,112
34

#include
void main(){

char str[]=

0342201411

;

static int

a[10];

int i;

char *p;

for (i=0; i<10; i++) a[ i ] = 0;

for (p=str; *p!=

\0

; p++) {
i=*p-

0

;
a[i]++;
}

for(i=0;i<10;i++) printf(

%d

, a[i]);
}
a[i]
开始全是
0


p

str
的头部开始向尾部走,
i

str[]
的字符对应的数字,将
a[i]++;
注意
str
数组是
0342201411
其中有
2

0
,故
a[0]=2
其中有
1

3
,故
a[3]=1
其中有
2

4
,故
a[4]=2
其中有
2

2
,故
a[2]=2
其中有
3

1
,故
a[1]=3
没有比
4
大的数字,故
a[5-9]
保持
0
最后结果:
2321200000
三、

程序填空题(
2
小题,每空
4
分,共
20
分)

35
、下面程序求出二维数组的最大值

#include
#define m

3
#define n

4
int

findmax(int a[][n])
{ int

i, j, max=a[0][0];

for(i=0; ii++
____)

for(j=0; j
j++)

if ( a[i][j]>max) max=a[i][j];

_____(2)
return max
____________;
}
void main(){

int

i , j, max,
_____(3)a[m][n]_____;

for(i=0; i
for(j=0; j
j++)

scanf(

%d

, &a[i][j]);

max=findmax(a);

printf(

%d

, max);
}
36
、下面程序求出
100-200
之间的全部素数

#include
void main(){

int

m, k, i;
for(m=101; m<=200; m=m+2)
{

k=sqrt(m);

for(i=2; i<=k; __
(4)i++
____)

if(m%i==0) __
(5)break
_______;

if(i>k) printf(

%d

, m);

}
}追问看不懂
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
钻戒戒托上标有D01085和KDcPt950请问这是真的
三十年的茅台值多少钱
把运动型蓝牙耳机的一端剪掉
求详解TPU合成中,基本的反应,氨酯基形成原
赵品霖有女朋友?谁知道她是谁
novell是什么牌子
唱歌要张大嘴吗?我的音乐老师每次练习都让我
干锅小排的家常做法大全怎么做好吃视频
沅江有么有交通银行?有的话在哪里?
捡到一张有效身份证能做什么事?比如用捡的身
啊,为什么有那么多人喜欢蹦
为什么有的人领到红包马上给我发回来?她先给
如图水平面的上方有竖直向上的匀强电场,平面
求一款5k以内性价比较高的游戏笔记本。
从方框中选择恰当的句子完成下面的对话,将字
推荐资讯
两次鸦片战争和耻辱及罪行
求一份详细的商场导购奖惩制度,谢谢!
电视剧长大谢南翔和谁在一起了 是叶春萌还是
长城h52.0t柴油发动机和绿静2.0t柴油发动机哪
“”静者妙心也”出自拿哪?
临朐移动宽带包年多少钱(不捆帮手机)?
交通银行信用卡消费6万分期24期利息是0.72%每
怎样简便怎样算.18.76×9.9+1.876???????3.5
有润泽二字关于学习的对联
求老人mp3听得歌曲 二人转下载。
求一份计算机毕业设计作品~~ 可以说flash 或
匈奴那里的王族称呼,急用
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?