C语言程序设计题目及解答-10
一、判断题 (20分)
1. 在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。2分
2. 对C语言中用到的任何一个变量都要规定其类型。2分
3. 字符型数据和整数之间是不可以通用的。2分
4. 对整型常量可进行自加或自减运算,而对变量或表达式不可以。2分
5. 表达式1/4+2.75的值是3。2分
6. 复合语句是由多条语句组成的,因此它不是一条语句。2分
7. 程序进行编译时,不为形式参数分配存储空间.2分
8. return后面括号里的表达式的值即是此函数的值。2分
9. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是52分
10. int n=10; int a[n];则数组a有10个元素。2分
二、选择题 (20分)
1.下列可用于C语言用户标识符的一组是( ). [B] 2分
A. void, define, WORD
B. a3_b3, _123,Car
C. For, -abc, IF Case
D. 2a, DO, sizeof
2.有以下程序:
#include
int main( )
{
int i=1,j=1,k=2;
if((j++ || k++) &&i++ )
printf("%d,%d,%d",i,j,k);
return 0;
}
执行后输出结果是: [C] 2分
A. 1,1,2
B. 2,2,1
C. 2,2,2
D. 2,2,3
3.已知int a;float b;所用的scanf调用语句格式为:
scanf("a//%d,b=%f",&a,&b);
为了将数据3和25.08分别赋给x和y,正确的输入应当是( )。 [B] 2分
A. 3,25.08
B. a//3,b=25.08
C. a=3,b=25.08
D. a//3b=25.08
4.若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()。[B]
A. (exp==0)
B. (exp!=0)
C. (exp==1)
D. (exp!=1)
5.C语言规定,在一个源程序中,main函数的位置( )。 [C] 2分
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
6.现在有以下定义,int a;double b;float c;char k;则下面的表达式a/b+c-k值的类型为:( )。 [B] 2分
A. int
B. double
C. float
D. char
7.设有语句int a=3; 则执行了语句a+=a-=a*a;后,变量a的值是______。 [D] 2分
A. 3
B. 0
C. 9
D. -12
8.以下非法的赋值语句是______。 [C] 2分
A. n=(i=2,++i);
B. j++;
C. ++(i+1);
D. x=j>0;
9.若有数组定义语句“i nt a[4][5];”,则对a中数组元素的正确引用是()。[D] 2分
A. a[4][1]
B. a[2,1]
C. a[4][5]
D. a[4–1][5–5]
10.有数组定义语句“char a[20];”,则正确的输入语句为()。 [D] 2分
A. scanf("%s",&a);
printf是不是c语句B. scanf("%s",a[]);
C. gets(a[20]);
D. gets(a);
三、程序填空题 (20分)
1. 功能:输出1到100之间每位数的乘积大于每位数的和的数。例如:数字26,数位上数字的乘积12大于数字之和8。4分
#include
void main()
{
int n,k=1,s=0,m;
for(n=1;n<=100;n++)
{
k=1;
s=0;
m=n;
while(0<="" p="">
{
__(1)__;
__(2)__;
m/=10;
}
if(k>s)
printf("%d ",n);
}
}
(1)答案2分k*=m%10
(2)答案2分s+=m%10
2. 功能:求100-999之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。(例如:153=1^3+5^3+3^3)。8分
#include
int fun(int n)
{ int i,j,k,m;
m=n;
__(1)__;
for(i=1;i<4;i++)
{
__(2)__;
m=(m-j)/10;
k=k+j*j*j;
}
if(k==n)
__(3)__;
else
return(0);
}
int main()
{
int i;
for(i=100;i<1000;i++)
if(__(4)__==1)
printf("%d is ok!\n" ,i);
}
(1)答案2分k=0
(2)答案2分j=m%10
(3)答案2分return(1)
(4)答案2分fun(i)
3. 功能:输入某年某月某日,判断这一天是这一年的第几天?8分#include
int main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d %d %d",&year,&month,&day);
scanf("%d %d %d",&year,&month,&day);
scanf("%d %d %d",&year,&month,&day);
scanf("%d %d %d",&year,&month,&day);
switch(month)
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:__(1)__;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论