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

scl语言c语言

发布时间: 2022-01-22 10:05:56

❶ SCL语言中的整除是什么

c语言中未初始化的变量的值是0么
就是定义了变量但是未给其赋值,此时它的值是随机数还是0?
这要看你定义的变量的属性
全局变量 静态变量初始值为0
局部变量,自动变量初始值随机分配

❷ scl是什么意思

scl意思如下:


SCL作为英文缩写,具有多项意义。

如源程序清单、安全检查表、硬皮病、结构化控制语言、皮肤传导水平、标准及校正实验所、森马船务公司、I2C时钟信号、软性接触镜等。

补充

概念

SCL是一个以三人为首的游戏制作小组。主要的制作成果有“竟乐赛车岛”,但还没有任何公测的消息,还在内测中。

源程序清单

SCL(Source list),源程序清单。

结构化

SCL(Structured Control Language),结构化控制语言。

结构化控制语言编程结构和C语言和Pascal语言相似,特别适合于习惯于使用高级语言编程的人使用。SCL程序可以在CPU314及其以上的S7(包括400)中运行。

软性接触镜

SCL(软性角膜接触镜的简称)。

变电站

变电站配置描述语言

(Substation Configuration Language)

变电站配置语言SCL是IEC61850采用的变电站专用描述语言,基于XML1.0。它采用可扩展的标记语言清楚地描述变电站IED设备、变电站系统和变电站网络通信拓扑结构的配置。

使用SCL能够方便地收集不同厂家设备的配置信息并对设备进行配置,使系统维护升级、智能电子器件控制变得更为简单易行。使用SCL形成标准的IED数据传输文件,可以避免协议转换的开销,同时大大减少数据集成和维护的成本。

