本文目录一览:
C语言问题。。
一、C语言规定总是从main()开始执行的(这个函数也叫“主函数”)。因此,你发来的题目中的(1、6、8)叙述都是错误的,都应该选择F。
二、第2题中,C语言对其数据在内存中所占用的实际字节数,随着程序中声明的数据类型以及数据的多少而变化,C语言本身并没有明确规定。这题应该选F。
三、第3题,C语言中强制类型转换,仅对转换的语句有效,而不会改变所转换变量的原有数据类型,这是正确的,应该选T。
四、第4题,i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);实际上是一个程序执行类题目,执行这一句时,先取得ij变量的值,其中有一个++i(先自增),一个j++(后自增),先自增的i先加上1,也就是i=8+1=9,而后自增的j在打印之后再加1,所以打印时仍是j=10。所以打印出来是:9 10 9 10。这是正确的。
五、第5题“C语言中放在“”之间的内容都被视为字符串的一个构成部分,都可以在屏幕上原样显示”的说法是错误的。举一个例子就可以了:print("%d",8);是打印不出来%d的,它只能打印出来8。所以它是错的。
六、第7题,设x、t均为int型变量,则执行语句"x = 10;t = x x 10;"后,t的值为,这个题目好似没有写完,成了填空题了,现在来看计算过程,t = x x 10,根据计算的优先级,号是6级,是11级,先计算x 10,因为x=10,故x10是不成立的,所以它的值是0,第二步再计算x 0=10 0=0。t的值最后应该是0。
希望对你有所帮助。
用调用只求m和n的最小公倍数C语言
#include "stdio.h"
void main()
{
int m,n,j;
/*请在两条星线之间填入相应的代码, 声明gbs函数*/
/*********************************************/
int gbs(int m, int n );
/*********************************************/
int m,n;
printf("输入两个正整数m和n:"); /* 输入提示 */
scanf("%d%d",m,n);
/*在两条星线间填入相应代码, 调用函数gbs求m和n的最小公倍数*/
/*********************************************************/
j=gbs(m,n);
/*********************************************************/
printf("%d与%d的最小公倍数是%d\n",m,n,j); /* 输出结果 */
}
int gbs(int m,int n) //定义求m和n的最小公倍数函数
{
int temp,j;
/*请在两条星线间填入相应代码, 求m和n的最小公倍数*/
/*****************************************************/
for(j=m;j=m*n;j++)
if(j%m==0j%n==0)
break;
/*****************************************************/
return j; /* 返回结果 */
}
关于C语言
#include stdio.h
long int abc(int a,int b);
void main()
{
int a,b,gys,gbs;
printf("输入整数a:");
scanf("%d",a);
printf("输入整数b:");
scanf("%d",b);
gys=abc(a,b);
gbs=a*b/gys;
cout"最大公约数:"gysendl"最小公倍数:"gbsendl;
}
int abc(int a,int b)
{
int temp,df;
if (a b)
{
temp=a;a=b;b=temp;
}
if (a % b ==0)
{
df=b;
return df;
}
else
{
abc(b,a % b);
}
}
C语言max_gys,min_gbs问题
int min_gbs(int x,int y)
{
return (p/(max_gys(m,n)));
}
中的p是哪里来的
帮忙看个C语言函数问题,怎么办
#include
"stdio.h"
int
gys(int
x,
int
y)
{
int
i;
for(i=xy?x:y;
i=1;
i--)
{
if(x%i==0
y%i==0)
{
return(i);
break;
}
}
return
0;//加个返回
}
int
gbs(int
x,
int
y)
{
int
i,k;
k=1;
for(i=xy?x:y;
i=x*y;
i=i*k++)
{
if(i%x==0
i%y==0)
{
return(i);
break;
}
}
return
0;//加个返回
}
void
main()
//main主函数改正
{
int
num1,num2;
scanf("%d%d",num1,num2);
printf("%d和%d的\n最大公约数为:%d\n最小公倍数为:%d\n",num1,num2,gys(num1,num2),gbs(num1,num2));
}