习 题 4

更新于 2026年10月10日 版权声明
习 题 4

一、选择题

1.定义字符数组c[5],下面输入输出函数的格式正确的是( )。

(A)scanf("%s",&c); (B)scanf("%s",c);

(C)printf("%s",c); (D)printf("%s",&c)

2.定义了一维数组“int a[10];”,下面表达式错误的是( )。

(A)a[0]=0; (B)a[10]=0;

(C)a[0]=a[2]; (D)a[0]=2;

3.下面选项错误的是( )。

(A)char c[6]="Japan"; (B)char c[6]="ni shi";

(C)char c[6]="Jap"; (D)char c[6]="nishi";

4.下面关于字符串的比较,错误的是( )。

(A)if(s1 s2) printf("1"); (B)if(strcmp(s1,s2)0) printf("1");

(C)strcmp("a","c")0 (D)strcmp("1","1")==0;

5.有两个字符数组c1、c2,则以下正确的输入语句是( )。

(A)gets("c1"); (B)scanf("%s%s",c1,c2);

(C)scanf("%s%s",&c1,&c2); (D)gets(c1,c2);

6.下面程序段的运行结果是( )。

chars1[10]="abcdef";

chars2[10]="ABC";

st r cpy(a,b);

pr int f("%c",s2[2]);

(A)空格 (B)0 (C)c (D)C

7.下面定义二维数组的方法正确的是( )。

(A)int ch[2][3]; (B)int st(2,4);

(C)double st[][3] (D)float ch(3)(3);

8.已知下面的二维数组,下标分别为2、1的元素是( )。

1 2 3

4 5 6

7 8 9

(A)1 (B)5 (C)7 (D)8

9.下列判断字符串s1[]=“abadr”和字符串s2[]=“ABTR”大小的表达式中,正确的是( )。

(A)if("abadr""ABTR") (B)if(strcmp(s1 s2))

(C)if(strcmp(s1,s2)0) (D)if(strcmp(s1,s2)=0)

10.以下为一维浮点型数组x的正确说明是( )。

(A)float i=3,x[i]; (B)float x[0];

(C)int n; (D)float x[5];

scanf("%d",&n);

float x[n];

11.下面初始化数组的方法正确的是( )。

(A)char c[6]={“nin hao”};

(B)char c[6]=“nin hao”

(C)char c[6]={n,i,,h,a,o};

(D)char c[6];

c[0]=n,c[1]=I,c[2]=,c[3]=h,c[4]=a,c[5]=o

12.定义了数组c[10],下面的赋值正确的是( )。

(A)scanf("%s",c); (B)c[3]=n;

(C)scanf("%s",&c); (D)c[10]=n;

13.二维数组char c[3][4]行标的上限为( )。

(A)3 (B)2(C)4 (D)0

14.定义字符数组为“char c[]="12345";”,下面关于字符串处理函数表述错误的是( )。

(A)gets(c) (B)puts(c) (C)gets("12345") (D)puts("12345")

15.下面程序段执行的结果是( )。

char c1[10]="12",c2[10]="1234";

pr int f("%d\n",st r cmp(c1,c2));

(A)3 (B)1(C)-1 (D)0

16.对下面两个字符数组的比较错误的是( )。

char c1[10]="12",c2[10]="1234";

(A)strcmp(c1,"1234"); (B)strcmp(c1,c2);

(C)strcmp("12","1234"); (D)"12"<"1234"

17.下面程序段执行的结果是( )。

char s1[]="ABCWQ",s2[]="aaBC";

print f("%d\n",st rncmp(s1,s2,2));

(A)32 (B)1(C)-1 (D)0

18.下面程序段执行的结果是( )。

char s1[]="ABCWQ",s2[]="aBC";

print f("%d\n",st rnicmp(s1,s2,2));

(A)32 (B)1(C)-1 (D)0

19.下面程序段执行的结果是( )。

char c[10]="ni*hao";

pr int f("%d\n",st r len(c));

(A)5 (B)61(C)7 (D)8

20.下面程序段执行的结果是( )。

charc1[20]="ni hao";(https://www.daowen.com)

char c2[6]="cathy";

pr int f("%s",st rcat(c1,c2));

(A)ni haocathy (B)nihaocathy(C)nihao cathy (D)错误

21.下面程序段执行的结果是( )。

char c1[10]="ABCD",c2[6]="abc";

st rncpy(c1,c2,3);

print f("%s\n",c1);

(A)ABC (B)aBCD(C)abcD (D)abc

22.下面程序段执行的结果是( )。

char c1[3]="ABcd";

st r lwr(c1);

print f("%s\n",c1);

(A)ABCD (B)abcd (C)ABcd (D)abCD

23.下面程序段执行的结果是( )。

char c1[3]="ABcd";

st rupr(c1);

pr int f("%s\n",c1);

(A)ABCD (B)abcd (C)ABcd (D)abCD

24.下面程序段执行的结果是( )。

char s1[]="abcd",s2[]="ABCD";

swab(s2,s1,2);

print f("%s\n",s1);

(A)ABCD (B)abcd (C)BAcd (D)abCD

25.下面程序段执行的结果是( )。

char s1[]="12345",s2[]="t reF";

st r rev(s1);

st r rev(s2);

pr int f("%s\n%s\n",s1,s2);

(A)12345 (B)54321 (C)12345 (D)54321

Fert Fert treF treF

26.下面程序段执行的结果是( )。

char s1[]="123",c1=r;

st rset(s1,c1);

pr int f("%s\n",s1);

(A)rrr (B)r23 (C)123 (D)r

27.下面程序段执行的结果是( )。

char s1[]="ABCD",c1=T;

st rset(s1,c1,2);

print f("%s\n",s1);

(A)TBCD (B)TTCD (C)TTTT (D)T

二、填空题

1.要输出如下图形:

*

**

***

****

请补全程序。

#inc lude stdio.h

图示

2.补全程序,实现以每行5个元素的形式输出如下数组。

1 3 5 7 9

2 6 10 14 18

3 9 15 21 27

4 12 20 28 36

5 15 25 35 45

图示

如果程序改为下面的形式,请补全程序实现上面的要求。

图示

图示

3.为实现将3行2列的数组A转换为2行3列的数组B,请将下面的程序补全。

图示

4.下面程序的运行结果是________。

图示

图示

三、编程题

1.定义一个3行4列的二维数组,并使用至少三种方法为第一行元素赋值1、2、3、0,为第二行元素赋值4、5、0、0,为第三行元素赋值0、0、0、0,并使用其中一种方法编写程序完成输出该数组各元素的值,且分三行显示。写出程序并将运行结果截图。

2.依次输入5个数,并按从大到小的顺序排序。请使用两种方法编写程序。写出程序并将运行结果截图。

3.有一个4×3的矩阵,其值自己定。要求编写程序求出其中值最大和最小的那个元素的值,以及其所在的行号和列号。写出程序并将运行结果截图。

4.要求使用字符数组输出一个至少5行的菱形。请使用至少两种方法编写程序。写出程序并将运行结果截图。

5.使用字符数组输出“My name is+自己姓名的全拼”。请使用至少两种方法编写。写出程序并将运行结果截图。

6.编写程序输出以下矩阵:

图示

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)