就业数据资源平台
当前位置:首页 > C语言程序设计
2013计算机等级考试二级C语言试题及答案6

(36)当用户要求输入的字符串中含有空格时,应使用的输入函数是


    A)scanf()          B)getchar()          C)gets()   D)getc()


(37)下列选项中错误的说明语句是


    A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′};         B)char a[]={"toyou\0"};


    C)char a[]="toyou\0";                         D)char a[]=′toyou\0′;


(38)以下程序的输出结果是


int f()


{ static int i=0;


  int s=1;


  s+=i; i++;


  return s; }


main()


{ int i,a=0;


  for(i=0;i<5;i++)a+=f();


  printf("%d\n",a);}


    A)20           B)24           C)25           D)15


(39)下列程序的输出结果是


#include "stdio.h"


#define  M(x,y)  x%y


main()


{    int a,m=12,n=100;


a=M(n,m);


printf("%d\n",a--);}


    A)2      B)3       C)4          D)5


(40)假定当前盘符下有两个如下文本文件:


文件名       a1.txt   a2.txt


内容           123#        321#


则下面程序段执行后的结果为


#include "stdio.h"


void fc(FILE *p)


{    char c;


while((c=fgetc(p))!=′#′)putchar(c);}


main()


{    FILE *fp;


fp=fopen("a1.txt","r");


fc(fp);


fclose(fp);


fp=fopen("a2.txt","r");


fc(fp);


fclose(fp);


putchar('\n');}


    A)123321           B)123        C)321                D)以上答案都不正确


(36)C 


   【解析】本题综合考查了输入函数的使用。scanf函数会将空格视为分隔符,getchar函数只能输入单个字符,getc函数是文件操作函数,显然都不符合题意。通过gets函数输入字符串时,输入的空格被认为是字符串的一个字符。


(37)D


   【解析】通过赋初值的方式给一维数组赋字符串,可以用给一般数组赋初值的相同方式给一维字符数组赋字符串,也可以在赋值时直接赋字符串常量。选项B)和C)后面的'\0'是多余的,在C语言中,系统会自动在字符串的结尾处加上一个字符'\0'作为串的结束标记。


(38)D 


   【解析】函数的静态局部变量在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。


(39)C


    【解析】带参数的宏定义命令行形式如下: #define 宏名(形参表) 替换文本


在编译的时候编译预处理程序用"替换文本"来替换宏,即M(n,m)被替换为n%m,之后计算,将计算的结果赋给a。注意,宏替换是在编译时由预处理程序完成的,宏替换不占用运行的时间,而函数调用是在程序运行时进行的,在函数的调用过程中需要占用一系列的处理时间。


(40)A


   【解析】本题的功能是顺序的读两个文本文件,依次输出。当打开文件时出现错误,fopen函数将返回NULL。

就业数据资源平台