【c语言基础题】— —第六版,可当作日常练习和期末复习,有奇效哟!

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

🎯问题:

一. 单选题(共30题,100分)

1. (单选题)【选择题】以下能正确定义字符串的语句是( )

  • A. char str[]="\0";

  • B. char str="kx43";

  • C. char str=";

  • D. char str[]={'\064'};

2. (单选题)【选择题】设有n个数按从大到小的顺序存放在数组x中, 以下能使这n个数在x数组中的顺序变为从小到大的是(     )     

  • A. for(i=0;i<n/2;i++)

        t=x[i]; 

        x[i]=x[n-i-1]; 

        x[n-i-1]=t;

    }

  • B.

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

        t=x[i]; 

        x[i]=x[n-i-1]; 

        x[n-i-1]=t;

  • C.

    for(i=0;i<n/2;i++)

        t=x[i]; 

        x[i]=x[n-i+1]; 

        x[n-i+1]=t;

  • D.

    for(i=0;i<n/2;i+=2)

        t=x[i]; 

        x[i]=x[n-i-1]; 

        x[n-i-1]=t;

3. (单选题)【选择题】以下叙述中正确的是( )

  • A. 语句“char str[10]="string!";”和“char str[10]={"string!"};”并不等价

  • B. 对于字符串常量“string!”, 系统已自动在最后加入了'\0'字符, 表示串结尾

  • C. 对于一维字符数组, 不能使用字符串常量来赋初值

  • D. 在语句“char str[]="string!";”中, 数组str的大小等于字符串的长度

4. (单选题)【选择题】以下语句的输出结果是( ) 。

printf("%d\n",strlen("\t\"\065\xff\n"));        

  • A. 5

  • B. 8

  • C. 14

  • D. 输出项不合法, 无正常输出

5. (单选题)【选择题】设有一个M*N的矩阵已经存放在一个M行N列的数组x中, 且有以下程序段:
sum=0;
for(i=0;i<M;i++) 

    sum+=x[i][0]+x[i][N-1];
for(j=1;j<N-1;j++) 

    sum+=x[0][j]+x[M-1][j];
以上程序段计算的是( )

  • A. 矩阵两条对角线元素之和

  • B. 矩阵所有不靠边元素之和

  • C. 矩阵所有元素之和

  • D. 矩阵所有靠边元素之和

6. (单选题)【选择题】有以下程序:

#include<stdio.h>

main()

    int i,k; 

    int array[4][2]={{1,0},{0},{2,9},{3}}; 

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

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

        { 

            printf("%d,",array[k][i]); 

        } 

    printf("\n");

}

程序运行后的输出结果是( ) 

  • A. 1,0,2,0,0,9,

  • B. 1,2,4,9,6,0,

  • C. 2,9,0,0,1,4,

  • D. 1,2,0,1,4,1,

7. (单选题)【选择题】有如下程序:

#include <stdio.h>

main()

    int i,k; 

    int array[4][2]={{1,2},{4,9},{6}}; 

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

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

        { 

            printf("%d,",array[k][i]); 

        } 

    printf("\n");

}

程序运行后的输出结果是( ) 

  • A. 1,2,4,9,6,

  • B. 1,4,6,0,2,9,0,0,

  • C. 2,9,0,0,1,4,6,0,

  • D. 2,9,6,1,4,

8. (单选题)【选择题】有以下程序:

#include <stdio.h>

main()

    char a[30],b[30]; 

    scanf("%s",a); 

    gets(b); 

    printf("%s\n%s\n",a,b);

}

程序运行时若输入:

how are you? I am fine<回车>

则输出结果是( ) 

  • A. how are you?<换行> I am fine

  • B. how<换行> are you? I am fine

  • C. how are you? I am fine

  • D. how are you?

9. (单选题)【选择题】设有以下定义:
char s1[]="0123";
char s2[]={'0','1','2','3'};
则以下叙述正确的是( )

  • A. 数组s1的长度小于s2的长度

  • B. 数组s1和s2的长度相同

  • C. 数组s1的长度大于s2的长度

  • D. 数组s1和s2完全等价

