没有合适的资源?快使用搜索试试~ 我知道了~
"C语言程序填空题30道(简单).doc" 本资源是关于C语言程序填空题的集合,共30道题目,涵盖了C语言的基础知识和应用场景。下面是对每个问题的详细解析: 1. 程序填空题一 这个程序的目的是将两个递增有序的数组a和b合并到一个数组c中,并保持递增顺序,最后输出数组c。这个程序使用了while循环和if语句来实现数组的合并和排序。答案分别是: (1)i<M&&j<N (2)i<M (3)b[j++] (4)M+N 2. 程序填空题二 这个程序的目的是计算数学函数H的值。函数fgh是计算数学函数H的值,使用函数指针(*f)和(*g)来表示sin和cos函数。答案分别是: (1)(*f)(x+y)/(*g)(y-x) (2)cos、sin、a、b 3. 程序填空题三 这个程序的目的是将给定的字符数组ss读入数组中,然后输出行、列号之和为3的数组元素。答案分别是: (1)x<4 (2)y<3 (3)z==3 4. 程序填空题四 这个程序的目的是将给定的字符数组ss读入数组中,然后输出行、列号之和为3的数组元素。答案分别是: (1)x<4 (2)y<3 (3)z==3 5. 程序填空题五 这个程序的目的是实现两个数的对调操作,不使用第三个变量。答案分别是: (1)a+b (2)a-b (3)a-b 或者: (1)a^b (2)b^a (3)a^b 这些问题涵盖了C语言的基础知识,包括数组、函数指针、循环语句和条件语句等。通过解答这些问题,可以帮助学习者加深对C语言的理解和掌握。
资源推荐
资源详情
资源评论
1
程序填空题一
1. 下面 C 语言程序将两个递增有序的数值 a 和 b
合并一个数组 c,并保持递增次序,最后输出数组
c.
#include < stodio.h>
#define M6
#define N5
main( )
{int a[M]={1,3,5,7,9,11} b[N]={2,4,6,8,10}
int c[M+N]
int i ,j, k;
i=j=k=0
while( 1 )
if a[i]<b[j]
c[k++]=a[i++];
else c[k++]=b[j++];
while( 2 )
c[k++]=a[i++];
while(j<N)
c[k++]=( 3 )
for(k=0;k<( 4 );k[++])
printf(%dxt,c[k]; )
其中(1)(2)(3)(4)处分别填一数据,使程
序达到其功能。
答案:
1:i<M&&j<N
2:i<M;
3:b[j++];
4:M+N
2.下面 h 函数的功能是计算如下数学函数 H
的值。请填空。
double fgh(double(*f)(double a),
double(* g)(double b),
double x,double y)
{return(【1】);}double h(double a,
double b)
return(fgh(sin,cos,a,b)* fgh
(【2】));}
解:(1)(*f)(x+y)/(*g)(y-x)
(2)cos,sin,a,b
[解析]本题考察的是函数的声明。要填写的两
个空都出现在 return 语句中,所以要仔细分析
函数的返回值。本题的第二个空相对要容易一
些,只要根据题干和乘号前面的调用语句对比
一下即可得到调用语句的四个参数。第一个空
相对要难一些,函数 fgh 定义时用到了函数指
针(*f)和(*g)是为了增加函数的灵活性。
根据函数 h 的定义以及题干要求,可以看出函
数 fgh 应该表示的是乘号两边的某一项。(*f)
和(*g)用来表示 sin 或 cos,参数 x 和 y 的加
减法运算作为 sin 或 cos 函数的参数,故应填写
(*f)(x+y)/ (*g)(y-x)。
3.下面程序的作用是将以下给出的字符按其格
式读入数组 ss 中,然后输出行、列号之和为 3
的数组元素,请在____处填入正确内容。
A a f
c B d
e b c
g f D
main()
{
static char ss[4][3]={'A','a','f','c','B',
'd','e','b','C','g','f','D'};
int x,y,z;
for(x=0;【1】;x++)
for(y=0;【2】;y++)
{z=x+y; if(【3】)
printf("%c\n",ss[x][y]);
}
}
解:(1)x<4
(2)y<3
(3)z==3
[解析]本题应用穷举法找到满足要求的值。
第一个空:变量 x 为行数所以是 x<4;第二个
空:变量 y 为列数所以是 y<3;第三个空:判
断 x+y 是否为 3 所以是 z==3。
4.下面程序的作用是将以下给出的字符按其格
式读入数组 ss 中,然后输出行、列号之和为 3
的数组元素,请在____处填入正确内容。
A a f
c B d
e b c
g f D
main()
{
static char ss[4][3]={'A','a','f','c','B',
'd','e','b','C','g','f','D'};
int x,y,z;
for(x=0;【1】;x++)
for(y=0;【2】;y++)
{z=x+y; if(【3】)
printf("%c\n",ss[x][y]);
2
}
}
解:(1)x<4
(2)y<3
(3)z==3
[解析]本题应用穷举法找到满足要求的值。
第一个空:变量 x 为行数所以是 x<4;第二个
空:变量 y 为列数所以是 y<3;第三个空:判
断 x+y 是否为 3 所以是 z==3。
程序填空题二
【3.1】下面程序的功能是不用第三个变量,实
现两个数的对调操作。
#include <stdio.h>
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);
}
答案: ① a+b ② a-b ③ a-b 或者 ① a^b ②
b^a ③ a^b
【3.2 】下面程序的功能是根据近似公式:
π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求 π 值。
#include <math.h> /*数学函数数包含在头
函数 math.h 中*/
double pi(long n)
{ double s=0.0;
long i;
for(i=1;i<=n;i++)
s=s+ ① ;
return( ② );
}
答案:① 1.0/(float)(i*i) ② sqrt(6*s) /* sqrt()
是求平方根函数*/
【 3.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);
}
答案:① t=t*i ② t=t>0?-1:1
【3.4】下面程序的功能是从键盘上输入若干
学生的学习成绩,统计并输出最高成绩和最低
成绩,当输入为负数时结束输入。
main()
{ float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while( ① )
{ if(x>amax) amax=x;
if( ② ) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin)
;
}
答案: ① x>=0 ② x<amin
【3.5】下面程序的功能是将形参 x 的值转换
为二进制数,所得的二进制数放在一个一维数
组中返回,二进制数的最低位放在下标为 0 的
元素中。
fun(int x,int b[])
{ int k=0,r;
do
{ r=x% ① ;
b[k++]=r;
x/= ② ;
}while(x);
}
答案: ① 2 ② 2
【3.6】下面程序的功能是输出 100 以内的个
位数为 6、且能被 3 整除的所有数。
main()
{ int i,j;
for(i=0; ① ;i++)
{ j=i*10+6;
剩余6页未读,继续阅读
资源评论
Mo-莫林
- 粉丝: 127
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功