当前位置:首页 » 编程语言 » c语言各行意思
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言各行意思

发布时间: 2023-02-07 17:43:39

c语言新手,求解释每行代码的意思,谢谢了,在线等

#include <stdio.h>
main()
{
int a[3][5],*p[3]; //二维数组a,存储三个整数序列(每个序列5个整数),三行五列,指针数组p分别指向三个整数序列
int i,j,k,min,code; //都是整型,min为最小值
p[0]=*a; //p[0]指向第一行
p[1]=*(a+1); // p[1]指向第二行
p[2]=*(a+2); // p[2]指向第三行
for (i=0;i<3;i++) //建立循环体,依次输入每行的5个数字
{
printf("输入第%d个数序的5个整数:",i+1);//输入
for (j=0;j<5;j++)
scanf("%d",p[i]+j);//输出
}
for (i=0;i<3;i++) //i 为行数
{
for (j=0;j<4;j++) //j为列数
{
for (k=j;k<5;k++)
if (k==j || *(p[i]+k)<min)//和min比较
{
min=*(p[i]+k); //将较小的赋予min
code=k; //code为最小值所在列
}
if (code!=j) //k不等于j
{
*(p[i]+code)=*(p[i]+j); //取p的地址是指一个具体的数
*(p[i]+j)=min; //将最小值赋给*(p[i]+j)
}
}
}
printf("输出结果如下:n"); //输出提示
for (i=0;i<3;i++) { //外循环3次输出
printf(" 数序%d:",i+1); // 输出行数
for (j=0;j<5;j++) //内循环5次输出
printf("%d ",*(p[i]+j)); //输出每列的数字

}
}

❷ c语言每行的意思,请解释的详细一点

#include"stdio.h"
#definemaxlen100
typedefstruct{
intdata[100];
intlast;
}Seq;//定义一个数据结构
intSqLempty(Seq*L)//判断数组是否满
{
if(L->last+1>=maxlen)//如果数组长度等于超过最大长度,表示数组已满
return1;
else
return0;
}
voidSqLinsert(Seq*L,inti,intx)//插入运算
{
intj;
if(SqLempty(L)==1)//数组满,无法插入
{printf("overflow");
}
elseif(i<1||(i>L->last+2))//i代表插入位置,不能小于1也不能比数组长度+1大
{
printf("error");
}
else
{
for(j=L->last;j>=i-1;j--)
L->data[j+1]=L->data[j];//插入位置之后的元素往后移一格
L->data[i-1]=x;//插入元素
L->last=L->last+1;//元素总数+1
}
for(i=0;i<L->last+1;i++)//输出所有元素
printf("%d",L->data[i]);
}
main()
{
intj,k;
Seqx,*L;
L=&x;
L->last=6;
L->data[0]=32;
L->data[1]=51;
L->data[2]=65;
L->data[3]=9;
L->data[4]=23;
L->data[5]=7;
L->data[6]=47;//定义出师序列
printf("请问您想在什么位置插入数据?");
scanf("%d",&j);
printf("您想要插入什么数据?");
scanf("%d",&k);
SqLinsert(L,j,k);//调用插入数据函数
}

❸ C语言初学求解释其中的每行的意思

  1. 包含一个头文件(头文件里面提供有一些可以直接使用的东西,比如函数方法,)。

  2. 把uchar定义为 unsigned char 型变量的简称,目的是方便打代码少写几个英文。

  3. 注释(做一些代码的注解,不被编译)

  4. 定义一个叫redLED的常量,它的值为PORTC.0。这方便在写代码的时候辨识是哪个灯,这就不用去记忆PORTC.0对应的LED灯是红灯。

  5. 同上

  6. main函数,就是主函数。这是整个程序的入口点。程序运行的时候,就是从这个函数开始的。

  7. DDRC(应该是寄存器)置位为0xff。

  8. 同上

  9. 同上

  10. 同上

  11. 死循环(不断反复执行while{}里面的语句,除非整个程序停止或者用break关键字跳出,否则永远循环执行下去)。

  12. 这是个判断。PIND&0x01,把PIND跟0x01相与,当PIND=1,这个式子结果就是1,if里的值为真,执行下面花括号里的语句;而如果PIND为0,这个式子结果就是0,if里的值为假,执行else下面的语句。

  13. redLED 置1,给这个对应的引脚输出一个高电平,把灯点亮(或者熄灭,我没学过你们的这个单片机,不知道 置1 会是什么结果)。

  14. redLED 置1,给这个对应的引脚输出一个低电平。同上。

  15. 如果PIND&0X01的结果为0时,执行下面{}中的语句。

  16. 同13、14。

  17. 同13、14。

