您的当前位置:首页正文

C语言习题带答案

2023-03-21 来源:好走旅游网
基本语句练习

1、若有以下程序段 D #include”stdio.h” void main( ) { int a=2,b=5;

Printf(“a=%%d,b=%%d\\n”,a,b); }

其输出结果是( )

A、a=%2,b=%5 B、a=2,b=5 C、a=%%d,b=%%d D、a=%d,b=%d

2、以下程序段 C float a=3.1415; printf(“|%6.0f|\\n”,a); 其输出结果是( )

A、|3.1415| B、|3.0| C、| 3| D、|3.|

3、以下程序段的输出结果是( ) C float a=57.666; printf(“*%010.2f*\\n”,a);

A、*0000057.66* B、*57.66* C、*0000057.67* D、*57.57*

4、下面语句 printf(“|%8.5f|\\n”,3461.45); 的输出结果是( ) C A、|61.45000| B、|3461.450| C、|3461.45000| D、|3461.4500|

5、若变量都已经正确说明,则以下程序段: C a=2; b=3; printf(a>b? ”***a=%d”: “###b=%d”,a,b);

A、没有正确的输出格式控制 B、输出为:***a=2 C、输出为:###b=2 D、输出为:***a=2###b=3

6、执行下列程序时输入1234567,程序的运行结果为( ) B #include”stdio.h” void main( ) {int x, y;

scanf(“%2d%2ld”,&x,&y); printf(“%d\\n”, x+y); }

A、17 B、46 C、15 D、9

7、已知char a; int b; float c; double d; 则表达式a*b+c-d结果为( )型。 A A、double B、int C、float D、char

8、根据定义和数据的输入方式,输入语句的正确形式是( ) B 已有定义float f1, f2; 数据的输入方式:4.52 3.5

A、scanf(“%f,%f”,&f1,&f2); B、scanf(“%f%f”,&f1,&f2); C、scanf(“%3.2f%2.1f”,&f1,&f2); D、scanf(“%3.2f, %2.1f”,&f1,&f2);

9、以下程序的输出结果为( ) *3.140000, 3.142* #include”stdio.h” void main( )

{printf( “ *%f, %4.3f*\\n”, 3.14, 3.1415);}

10、结构化程序流程图中一般包含3种基本结构,在下述结构中不属于其基本结构的是( )。 C

A、 顺序结构 B、嵌套结构 C、循环结构 D、选择结构 11、若有语句:int a=7; float x=2.5, y=4.7; 则表达式 x+a%3×(int) (x+y)%2/4的值是(

)。C

A、2.500000

B、2.750000

C、3.500000

D

0.000000

12、设有说明语句:int x=43, y=0; char ch=‟A‟; 则表达式x>=y && ch<‟B‟&& !y的值是( )。 D

A、语法错误 B、0 C、假 D、1 13、若a为int类型,且其值为3,则执行完表达式a+=a*a后,a的值是_______。12

14、int a; 表达式 (a=3*4, a*2), a+8的值为_______。20 15、表达式8.0*(1/2)的值为 。0 16、下列符号中,可以作为变量名的是( )。 C

A、3aB B、$X C、_b D、if 17、设 int x=1, y=1; 表达式(!x||y)的值是( )。B A、0

B、 1

C、 2

D、

-1

18、下列标识符中,合法的标识符是( )。 C A、—abc1

B、8abc

C、_abc1

D、for

19、下列关系表达式中结果为假的是( )。C A、0!=1 B、2<=8

C、(a=2*2)= =2

D

y=(2+2)= =4

选择结构

1、对下述程序,正确的判断是( ) A #include”stdio.h” void main( ) {int x, y;

scanf(“%d, %d”, &x, &y); if(x>y) x=y; y=x; else x++; y++;

printf(“%d,%d”, x,y); }

A、有语法错误,不能通过编译 B、若输入数据3和4,则输出4和5

C、若输入数据4和3,则输出3和4 D、若输入数据4和3,则输出4 break;

case 2: printf(“%d\\n”,k++); case 3: printf(“%d\\n”,k++); 和4

