本文目錄一覽:
- 1、判斷是否為C語言的合法標識符
- 2、c語言詢問是否繼續的代碼怎麼寫 我這樣寫 在循環結構中 char z; printf(“hjjj
- 3、C語言中如何表示“真”和“假”?系統如何判斷一個量的“真”和“假”?
- 4、c語言中如何插入是否繼續(continue或yes/no)的語句?
- 5、C語言(判定輸入數是否符合要求)
判斷是否為C語言的合法標識符
這不是小問題啊……你這個問題很大啊……
#include stdio.h
#include string.h
int main()
{
char str[1000][80];
int i,j,k,n,flag=1,len;
scanf(“%d”,n);
for(j=0;jn;j++)
{
/*不要k循環。80代表字符串的最長長度,但是字符串也可能不到80個字符,所以不應該一個個字符的讀入,而且%s代表讀入一整個字符串而不是一個字符。所以應該讀入到str[j]里。前面不用號因為str[j]已經是地址了。*/
scanf(“%s”,str[j]);
}
/*我幫你調了縮進,你看一下是不是清晰了很多……最內層的else如果print 0之後break,後面還會print 1。這是最大的問題*/
/*我們用一個flag變量代表當前字符串是否合法。1代表合法,0不合法,最後統一輸出即可。*/
for(j=0;jn;j++)
{
k=0;
flag=1;
if(str[j][k]==95||str[j][k]64str[j][k]91||str[j][k]96str[j][k]123)
{
/*我們不知道字符串有多長。所以k80不行。*/
len = strlen(str[j]);
for(k=1;klen;k++)
{
if(str[j][k]==95||str[j][k]64str[j][k]91||str[j][k]96str[j][k]123||str[j][k]47str[j][k]58)
continue;
else
{
flag=0;
break;
}
}
}
else
flag=0;
printf(“%d\n”,flag);
}
return 0;
}
最後再補充幾點,
不用統一輸入統一輸出。輸入一個字符串,處理,輸出,再輸入下一個即可。
|| 一起用的時候加括號,避免潛在的邏輯錯誤
用’A’來取A字符的ascii碼。你就不用去查表了。而且就算你要直接用ascii值,str[j][k]=48也比str[j][k]47可讀性大很多。
所以你這裡完全可以寫成
str[j][k]=’A’str[j][k]=’Z’
c語言詢問是否繼續的代碼怎麼寫 我這樣寫 在循環結構中 char z; printf(“hjjj
#includestdio.h
#includemath.h
int main( void )
{
char ch;
do
{
printf(“是否繼續 否點任意鍵 是點( Y/y ): “);
scanf(” %c”, ch ); //%c前面必須加一個空格
} while( ‘Y’== ch || ‘y’ == ch );
return 0;
}
C語言中如何表示“真”和“假”?系統如何判斷一個量的“真”和“假”?
C語言編譯系統在表示邏輯運算結果時,以數值1代表“真”,以0代表“假”。 比如:a、b的值分別是0、4,則a||b的值為1,ab的值為0。
但在判斷一個量是否為“真”時,以0代表“假”,以非0代表“真”。比如:a=4,因為a的值為非0,被認作“真”,所以對它進行“非”運算!a=0 。
其實語句是否執行由用戶的代碼(即判斷條件)決定的,而系統只用0和非0進行判斷,當用戶認為此句可執行,系統判斷為“真”,反之亦然 。
比如:while(ch!=’#’){語句序列;}
ch!=’#’為判斷條件
假如ch=’A’,這可執行大括號中語句序列(系統判斷為“真”)
當ch=’#’,不可執行大括號中的語句序列(系統判斷為“假”)
擴展資料:
在c語言中,任何等於零的東西都被認為是假,任何等於非零值的東西都被認為是真,因此,最常見的定義就是假為0,真為1。
在缺省情況下,枚舉類型的第一個元素被賦值為O,因此,在上述枚舉定義中,FALSE被賦值為0,TRUE被賦值為1。
c語言中如何插入是否繼續(continue或yes/no)的語句?
最簡單的形式
#includestdio.h
void main()
{
char answer;
do
{
//相關內容
//判斷是否繼續
printf(“是否繼續? (Y/N)”);
fflush(stdin);
scanf(“%c”,answer);
}while(answer==’Y’);
}
C語言(判定輸入數是否符合要求)
#includestdio.h
int main()
{
int b;
printf(“請輸入一個大於或等於3的整數:”);
scanf(“%d”,b);
if(b3){
printf(“你輸入的數值不符合題目要求,請重新輸入!\n\n”);
}
else printf(“OK,b=%d\n”,b);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279758.html