C语言程序设计试题复习题(3)

2019-04-14 20:31

3、 关于switch语句叙述正确的是 则正确的叙述为:( )

A.语句中,case的冒号后面允许 A、数组x和数组y等价 B、数组x和没有语句。 数组y的长度相同

B.switch语句中,每一个case C、数组x的长度大于数组y的长度 D、数组y的的冒号后面都允许跟有多条语句。

长度大于数组x的长度

C.在与switch语句配套的case

语句中所使用的表达式可以是变量或

5、下面程序段的输出结果是:( )

常量

int j; D.switch语句中,可以没有

int x[3][3]={1,2,3,4,5,6,7,8,9}; default语句。

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

4、 在计数循环for(表达式1;表达式2;表达式3)中,可以省略的表达式是:( ) A.表达式1 B.表达式2 C.表达式3 D.三个表达式都可以 E.一个都不能少 下列语句段是死循环的是( ) A.n=100; B.s=33; while(n) n=n0+1; while(s++%2+s%2) s++; C.for(;;); D.for(i=1;;) if(--i)break; E.x=0; do{ x++; }while(x>=0); 第7章 数组 一、选择题 1、若有以下说明语句: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’,d,g; 则数值为4的表达式是:( )。 A、a[g-c] B、a[4] C、a[‘d’-‘c’] D、a[‘d’-c] 2、假设int型变量占两个字节的存储单元,若有定义: int x[10]={0,2,4}; 则数组x在内存中所占字节数为:( ) A、3 B、6 C、10 D、20 3、下列合法的数组定义是:( ) A、int a[]=”string”; B、int a[5]={0,1,2,3,4,5}; C、char a=”string”; D、char a[]={0,1,2,3,4,5}; 4、若给出以下定义: char x[]=”abcdefg”; char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’}; printf(“%d”,x[j][2-j]); A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 9

