夯实c语言基础

题干若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是( c  )。
  A.abs(x-y)<10
  B.x-y>-10&&x-y<10
  C.!(x-y)<-10||!(y-x)>10
  D.(x-y)*(x-y)<100
注:abs和fabs均为c语言中合法的系统函数,功能为求绝对值,使用需要#include  "math.h"
题干#include  "stdio.h"
void  main()
{
        int  i,t,a[10]={1,3,5,7,9,11,13,15,17};
        t=2;
        for(i=8;i>=0;i--)
        {
                if(a[i]>t)
                        a[i+1]=a[i];//执行后移( d  )次
                else
                        break;
        }
        a[i+1]=t;
        for(i=0;i<=9;i++)//显示结果为( d  )
                printf("%d  ",a[i]);
}
  A.5   B.6   C.7   D.8
  A.1,3,5,7,9,11,13,15,17,2
  B.2,1,3,5,7,9,11,13,15,17
  C.1,3,5,7,9,11,13,15,2,17
  D.1,2,3,5,7,9,11,13,15,17
若t=2修改为scanf("%d",&t);则输入任意整数t后,显示的数列( a  )
  A.有序递增   B.无顺序
  C.有序递减   D.以上都不对
题干以下程序输出的数值结果为(  c )。
void  main()
{
        int  a[5][5]={1,2,3,4,5,
                1,2,3,4,5,
                1,2,3,4,5,
                1,2,3,4,5,
                1,2,3,4,5},i,s=0;
        for(i=0;i<=4;i++) 
                s=s+a[i][i]+a[i][4-i];
        printf("%d",s-a[2][2]);
}
  A.25   B.26   C.27   D.28
