c语言程序设计试题库 下载本文

内容发布更新时间 : 2024/5/8 7:24:16星期一 下面是文章的全部内容请认真阅读。

A、c=*p1+*p2; B、p2=c; C、p1=p2; D、c=*p1*(*p2) 150、 下面判断正确的是( )

A、char *a=”china”;等价于char *a;*a=”china”;

B、char str[10]={“china”};等价于char str[10];str[]={”china”}; C、char *a=”china”;等价于char *s;s=”china”;

D、char c[4]=”abc”,d[4]=”abc”;等价于char c[4]=d[4]=”abc”; 151、 下面能正确进行的字符串赋值操作的是( )

A、char s[5]={“ABCDE”};B、char s[5]={‘A’,’B’,’C’,’D’,’E’}; C、char *s;s=”ABCDE”; D、char *s;scanf(“%s”,s); 152、 若有以下定义,则对a数组元素的正确因用是( ) int a[5],*p=a;

A、*&a[5] B、a+2 C、*(p+5) D、*(a+2)

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

A、*(p+2) B、p[2] C、p[1]+1 D、(p+1)+2 155、 以下与int *q[5];等价的定义语句是( )

A、int q[5]; B、int *q; C、int *(q[5]) D、int (*q)[5]

156、 若有定义int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[4],k;则下面程序段的输出是( for(k=0;k<4;k++) q[k]=&a[k*3]; printf(“%d\\n”,q[3][0]);

A、8 B、16 C、20 D、输出项不合法,结果不确定 157、 语句int (*prt)();的含义是( )

A、prt是指向一维数组的指针变量 B、prt是指向int型数据的指针变量

C、prt是指向函数的指针,该函数返回一个int型数据

D、prt是一个函数名,该函数的返回值是指向int型数据的指针 158、库函数strcpy用以复制字符串。若有以下定义和语句:

char str1[]=”string”,str2[8],*str3,*str4=”string”; 则对库函数strcpy的不正确调用是( )

A、 strcpy(str1,”HELLO1”); B、 strcpy(str2,”HELLO2”); C、 strcpy(str3,”HEELO3”); D、 strcpy(str4,”HELLO4”); 159、若已定义:

int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;

其中0<=i<=9,则对a数组元素的引用不正确的是( ) A、a[p-a] B、 *(&a[i]) C、p[i] D、*(*(a+i)) 160、以下程序段给数组所有元素输入数据,应在下划线处填入的是

A、a+(i++) B、 &a[i+1] C、a+i D、&a[++i] main()

{int a[10], i=0;

while(i<10)scanf(“%d”,___): ??}

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

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

) main()

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

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

A、不确定的值 B、3 C、2 D、 1 main()

