C语言选择题29?

来源:百度知道 编辑:UC知道 时间:2024/07/08 21:13:40
29.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )
A、INPUT x、y、z; B、scanf("%d%d%d",&x,&y,&z);
C、scanf("%d%d%d",x,y,z); D、read("%d%d%d",&x,&y,&z);
为什么要这么选?

选B,
scanf是格式化输入语句,
C语言里没有输入输出的,这些功能是由函数来完成的,
C标准库函数里提供的输入输出主要有以下:
putchar();getchar();printf();scanf();puts(str);gets(str);三组,p开头为输出,s开头的是输入,第一组是字符的输出和输入,第二组是格式输出输入,第三组是字符串输出输入。
显然,整型不能用字符和字符串的,只能用格式输入,
整型的格式符%d,
实型%f,
双精度%lf
字符型%c
指数%e
无符号整型%u
字符串%s
而输入的化,是将内容输入到地址,所以,要在前面用取地址符&,这里有一个特例,就是对于数组这块,数组名表示的就是起始地址,
如果是字符型数组,要求输入的是一个字符串的话,就不用写取地址符
例:
char str[20];
scanf("%s",str);
如果要是只输入其中的一个
scanf("%c",&str[0]);
还是要写取地址的,
你可以自己理解一下。

B、scanf("%d%d%d",&x,&y,&z);
语言是人规定的,哪来的为什么,比如说人为什么叫人?这是人为规定好的,没有为什么!