6、下列程序运行后的输出结果是:( ) main() { int n[3],t,j,k; for(t=0;t<3;t++) n[t]=0; k=2; for(t=0;t

{ 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 8、以下能正确定义数组并正确赋初值的语句是:( ) A、int N=5,b[N][N]; B、int a[1][2]={{1},{3}}; C、int c[2][]= {{1,2},{3,4}}; D、int d[3][2]={{1,2},{3,4}}; 9、有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0; i<3; i++) { printf(\执行后输出结果是:( ) A、4 5 6 B、2 5 8 C、3 6 9 D、7 8 9 10、以下能正确定义一维数组的选项是:( ) A、int num[]; B、int

num[0..100];

C) #define N 100 D) int N=100;

int num[N]; int num[N];

11、下列选项中正确的语句组是:( )

A、char s[8]; s={\、char *s; s={\

C、char s[8]; s=\、char *s; 执行后的输出结果是:( ) A、12 B、11 C、18 D、16 16、有以下程序

void sort(int a[],int n) { in t i,j,t;

for(i=0;i

for(j=i+2;j

s=\

12、有以下程序段

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是:( )

A、5 B、6 C、8 D、9

13、有以下程序

main( )

{ char a[]=\

printf(\}

执行后输出结果是:( )

A、77 B、8 8 C、8 10 D、10 10 14、有以下程序的输出结果是:( )

void swap1(int c[]) { int t;

t=c[0];c[0]=c[1];c[1]=t; } void swap2(int c0,int c1) { int t;

t=c0;c0=c1;c1=t;} main( )

{ int a[2]={3,5},b[2]={3,5}; swap(a); swap2(b[0],b[1]);

printf(\,b[1]); }

A、5 3 5 3 B、5 3 3 5 C、3 5 3 5 D、3 5 5 3 15、有以下程序

int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j;

if(i>2) i=3-j;

s+=b[i][j]; } return s; } main( )

{ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};

printf(\ if(a[i]

{ t=a[i];a[i]=a[j];a[j]=t;}

}

main()

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

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

printf(\ printf(\其输出结果是:( ) A、1,2,3,4,5,6,7,8,9,10, B、10,9,8,7,6,5,4,3,2,1, C、9,2,7,4,5,6,3,8,1,10, D、1,10,3,8,5,6,7,4,9,2, 17、有以下程序

void f(int a[],int i,int j) { int t; if(i

{ t=a[i]; a[i]=a[j];a[j]=t; f(a,i+1,j-1); }} main( )

{ int i,aa[5]={1,2,3,4,5}; f(aa,0,4);

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

printf(\printf(\执行后输出结果是:( )

A、5,4,3,2,1, B、5,2,3,4,1, C、1,2,3,4,5, D、1,2,3,4,5, 18、 以下程序的输出结果是:( )

main()

{ char cf[3][5]={\printf(\}

A、\、 \、 \、 \19、 以下程序的输出结果是:( )

main()

{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

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

for(j=i;j<=i;j++) t=t+b[i][b[j][j]];

printf(\ 26、设已定义char s[]=”\\”Name\\\\Address\\”\\n”;,A、 3 B、 4 C、 1 D、 9 则字符串s所占的字节数是:( ) 20、有以下程序 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(\程序运行后的输出结果是:( ) A、 11 B、 19 C、 13 D、、20 21、若有以下定义语句: char s[10],s=”abcd”;printf(“%s\\n”,s); 则运行结果是:( ) A、输出abcdB、输出aC、输出ab cd D、编译不通过 22、不能把字符串“Hello!”赋给数组b的语句是:( )A、char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’}; B、char b[10];b=”Hello!”; C、char b[10]; strcpy(b,”Hello!”); D、char b[10]=”Hello!”; 23、若有以下程序段: char str[]=”ab\\n\\012\\\\\\””; printf(“%d”,strlen(str)); 该程序段的输出结果是:( ) A、 3 B、 4 C、 6 D、12 24、函数调用strcat(strcpy(str1,str2),str3)的功能是_:( ) A、将串str1复制到串str2中后在连接到串str3之后 B、将串str1连接到串str2之后再复制到串str3之

C、将串str2复制到串str1中后再将串str3连接到

串str1之后

D、将串str2连接到串str1中后再将串str1复制到

串str3中

25、下列程序的输出结果是:( )

main()

{ char ch[7]={“65ab21”};

int j,s=0;

for(j=0;ch[j])>=’0’&&ch[j]<=’9’;j+=2)

s=10*s+ch[j]-‘0’; printf(“%d\\n”,s); } A、12ba56 B、66521 C、6 D、62

A、19 B、18 C、15 D、14

27、设已定义char c[8]=”Tianjin”和int j,则下面的输出函数调用中错误的是:( ) A、printf(“%s”,c); B、for(j=0;j<8;j++) printf(“%c”,c[j]);

C、puts(c); D、for(j=0;j<8;j++) puts(c[j]); 28、设已定义char a[10]和 int j,则下面输入函数调用中错误的是:( ) A、scanf(“%s”,a); B、for(j=0;j<9;j++) scanf(“%c”,a[j]);

C、gets(a); D、for(j=0;j<9;j++) scanf(“%c”,&a[j]); 29、设已定义char x[8]和int j,为了给该数组赋值,下面语句中正确的是:( )

A、x[8]=”Turbo C”; B、x=” Turbo C”; C、x[]=”Turbo C”; D、for(j=0;j<7;j++) x[i]=getchar();

30、有如下程序, main() { int n[5]={0,0,0},j,k=2;

for(j=0;j

该程序的输出结果是:( ) A、不确定的值 B、2 C、1 D、0 31. 在C语言中,一维数组的定义方式为:类型说明符 数组名( )。

A.[常量表达式] B.[整型表达式] C.[整型常量]或[整型表达式] D.[整型常量]

若有说明:int a[10];,则对a数组元素的正确引用是:( )。 A.a[10] B.a[3.5] C.a(5) D.a[10-10] 32. 在C语言中,引用数组元素时,其数组下标的数据类型允许是:( )。 A.字符常量 B.浮点型常量C.整型常量或整型表 D.任何类

型的表达式

33. 下列数组定义、初始化或赋值语句中,正确的是:

( )。

A.int x[5]={1,2,3,4,5,6};

B.int n=8; int score[n];

C.int a[8]; a[8]=100; D.int x[]={1,2,3,4,5,6};

34. 合法的数组说明语句是:( )。 A.int a[]=“string”; B.char a[]={0,1,2,3,4,5}; C.char a =“string”; D.int a[5]={0,1,2,3,4,5};

35. 已知int a[][3]={1,2,3,4,5,6,7};,则数组a的第一维的

大小是:( )。

A.2 B.3 C.4 D.无确定值 若有说明:int a[3][4];,则对a数组元素的非法引用是:( )。

A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 已有定义:char a[]=\,以下叙述中正确的是:( )。

A.数组a和数组b的长度相同 B.a数组长度小于b数组长度 C.a数组长度大于b数组长度 D.数组a和数组b等价

对两个数组a和b进行如下初始化:

char a[]=“ABCDEF”;

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

A.数组a与数组b完全相同 B.数组a与数组b长度相同

C.数组a与数组b中都存放字符串 D.数组a比数组b长度长 有下面的程序段:

char a[3],b[]=“China”; a=b;

printf(“%s”,a);

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

36. 下面程序的运行结果是:( )。

char c[5]={?a?, ?b?, ?\\0?, ?c?, ?\\0?}; printf(“%s”,c); A.ab B.abc C.ab\\0 D.ab\\0c\\0 设有数组定义:char array[]=“china”;,则数组array所占的空间为:( )。

A.4个字节 B.5个字节 C.6个字节 D.7个字节

判断字符串s1是否大于字符串s2,应当使用:( )。

A.if(s1>s2) B.if(strcmp(s1,s2))

C.if(strcmp(s2,s1)>0) D.if(strcmp(s1,s2)>0) 若有说明:int a[][4]={0,0};,则下面不正确的叙述是:( )。

A.数组a的每个元素都可得到初值0 B.二维数组a的第一维大小为1

C.因为二维数组a中初值的个数不能被第二维

大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为1

D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值 下列语句中,不正确的是:( )。

A.char str[5]=\

B.char str[]={'h','e','l','l','o','\\0'}; C.char str[5]={\D.char str[100]=\

37. 下面错误的初始化语句是:( )。

A.char str[]=\B.char str[100]=\

C.char str[]={'h','e','l','l','o'}; D.char str[]={'hello'};

38. 定义了一维int型数组a[10]后,下面错误的引用是:

( )。

A.a[0]=1; B.a[10]=2; C.a[0]=5*2;

D.a[1]=a[2]*a[0];

下面的二维数组初始化语句中,错误的是:( )。

A.float b[2][2]={0.1,0.2,0.3,0.4}; B.int a[][2]={{1,2},{3,4}}; C.int a[2][]= {{1,2},{3,4}}; D.float a[2][2]={0}; 引用数组元素时,数组下标可以是:( )。

A.整型常量 B.整型变量 C.整型表达式 D.以上均可

39. 定义了int型二维数组a[6][7]后,数组元素a[3][4]

前的数组元素个数为:( )。

A.24 B.25 C.18 D.17

strlen(\的结果为:( )。

A.0 B.1 C.2 D.3 下面程序的运行结果是:( )。

main() { int a[][3]={1,2,3,4,5,6}; printf(\A.3 B.4 C.5 D.6

40. 下面程序的运行结果是:( )。

main() { char s1[20]=\ char s2[15]=\ printf(\

A.20 B.15 C.5 D.2 下面程序的运行结果是:( )。

main() { char s1[20]=\ int i=0; while(s1[i++]!='\\0') printf(\A.ABCDEF B.BDF C.ABCDE D.BCDE

41. 下面程序的运行结果是:( )。

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

A.不确定的值 B.3 C.2 D.1

42. 下面程序的运行结果是:( )。

main() { int

x[]={22,33,44,55,66,77,88}; int k,y=0; for (k=1;k<=4;k++) if (x[k]%2==1) y++; printf(\

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

下面程序的运行结果是:( )。 main() { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j

A.14 B.19 C.20 D.21

43. 下面程序的运行结果是:( )。

main() { char ch[7]= {\ int i,s=0; for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'0'; printf(\

A.1 B.1256 C.12ab56 D.l2 下面程序的运行结果是:( )。

main()

{ char s[]=\ int i; i=0; while(s[i]!='\\0') {

if(s[i]>='a'&&s[i]<='z') printf(\ i++; }}

A.ab B.ab1c2d4e C.abcde D.a 下面程序的运行结果是:( )。

main() { int i=0,n=0; char s[10]=\ for(i=0;s[i]!='\\0';i++) if(s[i]<='9'&&s[i]>='0') n=n*10+(s[i]-'0'); else break; printf(\

A.298h01 B.29801 C.01 D.298

二、判断题:

1. ( )在程序中可以对数值数组中的数据进行整体使

用。

2. ( )如果strcmp(s1,s2)的返回值为一个负数,则表

明字符串s1一定小于字符串s2。

3. ( )字符数组的输出不能一次性的整体输出。 4. ( )用scanf函数输入的字符串不可以带空格。 5. ( )用gets函数输入的字符串可以带空格。 6. ( )实现两个字符串的复制可以使用str1=str2;语

句。

7. ( )使用strcpy函数可以实现两个字符串的复制。 8. ( )使用strcat函数可以实现两个字符串的连接。 9. ( )使用strlen函数可以求出一个字符串的实际长

度(包含‘\\0’字符)。

10. ( )如有定义char a[]=”student”;则数组a的长

度为7。

11. ( )如有定义char a[20];则可以通过a=“I am a

boy”;给a赋值。

12. ( )如有定义int a[2][3];则数组a的最后一个元

素为a[1][2]。

13. ( )如有定义int a[3][4]={0}; 则数组a的所有

元素初值均为0。

14. ( )C语言中数组名实质上是数组的首地址,是一个

变量地址,可对其进行赋值。

15. ( )构成数组的各个元素可以有不同的数据类型。 16. ( )若有说明:int a[10];,则可以a[10]引用数组a


C语言程序设计试题复习题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:厂务及生产常用缩写

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: