湖北汽车工业学院C语言考试题库(选择题) 2 下载本文

版权所有:湖北汽车工业学院 张吴波

湖北汽车工业学院C语言考试题库(选择题)

1、C语言中下列叙述正确的是______。

A.不能使用do-while语句构成循环

B.do-while语句构成的循环,必须用break语句才能退出

C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环

标准答案:D

本题的考查点是do-while语句。

选项A是错误的,C语言支持do-while语句;选项B是错误的,do-while构成的循环, 当while语句中的表达式值为零时结束循环,而不是非零;选项C也是错误的。 故本题答案为D。

2、能正确表示a和b同时为正或同时为负的逻辑表达式是______。

A.(a>=0||b>=0)&&(a<0|| b<0) B.(a>=0&&b>=0)&&(a<0&&b<0) C.(a+b>0)&&(a+b<=0) D.a*b>0

标准答案:D

逻辑表达式是指用逻辑运算符将关系表达式或逻辑量连接起来。 选项A中,表达式表示的是a,b为异号;

选项B中,表达式表示的是0,因为没有满足条件的值; 选项C中,表达式表示的是0,因为没有满足条件的值; 选项D表示的是a和b为同号。 故本题答案为D。

3、请选出可用作C语言用户标识符的一组标识符______。

① void ② a3_b3 ③ For ④ 2a define _123 _abc DO

WORD IF case sizeof A.1 B.2 C.3 D.4

标准答案:B

本题的考查点是C语言的标识符。

C语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。 ①中的void和define都和C语言的关键字重名,不合法; ③中的case和C语言的关键字重名,不合法;

④中的2a是数字打头而且sizeof和C语言的关键字重名,不合法。 故本题答案为B。