{ int n[2]={0},i,j,k=2; for(i=0; i

for(j=0; j

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

A、 17 B、 18 C、 19 D、 20 main()

{ int a[]={2,4,6,8,10}, y=1, x,*p; p=&a[1];

for(x=0; x<3; x++) y+=*(p+x); printf(“%d\\n”,y); }

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

A、 6 B、8 C、 4 D、2 main()

{ int a[]={2,4,6,8}, *p=a, i; for(i=0; i<4; i++) a[i]=*p++; printf(“%d\\n”,a[2]); }

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

A、 720 B、120 C、24 D、6 f(int b[ ],int n) {int i,r=1;

for(i=0;i<=n;i++) r=r*b[i]; return r;} main(){

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

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

166、以下程序中若第一个printf语句输出的是194,则第二个printf语句的输出结果是(A、212 B、204 C、1a4 D、1a6 main()

{int a[]={1,2,3,4,5,6,7,8,9,0},*p; p=a;

printf(\printf(\

) 167、以下程序的输出结果是 ( ) A、 4 4 B、2 2 C、2 4 D、4 6 main(){

int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p;

printf(\printf(\

168、当运行以下程序时输入三行,每行都是在第一列上开始,代表回车键; a b cdef

则程序的输出结果是 ( )

A、abcdef B、 a C、a D、a

b b b c cd cdef d e f

#include \#define N 6 main(){ char c[N]; int i=0;

for(i=0;i

int c[4][5], (*cp)[5]; cp=c; 则对c数组元素的引用正确的是( )

A、 cp+1 B、*(cp+3) C、*(cp+1)+3 D、*(*cp+2) 170、若已定义:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p=a[0]; 则能够正确表示数组元素a[1][2]的表达式是( )

A、 *((*prt+1)[2]) B、*(*(p+5)) C、(*prt+1)+2 D、*(*(a+1)+2) 171、若有定义和语句:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p[4], i; 则不能正确表示a数组元素的表达式是( )

A、a[4][3] B、p[0][0] C、prt[2][2] D、(*(p+1))[1] 172、以下程序的输出结果是( )

A、 23 B、 26 C、33 D、36 main()

{int aa[3][3]={{2},{4},{6}},i,*p=&aa[0][0]; for(i=0;i<2; i++)

{if(i==0) aa[i][i+1]=*p+1; else ++p; printf(\}

printf(\

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

A、 60 B、68 C、99 D、108 main()

{int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int (*p)[4]=a,i,j,k=0; for(i=0;i<3;i++) for(j=0;j<2;j++) k+=*(*(p+i)+j); printf(\}

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

A、 1,5,9, B、1,4,7, C、3,5,7, D、3,6,9, main()

{int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)

printf(\

175、若有定义语句int (*p)[M]; 其中的标识符p是( )

A、M个指向整型变量的的指针 B、指向M个变量的函数指针

C、一个行指针,它指向具有M个整型元素的一维数组指针 D、具有M个指针元素的一维指针数组,每个元素都只能指向整型量 176、以下能正确进行字符串赋值、赋初值的语句组是( )

A、 char s[5]={‘a’,’e’,’i’,’o’,’u’}; B、 char *s; s=”good!”; C、 char s[5]=”good!”; D、 char s[5]; s=”good”; 177、以下程序段的输出结果是( ) char str[ ]=”ABCD”,*p=str;

printf(“%d\\n”,*(p+4));

A、 68 B、 0 C、 字符D的地址 D、不确定的值 178、以下程序段的输出结果是( )

printf(“%d\\n”,strlen(“ATS\\n012\\1\\\\”)); A、 11 B、 10 C、 9 D、 8

179、当运行以下程序是输入OPEN THE DOOR〈CR〉代表ENTER键),则输出结果是( A、Open tHE door B、open the door C、 OPEN THE DOOR D、Open The Door #include “stdio.h” char fun(char* c)

{ if(*c<=’Z’&&*c>=’A’) *c-=’A’-‘a’; return *c;} main()

{ char s[81]; *p=s; gets(s); while(*p)

{ p=fun(p); putchar (*p); p++;} putchar(‘\\n’);}

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

A、GFEDCBA B、AGADAGA C、AGAAGAG D、GAGGAGA #include “stdio.h” #include “string.h” void fun(char *w,int m) {char s,*p1,*p2; p1=w; p2=w+m-1; while(p1

{s=*p1++; *p1= *p2--; *p2=s;} } main()

{ char a[ ]=”ABCDEFG”; fun(a,strlen(a)); puts(a);}

181、以下程序的输出结果是( ) A、ABCD

B、 A C、 D

BCD

B

C ABC

CD C B AB D D A A main()

{ char s[ ]=”ABCD”, *p;

for(p=s; p

A、aa数组元素中的值分别是字符串”abcd” 和”ABCD” B、aa是指针变量,它指向含有两个数组元素的字符型一维数组 C、aa数组的两个元素分别存放的是含有四个字符的一维数组的首地址D、aa数组的两个元素中各自存放了字符’a’和’A’的地址 183、以下程序的输出结果是( )

A、6385 B、69825 C、63825 D、693825 main()

{char ch[2][5]={“6937”,”8254”},*p[2]; int i,j,s=0;

for(i=0; i<2; i++) p[i]=ch[i]; for(i=0;i<2;i++)

for(j=0; p[i][j]>’\\0’&&p[i][j]<=’9’; j+=2) s=10*s+p[i][j]-‘0’;

D、 ABCD