C语言-最最最基础选择题百题练习(1)

1、有如下程序:

int main(void)
{ 
    int  x = 102, y = 012; 
    printf("%2d,%2d\n",x,y);
    return 0;
}  

执行后输出结果是 (          )。 

     A.102,10             B.002,12              C.102,12                D.10,01

2、宏定义“#define p(x,y,z) x=y*z;”的宏替换“p(a,x+5,y-3.1)”应为 (          ) 。 

     A.a=x+5*y-3.1;                        B.a=(x+5)*(y-3.1)

     C.a=x+5*y-3.1                         D.a=(x+5)*(y-3.1);

3、若有以下定义,则正确表示a数组元素地址的 (          ) 。
         int a[5],*p=a; 

     A.*a+1                B.p+5            C.&a[0]            D.&a+1

4、以下叙述中正确的是 (           ) 。 

    A.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

    B.main可作为用户标识符,用以命名任意一个函数作为主函数

    C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

    D.C语言程序将从源程序中第一个函数开始执行

5、以下叙述不正确的是 (          )。 

    A.一个C源程序必须包含一个main函数

    B.C程序的基本组成单位是函数

    C.在C程序中注释说明只能位于一条语句的后面

    D.一个C源程序可由一个或多个函数组成

6、设i、j、k为int型变量,若从键盘输入:1,2,3<回车>,要使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是 (          ) 。 

     A.scanf("i=%d,j=%d,k=%d",&i,&j,&k);

    B.scanf(""%d %d %d",&i,&j,&k);

    C.scanf("%d,%d,%d",&i,&j,&k);

    D.scanf("%2d%2d%2d",&i,&j,&k);

7、若有声明“int x[10]={0,1,2,3,4,5,6,7,8,9},*p;”,则值不为4的表达式是 (          ) 。 

    A.p=x+3,*++p      B.p=x+4,*p++      C.p=x,*(p+4)      D.p=x+3,*(p++)

8、下面关于结构的定义正确的是 (          ) 。 

    A.struct num{ a,b,c};

    B.struct  teacher{char xm[10],int age};

    C.struct  num{ int a;  char b;  };

    D.struct num{ int a,char b};

9、下面定义和初始化数组正确的是 (          ) 。 

    A.char a="string";

    B.int a[5]={0,1,2,3,4,5};

    C.int a[]="string";

    D.int a[]={0,1,2,3,4,5};

10、以下程序的输出结果是 (          ) 。

int main(void)
{ 
    int  i, a[10];
    for(i=0;i<10;i++)  
        a[i]=10-i;
    printf("%d%d%d",a[3],a[6],a[9]);   
    return 0;
}

    A.852                 B.741                C.258               D.369

11、在C语言中,int的存储形式是 (          ) 。 

    A.原码          B.ASCII码           C.补码           D.反码

12、变量a是int型,f是float型,i是double型,则表达式10+'a'+i*f值的数据类型为 (          ) 。 

    A.float           B.int               C.不确定              D.double

13、若有定义:int a,b;通过语句scanf("%d*%d", &a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是 (          ) 。

    A.3*5                  B.3,5                 C.35                D.3 5

14、已知某程序中有声明“int a[4] ,j;”及语句“for(j=0;j<4;j++) p[j]=a+j;”,则标识符p正确的声明形式应为 (          ) 。 

    A.int *p[4];                     B.int (*p)[4];                     C.int **p[4];                      D.int p[4];

15、设有如下定义:  int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 输出结果是 (          ) 。 

    A.1                    B.0                 C.3                   D.4

16、表达式: 10!=9 的值是 (          ) 。 

    A.1                    B.随机值              C.不确定              D.0

17、阅读以下程序,程序运行后的输出结果是 (          ) 。

int main(void)
{
    int a[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
    int i, s = 0;
    for(i=0;i<4;i++)
        s+=a[i][1];
    printf("%d\n",s);
    return 0;
}

     A.11                          B.13                            C.20                              D.19

18、若有以下定义:char str[15][15];则对数组元素的正确引用是 (          ) 。 

    A.str[4][12]                        B.str[6,1]                          C.str[12][15]                     D.str[15][4]

19、若有数组A和B的声明 char A[ ]="ABCDEF" , B[ ]={'A','B','C', 'D','E','F'}; 则数组A和数组B的长度分别是 (          ) 。

    A.6,7                         B.7,6                      C.7,7                    D.6,6

20、设有如下声明,则表达式: w*x+z-y值的数据类型是 (          ) 。

char w;
int x;
float y;
double z;

          A.float                  B.char                C.double                D.int

答案:AACCC         CDCDB          CDAAC          ADABC

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

[小yuan絮絮叨叨]

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

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

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

打赏作者

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

抵扣说明:

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

余额充值