4、若x和y都是int型变量,x=100、y=200,且有下面的程序片段 printf(\

- 1 -

版权所有:湖北汽车工业学院 张吴波

上面程序片段的输出结果是______。 A.200 B.100 C.200,100

D.输入格式符不够,输出不确定的值

标准答案:A

本题的考查点是逗号表达式。

在(x,y)中的\是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,(x,y)的值为200,所以输出结果为200。

故本题答案为A。

5、若执行下面的程序时从键盘上输入3和4, main()

{ int a,b,s;

scanf(\ s=a; if(a

printf(\ }

则输出是______。 A.14 B.16 C.18 D.20

标准答案:B

本题的考查点是给变量赋值。

用户输入的3和4分别赋给了a和b,在if语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*s=16,最后的打印结果为16。 故本题答案为B。

6、设ch是char型变量,其值为A,且有下面的表达式

ch=(ch>='A'&&ch<='Z')?(ch+32):ch 上面表达式的值是______。 A.A B.a C.Z D.z

标准答案:B

本题的考查点是条件运算符。

条件表达式的一般形式为:表达式1?表达式2:表达式3,条件运算符的执行顺序:先求解表达式1,若非0则求解表达式2,此时表达式2的值就作为整个表达式的值,若表达式1的值为0,则求解表达式3,此时

- 2 -

版权所有:湖北汽车工业学院 张吴波

表达式3的值就作为整个表达式的值。本题中,表达式1的值为1,所以整个表达式的值为表达式(ch+32)的值,即为a。

故本题答案为B。

7、设有以下语句,其中不是对a数组元素的正确引用的是______。(其中0≤i<10)

int a[10]={0,1,2,3,4,5,6,7,8,9,},*p=a; A.a[p-a] B.*(&a[i]) C.p[i] D.*(*(a+i) )

标准答案:D

本题的考查点是通过指针引用数组元素。

8、下面程序

main() {

int x=10,y=3;

printf(\ }

的输出是______。 A.0 B.1 C.3

D.不确定的值

标准答案:C

本题的考查点是除法运算。

x/y的结果约为3.33333,但是由于打印要求为整型,所以自动转换为整型(相当于截取整数位),打印结果为3。

故本题答案为C。

9、下面的程序中______错误(每行程序前面的数字是行号)。

1 #include 2 main() 3 {

4 float a[3]={0.0}; 5 int i;

6 for(i=0;i<3;i++) scanf(\7 for(i=1;i<3;i++)a[0]=a[0]+a[i]; 8 printf(\9 } A.没 B.第4行 C.第6行 D.第8行

- 3 -

版权所有:湖北汽车工业学院 张吴波

标准答案:C

本题的考查点是函数scanf()的格式输入。

根据函数scanf()的语法可知,在函数中的参数表列部分,应当是欲赋值变量的内存地址,象第六行这样,将数组元素直接放在参数表列中是无法达到给数组元素赋值的目的。 故本题答案为C。

10、有如下程序

main() {

int n = 9; while(n>6) { n--;

printf(\ } }

该程序的输出结果是______。 A.987 B.876 C.8765 D.9876

标准答案:B

本题考查点是While语句循环次数的问题。

符合n>6的n只有7,8,9;所以循环次数为3。选项C、D可以排除。又因n在输出之前要执行n--,所以输出结果只能是876。 本题答案为B。

11、若变量已正确定义并赋值,下面符合C语言的表达式是______。

A.a:=b+1 B.a=b=c+2 C.int 18.5%3 D.a=a+7=c+b

标准答案:B

选项A和C显然错误;对于表达式a=a+7=c+b(答案D),是先执行赋值表达式a+7=c+b,再把这个表达式的值赋给a,显然,表达式a+7=c+b非法,因为赋值表达式的左值不能为常量或表达式。 本题答案为B。

12、有如下程序

main()

{ float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0)y=1.0/x; else y=1.0; printf(\}

- 4 -

版权所有:湖北汽车工业学院 张吴波

该程序输出结果是______。 A.0.000000 B.0.250000 C.0.500000 D.1.000000

标准答案:C

本题考查的是IF…ELSE语句的使用。x=2.0,符合第二个IF语句的条件x<10.0,所以执行y=1.0/x语句,即y=1.0/2.0=0.500000。 本题答案为C。

13、有如下程序段

int *p,a=10,b=1; p=&a; a=*p+b;

执行该程序段后,a的值为______。 A.12 B.11 C.10 D.编译出错

标准答案:B

执行p = &a;后,p指向整数a,*p即p的目标变量,也就是a;所以a = *p + b等价于a = a+b,可知a的值最终为11。

本题答案为B。

14、有如下程序

main() { }

该程序的输出结果是______。 A.不确定的值 B.2 C.1 D.0

标准答案:D

int n[5] = {0,0,0},i,k = 2;

for(i = 0; i < k; i++) n[i] = n[i] + 1; printf(\

一维数组和多维数组的定义、初始化和引用 15、有如下定义

struct person{char name[9]; int age;}; struct person class[10] = { \

\ \ \

- 5 -

版权所有:湖北汽车工业学院 张吴波

根据上述定义,能输出字母M的语句是______。 A.printf(\B.printf(\C.printf(\D.printf(\

标准答案:D

结构体和共用体类型数据的定义方法和引用方法 16、以下列出C语言常量中,错误的是______。

A.OxFF B.1.2e0.5 C.2L D.'\\72'

标准答案:B

C的数据类型及其定义方法

17、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的C语言表达式是

______。 A.x/y*z B.x*(1/(y*z)) C.x/y*1/z D.x/y/z

标准答案:A

C的数据类型及其定义方法 18、设有以下说明语句

struct ex

{ int x; float y;char z; } example; 则下面的叙述中不正确的是______。 A.struct是结构体类型的关键字 B.example是结构体类型名 C.x,y,z都是结构体成员名 D.struct ex是结构体类型

标准答案:B

结构体和共用体类型数据的定义方法和引用方法

19、X、Y、Z被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是______。

A.INPUT X,Y,Z;

B.scanf(\C.scanf(\D.read(\

标准答案:B

本题考查C语言的格式化输入语句。

- 6 -

版权所有:湖北汽车工业学院 张吴波

C语言中没有INPUT与read语句,scanf()语句的格式为: scanf(\格式字符串\变量地址1,变量地址2,...); 本题答案C中,应为变量地址。 本题答案为B。

20、t为int类型,进入下面的循环之前,t的值为0,

while(t=1) { ......}

则以下叙述中正确的是______。 A.循环控制表达式的值为0 B.循环控制表达式的值为1 C.循环控制表达式不合法 D.以上说法都不对

标准答案:B

本题考查C语言的while循环语句。

本题的t=1是一个赋值表达式,其值为变量的值,所以while语句的循环控制表达式的值为1。 本题答案为B。

21、设有以下函数;

f(int a) { int b=0; static int c=3; b++;c++; return(a+b+c); }

如果在下面的程序中调用该函数,则输出结果是______。 main()

{ int a=2, i;

for(i=0;i<3;i++) printf(\ }

A) B) C) D) 7 7 7 7 8 9 10 7 9 11 13 7

标准答案:A

本题考查的是C语言的静态数据类型。静态数据类型的变量的值在退出了函数时依然存放在内存中,且只初始化一次。 本题答案为A。

22、以下定义语句中,错误的是______。

A.int a[]={1,2}; B.char *a[3]; C.char s[10]=\D.int n=5,a[n];

- 7 -

版权所有:湖北汽车工业学院 张吴波

标准答案:D

本题考查C语言数组的定义与初始化。

在C语言中数组的初始化可以对部分元素,数组的定义,不能含有变量。 本题答案为D。

23、以下程序的输出结果是______。

main()

{ int i,a[10];

for(i=9;i>=0;i--) a[i]=10-i; printf(\} A.258 B.741 C.852 D.369

标准答案:C

本题使循环语句给数组元素赋值。 C语言中for循环语句的一般形式为: for(表达式1;表达式2;表达式3) {

语句部分; }

本题答案为C。

24、以下程序的输出结果是______。

main() { int a,b;

for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1)

{ b+=3; continue; } }

printf(\ } A.101 B.6 C.5 D.4

标准答案:D

本题主要考查考生对C语言中的循环语句和程序的执行逻辑。本题中for循环语句共执行3次,所以a的值累加3次,结果为4。 本题答案为D。

CONTINUE语句和BREAK语句

- 8 -

版权所有:湖北汽车工业学院 张吴波

25、以下程序的结果是______。

int a,b; void fun()

{ a=100; b=200; } main()

{ int a=5,b=7; fun();

printf(\ } A.100200 B.57 C.200100 D.75

标准答案:B

局部变量和全局变量

26、以下叙述中正确的是______。

A.C语言中的文件是流式文件,因此只能顺序存取数据

B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖

C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据 D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失

标准答案:D

文件的打开与关闭(FOPEN,FCLOSE)

27、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。 A.Void B.int C.float D.double

标准答案:B

函数的类型和返回值 28、有以下程序

struct STU

{char num[10]; float score[3]; } main()

{struct STU s[3]={{\ {\ {\ int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf(\}

- 9 -

版权所有:湖北汽车工业学院 张吴波

程序运行后的输出结果是______。 A.260.00 B.270.00 C.280.00 D.285.00

标准答案:B

结构体和共用体类型数据的定义方法和引用方法 29、有以下程序

main()

{ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i]; i++;} printf(\}

执行后输出的结果是______。 A.58 B.56 C.45 D.24

标准答案:D

一维数组和多维数组的定义、初始化和引用

30、设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五

入的是______。 A.x=x*100+0.5/100.0; B.x=(x*100+0.5)/100.0 C.x=(int)(x*100+0.5)/100.0; D.x=(x/100+0.5)/100.0;

标准答案:C

表达式语句,空语句,复合语句 31、有以下程序

main() { int i,s=0;

for(i=1;i<10;i+=2) s+=i+1; printf(\}

A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中奇数之和 D.自然数1~10中偶数之和

标准答案:D

- 10 -

版权所有:湖北汽车工业学院 张吴波

FOR循环结构

32、若程序中定义了以下函数

double myadd(double a,double b) {return(a+b);}

并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是______。 A.double myadd(double a, b); B.double myadd(double,double); C.double myadd(double b, double a); D.double myadd(double x, double y);

标准答案:A

对函数的“定义”和“说明”不是一回事。“定义”是指对函数功能的确立,包括指定函数名,函数值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。而“说明”则是对已定义的函数的返回值进行类型说明(或称“申明”),它只包括函数名、函数类型、以及一个空的括弧,不包括形参和函数体。对被调函数进行说明的作用是告诉系统:在本函数中将要用到的某函数是XX类型。也就是说明该函数的返回值的类型,以便在主调函数中按此类型对函数值作相应的处理。

本题选项A中,对变量b的类型没有说明,默认的为整型,不合题意。 故本题答案为A。

33、下面程序的功能是输出以下形式的金字塔图案:

* *** ***** ******* main() { int i,j;

for(i=1;i<=4;i++)

{ for(j=1;j<=4-i;j++)printf(\ for(j=1;j<=______;j++)printf(\ printf(\ } }

在下划线处应填入的是______。 A.i B.2*i-1 C.2*i+1 D.i+2

标准答案:B

循环的嵌套

34、请选出以下程序的输出结果______。

#include sub(int x,int y,int * z){ *z=y-x; }

- 11 -

版权所有:湖北汽车工业学院 张吴波

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

标准答案:B

用指针作函数参数

35、请选出以下程序段的输出结果______。

#include

#define MIN(x,y) (x

int i,j,k; i=10;j=15; k=10*MIN(i,j); printf(\ }

A.15 B.100 C.10 D.150

标准答案:C

宏定义:不带参数的宏定义;带参数的宏定义 36、设有如下的程序段

char str[]=\ char *ptr; ptr=str;

执行完上面的程序段后,*(ptr+5)的值为______。 A.'o' B.'\\0' C.不确定的值 D.'o'的地址

标准答案:B

字符串与字符数组

本题的考查点是字符数组的结束标志。

ptr=str实际上是将串str的首地址赋给了指针变量ptr,所以ptr+5将指向str串的第六个数组元素,即是串的隐含结束标志'\\0',*(ptr+5)='\\0',最后的结果为'\\0'。

- 12 -

版权所有:湖北汽车工业学院 张吴波

故本题答案为B。

37、已有定义:char c;,程序前面已在命令中包含ctype.h文件。不能用于判断c中的字符是否为大写

字母的表达式是______。 A.isupper(c) B.'A'<=c<='Z' C.'A'<=c&&c<='Z'

D.c<=('z'-32)&&('a'-32)<=c

标准答案:B

C运算符的种类、运算优先级和结合性 38、下面程序的输出是______。

int m=13;

int fun2(int x,int y) { int m=3; return(x*y-m); } main( ) { int a=7,b=5;

printf(\} A.1 B.2 C.7 D.10

标准答案:B

本题的考查点是函数的调用。

函数fun2()的作用是将形参x和y的值相乘后-3,在fun2()中的变量m是一个局部变量,它的值在fun2()函数内有效,在主函数中的m指的是全局变量,其值为13,所以fun2(a,b)/m的值为(7*5-3)/13,即2。 故本题答案为B。

39、有以下程序

#include int fun(char s[]) { int n=0;

while(*s<='9'&&*s>='0') { n=10*n+*s-'0';s++;} return(n); } main()

{ char s[10]={ '6', '1','*','4','*', '9', '*', '0', '*'}; printf(\}

程序的运行结果是______。 A.9 B.61490

- 13 -

版权所有:湖北汽车工业学院 张吴波

C.61 D.5 标准答案:C

字符串与字符数组

本题考查的是指针的应用。

本题主函数中定义了一个字符型数组s,当调用fun函数时,将字符型数组s的地址指向形参字符数组s,则形参与实参共用占同一存储单元,其值也相等。 在函数fun中,第一次执行while循环时,*s='6',所以while(*s<='9'&&*s>='0')成立,执行n=10*n+*s-'0'; 即n=10*0+'6'-'0',其中字符'6'和'0'均代入ASCII码进行运算,所以n=6;

s++表示指针变量s后移一位,即*s='1',所以while(*s<='9'&&*s>='0')成立,执行n=10*n+*s-'0';由于前一次循环执行后的n的值为6,此时的等式为(n=10*6+'1'-'0'),故n=61;指针变量继续后移一位,*s='*',所以while(*s<='9'&&*s>='0')不成立,返回n=61的值。故本题程序输出结果是61。 本题答案为C。

40、以下函数返回a所指数组中最小值所在的下标值。

fun(int *a,int n) { }

int i,j = 0,p; p = j;

for( i = j; i < n; j++)

return(p);

if(a[i] < a[p])______;

在下划线处应填入的是______。 A.i=p B.a[p]=a[i] C.p=j D.p=i

标准答案:D

一维数组和多维数组的定义、初始化和引用 41、有如下程序:

long fib(int n) { } main() { }

该程序的输出结果是______。

printf(\if(n > 2)

return (fib(n-1) + fib(n - 2)); return (2); else

- 14 -

版权所有:湖北汽车工业学院 张吴波

A.2 B.4 C.6 D.8

标准答案:B

函数的正确调用,嵌套调用,递归调用

42、若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是______。

A.EOF B.0 C.非零值 D.NULL

标准答案:C

本题的考查点是文件结束符的返回值问题。

函数feof是用来判断文件是否已读到末尾,如果已读到末尾则返回非零值,否则返回0。 本题答案为C。

文件的读写,文件的定位 43、有如下程序

int func(int a, int b) { return(a+b); } main()

{ int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(\}

该程序的输出结果是______。 A.12 B.13 C.14 D.15

标准答案:D

函数的正确调用,嵌套调用,递归调用 44、有以下程序

main()

{ int a,b,d=25; a=d/10%9; b=a&&(-1);

printf(\}

程序运行后的输出结果是______。 A.6,1 B.2,1

- 15 -

版权所有:湖北汽车工业学院 张吴波

C.6,0 D.2,0 标准答案:B

本题考查的是算术运算符。

如果算术运算符\/\中参与运算的变量都是整型变量,则\/\表示整除运算,\%\表示求余。本题中\a=d/10%9;\的值为25/10%9=2;\b=a&&(-1);\为2&&(-1)=1(注意:-1表示真,只有0才表示假),所以a,b的值分别为2,1。 故本题答案为B。

45、下列程序段的输出结果是______。

void fun(int *x,int *y)

{ printf(\ main()

{ int x=1,y=2; fun(&y,&x);

printf(\ }

A.2 1 4 3 B.1 2 1 2 C.1 2 3 4 D.2 1 1 2

标准答案:A

用指针作函数参数

本题中函数传递的是变量的地址,如果形参变量所指向的存储空间的内容在函数中发生改变,相对应的实参变量所指向的存储空间的内容也就发生改变。 本题答案为A。

46、以下程序的输出结果是______。

long fun(int n) { long s;

if(n==1||n==2) s=2; else s=n-fun(n-1); return s; } main()

{ printf(\A.1 B.2 C.3 D.4

标准答案:A

函数的正确调用,嵌套调用,递归调用 47、有以下结构体说明和变量定义,如图所示:

- 16 -

版权所有:湖北汽车工业学院 张吴波

struct node

{int data; struct node *next;} *p,*q,*r;

现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是______。 A.p->next=q->next; B.p->next=p->next->next; C.p->next=r; D.p=q->next;

标准答案:D

结构体和共用体类型数据的定义方法和引用方法 48、有以下程序

#include

void WriteStr(char *fn,char *str) { FILE *fp; fp=fopen(fn,\ fputs(str,fp); fclose(fp); } main() {

WriteStr(\ WriteStr(\}

程序运行后,文件t1.dat中的内容是______。 A.start B.end C.startend D.endrt

标准答案:B

本题考查的是文件操作。

题中\fopen(fn,\\的作用是打开fn所指向的文件,使用文件方式为\写入\;\fputs(str,fp)\的作用是将字符str的值输出到fp所指向的文件中去。在程序中,两次使用\写入\的方式打开同一个文件,在第二次打开时,文件指针指向文件头,所以此次写入的数据覆盖了文件原有的数据,故本题中t1.dat的内容为end。 故本题答案为B。

49、以下程序的功能是:给r输入数据后计算半径为r的圆面积s,程序在编译时出错。

main()

/* Beginning */ {int r; float s;

- 17 -

版权所有:湖北汽车工业学院 张吴波

scanf(\

s=*∏*r*r; printf(\}

出错的原因是______。 A.注释语句书写位置错误

B.存放圆半径的变量r不应该定义为整型 C.输出语句中格式描述符非法

D.计算圆面积的赋值语句中使用了非法变量 标准答案:D

50、有以下程序

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2; printf(\}

程序运行后的输出结果是______。 A.16 B.10 C.8 D.6

标准答案:B

指针数组,指向指针的指针,MAIN函数的命令行参数

本题考查的是指向数组的指针变量。

数组a各元素a[0]~a[9]的值依次为1~10;在程序的说明部分,指针变量p初始化为&a[3],即*p的值为4;指针变量q初始化为p+2,即&a[3]+2,所以*q的值为6,所以*p+*q的值为10。 故本题答案为B。

51、若要打开A盘上的user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数

调用是______。

A.fopen(\B.fopen(\C.fopen(\D.fopen(\

标准答案:B

文件的打开与关闭(FOPEN,FCLOSE) 52、以下程序的输出结果是______。

f(int b[],int m,int n) { int i,s=0;

for(i=m;i

{int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7);

- 18 -

版权所有:湖北汽车工业学院 张吴波

printf(\} A.10 B.18 C.8 D.15

标准答案:A

用指针作函数参数 53、有以下程序

main()

{int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0;

for(i=0;i<4;i++) s+=aa[i][1]; printf(\}

程序运行后的输出结果是__19__。

维数组和多维数组的定义、初始化和引用 54、有以下程序

void f(int x,int y) { int t;

if(x

{ int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c); printf(\}

执行后输出的结果是______。 A.3,4,5 B.5,3,4 C.5,4,3 D.4,3,5

标准答案:D

形式参数与实在参数,参数值的传递 55、有以下程序

main()

{ int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r;

printf(\}

程序运行后的输出结果是______。

- 19 -

版权所有:湖北汽车工业学院 张吴波

A.8,7,8,7 B.7,8,7,8 C.8,7,7,8 D.7,8,8,7

标准答案:C

指针与指针变量的概念,指针与地址运算符 56、有以下程序

int fun1(double a){return a*=a;} int fun2(double x,double y) { double a=0,b=0;

a=fun1(x);b=fun1(y); return(int)(a+b); } main()

{double w;w=fun2(1.1,2.0);……} 程序执行后变量w中的值是______。 A.5.21 B.5 C.5.0 D.0.0

标准答案:C

函数的类型和返回值 67、有以下程序

fun(char p[][10]) { int n=0,i; for(i=0;i<7;i++) if(p[i][0]== 'T')n++; return n; } main()

{ char str[][10]={ \ printf(\}

程序执行后的输出结果是______。 A.1 B.2 C.3 D.0

标准答案:B

一维数组和多维数组的定义、初始化和引用

- 20 -