c存储程序
1. C语言 怎么 调存储过程
C语言里没有存储过程,只有函数,函数调用有两种方式
传值调用(call by value)和传址调用(call by reference)
例如
f1(x)
{
int a;
a=3*1-1;
f2(x,a);
return a+x;
}
f2(int r,int s)
{
int y;
y=2*r+1;
s=x*r;
r=s-y;
return;
}
f1中调用了f2函数,若第一个参数采用传值方式(无返回值,即f1中x=3 不变,只是把值传给f2使用而已)第二个参数采用传址方式(返回的是s的地址引用,即f1中a的值与f2中s的值相等)若x=3,则a+x=24
2. C语言如何保存程序内输入的数据
#include<stdio.h>
main()
{
FILE *fp;
char ch;
fp=fopen("1.dat","w");
while(ch!='a')
{
ch=getchar();
fputc(ch,fp);
}
fclose (fp);
}
给你个例子看看。输入一些字符。会保存在1.dat中。1.dat在你的C程序目录下。你可以去看下C语言文件。。挺简单的,你要实现的 是要用到。fwrite()这个读入数据流。
3. 51单片机读取程序存储器的C语言程序
“从地址0x00000开始读出数据并传给AD557芯片DA转换成模拟量输出,一直读到0xfffff 读满一轮。”
60秒内读取并写出1MByte,平均57us读取并写出一次。如果CPU晶振12MHz的话,那这个要求是比较容易达到了。
只要你懂得如何对外部存储器读取、写出,那么完全可以独立完成这道题并符合要求。需要注意的是这个原理图中573的LE没有借助ALE而是通过P12实现,降低了效率;此外外部空间映射成多页,页切换时注意语句的编译效率。
至于“越快越好”,最快效果需借助汇编实现。提示:INC DPTR。
4. 用51单片机和EEPROM如何写掉电存储c程序
简单的方式:变化一次写一次,无论是否掉电,再次上电先读eeprom
复杂的方式
按照如图连接,要求是单片机必须有掉电检测功能
5. C语言编程怎么保存
#include
"stdio.h"void
main()
{
int
da(int
m,int
n);
int
xiao(int
m,int
n,int
k);
int
m,n,a,b;
printf("请输入两个正整数:");
scanf("%d,%d,",&n,&m);
a=da(m,n);
b=xiao(m,n,a);
printf("它们的最大公约数为:%d\n",a);
printf("它们的最小公倍数为:%d\n",b);
}
int
da(int
x,int
y)
{
int
k,r,t;
if(x<y)
{
t=x;
x=y;
y=t;
}
k=y*x;
while(y!=0)
{
r=x%y;
x=y;
y=r;
}
return(x);
}
int
xiao(int
x,int
y,int
a)
{
return(x*y/a);
}
6. C/VC++,一维数组和二维数组的存储过程
代码一:
#include<stdio.h>
int MAX,MIN;
int maxi,maxj,mini,minj;
void main()
{
void result(int x[][5],int m,int n);
int a[5][5],max,min,i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
MAX=MIN=a[0][0];
maxi=maxj=mini=minj=0;
result(a,5,5);
printf("MAX=%d,maxi=%d,maxj=%d\n",MAX,maxi,maxj);
printf("MIN=%d,mini=%d,minj=%d\n",MIN,mini,minj);
}
void result(int x[][5],int m,int n)
{
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(x[i][j]>MAX)
{
MAX=x[i][j];
maxi=i;
maxj=j;
}
if(x[i][j]<MIN)
{
MIN=x[i][j];
mini=i;
minj=j;
}
}
}
但代码一有个缺点,那就是如果有多个最值,只能输出最后一个。下面的代码是经过改进的。
代码二:
#include<stdio.h>
int MAX,MIN;
int maxi,maxj,mini,minj;
void main()
{
void result(int x[][5],int m,int n);
int a[5][5],max,min,i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
MAX=MIN=a[0][0];
maxi=maxj=mini=minj=0;
result(a,5,5);
}
void result(int x[][5],int m,int n)
{
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(x[i][j]>MAX)
MAX=x[i][j];
if(x[i][j]<MIN)
MIN=x[i][j];
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(x[i][j]==MAX)
{
MAX=x[i][j];
maxi=i;
maxj=j;
printf("MAX=%d,maxi=%d,maxj=%d\n",MAX,maxi,maxj);
}
if(x[i][j]==MIN)
{
MIN=x[i][j];
mini=i;
minj=j;
printf("MIN=%d,mini=%d,minj=%d\n",MIN,mini,minj);
}
}
}
7. 求大神:C语言如何执行SQL sever的存储过程
执行带参数的存储过程的方法如下:
Exec sp_configure 'allow updates',1 --允许更新系统表。
exec dbo.User_ChangeObjectOwnerBatch 'OldOwner','dbo'
以上是两个例子。
SQL Server中执行带参数的存储过程的方法是:
EXEC 存储过程名字 '参数1','参数2',数值参数
EXEC 是一个关键字。
字符串参数使用单引号括起来,数值参数不需要使用单引号
8. 根据冯•诺依曼的“存储程序”原理,存储程序是指 A事先编好程序B把程序存储在计算机内存中C把程序保
B,计算机的中央处理器从运行内存中依次读取程序指令,然后再进行运算执行。磁盘存储都是外部存储,CPU无法从硬盘读取指令,硬盘的速度太慢跟不上CPU的速度。