重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.定义就免了
温江网站建设公司成都创新互联公司,温江网站设计制作,有大型网站制作公司丰富经验。已为温江上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的温江做网站的公司定做!
2.程序要求从键盘输入一字符,当输入的字符不为回车时始终执行do...while循环,当输入的字符为case中的任意一个时,执行那两条自加语句,当不为case所标识的字符时,只执行第二句,因为没有 break
3.最后回车结束得出结果 v0=13,v1=4,v2=12
case 是开关语句的一个组成部分。
用法:case下面必须是整型常数。冒号和break;之间是满足这个case时要执行的语句。
如果一个变量声明时在前面使用*号,表明这是个指针型变量。换句话说,该变量存储一个地址,而*(此处特指单目运算符*,下同。C语言中另有双目运算符*)则是取内容操作符,意思是这个内存地址里存储的内容。指针是C语言区别于其他同时代高级语言的主要特征之一。
基本构成:
C的数据类型包括:整型(short、int、long、long long)、字符型(char)、实型或浮点型(单精度float和双精度double)、枚举类型(enum)、数组类型、结构体类型(struct)、共用体类型(union)、指针类型和空类型(void)。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
以上内容参考:百度百科-c语言
case 是开关语句的一个组成部分。
用法:
case 下面必须是整型常数。
冒号和break;之间是满足这个case时要执行的语句。
例如:
switch (整型表达式)
{
case 1: printf("case 1\n"); break;
case 2: case 5: printf("case 2 or 5\n"); break;
...
default: ...break;
}
当整型表达式得1,打印字符串 "case 1"
当整型表达式得2或5,打印字符串 "case 2 or 5"
扩展资料:
c语言case的使用注意问题
#include stdio.h
int main()
{
int i;
printf ("input somenum");
scanf ("%d" , i);
switch (i)
{
//case (0.1+0.9)://这样是不行的case后面必须是一个整数
// printf ("this is 1\n");
// break;
case -1://这样是可以的,,,可以看出case后面应是一个有符号的整数
printf ("this is -1\n");
break;
case 'a'://这是可行的,,,后面跟字符是可以的
printf ("this is a\n");
break;
case 2:
printf ("this is 2\n");
break;
case 3:
printf ("this is 3\n");
break;
case 4:
printf ("this is 4\n");
break;
default :
printf ("this is not 1234\n");
break;
}
//getchar();
//getchar();
setbuf(stdin,NULL);
char j;
scanf ("%c", j);
switch (j)
{
case 'a':
printf ("this is a\n");
break;
default:
printf ("this is default\n");
break;
}
/* getchar();
getchar();
char k;
scanf ("%c", k);
switch (k)
{
case "a":这里是错误的也就是说case后面只能跟整形和与整形通用的字符型并且只能是字符而不能是字符串
printf ("this is a\n");
break;
default:
printf ("this is default\
问题应该出现在你的for循环语句的条件判断一句上(scanf("%f,%f",a,b)!=2),这个输入函数没有反回值,即使有也只会是0和1,所以要解决这个问题,这你个建议定义一个有反回值的函数来代替这一句即可!
switch(表达式){
case常量表达式1: 语句1;
case常量表达式2: 语句2;
…
case常量表达式n: 语句n;
default : 语句n+1;
}
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
void main(){
int a;
printf("input integer number: ");
scanf("%d",a);
switch (a){
case 1:printf("Monday\n");
case 2:printf("Tuesday\n");
case 3:printf("Wednesday\n");
case 4:printf("Thursday\n");
case 5:printf("Friday\n");
case 6:printf("Saturday\n");
case 7:printf("Sunday\n");
default:printf("error\n");
}
}
本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。 这是与前面介绍的if语句完全不同的,应特别注意。为了避免上述情况, C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句, 使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。
学过调用函数吧,就是那么调用的,当然也可以自己直接写。举个例子吧。数据a b,如果我想操作加减乘除,那么可以这么写:
#includestdio.h
void jiafa(int,int);/*函数声明*/
void main()
{
int a,b,n;
scanf("%d%d",a,b);
scanf("%d",n);
switch(n)
{
case 1:
jiafa(a,b); /*这里可以写成调用函数,也可以像下面一样直接写*/
break;
case2:printf("%d",a-b); break;
case3:printf("%d",a*b); break;
case3:printf("%d",a/b); break;
}
}
void jiafa(int a,int b)/* 函数定义*/
{
printf("%d",a+b);
}