寒假作业:2024-02-11

作业要求:练习题——数组

 

数组

一、选择题

1、若有以下说明语句:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c=’a’,d,g;则数值为4的表达式是(D)。

A)a[g-c]           B)a[4]         C)a[‘d’-‘c’]           D)a[‘d’-c]

2、假设int型变量占两个字节的存储单元,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数为(D)。

A)3                B)6            C)10               D)20

3、下列合法的数组定义是(D)。

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’};则正确的叙述为(C)。

A)数组x和数组y等价               B)数组x和数组y的长度相同

C)数组x的长度大于数组y的长度     D)数组y的长度大于数组x的长度

6、下列程序运行后的输出结果是(A)。

#include<stdio.h>

int main()

{

    int n[3],t,j,k;

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

        n[t]=0;

   k=2;

   for(t=0;t<k;t++)

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

            n[j]=n[t]+1;

        printf("%d\n",n[1]);

}

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

7、有以下程序,执行后输出结果是(A)。

#include<stdio.h>

int main()

{

    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("%d\n", k);

}

A)58           B)56           C)45           D)24

9、有以下程序,执行后输出结果是(D)。

#include<stdio.h>

int 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("%d ",m[k][i]);

    }

}

A)4 5 6            B)2 5 8            C)3 6 9         D)7 8 9

10、以下能正确定义一维数组的选项是(B)。

A)int num[];                           B) #define N 100

int num[N];

C)int num[0..100];                     D) int N=100;

int num[N];

11、有以下程序,执行后输出结果是(C)。

#include<stdio.h>

int main( )

    char a[]="abcdefg",b[10]="abcdefg";

    printf("%d  %d\n",sizeof(a),sizeof(b));

A)7  7           B)8 8         C)8 10            D)10 10

12、若有以下定义语句:char s[10],s=”abcd”;printf(“%s\n”,s);则运行结果是(A)。

A)输出abcd        B)输出a            C)输出ab cd        D)编译不通过

13、不能把字符串“Hello!”赋给数组b的语句是(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!”;

14、若有以下程序段,该程序段的输出结果是(A)。

char str[]=”ab\n\012\\\””;

printf(“%d”,strlen(str));

A)3               B)4                 C)6                D)12

15、下列程序的输出结果是(C)。

 #include <stdio.h>

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

16、设已定义char s[]=”\”Name\\Address\”\n”;,则字符串s所占的字节数是(C)。

A)19               B)18               C)16               D)14

17、设已定义char c[8]=”Tianjin”和int j,则下面的输出函数调用中错误的是(D)。

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]);

18、设已定义char a[10]和 int j,则下面输入函数调用中错误的是(B)。

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]);

19、设已定义char x[8]和int j,为了给该数组赋值,下面语句中正确的是(D)。

A)x[8]=”Turbo C”;               B)x=” Turbo C”;

C)x[]=”Turbo C”;                D)for(j=0;j<7;j++) x[j]=getchar();

20、有如下程序,该程序的输出结果是(D)。

#include <stdio.h>

main()

{

    int n[5]={0,0,0},j,k=2;

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

        n[j]=n[j]+1;

    printf("%d\n",n[k]);

}

A)不确定的值           B)2            C)1            D)0

程序编写

请编写一个程序,它的功能是:将字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

#include<stdio.h>

#include<string.h>

int main(int argc, const char *argv[])

{

char a[30]="abcdefg";

int i;

for(i=0;a[i]!=0;i++){

if(i%3==0 && i!=0){

if(a[i]<='z' && a[i]>='a'){

a[i]-=32;

}

}

}

puts(a);

return 0;

}

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值