C语言试题求答案

判断题
1.C程序中最基本的单位是函数( )。
2.a-2是一个正确的标识符( )。
3.1/2的值是0.500000( )。
4.fabs(-5)的值是25( )。
5.(i+2)++是正确的表达式( )。
6.3&&4的值为1( )。
7.在C语言中表达式ch=”abcdef”是正确的( )。
8.经过编译后,但未链接的文件扩展名为obj( )。
9.在C语言中是区分大小写的( )。
10.一个C程序可以有多个文件构成( )。
二、填空题(38分,共8小题,1~5每小题4分,6~8每小题6分,把正确答案按题号填入表格内)
1.在C程序设计中,把编辑好的源程序进行编译后成为 文件,进行链接后成为 文件。
2.有一字符ch,写出判断ch为大写字母的表达式。
3.已有定义:int x=4,y;
y=x++;
请写出y的值。
4.已有定义:int x=012;要求输出为:**** x=10 &&
请写出用x表示的printf语句。
5.已有定义:int x,y;x、y的值从键盘输入,键盘输入形式为:20,30,其中20赋给x,30赋给y,请写出用scanf表示的输入语句。
6.有循环语句:
y=0;
x=10;
while(x<=20)
{
y=y+x;
x++;
}
写出与它等价的for语句。
从键盘输入一个整数n,调用函数sum求s=1/1+1/2+1/3+1/4+…+1/n,在main函数中输出结果,请填空。
#include<stdio.h>
double sum( )
{
int i;
double s=0;
for(i=1;i<=a;i++)
;
return s;
}

int main()
{
int n;
double ss;
;
ss=sum(n);
printf("ss=%lf\n",ss);
}
定义一结构体
struct kk
{
int a;
char s[20];
};
定义一个结构体数组struct kk x[5];从键盘输入结构体数组,输出数组中最大成员a及s。
#include<stdio.h>
struct kk
{
int a;
char s[20];
};

int main()
{
struct kk x[5];
int i,max,k;
for(i=0;i<5;i++)
scanf("%d %s",&x[i].a,x[i].s);
max=x[0].a;
for(i=1;i<5;i++)
if( )
{
;
k=i;
}
printf("最大值 %d 及姓名为%s\n",x[k].a, );
return 0;
}
三、程序阅读题(18分,共3小题,每小题6分,把正确答案按题号填入表格内)
阅读下列程序,写出程序的运行结果。
#include<stdio.h>
int main( )
{
int x=0x10,y=010;
printf(“x=%d y=%x\n”,x,y);
return 1;
}
阅读下列程序,写出程序的运行结果。
#include<stdio.h>
int main( )
{
char ch='C';
int x=3;
switch(ch-'B')
{
case 1:x=x+2; break;
case 1+1:x=2*x;
default:x=x-5; break;
case 3:x=x/2;
}
printf("x=%d\n",x);
}
阅读下列程序,写出程序的运行结果。
#include<stdio.h>
int main()
{
int x,*p,a[10]={0,10,20,30,40,50,60,70,80,90};
p=&a[4];
x=*p++;
printf("%d ",x);
x=++*p;
printf("%d ",x);
x=*++p;
printf("%d ",x);
printf("\n");
return 0;
}

四、程序设计题(24分,第1题10分,第2题14分)
1.键盘输入一批整数,输入0时结束,偶数输出,奇数相加,最后输出奇数的和。

2.在main函数中定义一个整型数组int a[10],编写一个输入函数input,输入这个数组的所有元素,编写一个求数组最大值的函数max,求这个数组中的最大元素,在main函数中输出数组最大值。
谢谢了。加分了,希望大家再帮帮忙

判断题
1.C程序中最基本的单位是函数( )。正确 程序时由函数构成的
2.a-2是一个正确的标识符( )。 错误 -非法字符
3.1/2的值是0.500000( )。 错误 0
4.fabs(-5)的值是25( )。 错误 5
5.(i+2)++是正确的表达式( )。 错误 ++要求是变量
6.3&&4的值为1( )。 正确
7.在C语言中表达式ch=”abcdef”是正确的( )。错误 字符串不能直接赋值
8.经过编译后,但未链接的文件扩展名为obj( )。正确
9.在C语言中是区分大小写的( )。 正确
10.一个C程序可以有多个文件构成( )。 正确
二、填空题(38分,共8小题,1~5每小题4分,6~8每小题6分,把正确答案按题号填入表格内)
1.在C程序设计中,把编辑好的源程序进行编译后成为 目标(obj) 文件,进行链接后成为 可执行(exe) 文件。

2.有一字符ch,写出判断ch为大写字母的表达式。
ch>='A'&&ch<='Z'

3.已有定义:int x=4,y;
y=x++;
请写出y的值。 y的值为4

4.已有定义:int x=012;要求输出为:**** x=10 &&
请写出用x表示的printf语句。
printf("**** x=%d &&",x);

