C) 函数的形参都属于全局变量
D) 未在定义语句中赋初值的auto变量和static变量的初值都是随机值 55. 有以下程序 main()
{ char s[]=\ p=s;
printf(\pritnf(\}
程序运行后的输出结果是 ( A ) A) 15 B) 16 C) 12 D) 59
56. 以下语句或语句组中,能正确进行字符串赋值的是( A) char *sp; *sp=\B) char s[10]; s=\C) char s[10]; *s=\D) char *sp=\
57. 下面程序段的运行结果是( A )。 char *p= \p+=2;
printf(\A) 6 B) 12 C) 4 D) 7
58. 下面程序段的运行结果是( B )。 char str[ ]= \printf(\A) 67 B) 0
C) 字符'C'的地址 D) 字符'C'
59. 以下程序运行后,输出结果是( C ) main()
{ char *s=\ s+=2;
printf(\,s);} A) cde
B) 字符c的ASCII码值 C) 字符c的地址 D) 出错
60. 有以下程序: main()
{ char *p[10]={\printf(\}
执行后输出结果是( A ) A) 2
C ) B) 3 C) 4 D) 5
61. 若有语句:char *line[5];,以下叙述中正确的是( A )
A) 定义line是一个数组,每个数组元素是一个基类型为char的指针变量 B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C) 定义line是一个指针数组,语句中的*号称为间址运算符 D) 定义line是一个指向字符型函数的指针
62. 设有如下定义: char *aa[2]={\;则以下说法中正确的是( D )。 A) aa数组成元素的值分别是\和ABCD\
B) aa是指针变量,它指向含有两个数组元素的字符型一维数组
C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D) aa数组的两个元素中各自存放了字符串\和\的首地址 63. 以下函数调用语句中含有( B )个实参。 fun((exp1,exp2),(exp3,exp4,exp5)); A) 1 B) 2 C) 4 D) 5
64. 以下所列的各函数首部中,正确的是( C ) A) void play(var a :integer,var b:integer) B) void play(int a,b) C) void play(int a,int b)
D) Sub play(a as integer,b as integer)
65. C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( B ) A) void B) int C) float D) double
66. 下面的函数调用语句中func函数的实参个数是 ( A )
func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8))); A) 3 B) 4 C) 5 D) 8
67. 有以下程序 fun(int x, int y) { static int m=0, i=2;
i+=m+1; m=i+x+y; return m; }
main()
{ int j=1, m=1, k;
k=fun(j,m); printf(\ k=fun(j,m); printf(\}
执行后的输出结果是 ( B ) A) 5, 5 B) 5, 11 C) 11, 11
D) 11, 5
68. 以下函数值的类型是 ( A )
fun ( float x ) { float y; y= 3*x-4; return y; }
A) int B) 不确定 C) void D) float
69. 以下程序的输出结果是 ( C )
fun(int x, int y, int z) { z=x*x+y*y; } main()
{ int a=31; fun(5,2,a); printf(\}
A) 0 B) 2 C) 31 D) 无定值 70. 有以下程序
void f(int x,int y) { int t;
if(x main() { int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(\} 执行后输出的结果是( D ) A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5 71. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( A) 地址传递 B) 单向值传递 C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定 72. 有以下程序 void f(int b[]) { int i; for (i=2; i<6; i++) b[i] *= 2; } main() B ) { int a[10]={1,2,3,4,5,6,7,8,9,10}, i; f(a); for (i=0; i<10; i++) printf(\} 程序运行后的输出结果是( B ) A) 1,2,3,4,5,6,7,8,9,10, B) 1,2,6,8,10,12,7,8,9,10, C) 1,2,3,4,10,12,14,16,9,10, D) 1,2,6,8,10,12,14,16,9,10, 73. 在C语言中,函数返回值的类型最终取决于 ( C ) A) 函数定义时在函数首部所说明的函数类型 B) return语句中表达式值的类型 C) 调用函数时主调函数所传递的实参类型 D) 函数定义时形参的类型 74. 调用一个函数,此函数中没有return语句,下列说法正确的是:该函数( A A) 没有返回值 B) 返回若干个系统默认值 C) 能返回一个用户所希望的函数值 D) 返回一个不确定的值 75. 若有以下调用语句,则不正确的fun函数的首部是( D ) main() { … int a[50],n; … fun(n, &a[9]); … } A) void fun(int m, int x[]) B) void fun(int s, int h[41]) C) void fun(int p, int *s) D) void fun(int n, int A) 76. 有以下程序 void swap(char *x, char *y) { char t; t=*x; *x=*y; *y=t; } main() { char *s1=\ swap(s1,s2); printf(\ } 程序执行后的输出结果是 ( C ) A) 123,abc B) abc,123 C) 1bc,a23 D) 321,cba 77. 以下程序的输出结果( B ) #include )。 { *z=y-x; } main() { int a, b, c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(\} A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7 78. 已定义以下函数 int fun( int *p) { return *p; } fun函数返回值是 ( C ) A) 不确定的值 B) 一个整数 C) 形参p中存放的值 D) 形参p的地址值 79. 已定义以下函数: fun (char* p2, char* p1) { while ((*p2=*p1) != '\\0') {pl++;p2++;} } 函数的功能是 ( C ) A) 将p1所指字符串复制到p2所指内存空间 B) 将pl所指字符串的地址赋给指针p2 C) 对pl和p2两个指针所指字符串进行比较 D) 检查p1和p2两个指针所指字符串中是否有'\\0' 80. 有以下程序 #include { if (b==0) return a; else return (fun(--a, --b)); } main() { printf(\程序的运行结果是( B ) A) 1 B) 2 C) 3 D) 4 81. 以下程序的输出结果是 ( B ) int a,b; void fun() { a=100; b=200; }