本文目录一览:
- 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);
}