『壹』 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()
不太相同。