题干有以下程序,以下叙述中正确的是( b  )。
#include  "string.h"
void  main(){
        char  p[]={‘a’,‘b’,‘c’};
        q[10]={‘a’,‘b’,‘c’}; 
        printf("%d%d\n",strlen(p),strlen(q));

  A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
  B.由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
  C.由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
  D.由于p和q数组中都没有字符串结束符,故长度都不能确定
题干执行以下程序段后x的值为( d  )。
int  a=14,b=15,  c=’A’,x; 
x=(a<b)&&(c<’B’); 
  A.true   B.false   C.0   D.1
题干字符串常量是用双引号括起来的若干个字符序列,“abcd”字串在内存中占5个字节,最后一个字节存储串结束标志’\0’。(  对 )
答案
题干若有整型变量a=7、b=8、c=9、d=5、m=3、n=4,则逻辑表达式:
(m=a>b)&&(n=c>d)运算后,m的值为( a  ),n的值为( d  )整个表达式的值为( a  )。
  A.0            B.1            C.3            D.4
题干数组(C语言中)是带有序下标的变量的集合,数组中的各元素可以是不同数据类型。( 错  )
答案
题干以下对一维数组初始化错误的是( d  )。
  A.int  a[]={1,2,3,4,5};
  B.int  a[5]={1,2,3,4,5};
  C.int  a[5]={0,1,2};
  D.int  a[5]={0,1,2,3,4,5};
题干以下程序实现字串的翻转,若原串为"abcd123",则生成的新串为"321dcba",请填空。
void  main(){
        char  s[40]="abcd123",t;
        int  i=0,j=(  a );
        while(s[i]!=‘\0’)
                ( c  );
        i--;
        while(j<i){
                t=s[i];
                s[i]=s[j];
                (  b );
                i--;
                ( d  );
        }
        printf("%s\n",s);
}
  A.0   B.s[j]=t   C.i++   D.j++
题干以下程序实现删除串中所有*字符,请填空。
void  main(){
        char  a[80]="ab**cd**efg**h***";
        int  i=0,j=0;
        while(a[i]){
                if(a[i]!=‘*’){
                        ( b  )=( a  );
                        ( d  );
                }
                i++;
        }
        (  b )=‘\0’;
        printf("%s",a);
}
  A.a[i]   B.a[j]   C.i++   D.j++
题干若有char  a[20]="asd";int  i=0;则执行以下三个while循环功能完全相同。( 对  )
while(a[i]!=‘\0’)  i++;
while(a[i]!=0)  i++;
while(a[i])  i++;
答案
题干若有数组定义int  a[4][4]={1,2,3,4,5,6,7,8,9,0,1,2,3,4,5};
则printf(“%d%d%d%d”,a[1][0],a[0][2],a[2][1],a[3][3]);的显示结果为(  d )。
  A.1310   B.5310   C.1300   D.5300
题干以下程序实现字串的翻转,若原串为"abcd123",则生成的新串为"321dcba",请填空。
void  main(){
        char  a[80],t;
        int  i=0,j;
        scanf("%s",a);
        while(a[i])  i++;
        for(j=0;j<=( b  );j++){
                t=a[j];
                a[j]=( d  );
                (  d )=(  a );
        }
        printf("%s\n",a);
}
  A.t   B.i/2-1   C.a[i]   D.a[i-1-j]
题干以下程序实现:从键盘输入任意串a,b后,将b连接到a串之后,请填空。
void  main(){
        char  a[80],b[80];
        int  i=0,j=0;
        scanf("%s%s",a,b);
        while(a[i])  i++;
        while(b[j]){
                ( a  )=(  c );
                ( d  );
                i++;
        }
        (  a )=‘\0’;
        printf("%s\n",a);
}
  A.a[i]   B.a[j]   C.b[j]   D.j++
题干以下程序段的执行的结果分别为:( b )。
int  a[5][5]={6,7,8,9,10,1,2,3,4,5,
        16,17,18,19,20,11,12,13,14,15,
        21,22,23,24,25},i,j,t=a[0][0];
for(i=0;i<=4;i++)
        for(j=0;j<=4;j++)
                if(a[i][j]>t)
                        t=a[i][j];
printf("%d",t);
  A.1   B.25   C.24   D.20
题干以下程序实现判断输入的串是否为回文串,如abcba、abba都是回文串,请填空。
void  main(){
        char  a[80];
        int  ( d  );
        scanf("%s",a);
        while(a[i])  i++;
        ( b  );
        while(a[i]==a[j]){
                (  b );
                (  c );
        }
        if(j>=i)
                printf("Yes");
        else
                printf("No");
}
  A.i++   B.i--   C.j++   D.i=0,j=0
题干若有整型变量a=7、b=8、c=9、d=5、m=3、n=4,则逻辑表达式:
(m=a<b)&&(n=c>d)运算后,m的值为( b  ),n的值为( b  )整个表达式的值为( b  )。
  A.0            B.1            C.3            D.4
题干下面程序显示显示杨辉三角,请填空。
#include  "stdio.h"
void  main()
{
        int  a[10][10]={0},i,j;
        for(i=0;i<=9;i++)
        {
                a[i][0]=1;
                ( b  )=1;
        }
        for(i=2;i<=9;i++)
                for(j=1;j<=( a  );j++)
                        a[i][j]=(  c )+a[i-1][j];
        for(i=0;i<=9;i++)
        {
                for(j=0;j<=i;j++)
                        printf("%4d",a[i][j]);
                (  d );
        }
}
  A.i-1   B.a[i][i]   C.a[i-1][j-1]   D.printf("\n")
题干能正确表示a≥10或a≤0的关系表达式是( d  )。
  A.a>=10  or  a<=0
  B.a>=10|a<=0
  C.a>=10&&a<=0
  D.a>=10||a<=0
题干以下程序输出的数值结果为( b  )。
#include  "stdio.h"
void  main()
{
        int  a[5][5]={1,2,3,4,5,
                1,2,3,4,5,
                1,2,3,4,5,
                1,2,3,4,5,
                1,2,3,4,5},i,j,s=0;
        for(i=0;i<=4;i++) 
                for(j=0;j<=4;j++)
                        if(i==0||j==0||i==4||j==4)
                                s=s+a[i][j];
        printf("%d\n",s);
}
  A.47   B.48   C.49   D.50
题干以下程序段的执行的结果分别为:( c )。
int  a[5][5]={6,7,8,9,10,1,2,3,4,5,
        16,17,18,19,20,11,12,13,14,15,
        21,22,23,24,25},i,j,t,s=0;
for(i=0;i<=4;i++)
{
        t=a[1][i];a[1][i]=a[3][i];a[3][i]=t;
};
for(i=0;i<=4;i++)
        s+=a[i][i];
printf("%d",s);
  A.55   B.60   C.65   D.70
题干以下程序实现:从键盘输入任意串a,b后,将b连接到a串之后,请填空。
void  main(){
        char  a[80],b[80];
        int  i=0,j=0;
        scanf("%s%s",a,b);
        while(a[i])  ( c  );
        while(b[j]){
                ( a  )=(  b );
                (  d );
        }
        a[i+j]=‘\0’;
        printf("%s\n",a);
}
  A.a[i+j]   B.b[j]   C.i++   D.j++
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值