开始时:b=0,c=4 执行:b=0+1=1,c=4+1=5 返回:a+b+c=2+1+5=8 调用结束后:静态局部变量c=5保持不变; 21、有一函数 int f(char *s) i ink=o while (*s)k=k*10+*s++-0 调用f(“1234”)的返回结果是: A)“1234”B)1234C)“4321”D)4321 while循环等价于: while(*s)k=k*10+(*s++)-“0° 该函数的作用将数字字符串转换成相应的整数 2、以下正确的描述是C )C语言的预处理能力是指完成宏替换和包含文件的调用 B)预处理命令智能位于C源程序文件的首部 C)凡是C源程序中首行以#标识的控制行都是编译预处理命令 )C语言的编译预处理就是对源程序进行初步的语法检查 23、使用fsek函数可以实现的操作是 A改变文件位置指针的当前位置 B)文件的顺序读写 C)文件的随机读写 D)以上都不是 24、inta={1,2,34.5,6,7.8,9,10},*p=ai 数组元素地址的正确表示 A)&(a+1) B)a++ C)&p D)&p[i] 、填空题 1、用for循环打印147101316192225,其语句应为 for(i=1;i←=9,i++) printf(%3d”,3*i-2) 2、执行完下列语句段后,值分别为:355350 Intl,J; J=10°(=5) +=j*=+2; 第一条语句执行后:i=5,j=50
6 开始时: b = 0, c = 4 执行: b = 0 + 1 = 1, c = 4 + 1 = 5; 返回: a+b+c=2+1+5=8; 调用结束后: 静态局部变量 c=5 保持不变; 21、有一函数: int f(char *s) { int k = 0; while (*s) k = k*10+*s++-’0’; return(k); } 调用 f(“1234”)的返回结果是: A) “1234” B) 1234 C) “4321” D) 4321 while 循环等价于: while (*s) k = k * 10 + (*s++) – ‘0’; 该函数的作用:将数字字符串转换成相应的整数. 22、以下正确的描述是 C A) C语言的预处理能力是指完成宏替换和包含文件的调用 B) 预处理命令智能位于 C 源程序文件的首部 C) 凡是 C 源程序中首行以#标识的控制行都是编译预处理命令 D) C 语言的编译预处理就是对源程序进行初步的语法检查 23、使用 fseek()函数可以实现的操作是 A)改变文件位置指针的当前位置 B)文件的顺序读写 C)文件的随机读写 D)以上都不是 24、int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i; 数组元素地址的正确表示: A)&(a+1) B)a++ C)&p D)&p[i] 二、填空题 1、用 for 循环打印 1 4 7 10 13 16 19 22 25 , 其语句应为: for (i=1; i<=9; i++) printf(“%3d”, _3*i-2__); 2、执行完下列语句段后, i,j 值分别为:___355,350__ int i, j; j=10*(i=5); i+=j*=i+2; 第一条语句执行后: i = 5, j = 50
执行第二条语句 +=j=+2 1+=(*=(1+2) (=50*7) i=5+350=355,J=350 3、执行完下列语句段后,i值为 static int al3][4}={1,2,3},4,5,6},i; a[o][1 2 a[0[2 a[0][3 a[lol 4 a[1[1 5 a[l[2 6 a[1][3 a[2]0 X}16 a[2][1 X18 a[2][2 a[2][3 a[OJ5的地址:X+(0*4+5)*2=X+10,即对应于a[1 4、执行完下列语句段后,i值为:4 int f(int x) i static int k=0 return x. =f(2); 5、执行完下列语句段后,i值为:18 7
7 执行第二条语句: i+=j*=i+2 ➔ i += (j *= (i+2)) ➔ i += (j *= 7) ➔ i += (j = 50*7) ➔ i = 5 + 350 = 355, j = 350 3、执行完下列语句段后, i 值为:__5__ static int a[3][4]={{1,2,3},{4,5,6}}, i; i= a[0][5]; a[0][0] 1 X a[0][1] 2 X+2 a[0][2] 3 X+4 a[0][3] ? X+6 a[1][0] 4 X+8 a[1][1] 5 X+10 a[1][2] 6 X+12 a[1][3] ? X+14 a[2][0] ? X+16 a[2][1] ? X+18 a[2][2] ? X+20 a[2][3] ? X+22 a[0][5]的地址: X+(0*4+5)*2 = X + 10, 即对应于 a[1][1]。 4、执行完下列语句段后, i 值为:__4___ int i; int f(int x) { static int k = 0; x+=k++; return x; } i=f(2); i=f(3); 5、执行完下列语句段后, i 值为:__18__