‘壹’ c语言条件语句问题
一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则就是假。一样个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结果可以得到一个真/假的条件值。因此,当一个表达式在程序中被用于检验其真/假的值时,就称为一个条件。
一、if语句
if(表达式) 语句1;
如果表达式的值为非0,则执行语句1,否则跳过语句继续执行下面的语句。
如果语句1有多于一条语句要执行时, 必须使用{和} 把这些语句包括在其中, 此时条件语句形式为: if(表达式) {
语句体1; }
例如:
if(x>=0) y=x; if(a||b&&c) {
z=a+b; c+=z; }
二、if--else语句
除了可以指定在条件为真时执行某些语句外,还可以在条件为假时执行另外一段代码。在C语句中利用else语句来达到这个木的。 if(表达式) 语句1; else 语句2;
同样,当语句1或语句2是多于一个语句时,需要用{}把语句括起来。 例如:
if(x>=0) y=x; else y=-x;
三、if--else if--else结构。 if(表达式1) 语句1;
else if(表达式2) 语句2;
else
语句
n;
这种结构是从上到下逐个对条件进行判断
,
一旦发现条件满点足就执行与它有关的语句
,
并
跳过其它剩余阶梯
;
若没有一个条件满足
,
则执行最后一个
else
语句
n
。最后这个
else
常起
着缺省条件的作用。同样
,
如果每一个条件中有多于一条语句要执行时
,
必须使用
{
和
}
把这些
语句包括在其中。
条件语句可以嵌套
,
这种情况经常碰到
,
但条件嵌套语句容易出错
,
其原因主要是不知道哪个
if
对应哪个
else
。
例如
:
if(x>20||x<-10)
if(y<=100&&y>x)
printf(Good);
else
printf(Bad);
对于上述情况
, Turbo C2.0
规定
: else
语句与最近的一个
if
语句匹配
,
上例中的
else
与
if(y<=100&&y>x)
相匹配。为了使
else
与
if(x>20||x<-10)
相匹配
,
必须用花括号。如下所
示
:
if(x>20||x<-10)
{
if(y<=100&&y>x)
printf(Good);
}
else
printf(Bad);
else if(表达式3) 语句3; . . .
‘贰’ c语言中语句的意思
C程序的执行部分是由语句组成的。
程序的功能也是由执行语句实现的。
C语句可分为以下五类:
1.表达式语句;表达式语句由表达式加上分号“;”组成。例如:y=0;
2.函数调用语句;由函数名、实际参数加上分号“;”组成。例如:fun(a);
3.控制语句;
4.复合语句;把多个语句用括号{}括起来组成的一个语句称复合语句
5.空语句。只有分号“;”组成的语句称为空语句。
http://ke..com/view/1333149.htm
网络上有详细的介绍。另:不知道你是想要书面上的回答,还是自己理解,网络上介绍的很全面了。
个人的理解,语句就是你按照一定的C语言的规则,告诉编译器你要做什么,编译器只能按照规定好的规则去理解你的要求,分号就相当于一句话说完了。
‘叁’ c语言语句
返回值括号里是判断是否相等,相等返回1,不相等返回0.
2 #include <stdio.h>
3 int main()
4 {
5 int a = 2;
6 int b = 2;
7 int c = 7;
8 c=(a==b);
9 printf("c = %d ",c);
10 }
改a、b的值自己测试一下不就知道了
‘肆’ c语言输入语句
getchar()和scanf("%c")的功能都是读一个字符
区别是getchar()可以读回车,而scanf("%c")会跳过回车。
所以scanf读了2个字符1,2分别给了a,b。
然后第一个getchar()读了回车符给c,读了3给d.
‘伍’ C语言中的语句有哪几类
C语言语句分为5类:
1、
表达式语句
2、
函数调用语句
3、
控制语句
4、
复合语句
5、
空语句
现在有C++,C,C#。
c是最起初的语言,然后是C++,C#是最近微软推出的。
三种语言都有自己的好处。可以这么说现在很多大学里的课程都有C和C++。C#的课还没有。
java是一种现在十分流行的面对对象语言,而C更多的是面向过程。他们都有自己的长处。要看你选择那个方向发展而定了。
首先你要明白我们编写的程序只是程序的一些关键部分,真正将代码编译为程序是需要很多文件的,打个比方电脑其实并不能直接把printf这个函数直接编译出来,之所以我们能用是因为在其他文件中已经把这个函数写好了,而系统能从你的代码中找到其他文件就是因为预处理语句。通过预处理语句系统可以找到其他文件并把其他文件和你写的代码合并成一个文件然后进行编译,这样才能产生程序,其他的预处理语句比如#if,#ifndef,#ifdef,#endif,#unde其实都是为了防止一个文件被包含多次设置的。
‘陆’ C语言中的语句都有什么啊具体怎么用啊
在C语言中,程序都是由语句组成的,语句用来命令计算机系统执行某种操作。一个好的程序设计语言中提供的语句,应该能够使得编写出来的程序,结构清晰合理,风格优美和执行效率高。C语句可归为 以下5大类: 1.复合语句 用大括号括起来的一些语句。这些语句被看成一个整体。如{t=x;x=y;y=t}中,共有3条语句,每个语句都以分号结尾。 2.控制语句 控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。C语言有9种控制语句,可分成以下3类。 (1)条件判断语句:if 语句,switch 语句。 (2)循环执行语句:do while 语句,while 语句,for 语句。 (3)转向语句:break 语句,goto 语句,continue 语句,return 语句。 3.函数调用语句 一个函数调用加一个分号构成函数调用语句。例如: printf("Where do you want to go?"); 上述语句是由一个printf格式输出函数加一个分号构成一条函数调用语句。 4.表达式语句 用表达式构成语句,表示一个运算或操作。C语言中最简单的语句是表达式语句,它的一般形式:<表达式>; 其实表达式语句就是在表达式最后加上一个“;”。一个表达式语句必须在最后出现分号,分号是表达式语句中不可或缺的。例如:4+5; a==b&&c==d; 5.空语句 只有分号“;”组成的语句称为空语句。空语句不执行任何操作,在程序中可用来做空循环体。例如: while(getchar()!='\n'); 该语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体是空语句。 以上便是对C语句的基本概述,描述的可能不是很详细,具体的使用方法和技巧还要靠自己的实践来获得,在此不再赘述。
‘柒’ 什么是c语句
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言诞生于美国的贝尔实验室,由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普逊和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善。
为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSI C”,截至2020年,最新的C语言标准为2018年6月发布的“C18”。
‘捌’ C语言中 : 语句是什么意思
对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。
<表达式1> ? <表达式2> : <表达式3>; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。
可以理解为条件 ? 结果1 : 结果2里面的?号是格式要求。也可以理解为是不是条件成立,条件成立为结果1否则为结果2。
注意:在C语言中,结果1 和 结果2的类型必须一致。
a ? b : c简单理解方式为:
if(a){
returnb;
}else{
returnc;
}
‘玖’ C语言语句
答案B应该是if(a>b){c=a;a=b;b=c;}吧?
这样的话应该选C
A用逗号表达式,B用的语句块,
C用分号分隔,没有花括号,只有c=a是if的执行体
‘拾’ C语言输入输出语句
c语言输入输出函数
C语言输入输出函数有很多,标准
I/O
函数中包含了如下几个常用的函数:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf
等.
int scanf(const char *format, arg_list)
scanf
主要从标准输入流中获取参数值,format为指定的参数格式及参数类型,如
scanf("%s,%d",str,icount);
它要求在标准输入流中输入类似"son of bitch,1000"这样的字符串,同时程序会将"son of bitch"给str,1000给icount. scanf函数的返回值为int值,即成功赋值的个数,在上例中如果函数调用成功,则会返回2,所以我们在写程序时,可以通过语句
if(scanf("%s,%d",str,icount) != 2){...}
来判断用户输入是否正确.
int printf(const char *format, arg_list)
printf
主要是将格式化字符串输出到标准输出流中,在stdio.h头文件中定义了标准的输入和输出,分别是stdin,stdout. arg_list可以是变量名,也可以是表达式,但最终都会以值的形式填充进
format中. int getc(FILE *fp) getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为:(ch = getc(fp)) != EOF.EOF为文件结束标志, 定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp
为stdin 时,getc(stdin)就等同于getchar()了. int putc(int ch,FILE *fp) putc主要是把符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.
int getchar(void)
getchar
主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符串放在缓冲区中,getchar就是在缓冲区一个一个的读字符.当然也可以在while循环中指定终止字符,
如下面的语句:
while ((c = getchar()) != '#')
这是以#来结束的.
int putchar(int ch)
putchar(ch)
主要是把字符ch写到标准流stdout中去.
char * gets(char *str)
gets
主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去. int puts(char *str)
puts
主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.
char *fgets(char *str, int num, FILE *fp)
str
是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是
读一行字符,该行的字符数不大于num-1.因为fgets
函数会在末尾加上一个空字符以构成一个字符串.
另外
fgets
在读取
到换行符后不会将其省略
.
int fputs(char *str, file *fp)
fputs
将
str
写入
fp.fputs
与
puts
的不同之处是
fputs
在打印时并不添加换行符
.
int fgetc(FILE *fp)
fgetc
从
fp
的当前位置读取一个字符
.
int fputc(int ch, file *fp)
fputc
是将
ch
写入
fp
当前指定位置
.
int fscanf(FILE *fp, char *format,...)
fscanf
按照指定格式从文件中出读出数据
,
并赋值到参数列表中
.
int fprintf(FILE *fp, char *format,...)
fprintf
将格式化数据写入流式文件中
.
http://www.cnblogs.com/yaoleiroyal/archive/
2008
/
04
/
03
/1135819.html
字符串输入:
gets()
char name[20];
printf("Hi,What's your name?\n");
gets(name);
printf("Nice name %s",name);
它使用一个地址把字符串赋予
name
。
char name[20];
char *p;
printf("\nEn,What's your name?\n");
p=gets(name);
printf("%s?Oh,Nice name %s\n",name,p);
get()
的代码使用
return
关键字返回字符串的地址,程序把这个地址分配给指针
p
。
fgets()
fgets()
是为文件
I/O
而设计的,处理键盘输入不是特别方便。
printf("\nHi,What's your name?\n");
p=fgets(name,20,stdin);
printf("%s?Oh,Nice name %s\n",name,p);
*fgets()
的第二个参数说明最大读入的字符数。如果这个参数值为
n
,那么
fgets()
就会读取最
多
n-1
个字符或读完一个换行符为止。两个条件满足任意一个结束。
*fgets()
读取到换行符,就会把它存到字符串里,而不是想
gets()
那样丢弃它。
*fgets()
的第三个参数说明读哪个文件。
从键盘上读数据时,
可以使用
stdin(
代表
standard input)
作为参数。
scanf()
char name1[11], name2[11];
int count;
printf("\nPlease write down 2 names...\n");
count=scanf("%5s %6s",name1,name2);
printf("\nname1:%s\nname2:%s",name1,name2);
scanf()
允许指定输入字符串长度等格式。上面的程序如果输入
"liujiajia
liujiajia",
程序将输出
"name1:liuji
name2:liujia";
字符串输出:
puts()
char str[15]="hello world";
const char *str2="HELLO WORLD";
puts(str);
puts(str2);
puts(&str[5]);
puts(str2+2);
puts()
显示字符串时自动在其后添加一个换行符。
puts(&str[5]);
将输出从
str
的第六个元素开始到字符串结束。
puts(str2+2);
将输出从
str2
的地址向后移动两个字符开始到字符串结束。
fputs()
fputs(str,stdout);
fputs(str2,stdout);
fputs(&str[5],stdout);
fputs(str2+2,stdout);
*fputs()
第二个参数表示要写的文件。可以使用
stdout(
代表
standard output)
作为参数。
*fputs()
不自动输出换行符,这与
puts()
不太相同。