2、以下程序的输出结果是( ) B #include”stdio.h” void main( )

{ int x=1,y=0,a=0,b=0; switch(x) {case 1: switch(y) {

case 0: a++;break; case 1: b++; break; } case 2:

a++; b++;break; case 3: a++;b++; }

printf(“\\na=%d,b=%d”,a,b); }

A、 a=1,b=0 B、a=2,b=1 C、 a=1, b=1 D、a=2, b=2

3、以下程序的输出结果是( ) C #include”stdio.h” void main( )

{ int a=2, b= —1, c=2; if(aA、0 B、1 C、 2 D、3

4、以下程序的输出结果是( ) A #include”stdio.h” void main( )

{ int w=4, x=3, y=2, z=1;

Printf(“%d\\n”,(wA、1 B、 2 C、3 D、 4

5、以下程序的运行结果是( ) #include”stdio.h” void main( ) {int k=2; switch(k)

{ case 1: prinft(“%d\\n”,k++);

B break;

case 4: printf(“%d\\n”,k++); default:printf(“Full!\\n”); } }

A、1 B、2 C、2 D、3

3 3 2 2

6、请写出以下程序的输出结果( ) 1 #include”stdio.h” void main( ) { int a=100; if(a>100)

printf(“%d\\n”, a>100); else

printf(“%d\\n”, a<=100); }

7、当a=1,b=2,c=3时,以下语句执行后,a,b,c中的值分别是——、——、——。 3 2 2 if(a>c) b=a;a=c;c=b;

8、若变量已经正确定义,以下语句段的输出结果是——。 * # x=0;y=2;z=3; switch(x) {

case 0:switch(y= =2)

{ case 1: printf(“*”); break; case 2: printf(“%”);break; }

case 1: switch(x) {

case 1: printf(“$”); case 2: printf(“*”); break; Default: printf(“#”); } }

9、如下程序的输出结果是( ) C #include”stdio.h” void main( )

{ int a=12,b=5,c= —3; if (a>b) if(b<0) c=0; else c++; printf(“%d\\n”,c); }

A、 0 B、 1 C、 -2 D、-3

10、以下程序运行后,如果从键盘输入5,则输出结果是( ) B #include”stdio.h” void main( ) { int x;

scanf(“%d”,&x);

if(x――<5) printf(“%d”,x); else printf(“%d”,x++); }

A、3 B、 4 C、 5 D、6

11、以下程序的输出结果是( ) A #include”stdio.h” void main( )

{ int a=15, b=21, m=0; switch(a%3) { case 0: m++; break;

case 1: m++; switch(b%2) {default : m++; case 0: m++; break: } }

printf(“%d\\n”,m); }

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

12、两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是( )A

#include”stdio.h” void main( ) { int x;

scanf(“%d”,&x);

if(x++>5) printf(“%d”,x); else printf(“%d\\n”,x ——); }

A、7和5 B、 6和3 C、 7和4 D、6和4

13、以下程序的输出结果是( ) C #include”stdio.h” void main( ) { int a= -1, b=1, k;

if ((++a<0)&&!(b――<=0)) printf( “%d%d\\n”, a,b); else

printf( “%d%d\\n”, b, a); }

A、-1 B、0 C、1 D、0

1 1 0 0

14、以下关于运算符优先顺序的描述中正确的是( ) C A、关系运算符<算术运算符<赋值运算符<逻辑运算符

B、逻辑运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑运算符

16、若从键盘输入58,则以下程序输出的结果是( ) 585858 # include”stdio.h” void main( ) {int a;

scanf(“%d”,&a); if(a>50) printf(“%d”,a); if(a>40) printf(“%d”,a); if(a>30) printf(“%d”,a); }

17、以下程序输出的结果是( ) 0 #include”stdio.h” void main( ) {int x, y;

scanf(“%d, %d”, &x, &y); if(x>y) x=y; y=x; else x++; y++;

printf(“%d,%d”, x,y); }