❸ c语言,白痴不会,,求教。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <windows.h>
#include <conio.h>
typedef struct student
{
//1、数据结构:学号 姓名 数学 英语 语文 C语言 总分 平均分
int num;
char name[10];
int math;
int english;
int chinese;
int cl;
int mark;
double average;
} student;
void Menu(); //主菜单
void Password(char *password);//密码验证
void Student_file(student people[]);//输入数据
void Save(student people[]);//保存档案
void Search();//查找学生档案
void Search_Name(student people[]);//按照姓名查找学生信息
void Search_Num(student people[]);//按照学号查找学生信息
void Student_Add(); //添加学生档案
void Student_Del(); //删除学生档案
void Student_Pass_Rate(); //学科及格概率
void Student_Sort(); //总分由高到低排序
void Student_Average(); //学科平均分
void Student_All_Del(); //删除所有学生档案
//void Student_Change_Password(); //修改密码
void Student_Stat();//统计各分数段人数并输出各科补考名单
int main()
{
FILE *fpn;
int s,n; //选项和人数
char password[50]="123456"; //初始密码
student people[50]; //支持的最大人数
system("color 4e");
system("title 学生信息管理系统");
Password(password);
for(;;)
{
Menu();
printf("请输入选项:");
scanf("%d",&s);
switch(s)
{
case 1:
printf("请输入人数:");
scanf("%d",&n);
if((fpn=fopen("n.dat","wb"))==NULL)
{
printf("Error!");
exit(0);
}
fputc(n,fpn);
fclose(fpn);
Student_file(people);
break;
case 2:
Search_Name(people);
break;
case 3:
Search_Num(people);
break;
case 4:
Student_Add();
break;
case 5:
Student_Del();
break;
case 6:
Student_Pass_Rate();
break;
case 7:
Student_Sort();
break;
case 8:
Save(people);
break;
case 9:
Search();
system("pause");
break;
case 10:
Student_Average();
break;
case 11:
Student_All_Del();
break;
case 12:
Student_Stat();
break;
case 0:
exit(0);
break;
}
}
return 0;
}
void Menu()
{
system("cls");
printf(" 学生信息管理系统\n");
printf("**********************菜单****************************\n");
printf("按1键:读入学生档案 按6键:学科及格概率\n");
printf("按2键:按照姓名查询 按7键:学生档案排序\n");
printf("按3键:按照学号查询 按8键:保存学生档案\n");
printf("按4键:添加学生档案 按9键: 查看学生档案\n");
printf("按5键:删除学生档案 按10键:求各科平均分\n");
printf("按0键:退出管理系统 按11键:删除所有学生档案\n");
printf("按12键:统计各分数段人数并输出各科补考名单\n");
printf("******************************************************\n");
}
void Password(char *password)
{
int i,j;
char p;
char password2[50];
printf("请输入登录密码:");
for(i=2; i>=0; i--)
{
j=0;
while((p=getch())!='\r')
{
password2[j]=p;
printf("*");
j++;
}
password2[j]='\0';
if((strcmp(password,password2))==0)
{
printf("密码输入正确!\n");
break;
}
else
{
if(i>0)
printf("\n密码输入错误,请重新输入(还有%d次机会):",i);
else
printf("密码输入错误,退出程序!\n");
}
}
if(i<0)
{
exit(0);
}
}
void Student_file(student people[])
{
int i,flag,j;
FILE *fpn;
int n,NUMS;
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
for(i=0; i<n; i++)
{
system("cls");
printf("请输入第%d个同学的数据:\n",i+1);
printf("学号:");
//scanf("%d",&people[i].num);
//Inputnum(people,&n,&i);
scanf("%d",&NUMS); //外面声明一个int型变量NUM
for(flag=0,j=0; j<i; j++)
{
if(people[j].num==NUMS)
{
flag=1; //标志位,有重复就置1,需要外面声明
break;
}
}
if(flag==1)
{
i--;
printf("学号重复!请按任意键重新输入!\n");
system("pause");
continue;
}
else
{
people[i].num = NUMS;
}
printf("姓名:");
scanf("%s",people[i].name);
printf("数学成绩:");
for(;;)
{
scanf("%d",&NUMS);
if(NUMS<0||NUMS>100)
{
printf("成绩超出程序规定范围,请重新输入数学成绩:");
flag=0;
}
else
{
flag=1;
}
if(flag==1)
break;
}
people[i].math=NUMS;
printf("英语成绩:");
for(;;)
{
scanf("%d",&NUMS);
if(NUMS<0||NUMS>100)
{
printf("成绩超出程序规定范围,请重新输入英语成绩:");
flag=0;
}
else
{
flag=1;
}
if(flag==1)
break;
}
people[i].english=NUMS;
printf("语文成绩:");
for(;;)
{
scanf("%d",&NUMS);
if(NUMS<0||NUMS>100)
{
printf("成绩超出程序规定范围,请重新输入语文成绩:");
flag=0;
}
else
{
flag=1;
}
if(flag==1)
break;
}
people[i].chinese=NUMS;
printf("C语言成绩:");
for(;;)
{
scanf("%d",&NUMS);
if(NUMS<0||NUMS>100)
{
printf("成绩超出程序规定范围,请重新输入C语言成绩:");
flag=0;
}
else
{
flag=1;
}
if(flag==1)
break;
}
people[i].cl=NUMS;
people[i].mark=people[i].math + people[i].english + people[i].chinese + people[i].cl;
people[i].average=(double)(people[i].math+people[i].english+people[i].chinese+people[i].cl)/4.0;
}
Save(people);
}
void Search()
{
FILE *fpn,*fp1;
int i;
int n;
student people2[50];
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
if((fp1=fopen("stu.dat","rb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fread(people2,sizeof(student),n,fp1);
fclose(fp1);
printf("学号 姓名 数学 英语 语文 C语言 总分 平均分\n");
for(i=0; i<n; i++)
{
printf("%-8d\t%-8s\t%-8d\t%-8d\t%-8d\t%-8d\t%-8d\t%-8.2lf\n",people2[i].num,people2[i].name,people2[i].math,people2[i].english,people2[i].chinese,people2[i].cl,people2[i].mark,people2[i].average);
}
}
void Save(student people[])
{
FILE *fp,*fpn;
int n;
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
if((fp=fopen("stu.dat","wb"))==NULL)
{
printf("保存档案失败!\n");
exit(0);
}
fwrite(people,sizeof(student),n,fp);
fclose(fp);
printf("保存成功!\n");
system("pause");
}
void Search_Name(student people[])
{
FILE *fpn,*fp1;
int i;
int n;
student people2[50];
char Name2[20];
printf("请输入要查找的姓名:");
scanf("%s",Name2);
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
if((fp1=fopen("stu.dat","rb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fread(people2,sizeof(student),n,fp1);
fclose(fp1);
printf("学号 姓名 数学 英语 语文 C语言 总分 平均分 \n");
for(i=0; i<n; i++)
{
if(strcmp(people2[i].name,Name2)==0)
{
printf("%-8d\t%-8s\t%-8d\t%-8d\t%-8d\t%-8d\t%-8d\t%-8.2lf\n",people2[i].num,people2[i].name,people2[i].math,people2[i].english,people2[i].chinese,people2[i].cl,people2[i].mark,people2[i].average);
break;
}
}
if(i==n)
{
printf("您要查找的姓名不存在!\n");
}
system("pause");
}
void Search_Num(student people[])
{
FILE *fpn,*fp1;
int i;
int n;
student people2[50];
int Num2;
printf("请输入要查找的学号:");
scanf("%d",&Num2);
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
if((fp1=fopen("stu.dat","rb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fread(people2,sizeof(student),n,fp1);
fclose(fp1);
printf("学号 姓名 数学 英语 语文 C语言 总分 平均分 \n");
for(i=0; i<n; i++)
{
if(people2[i].num==Num2)
{
printf("%-8d\t%-8s\t%-8d\t%-8d\t%-8d\t%-8d\t%-8d\t%-8.2lf\n",people2[i].num,people2[i].name,people2[i].math,people2[i].english,people2[i].chinese,people2[i].cl,people2[i].mark,people2[i].average);
break;
}
}
if(i==n)
{
printf("您要查找的学号不存在!\n");
}
system("pause");
}
void Student_Add()
{
FILE *fp,*fpn;
int n,NUMS,i,flag;
//int b;
student people2[50];
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
n=n+1;
if((fpn=fopen("n.dat","wb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fputc(n,fpn);
fclose(fpn);
if((fp=fopen("stu.dat","rb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fread(people2,sizeof(student),n,fp);
fclose(fp);
printf("请输入第%d个同学的数据:\n",n);
printf("学号:");
for(;;)
{
scanf("%d",&NUMS);
for(i=0;i<n-1;i++)
{
if(NUMS==people2[i].num)
{
flag=1;
break;
}
else
{
flag=0;
}
}
if(flag==1)
{
printf("学号重复!请重新输入学号:");
}
if(flag==0)
{
break;
}
}
people2[n-1].num=NUMS;
printf("姓名:");
scanf("%s",people2[n-1].name);
printf("数学成绩:");
for(;;)
{
scanf("%d",&NUMS);
if(NUMS<0||NUMS>100)
{
printf("成绩超出程序规定范围,请重新输入数学成绩:");
flag=0;
}
else
{
flag=1;
}
if(flag==1)
break;
}
people2[n-1].math=NUMS;
printf("英语成绩:");
for(;;)
{
scanf("%d",&NUMS);
if(NUMS<0||NUMS>100)
{
printf("成绩超出程序规定范围,请重新输入英语成绩:");
flag=0;
}
else
{
flag=1;
}
if(flag==1)
break;
}
people2[n-1].english=NUMS;
printf("语文成绩:");
for(;;)
{
scanf("%d",&NUMS);
if(NUMS<0||NUMS>100)
{
printf("成绩超出程序规定范围,请重新输入语文成绩:");
flag=0;
}
else
{
flag=1;
}
if(flag==1)
break;
}
people2[n-1].chinese=NUMS;
printf("C语言成绩:");
for(;;)
{
scanf("%d",&NUMS);
if(NUMS<0||NUMS>100)
{
printf("成绩超出程序规定范围,请重新输入C语言成绩:");
flag=0;
}
else
{
flag=1;
}
if(flag==1)
break;
}
people2[n-1].cl=NUMS;
people2[n-1].mark=people2[n-1].math + people2[n-1].english + people2[n-1].chinese + people2[n-1].cl;
people2[n-1].average=(double)(people2[n-1].math+people2[n-1].english+people2[n-1].chinese+people2[n-1].cl)/4.0;
if((fp=fopen("stu.dat","wb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fwrite(people2,sizeof(student),n,fp);
fclose(fp);
printf("添加成功!\n");
/*printf("是否继续添加?0(否) / 1(是):");
scanf("%d",&b);
switch(b)
{
case 1:
Student_Add();
break;
case 0:
break;
}*/
system("pause");
}
void Student_Del()
{
FILE *fp,*fpn;
int n,nums,i,j;
student people2[50];
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
if((fp=fopen("stu.dat","rb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fread(people2,sizeof(student),n,fp);
fclose(fp);
printf("请输入要删除学生的学号:");
scanf("%d",&nums);
for(i=0; i<n; i++)
{
if(people2[i].num==nums)
{
for(j=i; j<n-1; j++)
{
people2[j]=people2[j+1];
}
break;
}
}
n=n-1;
if((fpn=fopen("n.dat","wb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fputc(n,fpn);
fclose(fpn);
if((fp=fopen("stu.dat","wb"))==NULL)
{
printf("打开档案失败!\n");
exit(0);
}
fwrite(people2,sizeof(student),n,fp);
fclose(fp);
printf("删除档案成功!\n");
system("pause");
}
void Student_Pass_Rate()
{
FILE *fp,*fpn;
int n,smp=0,sep=0,scp=0,sclp=0,i;//数学 英语 语文 c语言的及格的人数
double mp,ep,cp,clp;// 及格率
int count1=0,count2=0,count3=0,count4=0;//及格的人数
student people2[50];
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
if((fp=fopen("stu.dat","rb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fread(people2,sizeof(student),n,fp);
fclose(fp);
for(i=0; i<n; i++)
{
if(people2[i].math >= 60)
{
smp++;
count1++;
}
if(people2[i].english >= 60)
{
sep++;
count2++;
}
if(people2[i].chinese >= 60)
{
scp++;
count3++;
}
if(people2[i].cl >= 60)
{
sclp++;
count4++;
}
}
//mp,ep,cp,clp
mp=((double)(smp))/n;
ep=((double)(sep))/n;
cp=((double)(scp))/n;
clp=((double)(sclp))/n;
printf("总人数为:%d\n",n);
printf("各科的及格率和不及格率分别为:\n");
printf("\n数学:\n及格率%.2lf\t不及格率%.2lf\t不及格人数为:%d\n",mp,1-mp,n-count1);
printf("\n英语:\n及格率%.2lf\t不及格率%.2lf\t不及格人数为:%d\n",ep,1-ep,n-count2);
printf("\n语文:\n及格率%.2lf\t不及格率%.2lf\t不及格人数为:%d\n",cp,1-cp,n-count3);
printf("\nC语言:\n及格率%.2lf\t不及格率%.2lf\t不及格人数为:%d\n",clp,1-clp,n-count4);
system("pause");
}
void Student_Sort()
{
FILE *fp,*fpn;
int n,i,j;
student people2[50];
student temp;
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
if((fp=fopen("stu.dat","rb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fread(people2,sizeof(student),n,fp);
fclose(fp);
for(i=0; i<n-1; i++)
{
for(j=0; j<n-i; j++)
{
if(people2[j].mark<people2[j+1].mark)
{
temp=people2[j];
people2[j]=people2[j+1];
people2[j+1]=temp;
}
}
}
printf("学号 姓名 数学 英语 语文 C语言 总分 平均分 \n");
for(i=0; i<n; i++)
{
printf("%-8d\t%-8s\t%-8d\t%-8d\t%-8d\t%-8d\t%-8d\t%-8.2lf\n",people2[i].num,people2[i].name,people2[i].math,people2[i].english,people2[i].chinese,people2[i].cl,people2[i].mark,people2[i].average);
}
system("pause");
}
void Student_Average()
{
FILE *fp,*fpn;
int n,i;
double smp=0,sep=0,scp=0,sclp=0; //数学 英语 语文 c语言的总分
student people2[50];
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
if((fp=fopen("stu.dat","rb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fread(people2,sizeof(student),n,fp);
fclose(fp);
for(i=0; i<n; i++)
{
smp+=people2[i].math;
sep+=people2[i].english;
scp+=people2[i].chinese;
sclp+=people2[i].cl;
}
smp=smp/n;
sep=sep/n;
scp=scp/n;
sclp=sclp/n;
printf("各科的平均分为:\n");
printf("数学: %.2lf\n",smp);
printf("英语: %.2lf\n",sep);
printf("语文: %.2lf\n",scp);
printf("C语言: %.2lf\n",sclp);
system("pause");
}
void Student_All_Del()
{
FILE *fpn,*fp1;
int i;
int n=0;
student people2[50];
printf("是否选择删除所有学生的档案? 0(否) / 1(是):");
scanf("%d",&i);
switch(i)
{
case 1:
if((fpn=fopen("n.dat","wb"))==NULL)
{
printf("Error!");
exit(0);
}
fputc(n,fpn);
fclose(fpn);
if((fp1=fopen("stu.dat","wb"))==NULL)
{
printf("删除档案失败!\n");
exit(0);
}
fwrite(people2,sizeof(student),0,fp1);
fclose(fp1);
printf("删除成功!\n");
break;
case 0:
printf("已经取消删除操作!\n");
break;
}
system("pause");
}
void Student_Stat()
{
FILE *fp,*fpn;
int n,i,j,k,l,p;//数学 英语 语文 c语言的及格的人数
int count[4][4]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//人数分布:0~59 60~74 75~89 90~100
/*count[1]shuxue count[2]yingyu count[3]yuwen count[4]cyuyan*/
int swap[4][50];
student people2[50];
if((fpn=fopen("n.dat","rb"))==NULL)
{
printf("Error!\n");
exit(0);
}
n=fgetc(fpn);
fclose(fpn);
if((fp=fopen("stu.dat","rb"))==NULL)
{
printf("查看档案失败!\n");
exit(0);
}
fread(people2,sizeof(student),n,fp);
fclose(fp);
for(i=0,j=0,k=0,l=0,p=0; i<n; i++)
{
if(0 <= people2[i].math && people2[i].math < 60)
{
count[0][0]++; //记录不及格的人数
swap[0][j]=i; //记录不及格人数的位置
j++;
}
if(60 <= people2[i].math && people2[i].math < 75)
{
count[0][1]++;
}
if(75 <= people2[i].math && people2[i].math < 90)
{
count[0][2]++;
}
if(90 <= people2[i].math && people2[i].math <= 100)
{
count[0][3]++;
}
if(0 <= people2[i].english && people2[i].english < 60)
{
count[1][0]++; //记录不及格的人数
swap[1][k]=i; //记录不及格人数的位置
k++;
}
if(60 <= people2[i].english && people2[i].english < 75)
{
count[1][1]++;
}
if(75 <= people2[i].english && people2[i].english< 90)
{
count[1][2]++;
}
if(90 <= people2[i].english && people2[i].english <=100)
{
count[1][3]++;
}
if( 0 <= people2[i].chinese && people2[i].chinese < 60)
{
count[2][0]++; //记录不及格的人数
swap[2][l]=i; //记录不及格人数的位置
l++;
}
if( 60 <= people2[i].chinese && people2[i].chinese < 75)
{
count[2][1]++;
}
if( 75 <= people2[i].chinese && people2[i].chinese < 90)
{
count[2][2]++;
}
if( 90 <= people2[i].chinese && people2[i].chinese <= 100)
{
count[2][3]++;
}
if(0 <= people2[i].cl && people2[i].cl< 60)
{
count[3][0]++; //记录不及格的人数
swap[3][p]=i; //记录不及格人数的位置
p++;
}
if(60 <= people2[i].cl && people2[i].cl< 75)
{
count[3][1]++;
}
if(75 <= people2[i].cl && people2[i].cl < 90)
{
count[3][2]++;
}
if(90 <= people2[i].cl && people2[i].cl <= 100)
{
count[3][3]++;
}
}
printf("总人数为:%d\n",n);
printf("在0-59范围内的各科人数:\n");
printf("数学:%d\t英语:%d\t语文:%d\tC语言:%d\n",count[0][0],count[1][0],count[2][0],count[3][0]);
printf("在60-74范围内的各科人数:\n");
printf("数学:%d\t英语:%d\t语文:%d\tC语言:%d\n",count[0][1],count[1][1],count[2][1],count[3][1]);
printf("在75-89范围内的各科人数:\n");
printf("数学:%d\t英语:%d\t语文:%d\tC语言:%d\n",count[0][2],count[1][2],count[2][2],count[3][2]);
printf("在90-100范围内的各科人数:\n");
printf("数学:%d\t英语:%d\t语文:%d\tC语言:%d\n",count[0][3],count[1][3],count[2][3],count[3][3]);
printf("**********************************************************************\n");
printf("补考名单\n");
printf("\n数学的补考名单为:\n");
printf("\n学号 姓名 数学成绩\n");
for(i=0;i<count[0][0];i++)//循环不及格人数次
{
printf("%-10d%-22s%-10d\n",people2[swap[0][i]].num,people2[swap[0][i]].name,people2[swap[0][i]].math);//找到不及格人数的位置进行读取
}
printf("**********************************************************************\n");
printf("\n学号 姓名 英语成绩\n");
for(i=0;i<count[1][0];i++)
{
printf("%-10d%-22s%-10d\n",people2[swap[1][i]].num,people2[swap[1][i]].name,people2[swap[1][i]].english);
}
printf("**********************************************************************\n");
printf("\n学号 姓名 语文成绩\n");
for(i=0;i<count[2][0];i++)
{
printf("%-10d%-22s%-10d\n",people2[swap[2][i]].num,people2[swap[2][i]].name,people2[swap[2][i]].chinese);
}
printf("**********************************************************************\n");
printf("\n学号 姓名 C语言成绩\n");
for(i=0;i<count[3][0];i++)
{
printf("%-10d%-22s%-10d\n",people2[swap[3][i]].num,people2[swap[3][i]].name,people2[swap[3][i]].cl);
};
printf("**********************************************************************\n");
system("pause");
}
/*void Student_Change_Password()
{
FILE *fp;
int i,j;
char ps[50];
printf("是否修改密码?0(否) / 1(是):");
scanf("%d",&j);
switch(j)
{
case 1:
printf("请输入新密码:");
scanf("%s",ps);
if((fp=fopen("password.dat","wb"))==NULL)
{
printf("修改密码失败!\n");
exit(0);
}
fprintf(fp,"%s",ps);
fclose(fp);
printf("修改密码成功!\n");
break;
case 0:
printf("成功取消修改操作!\n");
break;
}
system("pause");
}*/

❹ PLC编程和c语言编程有区别是什么plc编程初学者应该做些什么

C语言是计算机编程语言,是高级语言。PLC编程只适用于PLC,并且不同品牌PLC编程语言不同,梯形图、功能块图是低级语言,STL、SCL属于高级语言。
初学要熟悉指令用法,编程规则。再就是多编程。

❺ 大神们指点一下在对PLC编程时有人使用SCL编程,SCL是什么编程语言属于C语言范畴吗

SCL语言是类似于Pascal的语言,西门子上叫做SCL,其他厂牌叫做ST语言,因为西门子指令表编程方式叫做STL语言,因此结构文本编程方式叫做SCL了。

❻ 问一个问题:PLC中,在SCL编程时,如何让IF语句中,Then后面的两条语句连续执行加什么符号

SCL语言中,用BEGIN和END分别代替C语言中的“{”和"}",这样应该清楚了吧
比如,C语言这样写
main
{

int i,j,num;
if(num==0)
{
i=i+1;
j=j+1;
}
}
那么SCL就要这样:
BEGIN
I,J,NUM:INT;
IF NUM=0 THEN
BEGIN
I:=I+1;
J:=J+1;
END
END

❼ 学会了SCL语言再去学C语言还会有难度吗

对初学者来说,C语言确实有一定的难点,但是C语言是基础的语言,并不是最难的所以学不好的主要还是自身的问题。依据本人这么多年的经验,这尝试分析下为何这么多人学不好C语言?

C语言本身存在一定难度
C语言主要应用于操作系统、嵌入式底层开发等,在这些领域C语言一直都咱局主导位置,但是在入门上现在比较热门的php、python、java等语言比C语言稍微容易一些。所以很多人学习到C语言的时候,理解起来很抽象,使用时变化莫测,觉得很难,自己就失去了兴趣,慢慢地放弃了。特别是在指针的学习上,是一个槛,很多人就是倒在指针上的。
当然除了指针,C语言里面还有一些回调、递归、函数指针、指针函数也有一定的难点,所以总的来讲C语言还是有一定的难度 的,学习C语言一定要多练,不能光看书,多做一些项目慢慢地就好了。

❽ 使用PIC24F上的bus I2C连接6脚液晶LCD进行显示(主要是SDA, SCL的C语言编程问题)

i2c有现成的库,你在lcd的网站上或者是单片机网上可以下到,然后按照lcd的pdf对它初始话,我给个简单的几个函数,可以实现初始化
下面3个就是lcd的初始化配置,下面3个函数是找到的i2c库代码,你按照这个lcd的pdf进行对应的修改就行
#define pcf8576 0x70

ISendByte(pcf8576,0x48); //设置背级方式
ISendByte(pcf8576,0x70); //设置闪烁
ISendByte(pcf8576,0x60); //设置器件子地址
你可以把lcd当成一个接口,向这个接口地址发送数据就可以让它进行对应的操作,这个是我写过的lcd显示模块,pcf8576是lcd的地址,这个你可以在lcd的pdf里找到
显示的话,就是向对应的lcd寄存器写入数据,比如要显示第一个数字,就是将lcd的显示数据里修改,然后发送显示数据到lcd的对应寄存器里,下面的lcdnum就是8576的显示数据数组
void Refresh_LCD()
{
ISendByte(pcf8576,0x60);
ISendStr(pcf8576,0x00,lcdnum,9);
}
void Start_I2c()
{
SDA=1; /*发送起始条件的数据信号*/
_Nop();

SCL=1;
_Nop(); /*起始条件建立时间大于4.7us,延时*/
_Nop();
_Nop();
_Nop();
_Nop();

SDA=0; /*发送起始信号*/
_Nop(); /* 起始条件锁定时间大于4μs*/
_Nop();
_Nop();
_Nop();
_Nop();

SCL=0; /*钳住I2C总线,准备发送或接收数据 */
_Nop();
_Nop();
}

/*******************************************************************
结束总线函数
函数原型: void Stop_I2c();
功能: 结束I2C总线,即发送I2C结束条件.

********************************************************************/
void Stop_I2c()
{
SDA=0; /*发送结束条件的数据信号*/
_Nop(); /*发送结束条件的时钟信号*/

SCL=1; /*结束条件建立时间大于4μs*/
_Nop();
_Nop();
_Nop();
_Nop();
_Nop();

SDA=1; /*发送I2C总线结束信号*/
_Nop();
_Nop();
_Nop();
_Nop();
}
bit ISendByte(unsigned char sla,unsigned char c)
{
Start_I2c(); /*启动总线*/

SendByte(sla); /*发送器件地址*/

if(ack==0)
return(0);

SendByte(c); /*发送数据*/

if(ack==0)
return(0);

Stop_I2c(); /*结束总线*/

return(1);
}

❾ 西门子SCL语言编程 之 &lt;多重背景 &gt;

楼主,虽然我没有细看你的内容,但是,还是帮你定下!我有点小小建议:1:在使用SCL编程的时候别带上“复杂的算法”之类的字样,SCL是门语言。它可以做到LAD里面的任何事情,并且,你所说的调用DB的问题,在本质上不存在节省内存,顶多帮你节省了DBX中的X的号码。2:你程序上一些输入输出,以及变量,都没有在取名上给予辨别,换言之,我就是看你的取名很累,才没有看下去。真正从事模块化编程人员,都会在一些变量取名上就辨认出什么类型等。这两点就是建议,没有指正或者批评。我从事SCL语言程序5年,得出的仅仅是个人总结而已。对于SCL难易:SCL本事来说,对于没有受过高等教育而直接从事电气人员来说的确有点难。但是有过Windows计算机编程语言基础的人来说,的的确确简单了许多。(我相信大多数从事控制类的人员都会有编程基础)如果一个程序员不光从事PLC工作,还要从事其他工控作业的人员用SCL反而轻松和自在,因为习惯了IF Then这个模式。有过SCL编程多年的老手,欢迎批评和交流

❿ 西门子的编程语言中是不是SCL语言最接近C语言了

SCL我感觉接近VB6就是一些符号不一样,我觉得可能是VBA

西门子SCL语言详解 希望对您有所帮助