4找出下列程序中的错误

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

srtlen()函数(在string.h 头文件中定义)可以用于获得一个字符串的长度(不包括标示缠上的空字符)。

scanf()函数在使用%s 说明符时,可以用于读取包含一个单词的字符串。

strcpy()函数用于交换二个字符串的数据例如:

char a[10],b[10];

......

strcpy(a,b);

C 预处理器在源代码程序中搜索预处理器指令(预处理器指令以# 符号开始),并在程序开始编译之前它们。#include 指令使处理器把另一个文件的内容添加到文件中该指令所在的位置。使用#define 指令可以创建明显常量,也就是代表常量的符号。limits.h 和float.h 头文件使用#define

printf()和scanf()函数对输入和输出提供多种支持。二者都使用一个包含内嵌转换说明符的控制字符串来指示将要读取或打印的数据项的类型和数目。还可以使用转换说明会来控制输出的外观:字段宽度,小数点位置和字段内的布局。

4.7 复习题

1. 再将运行程序清单4.1,但是在需要你输入名字时,请输入你的名字和姓氏。发生了什么?为什么?

答:程序不能正常工作。第一个scanf()语句只是读入你的名而没有读入你的姓,你的姓依然存储在输入“缓冲区”(缓冲区只是一块用来存放输入的临时存储区域)中。当下一个scanf()语句想要读入你的体重时,它从上次读入结束的地方开始,这样就试图把你的姓作为体重来读取。这会使scanf()失败。另一方面,如果你对姓名请求给出像Lasha 144 这样的响应,程序会使用144 作为你的体重,虽然你是在程序请求体重之前输入144的。

------------------------------------------------------------------------------------------

2.假定下列每个示例都是某个完整程序的一部分。它们的打印结果分别是什么?

a. printf("He sold the painting for $%2.2f. \n",2.345e2);

b. printf("%c%c%c \n",'H',105,'\41');

c. #define Q "His Hamlet was funny without being vulgar"

printf ("%s \nhas %d character.\n",Q,strlen(Q));

------------------------------------------------------------------------------------------

答:a. He sold the painting for $234.50.

b. Hi!(注意:第一个字符是一个字符常量,第二个字符是由一个十进制整数转换而来的,第三个字符是一个八进制字符常量的ASCII表示)。

c. His Hamlet was funny without being vulgar

has 41 character.

d. Is 1.20e+003 the same as 1201.00?

3. 在问题2c中,应进行哪些更改以使字符串Q 引在双引号中输出?

答 c. #define Q "His Hamlet was funny without being vulgar"

printf ("%s \nhas %d character.\n",Q,strlen(Q));

修改为:printf ("\"%s\" nhas %d character.\n",Q,strlen(Q)); (使用\" )

----------------------------------------------------------------------------------------

4. 找出下列程序中的错误

define B booboo

define X 10

main (int)

{

int age;

char name;

printf ("please enter your first name".);

scanf ("%s",name);

printf ("All right, %c,what's your age?\n,name); scanf ("%f",age);

xp = age + X:

printf ("That's a %s! You must be at least %d.\n",B,xp);

相关文档
最新文档