18、以下程序输出的结果是( ) 20, 0 #include”stdio.h”: void main( ) { int x=10, y=20, t=0; if(x= =y) t=x; x=y; y=t; printf(“%d,%d\\n”,x ,y); }

19、int a=2, b=3, c=4; 则执行语句a *=16+(b++) –(++c); 后a的值是( )。

20、以下程序的输出结果是( ) 2 #include”stido.h” main( )

{int x=2, y= -1, z=2; if(x20、若从键盘输入B,则以下程序输出的结果是______。>=60 <60 main( )

{char grade; scanf(\"%c\",&grade); case „A‟: printf(\">=85\\");

28 case ‟B‟:

case ‟C‟: printf(\">=60\\"); case‟D‟: printf(\"<60\\"); A、**3 B、 ##3 C、##3 D、**3##4

##4 **4 **4##5 **5 **5 ##5

6、 以下程序的输出结果是( ) -1 }

循环结构

1、下述for循环语句( ) B int i, k;

for(i=0, k= -1; k=1; i++, k++) printf(“***”);

A、 判断循环结束的条件非法 B、 是无限循环 C、只循环一次 D、一次也不循环

2、以下程序的输出结果是( ) A #include”stdio.h” void main( ) { int i;

for(i=1;i<=5; i++) { if(i%2) putchar(„<‟); else continue; putchar(„>‟); }

putchar(„#‟); }

A、 < > < >< ># B、 >< > < > < # C、< > < ># D、>< > <#

3、以下程序段的输出结果是( ) C int x=3; do

{ printf(“%d”,x- =2); } while(!(- -x));

A、 1 B、 3 0 C、1 -2 D、 死循环

4、以下程序的输出结果是( ) B #include”stdio.h” void main( ) { int y=10; for( ; y>0; y――)

if( y%3 = =0)

{ printf(“%d”,――y); continue; } }

A、741 B、852 C、963 D、 8754321

5、若x是int型变量,以下程序段的输出结果是( ) D for(x=3;x<6;x++)

printf ((x%2)?(“ **%d”):(“##%d\\n”), x);

#include”stdio.h” void main( ) { int x=2; while(x――); printf(“%d”,x); }

7、以下程序段的输出结果是( ) int i=0,sum=1; do

{sum+=i++;} while(i<5); printf(“%d\\n”,sum);

8、下述程序的运行结果是( ) #include”stdio.h” void main( ) { int s=0,k;

for(k=7;k>4;k——) { switch(k)

{ case 1: case 4:

case 7: s++; break; case 2: case 3: case 6: break; case 0:

case 5: s+=2;break; } }

printf(“s=%d”,s); }

9、下面程序输出结果是( ) #include”stdio.h” void main( ) { int a;

for(a=0; a<6;a++) { if(a%2) printf(“%”); else continue; printf(“@”); } printf(“\\n”); }

11 s=3 %@%@%@

10、以下循环体的执行次数是( ) C #include”stdio.h” void main( ) { int i,j;

for(i=0,j=1;i<=j+1;i+=2,j——) printf(“%d\\n”,i); }

A、3 B、2 C、1 D、0

11、以下程序中,while循环的次数是( ) D #include”stdio.h” void main( ) {int i=0; while(i<10) {if(i<1) continue; if(i= =5) break; i++; } }

A、1 B、10 C、6 D、死循环,不能确定次数

12、以下for循环的循环次数( ) C for(x=0,y=0;(y!=123)&&(x<4); x++);

A、无限循环 B、循环次数不定 C、循环执行4次 D、循环执行3次

13、执行下面程序片段的结果是( ) B int x=23; do {

printf(“%d”,x--); }while(!x)

A、321 B、 23 C、 没有输出 D、死循环

13、下面程序的输出结果是( ) D 有难度 #include”stdio.h” void main( ) { int k,j,m;

for(k=5;k>=1; k- -) { m=0;

for(j=k; j<=5; j++) m=m+k*j; }

printf(“d\\n”,m); }

A、124 B、25 C、36 D、15

14、下面程序的输出结果是( ) D #include”stdio.h” void main( ) {int x=10, y=10,i; for(i=0;x>8;y=++i)