以上内容为大概解析,本人没有使用过这款单片机,所以有一些具体的内容可能我无法准确描述(比如寄存器与io口的配置)。仅供参考,欢迎纠正。

❹ c语言中实数的输出和占位各行代表的意思,朋友们,谢谢大家了。

double是一种类型,表示双精度浮点数。

%lf是以6位小数、按实际需要的宽度输出一个双精度浮点数。

%10.3lf中,10表示右对齐、最小输出宽度是10个字符,不足10个字符时在左边补空格直到10个字符。3表示输出时保留3位小数。lf表示将输出一个双精度的浮点数。

%-10.3lf与%10.3lf的意思基本相同,除了是表示左对齐,空格补在右边。

下面是运行截图,可以对照着上面的解释来理解:

❺ C语言函数运行 过程 每行的意思

就是,实参是主函数调用函数的时候传进去的那个,形参就是在被调用函数中的,代表那个实参的值。#includeint fun(int n){ return n+2;}int main(){ int a; a=1; int b; b=fun(a);}a就是实参,函数中的 int n 就是形参。形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。 2.实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 3.实参和形参在数量上,类型上,顺序上应严格一致, 否则会发生“类型不匹配”的错误。 4.函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

❻ C语言程序~翻译下解释下每行的意思~谢谢了

#include<stdio.h> //由于下面程序会用到scanf和printf语句,所以需要包含这个头文件
int main() //主函数的返回值为整型,这要求程序有return 0;这样的返回语句
{ int a[10]; //定义10个单元的数组,数组名为a,10个元素分别是:a[0],a[1],...,a[9]
int i,j,t; //定义工作变量
printf("input 10 numbers:\n");//在屏幕上显示提示input 10 numbers:并换行,提示输入10个整数
for ( i=0;i<10;i++ ) //循环语句,让每次执行循环体时,i的值从0开始每次加1,i=0,1,2,...,9
scanf("%d",&a[i]); //循环体,输入整型的数据到a[i],由于每次循环i的取值不同,所以10次循环
//会将键盘输入的整数分别放到a[0],a[1],...,a[9]中
printf("\n");//在屏幕上输出一行空行
for ( j=0;j<9;j++ ) //循环,j在下面循环中分别等于0,1,2,...,8
for ( i=0;i<9-j;i++ ) //循环体,根据每次j的值进行9-j次循环
//i的取值对应j值分别是0~9,0~8,0~7,...,0~1
if ( a[i]>a[i+1] ) //如果发现当前的元素值比后面一个的大执行下面操作
{ t=a[i]; a[i]=a[i+1];a[i+1]=t; } //借助t交换两个元素的值
//上面这个嵌套循环实现冒泡排序算法:每次j循环实现将当前范围内的最大数交换到
//当前范围的最后后元素位置上,第0次循环将a[0]~a[9]中最大值放到a[9],
//第1次循环将a[0]~a[8]中最大值放到a[8],依此类推
//i循环实现当前范围内最大数向后逐一交换移动
printf("the sorted numbers:\n");//在屏幕上输出提示the sorted numbers:并换行
for ( i=0;i<10;i++ ) printf("%d ",a[i]);//顺序输出排序后的a[0],a[1],...,a[9]的值,每个数据间空1格
printf("\n");//输出上面数据后换行
return 0;//正常返回值结束程序运行
}