5.已有定义:int x,y;x、y的值从键盘输入,键盘输入形式为:20,30,其中20赋给x,30赋给y,请写出用scanf表示的输入语句。
scanf("%d,%d",&x,&y);

6.有循环语句:
y=0;
x=10;
while(x<=20)
{
y=y+x;
x++;
}
写出与它等价的for语句。
for(x=10,y=0;x<=20;y+=x,x++);

从键盘输入一个整数n,调用函数sum求s=1/1+1/2+1/3+1/4+…+1/n,在main函数中输出结果,请填空。
#include<stdio.h>
double sum( int a)
{
int i;
double s=0;
for(i=1;i<=a;i++)
s+=1/i;
return s;
}

int main()
{
int n;
double ss;
scanf("%d",&n);
ss=sum(n);
printf("ss=%lf\n",ss);
}

定义一结构体
struct kk
{
int a;
char s[20];
};
定义一个结构体数组struct kk x[5];从键盘输入结构体数组,输出数组中最大成员a及s。
#include<stdio.h>
struct kk
{
int a;
char s[20];
};

int main()
{
struct kk x[5];
int i,max,k;
for(i=0;i<5;i++)
scanf("%d %s",&x[i].a,x[i].s);
max=x[0].a;
for(i=1;i<5;i++)
if( x[i]>max )
{
max=x[i].a;
k=i;
}
printf("最大值 %d 及姓名为%s\n",x[k].a, x[k].s );
return 0;
}
三、程序阅读题(18分,共3小题,每小题6分,把正确答案按题号填入表格内)
阅读下列程序,写出程序的运行结果。
#include<stdio.h>
int main( )
{
int x=0x10,y=010;
printf(“x=%d y=%x\n”,x,y);
return 1;
}
结果:x=16 y=8

阅读下列程序,写出程序的运行结果。
#include<stdio.h>
int main( )
{
char ch='C';
int x=3;
switch(ch-'B')
{
case 1:x=x+2; break;
case 1+1:x=2*x;
default:x=x-5; break;
case 3:x=x/2;
}
printf("x=%d\n",x);
}
结果:x=5

阅读下列程序,写出程序的运行结果。
#include<stdio.h>
int main()
{
int x,*p,a[10]={0,10,20,30,40,50,60,70,80,90};
p=&a[4];
x=*p++;
printf("%d ",x);
x=++*p;
printf("%d ",x);
x=*++p;
printf("%d ",x);
printf("\n");
return 0;
}
结果:50 51 60

四、程序设计题(24分,第1题10分,第2题14分)
1.键盘输入一批整数,输入0时结束,偶数输出,奇数相加,最后输出奇数的和。
#include "stdio.h"
int main()
{
int a,i,s=0;
scanf("%d",&a);
while(a)
if(a%2) s+=a;
else printf("%d ",a);
printf("\n奇数和为:%d\n",s);
return 0;

}

2.在main函数中定义一个整型数组int a[10],编写一个输入函数input,输入这个数组的所有元素,编写一个求数组最大值的函数max,求这个数组中的最大元素,在main函数中输出数组最大值。
#include "stdio.h"
void input(int a[10])
{
int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
}

int max(int a[10])
{
int m,i;
m=a[0];
for(i=1;i<10;i++)
if(m<a[i]) m=a[i];
return m;
}
int main()
{
int a[10];
input();
printf("最大值为%d",max(a));
}

有问题可以到我空间留言,会帮你解答的,祝顺利!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-03
判断题
1.错误。一个函数由数据声明部分和执行语句组成。
2.错误。标识符只能由字母、数字和下划线3种字符组成。不包括“-”
3.正确。
4.错误。fabs求绝对值。fabs(-5)的值是-5。
5.错误。i+2后是个常量,不能运行++运算。
6.正确。

参考资料:123

第2个回答  2010-01-02
判断题
1.错误。一个函数由数据声明部分和执行语句组成。
2.错误。标识符只能由字母、数字和下划线3种字符组成。不包括“-”
3.正确。
4.错误。fabs求绝对值。fabs(-5)的值是-5。
5.错误。i+2后是个常量,不能运行++运算。
6.正确。
7.错误。
8.正确。
9.正确。
10.正确。
第3个回答  2010-01-02
二.
1.后缀名为.obj的文件 后缀名为.exe的文件
2.if(ch>=65&&ch<=90)
3.4
4.不知道说的什么意思!
5.scanf("%d%d",x,y);
6.for(x=10,y=0;x<=20;x++)
{
y=y+x;
}
7.double sum(int a)
for(i=1;i<=a;i++)
s+=1/i;
scanf("%d",&n);
8.if(x[i].a>max)
{
x[i].a=max;
k=i;
}
printf("最大值 %d 及姓名为%s\n",x[k].a,x[k].s);
三.
1.x=16 y=8
2.x=5
3.40 51 60
第4个回答  2010-01-02
判断题的第3题应该是错的,答案应该是0.