10. (单选题)【选择题】有以下程序

#include<stdio.h>

main()

    int a[5] = {1,2,3,4,5}, b[5] ={0,2,1,3,0}, i, s=0; 

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

        s=s+a[b[i]]; 

    printf("%d\n",s);

}

程序运行后的输出结果是( )

  • A. 6

  • B. 10

  • C. 11

  • D. 15

11. (单选题)【选择题】以下叙述中正确的是( )

  • A. 语句“int a[8]={0};”是合法的

  • B. 语句“int a[]={0};”是不合法的, 遗漏了数组的大小

  • C. 语句“char a[2]={"A","B"};”是合法的, 定义了一个包含两个字符的数组

  • D. 语句“char a[3];a="AB";”是合法的, 因为数组有三个字符空间的容量, 可以保存两个字符

12. (单选题)【选择题】有以下程序
#include <stdio.h>

main()

    char a[20],b[20],c[20]; 

    scanf("%s%s",a,b); 

    gets(c); 

    printf("%s%s%s\n",a,b,c);

}
程序运行时从第一列开始输入:
This is a cat!<回车>
则输出结果是( )

  • A. Thisisacat!

  • B. Thisis a

  • C. Thisis a cat!

  • D. Thisisa cat!

13. (单选题)【选择题】有以下程序( 注: 字符a的ASCII码值为97) :

#include <stdio.h>

main()

    char *s={"abc"}; 

    do { 

            printf("%d",*s%10); 

            ++s;

          }while(*s);

}

程序运行后的输出结果是( ) 

  • A. abc

  • B. 789

  • C. 7890

  • D. 979800

14. (单选题)【选择题】有以下程序:
#include<stdio.h>

#include<string.h>

main()

    char w[20], a[5][10] ={"abcdef", "ghijkl", "mnopq", "rstuv", "wxyz"}; 

    int i,j; 

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

    {

         j=0; 

        while(a[i][j]!='\0')

            j++; 

        w[i]=a[i][j-2]; 

    } 

    w[5]='\0';

     puts(w);

}
程序运行后的输出结果是( )

  • A. agmrw

  • B. ekpuy

  • C. djotx

  • D. flqvz

15. (单选题)【选择题】以下函数的功能是: 通过键盘输入数据, 为数组中的所有元素赋值。
#include <stdio.h>

#define N 10

void fun(int x[N])

    int i=0; 

    while(i<N)

        scanf("%d",______);

}
在程序中下画线处应填入的是( )

  • A. x+i

  • B. &x[i+1]

  • C. x+(i++)

  • D. &x[++i]

16. (单选题)【选择题】有以下程序:
#include <stdio.h>

main()

    char name[10] ={'S','T','R'}; 

    name[2]='#'; 

    name[6]=0; 

    printf("%s\n",name);

}
程序运行后的输出结果是( )

  • A. ST#

  • B. STR#

  • C. STR#0

  • D. STR0

17. (单选题)【选择题】有以下程序:

#include<stdio.h>

main()

    char *s="12134"; 

    int k=0,a=0; 

    while(s[k+1]!='\0') 

    { 

        k++; 

        if(k%2==0) 

        { 

            a=a+s[k]-'0'+1; 

            continue; 

        } 

        a=a+(s[k]-'0'); 

    } 

    printf("k=%d a=%d\n",k,a);

}

程序运行后的输出结果是( )

  • A. k=6 a=11

  • B. k=3 a=14

  • C. k=4 a=12

  • D. k=5 a=15

18. (单选题)【选择题】有以下程序

#include<stdio.h>

main()

    int x[3][2]={0},i; 

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

        scanf("%d",x[i]); 

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

}

若运行时输入: 2 4 6<回车>, 则输出结果为( )

  • A. 2 0 4

  • B. 2 0 0

  • C. 2 4 0

  • D. 2 4 6