printf(“%d %d”,x- -, y); }

A、10 1 9 2 B、9 8 7 6 C、10 9 9 0 D、10 10 9 1

15、下面程序段的输出结果是( ) A a=1; b=2; c=2;

while(aA、 1,2,0 B、2,1,0 C、1,2,1 D、2,1,1

16、若有如下语句,则程序段( ) B int x=6;

do{printf(“%d\\n”, x - =2); } while( - -x);

A、输出的是1 B、输出的是4和1 C、输出的是3和0 D、死循环

17、下面程序的功能是计算1~10之间的奇数之和与偶数之和,请填空。 #include”stdio.h” void main( ) { int a, b, c,i; a=c=0;

for(i=0; i<=10; i+=2) { a+=i;

___________; if(i<=10) b=i+1; c+=b; }

printf(“%d”, a); printf(“%d”,c); }

18、以下程序的输出结果是( ) 52 #include”stdio.h” void main( ) { int i=10, j=0; do { j=j+i; i- -; }while( i>2); printf(“%d\\n”,j); }

19、有以下程序 #include”stdio.h” void main( ) { char c;

while( (c=getchar( ))!=‟?‟ ) putchar( - -c); }

程序运行时,如果从键盘输入:Y?N? 则输出结果是( ); x

20、下面程序段的运行结果是( ) ** x=2;

do {printf(“*”); x- - ;} while(x);

21、下面程序的运行结果是( ) 1, -2 有难度 #include”stdio.h” void main( ) { int y,a; y=2; a=1; while(y--!= —1)

{ do { a*=y; a++;} while(y- -); } printf(“%d,%d”, a, y); }

数组

1、合法的数组说明语句是( ) B

A、int a[ ]=”string”; B、int a[5]={0,1,2,3,4}; C、char a=”string”; D、char a[ ]={0,1,2,3,4,5};

2、调用strlen(“abcd\\0ef\\0g”) 的返回值是( ) A A、4 B、5 C、 8 D、9

3、若有以下语句,则正确的描述是( ) B char x[ ]=”12345”;

char y[ ]={„1‟, „2‟, „3‟, „4‟, „5‟};

A、x数组和y数组的长度相同 B、x数组的长度大于y数组长度C、x数组的长度小于y数组长度 D、x数组等价于y数组

4、下面程序的运行结果是( ) ab char c[5]={„a‟,‟b‟,‟\\0‟,‟c‟,‟\\0‟}‟ printf(“%s”,c);

5、阅读程序,写出执行结果( ) Fortan #include”stdio.h” void main( ) { char str[30]; scanf(“%s”, str); printf(“%s”, str); }

运行程序,输入Fortan Language

6、阅读程序,写出执行结果( ) 0 1 2 3 #include”stdio.h” func (int b[ ]) { int j;

for( j=0; j<4; j++) b[j]=j; } main( ) { int a[4], i func( a); for(i=0; i<4; i++) printf(“%d”,a[i]);

}

7、 下列程序执行后的输出结果是( ) A #include”stdio.h” void main( ) { char arr[2][4];

strcpy (arr ,”you”); strcpy(arr[1], “me”); arr[0][3]=‟&‟; printf(“%s\\n”,arr); }

A、you&me B、you C、me D、err

8、有如下程序的输出结果是( ) D #include”stdio.h” void main( )

