A. 6 B. 7 C. 8 D. 9 103. 若有定义:char a[]=\则以下程序段运行后屏幕输出为( )。 strcpy(a,b); printf(\ A. c B. z C. \\0 D. d 104. 以下程序段运行后屏幕输出为( )。 char a[]=\printf(\ A. 5 B. 8 C. 3 D. 4 105. 若有定义:int a=2;则语句a=strcmp(\运行后a的值为( )。 A. 1 //相等返回0 ,字符串1>字符串2,返回一个正整数,否则返回负整数 B. 0 //strcmp(str1,str2) C. -1 D. 2 106. 以下程序段运行后屏幕输出为( )。 char str[]=\ 注意\\\\代表一个反斜杠字符 printf(\ A. 4 B. 5 C. 6 D. 7 107. 以下程序段运行后屏幕输出为( )。 char str[80];strcpy(str,\ A. 5 B. 6 C. 7 D. 80 108. 若有定义:char str1[6]=\( )是正确的。 A. strcpy(str1,str2); B. 表达式strcmp(str1,str2)的值大于0 C. str1=str2; D. 表达式strlen(str1)的值为6 109. 设有如下函数定义: int fun(char *str) B C B B A B A { char *p=str; while ( *p != '\\0') p++; return (p-str); } 则以下语句执行后的输出结果是( )。//返回字符串个数 printf(\ A. 7 B. 8 C. 9 D. 10 110. 以下程序的运行结果是( )。 int fun(int array[4][4]) { int j; for(j=0;j<4;j++) printf(\ printf(\} main() { int a[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0}; fun(a); } A. 2 0 0 5 B. 1 0 0 4 C. 0 1 2 0 D. 0 4 5 0 111. 如下fun函数的类型是( )。 fun(float x) {double y; int z ; y=x * x ; z=(int)y ; return(z); } A. void B. double C. int D. float 112. 以下程序运行后屏幕输出为( )。 #include int f(int x,int y) { return(x+y); } main() { int a=2,b=3,c; A C B c=f(a,b); printf(\} A. 0 B. 2+3=5 C. 2+3=0 D. 3+2=5 113. 以下程序运行后屏幕输出为( )。 //考查全局变量与局部变量的区别及范围 #include int a=2,b=3; int max(int a,int b) { int c; c=a>b?a:b; return(c); } main() { int a=4; printf(\} A. 2,3 B. 2 C. 3 D. 4 114. 以下程序运行后屏幕输出为( )。 #include void f(int i) //两个函数中的a不一样 { int a=2; a=i++; printf(\} main() { int a=1,c=3; f(c); a=c++; printf(\} A. 4,3 B. 3,3 C. 4,5 D. 3,5 D B D 115. 若有如下函数定义: //注意静态变量的使用 int fun() { static int k=0; return ++k; } 以下程序段运行后屏幕输出为( )。 int i; for(i=1;i<=5;i++) fun(); printf(\ A. 0 B. 1 C. 5 D. 6 116. 下面程序的输出结果是( )。 #include int global=100; fun() { int global=5; return ++global; } void main() { printf(\} A. 100 B. 101 C. 5 D. 6 117. 下列关于C语言函数的描述中,正确的是( )。 A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用都可以嵌套 D. 函数的定义和函数的调用都不可以嵌套 118. 若有以下宏定义, #define MOD(x,y) x%y 则执行以下程序段后,z的值是( )。 int z,a=15,b=100; z=MOD(b,a); A. 100 B. 15 C. 11 D. 10 D B D B 119. 以下叙述中,正确的是( )。 A. “#define PRICE=30”定义了与30等价的符号常量PRICE B. 预编译处理命令行都必须以“#”开头 C. 宏名只能包含大写字母和数字字符 //可以包括小写字母 D. 在程序的一行上可以书写几个有效的宏定义 120. 以下叙述中,正确的是( )。 A. 宏展开不占用运行时间,只占用编译时间 B. 预编译处理命令行必须以分号结束 C. 一个源程序只能有一个预编译处理命令行 D. 使用带参数的宏定义时,应该说明每个参数的数据类型 121. 以下的叙述中不正确的是( )。 A. 宏展开不占用运行时间,只占用编译时间 B. 宏名无类型 C. 宏名必须用大写字母表示 D. 预处理命令行都必须以#号开始 122. 若有定义:#define PI 3,则表达式PI*2*2的值为( )。 A. 12 B. 4 C. 3 D. 不确定 123. 以下程序运行后,屏幕输出为( )。 #define MIN(a,b) ((a)<(b)?(a):(b)) main() {int x=2,y=3,z; z=2*MIN(x,y); printf(\} A. 2 B. 3 C. 4 D. 6 124. 下面程序的输出结果是( )。 #include #define SQR(x) (x*x) void main() { int a,b=3; a=SQR(b+2); printf(\} A. 11 B. 25 C. 不定值 D. 产生错误 A C A C A