C语言函数变量定义

#include<stdio.h>voidpre();intinput(inti);voidoutput();voidadverstisement();intmain()... #include<stdio.h>
void pre();
int input(int i);
void output();
void adverstisement();
int main()

{
bridge:
pre();
input(int i);
output();
advertisement();
return 0;
}
void pre()
{
printf("******************************/n欢迎使用小区自动售货系统/n1.可口可乐/n2.鲜橙多/n3.百威啤酒******************************");

}
int input(int i)
{
printf("请选择你所需要的商品");
scanf("%d",&i);
return i;
}
void output(int i)
{
switch(i)
{
case 1:
printf("请确认,你需要的是可乐/n请投币3元");
break;
case 2:
printf("请确认,你需要的是橙汁/n请投币4元");
break;
case 3:
printf("请确认,你需要的是百威啤酒/n请投币5元");
break;
default:
{
printf("输入错误");
goto bridge;
}
}
}
void advertisement()
{
printf("节操冰棒即将上市,仅售0.5元");
getchar();
goto bridge;
}
/*模拟一个自动售货机*/
//变量的定义不对,求修改
展开
 我来答
supboy306
2018-12-06 · TA获得超过2.6万个赞
知道答主
回答量:243
采纳率:100%
帮助的人:13.3万
展开全部

C语言中变量遵循“先定义后使用”的原则:

1、定义变量的格式:数据类型  变量名;

首先要强调的一点是:变量的定义是一条语句,每条语句都是以分号结尾的。故定义完变量,后面不要漏掉“;”分号。

在变量定义中,“数据类型”表示想要存储什么类型的数据就定义什么类型的变量。

如想要存储整数就定义成 int 型;想要存储小数就定义成 float 型或 double 型;想要存储字符就定义成 char 型等等。

“变量名”就是你想给这个变量起个什么名字,通常都是用字母、数字与下划线组合而成。比如:

“int i;double price;double goods_price2”等等。

就表示定义了一个整型变量 i、小数型变量price、goods_price2;

2、变量定义完成后,接下来就是使用变量,为变量赋值。

将一个值放到一个变量中,这个动作叫“赋值”。通俗点讲,“给变量赋值”意思就是将一个值传给一个变量。

赋值的格式是:

变量名 =  要赋的值;

它的意思是将=右边的数字赋给左边的变量。比如:
i = 3;
这就表示将 3 赋给了变量 i,此时 i 就等于 3 了。

3、变量的定义和赋值,可以分成两步写,也可以将它们合成一步,而且事实上,在实际编程中用得最多的也是合二为一的写法。

形式如下:

数据类型  变量名 = 要赋的值;

比如:int i = 3;

就表示定义了一个变量 i,并把 3 赋给这个变量。它与

int i;
i =3;

是等价的。

在定义变量时也可以一次性定义多个变量,比如:

int i, j;

这就表示定义了变量 i 和 j。这里需要强调的是,当同时定义多个变量时,变量之间是用逗号隔开的,千万别写成分号。这是很多新手最容易犯的错误,即将逗号和分号记混了。

同样也可以在定义多个变量的同时给它们赋值:

int i = 3, j = 4;

中间还是用逗号隔开,最后别忘记输入分号。

最后需要注意的是,在较老的 C89/C90 标准(也称 ANSI C 标准)中,变量只能在程序的开头定义,或者说变量定义的前面不能有其他非声明或非定义的语句。

扩展资料:

在主回答中,提到了变量定义时,变量名通常都是用字母、数字与下划线组合而成,但是实际上,变量名也不是随便组合的,变量定义需要遵循一定的规范,否则容易产生歧义,影响整体程序代码 的可读性。

所以在定义变量的时候,要注意以下命名规范:

(1)、变量名的开头必须是字母或下划线,不能是数字。实际编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。命名应当直观且可以拼读,可望文知意,便于记忆和阅读。

标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。

(2)、变量名中的字母是区分大小写的。比如 a 和 A 是不同的变量名,num 和 Num 也是不同的变量名。当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写。

比如:   int CurrentVal;

这样的名字看起来比较清晰,远比一长串字符好得多。

(3)、变量名绝对不可以是C语言关键字,不能有空格。

(4)、变量名的长度应当符合“min-length && max-information”原则。

C 是一种简洁的语言, 命名也应该是简洁的。例如变量名MaxVal 就比MaxValueUntilOverflow 好用。标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。

另外,英文词尽量不缩写,特别是非常用专业名词,如果有缩写,在同一系统中对同一单词必须使用相同的表示法,并且注明其意思。

应韵0jm
2013-07-14 · TA获得超过264个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:50.6万
展开全部
#include<stdio.h>

void pre()
{
printf("******************************/n欢迎使用小区自动售货系统/n1.可口可乐/n2.鲜橙多/n3.百威啤酒******************************");
}
int input()
{
int i;
printf("请选择你所需要的商品");
scanf("%d",&i);
return i;
}
void output()
{
int i;
switch(i)
{
case 1:
printf("请确认,你需要的是可乐/n请投币3元");
break;
case 2:
printf("请确认,你需要的是橙汁/n请投币4元");
break;
case 3:
printf("请确认,你需要的是百威啤酒/n请投币5元");
break;
default:
{
printf("输入错误");
//goto bridge;
}
}
}
void advertisement()
{
printf("节操冰棒即将上市,仅售0.5元");
getchar();
//goto bridge;
}
/*模拟一个自动售货机*/
//变量的定义不对,求修改
int main()
{
//int bridge
pre();
input();
output();
advertisement();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
felixliu2008
2013-07-14 · TA获得超过295个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:195万
展开全部
#include<stdio.h>
void pre();
int input(int i);
void output(int i);
void adverstisement();
int main()
{
int i;
i=1;
while(1)
{
pre();
i=input( i);
output(i);
adverstisement();
}
return 0;
}
void pre()
{
printf("******************************/n欢迎使用小区自动售货系统/n1.可口可乐/n2.鲜橙多/n3.百威啤酒******************************");
}
int input(int i)
{
printf("请选择你所需要的商品");
scanf("%d",&i);
return i;
}
void output(int i)
{
switch(i)
{
case 1:
printf("请确认,你需要的是可乐/n请投币3元");
break;
case 2:
printf("请确认,你需要的是橙汁/n请投币4元");
break;
case 3: printf("请确认,你需要的是百威啤酒/n请投币5元");
break;
default: { printf("输入错误");
}
}
}
void adverstisement()
{
printf("节操冰棒即将上市,仅售0.5元");
getchar();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cfff287b8
2013-07-14 · TA获得超过321个赞
知道小有建树答主
回答量:632
采纳率:0%
帮助的人:242万
展开全部
input(int i);
output();
参数不对
定义改为:
int input();
void output(int i);
函数内部也错,改为:
int input()
{
int i;
printf("请选择你所需要的商品");
scanf("%d",&i);
return i;
}
main()函数中调用时:
int i;
i = input();
output(i);

=========
再补充提个建议:不要从子函数中goto到父函数中。解决的办法是将void output(int i)
改为bool output(int i),错误时返回false,根据返回值决定是否循环。
void advertisement()中同样也不要goto
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式