-
C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。查看全部
-
#include <stdio.h>
int getGirth(int a,int b,int c)
{
if( (a+b)<=c || (a+c)<=b || (b+c)<=a ) //判断是否为三角形
{
printf("不构成三角形\n");
return 0;
}
else
{
int cirf = a+b+c; ; //计算三角形周长
return cirf;
}
}
int main()
{
/* 定义三角形三边长 */
int a, b, c;
a = 3;
b = 4;
c = 5;
printf("三角形的周长是:%d\n", getGirth(a,b,c)); //调用周长函数
return 0;
}
定义函数时用的参数是形参,把这个形参放到某个公式里,当调用那个函数时 ,使用的参数是实参,且此时参数必须有明确值,并且这些参数要套到那个公式里,调用结束后返回那个定义的函数就不能再使用这个参数了。
查看全部 -
#include <stdio.h>
/* 考虑一下哪个输出该用无参函数哪个输出该用有参函数呢? */
int CLASS()
{
printf("小明在慕课网上学习课程");
return 0;
}
int CLASSTWO(int num)
{
printf("小明已经学习了%d课程",num);
return 0; }
int main()
{
CLASS();
CLASSTWO(5);
return 0;
}
定义第一个函数说明小明再学习慕课网,定义第二个函数说明小明已经学习的课程数目,这是要注意定义的一个变量,在最后调用它时直接给它赋值写结果(例如CLASSTWO(80);),而不是num=80,这样会出现num是未知变量的错误。
查看全部 -
#include <stdio.h>
int main()
{
int sum = 0;
int i;
for(i=1; i<=10; i++)
{
printf("%d\n", i);
//是不是少了一个判断呢?
if(i==3)
{
printf("%d\n",i);
goto END;
}//在这里使用goto语句
}
END: printf("结束for循环了...."); //请选择合适位置添加标识符
return 0;
}
熟悉这种语句用法
查看全部 -
#include <stdio.h>
int main()
{
int year = 2008;
int month = 8;
int day = 8;
int i,j;
if(year%100==0&&year%400==0||year%4==0&&year%100!=0)i=1;
else i=0;
switch(month)
{
case 1:j=day;break;
case 2:j=31+ day;break;
case 3:j=31+ 28+ day;break;
case 4:j=31+ 28+ 31+ day;break;
case 5:j=31+ 28+ 31+ 30+ day;break;
case 6:j=31+ 28+ 31+ 30+ 31+ day;break;
case 7:j=31+ 28+ 31+ 30+ 31+ 30+ day;break;
case 8:j=31+ 28+ 31+ 30+ 31+ 30+ 31+day;break;
case 9:j=31+ 28+ 31+ 30+ 31+ 30+ 31+ 31+ day;break;
case 10:j=31+ 28+ 31+ 30+ 31+ 30+ 31+ 31+ 30+day;break;
case 11:j=31+ 28+ 31+ 30+ 31+ 30+ 31+ 31+ 30+ 31+day;break;
case 12:j=31+ 28+ 31+ 30+ 31+ 30+ 31+ 31+ 30+ 31+ 30+ day;break;
}
if(i==1)j+=1;
printf("%d年%d月%d日是该年的第%d天",year,month,day,j);
return 0;
}
查看全部 -
#include <stdio.h>
float getfee(int time,int k){
float p=0;
p++;
if(k<=3){
p+=13;
printf("此次打车费用为%f元\n",p);
return p;
}
else{
if(time>=23||time<5){
p+=13;
k-=3;
p+=k*2.3*1.2;
printf("夜间%d点出发%d公里,打车费用为%f元\n",time,k+3,p);
return p;
}
else{
p+=13;
k-=3;
p+=k*2.3;
printf("日间%d点出发%d公里,打车费用为%f元\n",time,k+3,p);
return p;
}
}
}
int main()
{
float p=0;
p=getfee(9,12)+getfee(18,12);
printf("小明打车每天需要%f元",p);
return 0;
}
查看全部 -
break语句与continue语句的区别是:break是跳出当前整个循环,continue结束本次循环开始下一次循环。
查看全部 -
先开始m=2,然后进入子循环n=2,m%n==0,然后break,跳出子循环,进入if m=n判定,判定成功,输出2;
父循环m=3,进入子循环n=2,不符合条件,继续子循环n=3,m%n==0,然后break,跳出子循环,进入if m=n判定,判定成功,输出3;
父循环m=4,进入子循环n=2,m%n==0,然后break,跳出子循环,进入if m=n判定,m=4,n=2,m!=n,判定失败,不输出;
父循环m=5,进入子循环n=2,……
并不会出现你所说的m=4,n=4一起
查看全部 -
我们可以将运球看成是一个循环,那么循环5次的时候,需要中断不继续训练。在C语言中,可以使用break语句进行该操作,代码实现如下:
1、在没有循环结构的情况下,break不能用在单独的if-else语句中。
2、在多层循环中,一个break语句只跳出当前循环。
查看全部 -
递归函数必须有结束条件。查看全部
-
do-while循环
查看全部 -
从下面(1)-(5)顺序看思路,即替换过程。
#include <stdio.h>
void replaceMax(int arr[],int value)………………… arr1[]={10,41,3,12,22} (2)
{
int max = arr[0]; ………………… 此时max=10 (3)
int index = 0;
int i;
for(i=1;i<5;i++) …………………… i arr= max index
{
if(arr[i]>max) 1 arr1=41>10 41 1
{ 2 arr2=3 <41 41 1
max=arr[i]; //将数组中较大的数赋值给max 3 arr3=12<41 41 1
index = i; //记录当前索引 4 arr4=22<41 41 1 (4)
}
}
arr[index] = value; ………………………………arr1=value//将value的值赋予arr1
} (1)处value值即为arr2[0],所以 arr1=1,即把41替换为1,其余int main() 不变。 (5)
{
int arr1[] = {10,41,3,12,22};
int arr2[] = {1,2,3,4,5};
int i;
replaceMax(arr1,arr2[0]); ………………………………我们从这里看起,函数replaceMax引入数组arr1 (1)到上面函数
printf("%d\n",arr2);
for(i=0;i<5;i++)
{
printf("%d ",arr1[i]);
}
return 0;
}查看全部 -
因为第一行到第四行空格数量是递减的,然后星号是递加的。
查看全部 -
多重循环在执行的过程中,外层循环为父循环,内层循环为子循环,父循环一次,子循环需要全部执行完,直到跳出循环。父循环再进入下一次,子循环继续执行...
查看全部 -
标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线
查看全部 -
switch后面的表达式语句只能是整型或者字符类型。查看全部
举报