C语言复习题 下载本文

for(i=0;i<3;i++) n[i]=0; k=2;

for(i=0;i

上述程序运行后,输出的结果是 。 A)2 B)1 C)0 D)3 33. 若有如下定义:

int a[3][3]={1,2,3,4,5,6,7,8,9},i ; 则下列语句的输出结果是: 。 for (i=0;i<=2;i++) printf(“%d”,a[i][2-i]); A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7

34.下列字符串赋值语句中,不能正确把字符串C program赋给数组的语句是: 。

A)char a[]={?C?,? ?,?p?,?r?,?o?,?g?,?r?,?a?,?m? ,?\\0?}; B)char a[10]; strcpy(a2, “C program”); C)char a[10]; a= “C program”; D)char a[10]={ “C program”}; 35. 下面程序的运行结果是 。 char c[5]={‘a’,‘b’,‘\\0’,‘c’,‘\\0’}; printf(“%s”,c); } A)‘a’‘b’ B)ab\\0c\\0

C)ab c D)ab 36. 若有如下定义和语句:

char s[12]= “a book!”; printf(“%d”,strlen(s) ); 则输出结果是: 。

A)12 B)10 C)7 D)6

37. 若有说明:int a[3][4] = {0};则下面正确的叙述是: 。 A)只有元素a[0][0]可以得到初值0 B)此说明语句不正确

C)数组a中每个元素均可得到初值0

D)数组a每个元素均可得到初值,但值不一定为0 8.2 填空题

1.阅读下面的程序,写出运行结果。 (1)#include \main( ) {

int i=0,n=3,j,k=3; int a[4]={2,4,5};

do i++;

while(i<=n && k>a[i]); for(j=n-1;j>=i;j-- ) a[j+1]=a[j]; a[i]=k;

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

printf(\}

运行结果为: 。 (2)#include \main( )

{ int y=18,i=0,j,a[8]; do

{ a[i]=y%2; i++; y=y/2; }while(y>=1); for(j=i-1;j>=0;j--) printf(\printf(\}

运行结果为: 。 (3)#include #include main( ) {

int i;

char str[10],temp[10]; gets(temp);

for (i=0; i<4; i++) { gets(str);

if (strcmp(temp,str)<0) strcpy(temp,str); }

printf(\}

从键盘上输入(在此代表回车符): C++ BASIC QuickC Ada Pascal

运行结果为: 。 (4)#include main( )