C语言补充练习题(5)

2018-12-17 15:24

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}; 8. 若有定义和语句:

static char s1[]=”abcd”; char s2[10]; s2=s1; printf(“%s\\n”,s2); 则结果是(以下□代表空格) 。

A.输出abcd B. 输出a C. 输出abcd□□□□□ D. 编译不通过

9. 函数调用:strcat(strcpy(str1,str2),str3)的功能是 。

A.将串str1复制到串str2中后再连接到串str3之后。 B.将串str1连接到串str2之后再复制到串str3之后。

C.将串str2复制到串str1中后再将串str3连接到串str1之后。 D.将串str2连接到串str1之后再将串str1复制到串str3中。

10. 以下程序段给数组所有元素输入数据,应在下划线处填入的是 。

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

{ int a[10],i=0;

while (i<10) scanf(“%d”, ); …… }

11. 以下程序的输出结果是:

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

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

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

则程序的输出结果是 。

# include “stdio.h” # define N 6 main ()

{ char c[N]; int i=0;

for (i=0; i

21

for (i=0; i

}

A. abcdef B. a C. a D. a b b b

c cd cdef d e f

13.以下程序的输出结果是 。 main()

{ int i, j, row, col, m;

int arr[3][3]={ { 100,200,300 }, { 28,72,-30 }, { -850, 2, 6 } }; m=arr[0][0];

for (i=0; i<3; i++) for (j=0; j<3; j++) if ( arr[i][j]

{ m=arr[i][j]; row=i; col=j; } printf( “%d, %d, %d\\n”, m, row, col );

}

A. –850,2,0 B. -850 C. 值不确定 D. 编译不通过

2

0

二、 填空题:

1.若有以下定义:

double w[10];

则w数组元素下标的上限为 ,下限为 。 2.以下定义

static int a[10]={1};

只初始化数组元素 ,其它数组元素值为 。 3.字符数组的输入输出有两种方法:

a. 用格式符 逐个字符输入或输出。

b. 用格式符 将整个字符串一次输入或输出。

4. strlwr(字符串)的作用是将字符串中的 字母转换成 字母。 5. 若有定义static int a[3][4]={{1,2},{0},{4,6,8,10}};则a[1][2]初值为 。a[2][1] 初值为 。 6.在C语言中,二维数组元素在内存中的存放顺序是 。

三、 判断题:

1.C允许对数组的大小作动态定义,即可用变量定义数组的大小。( ) 2.字符数组不要求它的最后一个字符为?\\0?,甚至可以不包含?\\0?。( )

22

3. 数组定义 int a[10]; 也可以写成 int a(10); 。( ) 4.在对全部数组元素赋初值时,可以不指定数组长度。( ) 5.定义s为5×6(5行6列)的数组可写成 float a[5,6]; ( ) 6.数组定义 int a[10]; 表示数组名为a,此数组有10个元素。( ) 7.上题中,第10个元素为a[10]。 ( )

8.static char c[]={“a book”}; 与static char c[]=“a book”; 等价。( ) 9.static char c[]={?a? , ? ? , ?b?, ?o?, ?o?, ?k?, ?\\0?};与

static char c[]={?a? , ? ? , ?b?, ?o?, ?o?, ?k?}; 等价。 ( )

10.设已有说明:static char c1[10],c2[10]; 下面程序片段是合法的。 c1={“book”}; c2=c1; ( )

四、 程序阅读题:

1.#define N 8

main()

{ int i,j,min,temp,a[N];

printf(“ 请输入八个数:\\n”) for (i=0;i

{ printf(“a[%d]=”,i); scanf(“%d”,&a[i]); }

printf(“\\n”);

for (i=0;i

/* 数据整理 */ for (i=0;i

for (j=i;j

if (a[min]>a[j]) min=j;

temp=a[i]; a[i]=a[min]; a[min]=temp; }

/* 输出 */

for (i=0;i

假设输入的8个数据为:-5 10 20 40 –100 0 –50 60 该程序的运行结果是: 2.程序: main ( )

{ static char a[5]={?*?, ?*?, ?*?, ?*?, ?*?}; int i,j,k; char space=? ?;

23

for (i=0;i<5;i++) { printf(“\\n”);

for (j=1;j<=3*i;j++) printf(“”,space); for (k=0;k<5;k++) printf(“<”,a[k]); } }

该程序的运行结果是:

3. 程序:main ( )

{ char ch[7]={“65ab21”}; int i,s=0;

for (i=0;ch[i]>= ?0?&&ch[i]<= ?9?;i++) s=10*s+ch[i]-?0?; printf(“%d\\n”,s); }

该程序的运行结果是: 4. 程序如下:

#define N 7 main()

{ int i,j,a[N][N];

for (i=1;i

{ a[i][i]=1; a[i][1]=1;} for (i=3;i

for (j=2;j<=i-1;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j]; for (i=1;i

{ for (j=1;j<=i;j++)

printf(“m”,a[i][j]); printf(“\\n”); }

printf(“\\n”);

}

运行结果是:

五、 程序填空题:

1.统计从终端输入字符中每个大写字母的个数。用#号作为输入结束标志。程序如下: #include #include main ( )

24

{ int num[26],i; char c;

for (i=0;i<26;i++) num[i]=0;

while ( ① != ?#?) /* 统计从终端输入的大写字母个数*/ if (isupper(c)) num[c-65] ② ;

for (i=0;i<26;i++) /* 输出大写字母和该字母的个数*/ if (num[i])printf(“%c;%d\\n”,i ③ ,num[i]); }

2.对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdefg和abceef,则输出为-1。程序如下:

#include main ( )

{ char str1[100],str2[100],c; int i,s;

printf(“\\n Input string 1:\\n”);gets(str1); printf(“\\n Input string 2:\\n”);gets(str2); i= ① ;

while((str1[i]==str2[i])&&(str1[i]!= ② )) i++; s= ③ ;

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

3. 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空: main( )

{ float x[1000], sum=0.0, ave, a; int n=0, i;

printf (“Enter mark : \\n”) ; scanf(“%f”, &a); while (a>=0.0 && n<1000)

{ sum+= ① ; x[n]= ② ; n++; scanf(“%f”, &a); }

ave= ③ ; printf (“Output : \\n”); printf (“ave = %f\\n”, ave); for (i=0; i

if ( ④ ) printf(“%f\\n”, x[i]);

}

25


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

下一篇:《祭十二郎文》优秀教案

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

马上注册会员

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