又麻烦各位高手了——

来源:百度知道 编辑:UC知道 时间:2024/05/17 08:02:56
No.4
若有定义:“enum seq{mouse,cat,dog,rabbit=0,sheep,cow=6,tiger};”则执行语句“printf("%d",cat+sheep+cow);”后,得结果是:( )
俺本以为是不定值来着,答案竟给我个数字。搞不懂,望指教下,可能是enum seq的问题吧,俺不认识那玩意,老师没说过也……。

No.5
执行以下程序:
#include<stidio.h>
main()
{int a;float b;
scanf("%3d%f",&a,&b);printf("%d\t%f",a,b);
}
若要求a和b分别获得45和678.0,则以下数据中,不能达到该要求的是:
A: 45空格678回车 B:45回车678回车
C:45,678回车 D:045678回车
(scanf语句对输入数据的截止是以啥个玩意作标准的呀,逗号不行吗?它和输入字符时不一样吗?)

No.6
已知有预处理命令"#include<stdio.h>"和声明"char s[10]="Thank you"; int i;"
要求输出"Thank you" 以下不能达到要求的是:
A:puts(s)
B:printf("%s",s[10])
C:for(i=0; s[i]!='\0';i++) printf("%c",s[i]);
(答案是哪个,希望能具体解释下下,谢。)

No.7
小弟准备考C语言的二级,买了历年的汇编试卷作,有好多不会,编程上的我会打出来然后请教各位高手,可前面的基础部分知识怎么就那么啥玩意都有,那东西如何复习才能有效呢?希

No.4 答案是9
enum 定义时,不给值,从1开始!如:mouse没给值,那么默认为1,后面的时在前面一个的基础上加+1.他后面的依次递增就是cat=2,dog=3,而开始就给rabbit=0的值,所以sheep=1,后面的也一样,因为开始就给值cow=6,所以tiger=7
2+1+6=9

No.5 答案是C
scanf输入多个数字时
(1)若格式说明之间有空格或者没有间隔,输入的数据只能以空格,回车,或者制表符做分隔,此时标点符号(如:逗号,分号,引号等)不能做分隔符
(2)另外一种情况,在数据之间使用与控制字符串之间相同的非空白字符(常用逗号).
格式说明也可以带修饰项,如:%nd 中的n,用来确定数据的最大为数的修饰符为n,当输入为数少于该数(n)表示该数输入结束,当输入位数多于该数,则只读如该数所表示的位数,多余数据将作为下一个数据读如其他变量
C属于第(1)中情况

No.6 答案是B
puts是字符串输出,接受的参数是指针或者数组地址,所以接受数组地址S,输出整个字符串
printf以格式%s可以输出字符串,参数也是接受指针或者地址.参数本身不对.
for(i=0; s[i]!='\0';i++) printf("%c",s[i]); 语句,依次输出数组的第i个元素s[i]

No.7

主要看教材,把基本的分支结构(if,switch等语句),循环结构(for等语句)等语句,以及各种数据类型(结构体,数组等),再加上输入输出流.最后还有函数参数传递,变量储存等!!!

看完几变,感觉OK!!至少也要一变啊

看你基础不太熟悉,

肯定没好好看书!!!

不是吧 呵呵~我不知道有人看没有 反正我是被吓到了~呵呵呵呵~

认真看书,比什么都强

我也是菜鸟了
4不懂
5 不是很清楚 跟输入格式有关吧 %d 空格 回车都是结束
%c 一个字符 后面都无效 回车结束
%s 回车结束