{ int n[5]={0,0,0},i,k=2; for(i=0; i该程序的输出结果是( )

A、不定值 B、2 C、1 D、0

9、如下程序的输出结果是( ) A #include”stdio.h” void main( )

{int a[3][3]={ {1,2}, {3,4}, {5,6}} , i, j, s=0; for (i=1; i<3; i++)

for(j=0; jA、14 B、19 C、20 D、21

10、当执行下面的程序是,如果输入ABC,则输出的结果是( )#include”stdio.h” #include”stdio.h” void main( )

{ char ss[10]=”1,2,3,4,5”;

get(ss); strcat(ss, “6789”); printf(“%s\\n”, ss); }

A、 ABC6789 B、ABC67 C、12345ABC6 D、ABC456789

11、以下程序的输出结果是( ) A #include”stdio.h” 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);

A printf(“%d\\n”,x); }

A、10 B、18 C、8 D、15

12、以下程序函数sort( )功能是对数组a中的数据进行由大到小的排序。 C main( )

{char ch[3][5]={ \"AAAA\",\"BBB\",\"CC\; printf(\"\\\"%s\\\"\\n\",ch[1]); }

A、\"AAAA“ B、\"BBB\" C、\"BBBCC“ D、\"CC\" #include”stdio.h:” void sort( int a[ ], int n) { int i, j, t; for(i=0;iif(a[i]void main( )

{ int aa[ ]={1,2,3,4,5,6,7,8,9,10},i; sort(&aa[3], 5);

for(i=0; i<10; i++) printf(“%d”,aa[i]); printf(“\\n”); }

A、1,2,3,4,5,6,7,8,9,10 B、10,9,8,7,6,5,4,3,2,1 C、1,2,3,8,7,6,5,4,9,10 D、1,2,10,9,8,7,6,5,4,3

13、以下程序的输出结果是( ) A #include”stdio.h” #include”string.h” void main( )

{ char str[12] ={„s‟, „t‟, „r‟, „i‟, „n‟,‟g‟}; printf(“%d\\n”, strlen(str);)

A、6 B、7 C、11 D、12

14、若有说明,int a[ ][4]={0,0};则下面不正确的叙述是( ) D A、数组a的每个元素都可得到初值0 B、二维数组a的第一维大小为1 C、二维数组a的行数为1

D、只有元素a[0][0] 和a[0][1]可得到初值0,其余元素均得不到初值0

15、对两个数组a和b进行如下初始化: D char a[ ]=“ABCDEF“;

char b[ ]={„A‟, „B‟, „C‟, „D‟,‟E‟, „F‟}; 则以下叙述正确的是( )

A、数组a与数组b完全相同 B、数组a与数组b长度相同 C、数组a与数组b中都存放字符串 D、数组a比数组b长度长

16、有下面程序段: D char a[ 3], b[ ]=“china“; a=b;

printf(“%s”,a); 则( )

A、运行后将输出China B、运行后将输出Ch C、运行后将输出Chi 编译出错

17、以下程序的输出结果是(

) B

18、当执行下面的程序时,如果输入ABC,则输出结果是( ) A #include \"string.h\" main( )

{ char ss[10]=\"12345\";

gets(ss); strcat(ss,“6789”); printf(“%s\\n”,ss);

A、ABC6789 B、ABC67

C、12345ABC6

D、ABC456789

19、

是B

char c[5]={‘a’,’b’,’\\0’,’c’,’\\0’}; printf(“%s”,c); A、 „a‟ „b‟ B、 ab C、 ab c D、ab

20、程序段的输出结果是 3 5 7 int k; int a[3][3]={1,2,3,4,5,6,7,8,9}; for(k=0;k<3;k++) printf(“%d’,a[k][2-k]);

21、下面程序的运行结果是( ) D #include”stdio.h” #include”string.h” void main( )

{char a[80]=“AB”, b[80]=“LMNP”; int i=0; strcat(a,b);

while(a[i++]!=„\\0‟) b[i]=a[i]; puts(b); }

A、 LB B、 ABLMNP C、AB D、 LBLMNP

22、当运行以下程序时,从键盘输入AhaMA Aha时,下面程序的运行结果是( )A #include”stdio.h” main( )

{char s[80], c=„a‟; int i=0; scanf(“%s”,s); while(s[i]!=„\\0‟)

{ if(s[i]= =c ) s[i]=s[i]-32; else if (s[i]= =c-32 ) s[i]=s[i]+32; i++;} puts(s);}

A) ahAMa B) AhAMa C) AhAMa ahA D)ahAMa ahA D、

23、下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空 #include”stdio.h”

#include”string.h” void main( )

{ char a[ ]=”clanguage”, t; int i, j, k; k=strlen(a);

for(i=0; i<=k-2; i+=2) for(j=i+2; jputs(a); printf(“\\n”); }

答案:j+=2; a[i]>a[j]

24、若有定义:int a[3][4]={ {1,2}, {0}, {4,6,8,10} };则初始化后,a[1][2]得到的初值是______,a[2][1]得到的初值是_________. 答案:0 6

25、以下程序的输出结果是( ) abc #include”stdio.h” void main( ) { char a[ ]=”abcdef”; a[3]=‟\\0‟; printf(“%s\\n”,s); }

26、下面程序的运行结果是( ) #include”stdio.h” void main( ) {int i,f[10]; f[0]=f[1]=1; for(i=2;i<10;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<10; i++)

{if (i%4= =0) printf(“\\n”); printf(“%3d”,f[i]); } }

答案:1 1 2 3 5 8 13 21 34 55

27、以下程序是求矩阵a,b的和,结果存入矩阵c中,并按矩阵形式输出,请填空 #include”stdio.h” void main( )

{ int a[3][4]={ {3,-2, 7,5}, {1,0,4,-3},{6,8,0,2}}; int b[3][4]={ {-2,0,1,4},{5,-1, 7, 6}, {6,8,0,2} }; int i, j, c[3][4]; for(i=0; i<3; i++) for(j=0;j<4; j++)

c[i][j]=____________; for(i=0; i<3; i++) { for( j=0;j<4; j++) printf(“%3d”,c[i][j]); ____________; } }

答案: a[i][j]+b[i][j] printf(“\\n”);

28、下面程序的运行结果是( ) AQM #include”stdio.h” void main( ) { int i=0;

char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while(a[i]!=‟\\0‟&&b[i]!=‟\\0‟) { if (a[i]>=b[i]) c[i]=a[i]-32; else c[i]=b[i]-32; ++i; } c[i]=‟\\0‟; puts(c); }

29、当从键盘输入18时,下面程序的运行结果是( )10010 void main( ) { int x, y, i, a[8], j,u; scanf(“%d”,&x); y=x; i=0; do

{ u=y/2; a[i]=y%2; i++; y=u; } while(y>=1); for(j=i-1; j>=0; j- -) printf(“%d”,a[j]); }

30、下面程序的运行结果是( ) 1 6 120 void main( ) { int a[6], i, f=1; for(i=1; i<=5; i++) { f=f*i; a[i]=f;} for(i=1; i<=5; i+=2)

printf(“%d\\n”,a[i]); }

31、下面程序的运行结果是______。mo # include”stdio.h” main( )

{char a[ ]=”morning” , t ; int i, j=0 ;

for(i=1; i<7; i++) if (a[ j ]puts(a); }

32、以下程序的输出结果是( )。B

main( ) 其中含有的实参个数和是( )

A、1 B、2 C、 4 D、5

4、以下程序的输出结果是( ) A { int a[3][3], i;

for(i=0;i<9;i++) a[i]=i+1; printf(“%d”, a[1][2]); } A、3 B、6

C、9

D、2

33、以下程序的输出结果是( )。 C main( )

{int a[ ][3]={ 1,4,7,2,5,8,3,6,9}; int i , k=2; for(i=0;i<3;i++) printf(“%d\”, m[k][i]);} A、4 5 6 B、2 5 8

C、3 6 9

D、7 8 9

34、下面程序的运行结果是______。3 void main( ) {int i, n[ ]={0,0,0};

for(i=1;i<=2;i++) n[i]=n[i-1]*2+1; printf(“%d”, n[2]); }

函数

1、下述程序的输出是( ) C #include”stdio.h” long fun(int n) {long s; if(n= =1|| n= =2)

s=2; else

s=n+fun(n-1); return s; }

void main( )

{ printf(“\\n%ld”, fun(4)); }

A、 7 B、8 C、 9 D、 10

2、以下函数的类型是( ) C fff(float x)

{printf(“%d\\n”, x*x)‟ }

A、与参数x的类型相同 B、 void类型 C、 int类型 D、

3、有以下函数调用语句: B func( ( exp1, exp2), (exp3, exp4, exp5));

#include”stdio.h” void main( ) { int i=2, p; p=f(i, i+1);

printf(“%d\\n”, p); }

int f(int a, int b) {int c; c=a; if(a>b) c=1; else if(a= =b) c=0;

else

c=-1; return c;

}

A、 -1 B、0 C、 1

5、以下程序的输出结果是( ) #include”stdio.h” int x=3; void main( )

{int i; void incre( );

for(i=1; i6、下面程序的运行结果( ) #include”stdio.h” void main( )

{ int x=10; void fun( int ); fun(x); printf(“%d”,x);} void fun(int x) {x=20;}

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

#include”stdio.h” 无法确定 int d=1; fun(int p) { static int d=5; d+=p;

D、 2 2 6 10 C printf(“%d”,d); return d; } void main( ) { int a=3;

printf(“%d\\n”, fun(a+fun(d) ) );}

A、 6 9 9 B、 6 6 9 C、 6 15 15 D、 6 6 15 main( )

{int a=5; fun(2,3,a); printf(“%d”, a); } 12、# define L 3

main( )

8、以下程序的运行结果是( ) D

#include”stdio.h” try( ) { static int x=3; x++; return( x):} void main( ) { int i , x; for(i=0; i<=2; i++) x=try( ); printf(:%d\\n”,x);}

A、3 B、4 C、5

9、以下程序的输出结果是( ) #include”stdio.h” int f(int n)

{ if(n= =1) return 1; else return f(n-1)+1; } void main( ) { int i, j=0; for(i=1; i<3; i++) j+=f(i); printf(“%d\\n”, j);}

A、4 B、3 C、2

10、以下程序的运行结果是( ) #include”stdio.h” func(int b[ ][4], int m) {int i, j, k; k=0;

for(i=0; i<3; i++) for(j=0; j<4; j++)

if(b[i][j]void main( )

{ int a[3][4]={ {1,13,5,7}, {2,4,26,8}, {10,1,3,12}}; int m=10;

printf(“ %d\\n”, func(a, m) ); }

11、程序的输出结果为_________。 5

fun(int x, int y, int z) {z=x*x+y*y;}

D、6 B D、1 31 { printf(“L=%d\\n”, L);} 程序的输出结果为_________。 L=3 13、下列程序中for循环执行的次数是________。5 #define W 2 #define Q W+1 main( )

{int i; for(i=1; i<=2*Q; i++) printf (“%d”, i );}

指针

1、下面说明不正确的是( )D

A) char a[10]=“china”; B) char a[10], *p=a; p=“china”; C) char *a; a=“china”; C) char a[10], *p; p=a=“china”;

