自考c语言程序阅读题,2017自学考试《C语言程序设计》考前练习题(九)

本文提供了两道C语言程序设计题目及其答案,涉及结构体数组、指针、条件判断等知识点。同时,还展示了三个程序填空题,分别涉及数值对调、数组最小值查找、奇数累加以及二进制转换等编程技巧。通过这些题目,读者可以巩固C语言的基本操作和编程思维。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

href="http://www.exam8/xueli/zikao/monishiti/201707/4059480.html"

target=_blank>2017自学考试《C语言程序设计》考前练习题汇总

21.下面程序的输出结果是____。

#include "stdio.h"

struct str1

{ char c[5];

char *s;

};

main( )

{ struct str1 s1[2]={ {"ABCD""EFGH"},{"IJK","LMN"} };

struct str2

{ struct str1 sr;

int d;

}s2={"OPQ","RST",32767};

struct str1 *p[2];

p[0]=&s1[0];

p[1]=&s1[1];

printf("%s",++p[1]->s); /* ① */

printf("%c",s2.sr.c[2]); /* ② */

}

① A) LMN B) MN C) N D) IJK

② A) O B) P C) Q D) R

22.以下程序的输出结果是____。

struct st

{ int x,*y;

}*p;

int s[]={10,20,30,40};

struct st a[]={1,&s[0],2,&s[1],3,&s[2],4,&s[3]};

main()

{ p=a;

printf("%d\n",++(*(++p)->y));

}

A) 10 B) 11 C) 20 D) 21

三、程序填空题

在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。

1.下面程序的功能是不用第三个变量,实现两个数的对调操作。

#include

main()

{ int a,b;

scanf("%d%d",&a,&b);

printf("a=%d,b=%d\n",a,b);

a= ① ;

b= ② ;

a= ③ ;

printf("a=%d,b=%d\n",a,b);

}

2.下面的程序的功能是求一维数组中的最小元素。

findmin(int *s,int t,int *k)

{ int p;

for(p=0,*k=p;p

if(s[p]

① ;

}

main()

{ int a[10],i,*k=&i;

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

scanf("%d",&a[i]);

findmin(a,10,k);

printf("%d,%d\n",*k,a[*k]);

}

3.下面程序的功能是计算1-3+5-7+ …… -99+101的值。

main()

{ int i,t=1,s=0;

for(i=1;i<=101;i+=2)

{ ① ;

s=s+t;

② ;

}

printf("%d\n",s);

}

4.下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。

fun(int x,int b[])

{ int k=0,r;

do

{ r=x% ① ;

b[k++]=r;

x/= ② ;

}while(x);

}

5.下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。

main()

{ int n,k=1,s=0,m;

for(n=1;n<=100;n++)

{ k=1;

s=0;

① ;

while( ② )

{ k*=m%10;

s+=m%10;

③ ;

}

if(k>s)

printf("%d",n);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值