问答题 【说明】 以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。 【程序】 #include < stdio. h > main( ) { FILE * fp; char str[100]; int i=0; if((fp=fopen("text.txt"{{U}} (1) {{/U}})) ==NULL) { printf("can't open this file. /n") ;exit(0) ;} printf(" input astring: /n" ); gest(str); while( str[i] ) { if(str[i] >='a' && str[i] <='z') str[i]={{U}} (2) {{/U}}; fputc(str[i],{{U}} (3) {{/U}}); i++; } fclose(fp); fp=fopen(" test.txt",{{U}} (4) {{/U}}); fgets(str, 100, fp); printf("%s/n" ,str); {{U}} (5) {{/U}}; }
【正确答案】
【答案解析】(1)W (2)str[i]-'a'+'A' (3)fp (4)r (5)fclose(fp) [解析] 程序运行后,首先打开文件test.txt用于写入,因此(1)空填w。 程序从键盘读入字符串到变量str中,对str中每个字符,如是小写字母,则将其转换成大写字母。(2)空是小写字母转换大写字母的操作。(3)空是将str中的字符写入文件text.txt中。 str中所有字符处理完后,关闭文件test.txt(对应语句是fclose (fp)),然后重新以读方式打开,因此(4)空填r,将test.txt中的内容读到str中并显示输出后,关闭文件test.txt,即(5)空填fclose(fp)。