19. (单选题)【选择题】有以下程序

#include<stdio.h>

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+=b[i][b[j][i]]; 

    printf("%d\n",t);

}

程序运行后的输出结果是( ) 

  • A. 4

  • B. 3

  • C. 1

  • D. 9

20. (单选题)【选择题】有以下程序:
#include <stdio.h>

void fun(int *p)

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

}

main()

    int a[10]={1,2,3,4,5,6,7,8,9,10}; 

    fun(&a[3]);

}
程序运行后的输出结果是( )

  • A. 5

  • B. 6

  • C. 8

  • D. 9

21. (单选题)【选择题】若有定义语句:
int m[ ][3]={1,2,3,4,5,6,7};
则与该语句等价的是( )

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

  • B. int m[ ][3]={{1,2},{3,4},{5,6,7}};

  • C. int m[ ][3]={{1,2,3},{4,5},{6,7}};

  • D. int m[ ][3]={{1},{2,3,4},{5,6,7}};

22. (单选题)【选择题】有以下程序:
#include <stdio.h>

main()

    char ch[3][5] ={"AAAA","BBBB","CC"}; 

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

}
程序运行后的输出结果是( )

  • A. AAAA

  • B. CC

  • C. BBBCC

  • D. BBBB

23. (单选题)【选择题】以下能正确进行字符串赋值的语句组是 (   )

  • A. char*ch; ch="abc";

  • B. char ch[]={'a', 'b', 'c'};

  • C. char ch[3]= "abc";

  • D. char ch[4]; ch="abc";

24. (单选题)【选择题】有以下程序:

#include<stdio.h>

main()

    int x[3][3] = {{2},{4},{6}}, i, *q =&x[0][0]; 

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

    { 

        if(i==0) 

            x[i][i+1]=*q+1; 

        else 

            ++q; 

        printf("%d",*q); 

    } 

    printf("\n");

程序的运行结果是( )

  • A. 23

  • B. 26

  • C. 33

  • D. 36

25. (单选题)【选择题】若有定义:
int a[2][3];
以下选项中对a数组元素正确引用的是( )

  • A. a[2][!1]

  • B. a[2][3]

  • C. a[0][3]

  • D. a[1>2][!1]

26. (单选题)【选择题】fun函数的功能是: 通过键盘输入给x所指的整型数组所有元素赋值。 在下划线处应填写的是( ) 。

#include <stdio.h>

#define N 5

void fun(int x[N])

    int m; 

    for(m=N-1;m>=0;m--)

        scanf("%d",_____);

}

  • A. &x[++m]

  • B. &x[m+1]

  • C. x+(m++)

  • D. x+m

27. (单选题)【选择题】以下关于字符串的叙述中正确的是( )

  • A. C语言中有字符串类型的常量和变量

  • B. 两个字符串中的字符个数相同时才能进行字符串大小的比较

  • C. 可以用关系运算符对字符串的大小进行比较

  • D. 空串比空格打头的字符串小

28. (单选题)【选择题】下面是有关C语言字符数组的描述, 其中错误的是 (   )

  • A. 不可以用赋值语句给字符数组名赋字符串

  • B. 可以用输入语句把字符串整体输入给字符数组

  • C. 字符数组中的内容不一定是字符串

  • D. 字符数组只能存放字符串

29. (单选题)【选择题】以下错误的定义语句是(     )     

  • A. int x[][3]={{0},{1},{1,2,3}};
  • B. int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
  • C. int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
  • D. int x[][3]={1,2,3,4};

30. (单选题)【选择题】以下正确的字符串常量是( )

  • A. ""
  • B. 'abc'
  • C. Olympic Games
  • D. "\\\"

🎯 答案:

1-5:AABAD

6-10:ABBCC

11-15:ACBBC

16-20:ACAAD

21-25:ADAAD

26-30:DDDCA

🎆有问题的小伙伴可以在评论区询问,看到后会回复的,或者关注一下博主,私信询问,100%回复。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y小夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值