非常好的C语言章节习题集带答案

内容发布更新时间 : 2024/11/6 0:44:56星期一 下面是文章的全部内容请认真阅读。

#include main()

{ int a[5],i;

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

{ a[i]=9*(i-2+4*(i>3))%5; printf(\A.-3-4 0 4 4 B.-3-4 0 4 3 C.-3-4 0 4 2 D.-3-4 0 4 0 9.假设 array 是一个有 10 个元素的整型数组, 则下列写法中正确的是______。

A.array[0]=10; B.array=0; C.array[10]=0; D.array[-1]=0; 10.下面程序的运行结果是______。

#include main()

{ int a[3],i,j,k;

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

for(i=0;i

11.若有定义:int a[5]={1,2,3,4,5};char b='c',c;,则下面表达式中数值为 2 的是______。

A.a[2] B.a[c-b] C.a[b] D.a[b-'b'] 12.下面程序的运行结果是______。

#include main()

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

for(i=0;i<=2;i++) printf(\

A.3 5 7 B.3 6 9 C.1 5 9 D.1 4 7 13.下面程序的运行结果是______。

#include main()

{ char c[5]={'a','b','\\0','c','\\0'}; printf(\

A.'a' 'b' B.ab C.ab c D.ab\\0c\\0 14.下面程序的运行结果是______。

#include main()

{ char s[12]= \printf(\A.6 B.7 C.10 D.12

37

15.若有说明:int a[3][4]; 则对a数组元素的正确引用是______。

A.a[2][4] B.a[1,3] C.a[1+1][0] D.a(2)(1) 16.以下各组选项中,均能正确定义二维实型数组a的选项是______。

A.float a[3][4]; float a[][4]; float a[3][]={{1},{0}}; B.float a(3,4); float a[3][4]; float a[][]={{0};{0}}; C.float a[3][4]; static float a[][4]={{0},{0}}; D.float a[3][4]; float a[3][];

17.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式是______。(假设

a[0][0]位于数组的第一个位置上。)

A.i*m+j B.j*m+i C.i*m+j-1 D.i*m+j+1 18.以下对C语言字符数组描述错误的是______。

A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入或输出

C.可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值 D.不可以用关系运算符对字符数组中的字符串进行比较 19.以下合法的数组定义是______。

A.int a[]=\ B.int a[5]={0,1,2,3,4,5}; C.char a=\ D.char a[]={\20.下面程序的运行结果是______。

#include #include main()

{ char a[7]=\strcpy(a,b);

printf(\A.空格 B.\\0 C.f D.不确定 21.下面程序的运行结果是______。

#include #include main()

{ char a[30];

strcpy(&a[0],\strcpy(&a[1],\strcpy(&a[2],\printf(\system(\

A.chdefabc B.cda C.cdabc D.abcdef

22.设有定义:char a[80];int i=0;,以下不能将一行带有空格的字符串(不超过80个字

符)正确读入的是______。 A.gets(a);

38

B.while(( a[i++]=getchar())!='\\n'); a[i]='\\0'; C.scanf(\

D.do{scanf(\23.下面程序的运行结果是______。

#include main()

{ char str[]=\int k;

for(k=2;(c=str[k])!='\\0';k++) { switch(c)

{ case 'I':++k;break; case 'L':continue;

default:putchar(c);continue; }

putchar('*'); } } A.SSW* B.SW* C.SW*A D.SWA*

24.设char s[10]= \,则s和t在内存中分配的字节数分别是______。

A. 6和5 B. 6和6 C. 10和5 D. 10和6 25.下面程序的运行结果是______。

#include main()

{ char a[]=\ int i,j;

for(i=j=0; a[i]!='\\0';i++)

if(a[i]!='l') a[j++]=a[i]; a[j]='\\0'; puts(a); } A.Hello World B.Heo World C.Heo Word D.没有任何输出内容 26.下面程序的运行结果是______。

#include main()

{ char str1[]=\int i,s; i=0;

while((str1[i]==str2[i])&&(str1[i]!='\\0')) i++; s=str1[i]-str2[i]; printf(\

39

A.-1 B.0 C.1 D.不确定 27.下面程序的运行结果是______。

#include main()

{ char s[]=\int i,n=0;

for(i=0;s[i]!=0;i++)

if(s[i]>= 'a'&&s[i]<= 'z') n++; printf(\A.0 B.2 C.3 D.5 28.下面程序的运行结果是______。

#include main()

{ int a[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2)

{ case 0:switch(a[i]%2)

{ case 0:a[i]++;break; case 1:a[i]--;} break;

}

for(i=0;i<4;i++) printf(\printf(\

A.3 3 4 4 B.2 0 5 0 C.3 0 4 0 D.0 3 0 4 29.下面程序的运行结果是______。

#include #include main()

{ char a[10]=\A.7,4 B.4,10 C.8,8 D.10,10 30.下面程序的运行结果是______。

#include #define MAX 10 main()

{ int i,sum,a[]={1,2,3,4,5,6,7,8,9,10}; sum=1;

for(i=0;i

A.55 B.-54 C.-55 D.54

40

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi