运用C语言制作程序,或是做个研究之类的实验 应该怎么做,我是新手,很新得手啊

如题所述

下面是vc6下的测试,用于研究使用函数改变数值或交换数值的。建议在vc下建立一个单独工程,然后新建一个Win32 Console Application工程,新建一个.c结尾的文件,把代码考过去研究下。

#include<stdio.h>

void fun(int in)//传值 复制数值传给in
{
int u=100;

in = u;
}

void fun_1(int *x)//传地址改变数值 x为地址(传入参数一般是指针或者是&整形变量)
{
int b=77;

*x=b;
}

void fun_2(int **v)//传地址改变数值 v为值(传入参数一般是指针的地址)
{
int c=89;
**v=c;
}

void fun_3(int *z)//传地址数值不变 z为地址(传入参数一般是指针或者是&整形变量)
{
int b=77;
int *i;

i=&b;
z=i;
}

void change_1(int a,int b)//交换-传值
{
int t;

t=a;
a=b;
b=t;
}

void change_2(int *a,int *b)//交换-传地址,值交换
{
int t;

t=*a;
*a=*b;
*b=t;
}

void change_3(int *a,int *b)//交换-传地址,地址交换
{
int *t;

t=a;
a=b;
b=t;
}

void change_4_error(int *a,int *b)//交换-传地址(程序非法!)
{
int *t;

*t=*a;//执行到这里出现非法,t没初始化,*t非法
*a=*b;
*b=*t;
}

int main()
{
//*-----------------------------------------------------------------------------
int y1=9; //测试变量y1
int *p1=&y1; //测试指针p1

//fun(y1)通过编译,y1没有变化fun(y1)=fun(*p1);fun(p1)没有通过编译.
//fun_1(&y1)可以,并且y1发生变化.fun_1(p1)=fun_1(&y1);fun_1(y1)没有通过编译
//fun_2(&p1)通过编译,并且y1发生变化;fun_2(p1)没有通过编译
//可以看出*x和&v都是要用地址,不复制数值!
fun_1(&y1);
printf("y1=%d\n",y1);

fun_2(&p1);
printf("y1=%d\n",y1);

fun_3(p1);
printf("y1=%d\n",y1);
//-------------------------------------------------------------------------------*/

/*---------------------------------------------------------------------------------
//数据交换测试
int x1=22,x2=88; //测试变量x1,x2
int *ip1,*ip2; //测试指针p1,p2

ip1=&x1;//ip1指向x1
ip2=&x2;//ip2指向x2
//change_1(x1,x2)=change_1(*ip1,*ip2)数值不变
//change_2(&x1,&x2)=change_2(ip1,ip2)交换数值
//change_3(&x1,&x2)=change_3(ip1,ip2)数值不变
//change_4_error(ip1,ip2)错误函数

printf("x1=%d,x2=%d;*ip1=%d,*ip2=%d\n",x1,x2,*ip1,*ip2);
/---------------------------------------------------------------------------------*/
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-11
首先下载C与C++程序设计学习与实验系统(内置一些简单的程序),然后看视频教程。买书学习也是一种不错的选择。
第2个回答  2011-08-15
学一点语文基础,然后下载VC编译器,
可以做实验。本回答被网友采纳
第3个回答  2011-08-16
下个vc++6.0,就出不多就可以了
相似回答