《C语言程序设计教程》补充习题(4)

2019-04-23 19:27

{int k=0; char c='A'; do {

switch (c++) {

case 'A': k++; break; case 'B': k--;

case 'C': k+=2; break; case 'D': k=k%2; break; case 'E': k=k*10; break; default: k=k/3; } k++; }

while(c<'G');

printf(\}

7.阅读下列程序,当输入为:ab*ABí#CD$ 时,写出程序运行的输出结果。void main ( ) {char c;

while((c=getchar( ))!='$')

{if('A'<=c && c<'Z') putchar(c);

else if('a'<=c && c<='z') putchar(c-32); } }

8.阅读下列程序,输入数据:2,4 写出程序运行的输出结果。 #include void main( )

{int i,s=1,t=1,a,n;

scanf(\for(i=1;i

s*=a; printf(\}

9.阅读下列程序,写出程序运行的输出结果。 #include void main( ) {int i,j,n;

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

{for(j=1;j<=i;j++) printf(\n=7-2*i;

for(j=1;j<=n;j++) printf(\printf(\

16

} }

第4章 数组

一、选择题

1.在C语言中,在int num[5]={10,20,30,40,50}中,num[3]的值是( )。 A.20 B.50 C.40 D.10

2.若int a[10];,则下列( )可以正确引用a数组的元素。 A.a [10] B.a[3+1] C.a(5) D.a[11]

3.若int num[10];,要将10赋值到数组num的第4个元素,正确的方法是( )。 A.num[3]=10; B.Num[3]=10; C.num[4]=10; D.Num[4]=10;

4.在C语言中,若要定义一个数组用于保存5个参赛者,参加4个不同项目的比赛成绩,是应是( )。

A.score[6][5] B.score[4][3] C.score[5][4] D.score[5] 5.执行下面的C代码段后,屏幕输出结果是( ) 。 char str1[15] = \ char str2[15] = \ strcpy(str1,str2); printf(\ A.She is a girl B.He is a boy C.She is a girl He is a boy D.He is a boy She is a girl 6.以下对二维数组a进行初始化,不正确的是( )。 A.int a[] [3]={1,2,3,4,5,6}; B.int a[] [3]={{1,2,3},{4,5,6}}; C.int a[2] [3]={{1,2,3},{4,5,6}}; D.int a[] []={{1,2,3},{4,5,6}}; 7.下列描述中不正确的是( )。

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

B.可以对字符型数组进行整体输入、输出 C.可以对整型数组进行整体输入、输出

D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 8.以下程序的输出结果是 ( )。 #include #include void main( ) {char b[30];

strcpy (&b[0],\ strcpy (&b[1],\ strcpy (&b[2],\

17

printf (\}

A.CFGH B.ACFGH C.ABCDEFGH D.FGH

9.假定int类型变量占用2个字节,若有定义:int x[8]={1,2,3};,则数组x在内存中所占字节数是( ) 。

A.3 B.6 C.10 D.16 10.若char x[ ]=\

char y[ ]={'a','b','c','d'};

则正确的叙述为( )。

A.数组x和数组y长度相等 B.数组x的长度小于数组y的长度 C.数组x的长度大于数组y的长度 D.以上都不对 11.以下程序执行后的输出结果是( )。 #include void main()

{int i,test ,p[17],head; for(i=0;i<16;i++) p[i]=i+1; p[16]=0; test=0;

while(test!=p[test]) {for(i=1;i<3;i++) {head=test; test=p[test]; } p[head]=p[test]; test=p[head]; } printf(\}

A.1,2,3 B.2,3,4 C.10 D.4 12.有以下程序 #include void main()

{ int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0;j<=i;j++) printf(\

for(j=_____;j<4;j++) printf(\printf(\ } }

若要按以下形式输出数组右上半三角

18

??1 2 3 4 ?? 6 7 8 ?? 11 12 ?? 16

则在程序下划线处应填入的是( )。 A.i-1 B.i C.i+1 D.4-i

13.若有定义语句:int b;char c[10];,则下列正确的输入语句是( )。 A.scanf(\B.scanf(\ C.scanf(\ D.scanf(\14.若定义:int a[100];,则下列数组元素的引用中,非法的是( )。 A.a[0] B.a[1] C.a[99] D.a[100] 15.有以下程序 main()

{ char a[7]=\

int i,j;

i=sizeof(a); j=strlen(a); printf(\}

程序运行后的输出结果是( )。 A.2 2 B.7 6 C.7 2 D.6 2 16.有以下程序 #define N 20

fun(int a[],int n,int m) { int i,j;

for(i=m;i>=n;i--) a[i+1]=a[i]; }

main() {

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

for(i=0;i<5;i++) printf(\}

程序运行后的输出结果是( )。 A.10234 B.12344 C.12334 D.12234 17.有以下程序 main()

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

19

for(i=0;i<7;i++) if(str[i][0]==′r′) n++;

printf(\

}

程序执行后的输出结果是( )。 A.0 B.1 C.2 D.3 18.有以下程序 #include void main() { int p[8]={ 1, 2, 3, 4, 5, 6, 7, 8},i=0,j=1; while(i++<=7) if(p[i]%2) j*=p[i]; printf(\}

程序运行后的输出结果是( )。 A.42 B.40320 C.105 D.384 19.有以下程序 main()

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

程序执行后的输出结果是( )。 A.45 B.20 C.25 D.36 20.以下程序运行后的输出结果是( )。 #include \main() {

char ch[]=\ i; for(i=0;i<3;i++) strcpy(x[i],ch);

for(i=0;i<3;i++) printf(\ printf(\}

A.abcbcc B.2 C.3 D.无数 二、填空题

1.不管数组是几维的,程序内存都是按 维存放的。2.用来引用特定数组元素的数值称为 。 3.数组长度和数组的最大下标之间相差 。

20


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

下一篇:《实用语文》第三 册部分教案 - 图文

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

马上注册会员

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