城市管理执法办法全文:C语言 一些入门问题?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 15:22:47
1、int a=1,b=2,c=3;
printf("%d\n",a&&b);
printf("%d\n",b||c);
printf("%d\n",!b);
结果为为什么是 1 1 0?!b怎么会是0呢?

2、printf("%s,%3s,%8.2s,%-8.2s \n","welcome","welcome","welcome","welcome");
getch()
书上的结果是welcome,welcome, we,we
其中%3s是取3个字符,为什么输出了全部的字符?
%8.2s和%-8.2s就不明白了。最后的getch()是什么意思?

3、scanf("%*2s")中的%*2s是什么意思?

4、while((c=getchar())!='\n')
switch(c)
...
这其中的 ((c=getchar())!='\n'是什么意思?

OK,就4个问题,望高手回答一下,小弟谢了。。

我给说第一个吧
因为在C里,处理数值的时候把数据当作两种。
0和非0来处理的,2是非0,所以!2就是0了
第2个太简单,自己仔细看下书,完了好好想想就出来了
第3个*的意思是跳过输出,加*2的意思就是跳过两个字符再输出
第4个意思是把键盘输入的字符赋值给c,当输入回车时停止
你的问题问的真细,这些都是开始学的时候出现的小问题,不好好解决以后会出大问题地,努力吧~~~~~

1,C语言中把非零整数默认为“真”,对它们取非时值为“假”,以整形输出时值为零;

2,%3s不满三个字符时用空格填满,超过三个字符时自动延长输出;
getch()大概是要停留在控制台以便观察输出结果,否则会自动跳回编译器。当然在TC下不打它按"F5"也可以看结果;

3,不好意思,不确定答案不敢胡言……

4,等待命令行输入,如果输入不为“回车”时执行while循环体内代码,为“回车”时跳出while循环;

1。因为打印的是"!b",做了一个非运算。

3。*是赋值抑制符。

4。获得一个字符(存在变量c中)如果c不是'\n'(回车换行符),则执行while的循环体

1.知道”与””或””非”运算吗
不是0的都记作1,是0的还是0;在开始运算
2.getch()没什么用,
4.c=getchar()是一个语句
就是当输入的数据不等于什么的时候,执行switch语句