2、若有定义int a[2][3];则对a数组的第i行第j列元素地址的正确引用为( )D A) *(a[i]+j) B) (a+i) C) *(a+j) D) a[i]+j 3、若有以下定义和语句,则对a数组元素的正确引用为( )C int a[2][3], (*p)[3]; p=a;

A) (p+1)[0] B) *(*(p+2)+1) C) *(p[1]+1) D) p[1]+2 4、若有以下说明语句, C

char *language[ ]={“ fortran” ,” basic”, “ pascal”, “java”, “c”}; char **q; q=language+2; printf(“%o\\n”, *q);

A) 输出的是language[2]元素的地址 B) 输出的是字符串pascal

C) 输出的是language[2]元素的值,即为字符串pascal的首地址 D)

格式说明不正确,无法得到确定的输出

5、有以下程序: #include”string.h”

main( ) {char *p=”abcde\\0fghjik\\0”; printf (“%d\\n”, strlen (p) ); } 程序运行后的输出结果是() D

A、12 B、15 C、6 D、5 6、以下程序的输出结果是( )。 A

A、6

B、8

C、5

D、7 main( )

{ char a[10]={ 0, 1,2,3,4,5,6,7,8,9},*p=a; int i=6; printf(\"%d\\n\",p[i] ); }

因篇幅问题不能全部显示,请点此查看更多更全内容