第七届全国信息技术应用水平大赛预赛试题----C语言程序设计

第七届全国信息技术应用水平大赛预赛试题

C语言程序设计

一、单选题(60题,1/题,共60分)

[1]、下列选项中,叙述不正确的是( )。

【答  案】B

【分  数】1

【选  项】

 A、用typedef可以定义各种类型名,但不能定义变量

 Btypedef#define都是在程序预编译时处理的

 C、用typedef只是将已存在的类型用一个新的标识符来代表

 D、使用typedef有利于程序的通用和移植

[2]、若有如下定义:

int a=2,*p;

float x=1, y=2; 

char e=‘w’;

则以下用法不正确的是( )

【答  案】B

【分  数】1

【选  项】

 Aprintf("%c",e+a);

 Bp=&x;

 Ca*=y+x;

 Dx=y=e;

[3]、下列5个符号串中,属于C语言合法标识符的共计( )

_1_2_3

 a-b-c

float

 9cd

 a3b4

【答  案】B

【分  数】1

【选  项】

 A1

 B2

 C3

 D4

[4]int x=20; printf("%d\n",~x); 

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

【答  案】B

【分  数】1

【选  项】

 A235

 B-21

 C-20

 D-11

[5]、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值(结果保留两位小数)是( )。

【答  案】A

【分  数】1

【选  项】

 A2.50

 B2.75

 C3.50

 D0.00

[6]若有如下程序:

void s(char *m,int n)

{

  *m=*m+3;n=n+3;

  printf("%c,%c,",*m,n);

}

void main()

{

  char p=‘b’,q=‘B’;

  s(&q,p);

  printf("%c,%c\n",p,q);

}

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

【答  案】A

【分  数】1

【选  项】

 AE,e,b,E

 Be,E,b,F

 CE,e,e,E

 De,E,b,E

[7]、桌上有abcde五个黑白球,a=0表示白球,a=1表示黑球,其他球同样定义。则以下能表示a是黑球,其余至少有三个白球的表达式是( )

【答  案】C

【分  数】1

【选  项】

 Aa&&(b+c+d+e)==1

 Ba&&(b+c+d+e)>2

 Ca&&(b+c+d+e)<=1

 D!a&&(b+c+d+e)==3

[8]C语言中运算对象必须是整型的运算符是( )。

【答  案】C

【分  数】1

【选  项】

 A/

 B++

 C%

 D!=

[9]、以下程序的输出结果是( )。

#include <stdio.h>

main()

  int i,j=4; 

  for(i=j; i<=2*j; i++)

switch (i/j) { 

  case 0:

      case 1: printf("*"); break;

      case 2: printf("#"); break;
    }

}

【答  案】D

【分  数】1

【选  项】

 A*###

 B**##

 C***#

 D****#

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

main( )

  int w=4,x=3,y=2,z=1;

  if(x>y&&!(z==w)) printf("%d\n",(w<x?w:z<y?z:x));

  else printf("%d\n", (w>x?w:z>y?z:x)); 

}

【答  案】A

【分  数】1

【选  项】

 A1

 B2

 C3

 D4

[11]、关于C语言形参与实参,以下说法正确的是( )。

【答  案】A

【分  数】1

【选  项】

 A、实参和与其对应的形参各占用独立的存储单元

 B、实参和与其对应的形参共占用同一个存储单元

 C、只有当实参和与其对应的形参同名时才共占用同一个存储单元

 D、形参是虚拟的,从不占用存储单元

[12]、以下宏定义中,不会引起二义性的共计( )个。

(1)#define POWER(x) x*x

(2) #define POWER(x) (x)*(x)

(3) #define POWER(x) (x*x)

(4) #define POWER(x) ((x)*(x))

【答  案】A

【分  数】1

【选  项】

 A1

 B2

 C3

 D4

[13]、以下程序的输出结果是( )。

main()

{  

  int i,j,x=0;

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

    x++;

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

      if (j%2)   continue;

x++;

    }

x++;  

  }

  printf("x=%d\n",x);

}

【答  案】C

【分  数】1

【选  项】

 Ax=4

 Bx=6

 Cx=8

 Dx=12

[14]、已知有以下说明: 

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

那么a[*(a+a[3])]的值为( )

【答  案】A

【分  数】1

【选  项】

 A0

 B4

 C5

 D7

[15]、有定义如下: 

struct pupil {

  char name[20];

  int age;

  int sex;

} pup[5],*p;

p=pup;

以下scanf函数调用语句中,对结构体变量成员的引用不正确的是( )。

【答  案】D

【分  数】1

【选  项】

Ascanf("%s",pup[0].name);

Bscanf("%d",&pup[0].age);

Cscanf("%d",&(p->sex));

Dscanf("%d",p->age);

[16]、以下程序运行后的输出结果是( )。 

#include <stdio.h>

struct NODE 

{ int num; struct NODE *next; }; 

main() 

  struct NODE *p,*q,*r; 

  p=(struct NODE*)malloc(sizeof(struct NODE)); 

  q=(struct NODE*)malloc(sizeof(struct NODE)); 

  r=(struct NODE*)malloc(sizeof(struct NODE)); 

  p->num=10; q->num=20; r->num=30; 

  p->next=q; q->next=r; 

  printf("%d\n ",p->num+q->next->num); 

}

【答  案】D

【分  数】1

【选  项】

 A10

 B20

 C30

 D40

[17]、当a=2b=3c=4d=5时,执行下面一段程序后x的值为( )。

if(a<b)

 if(c>d)x=1 ;

 else 

  if(a>c)

      if(b<d)x=2 ;

      else  x=3 ;

  else  x=4 ;

else  x=5 ;

【答  案】C

【分  数】1

【选  项】

 A2

 B3

 C4

 D5

[18]、设有程序段unsigned char k;while (k>0) k++; printf("%d\n",k);程序段的输出结果为( )。

【答  案】D

【分  数】1

【选  项】

 A-1

 B-127

 C-128

 D0

[19]、若有以下定义:int x[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[3]=x;

则能够正确表示数组元素x[2][1]的表达式是( )

【答  案】C

【分  数】1

【选  项】

 A*((*p+2)[1])

 B(*p+2)+1

 C*(*p+7)

 D*(*p+2)+1

[20]以下程序运行后的输出结果是( )。

#include<stdio.h> 

void fun(int *p) {

int a=10;

p=&a;

++a;

}

void main()

{

int a=5;

fun(&a);

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

【答  案】A

【分  数】1

【选  项】

 A5

 B6

 C10

 D11

[21]以下程序运行后的输出结果是( )。

#include"stdio.h"

int sub(int *t,int n) {

  int *p1,*p2;

  for(p1=t,p2=t;p1-t<n;p1++)

    if(*p1<*p2)p2=p1;

  return(*p2); 

}

void main()

{

  int a[9]={9,36,19,39,26,5,6,33,15};

  printf("%d\n",sub(a,9)); 

}

【答  案】A

【分  数】1

【选  项】

A5

B9

C15

D39 

[22]

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

#include<stdio.h>

#include<string.h>

fun(char *w,int n){

char t;

ints1,s2;

s1=0;s2=n-1;

while(s1<s2){t=w[s1++];w[s1]=w[s2--];w[s2]=t;}

}

main()

{

charp[]="1234567";

fun(p,strlen(p));

puts(p);

}

【答  案】C

【分  数】1

【选  项】

 A7654321

 B1714171

 C1711717

 D7177171

[23]C语言规定函数返回值的类型由( )。

【答  案】A

【分  数】1

【选  项】

 A、在定义时所指定的函数类型所决定

 B、调用该函数时的主调函数类型所决定

 Creturn语句中的表达式类型所决定

 D、调用该函数时系统临时决定

[24]、有以下程序段:

#include <stdio.h>

main()

{

  int i=1,sum=0,n;

  scanf("%d",&n);

  do {

    i+=2; 

    sum+=i ;

  }while(i!=n);

  printf("%d",sum);

}

若使程序的输出值为15,则应该从键盘输入的n的值是 ( )。

【答  案】D

【分  数】1

【选  项】

 A1

 B3

 C5

 D7

[25]、以下程序的运行结果是( )。

void main()

{

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

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

}

【答  案】C

【分  数】1

【选  项】

 A5 5

 B6 6

 C6 10

 D6 12

[26]以下程序的输出结果是( )。

#include <stdio.h>

void main()

{

  unsigned char a,b;

  a=0x0a|3;

  b=0x0a&3;

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

}

【答  案】B

【分  数】1

【选  项】

 A2 11

 B11 2

 C7 13

 D13 7

[27]、以下选项中,能定义s为合法的结构体变量的是( )。

【答  案】C

【分  数】1

【选  项】

 Atypedef struct abc

     { double a;

        char b[10];

     }s;

 Bstruct ABC

     { double a;

        char b[10];

     }

     ABC s;

Cstruct abc

     { double a;

        char b[10];

     }s;

 Dtypedef ABC

     { double a;

        char b[10];

     }

     ABC s;

[28]、以下程序的输出结果是( )。

main()

{

  int a=0,j;

  for(j=0;j<4;j++) {

switch(j) {  

  case 0:

  case 3:a+=2;

      case 1:

      case 2:a+=3;

      default:a+=5;

   }

  }

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

}

【答  案】D

【分  数】1

【选  项】

 A10

 B13

 C20

 D36

[29]、以下程序功能为输入1个正整数n计算并输出表达式s的前n项的和s=1/2-2/3+3/4-4/5+ ……(-1)n/(n+1)。其中下划线处应填入的正确语句为( )。

#include "stdio.h"

void main()

{ int k, flag=1, n;

  float s=0;

  scanf("%d", &n);

  for (k=1; k<=n; k++){

      s=s+______;

      flag=-flag;

  }

  printf("sum=%f\n", s);

}

【答  案】A

【分  数】1

【选  项】

 A1.0*k/(k+1)* flag

 Bflag*n/(n+1)

 C-k/(k+1)

 D1.0*k/(k+1)

[30]、有以下函数:char *fun(char *p){return p;},该函数的返回值为( )。

【答  案】B

【分  数】1

【选  项】

 A、不确定值

 B、参数p中存放的地址值

 C、一个临时存储单元的地址值

 D、形参p自身的地址值

[31]以下程序运行后的输出结果是( )。

main()

{ 

  int a,b;

  a=50;b=90;

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

}

【答  案】A

【分  数】1

【选  项】

 A90

 B50 90

 C50

 D100

[32]int x=-20; printf("%d\n",~x);

以上程序段的输出结果是( )

【答  案】A

【分  数】1

【选  项】

 A19

 B20

 C21

 D-1

[33]、若以下程序所生成的可执行文件名为file1.exe,当输入命令行:FILE1 CHINA BEIJING SHANGHAI,执行该程序时程序的输出结果是( )。 

main(int argc,char * argv []) 

{ while(argc-->1)

  {++argv;printf("%s",*argv);}

}

【答  案】A

【分  数】1

【选  项】

 ACHINA BEIJING SHANGHAI

 BFILE1  CHINA  BEIJING

 CC   B   S

 DF   C   B

[34]、下列程序运行后的输出结果是( )。 

fun(int a, int b)

{ if(a>b) return(b);

  else return(a);

}

main()

{ int x=3, y=8, z=6, r;

  r=fun(fun(x,y), 2*z);

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

}

【答  案】A

【分  数】1

【选  项】

 A3

 B6

 C8

 D12

[35]、有如下程序 

long f(int n) 

{ if(n>2)  return(f(n-2)+f(n-3)); 

  else  

  if(n==2)  return(2);

  else      return(1); } 

main() 

{ printf("%d\n",f(6)); }

该程序的输出结果是( )。

【答  案】C

【分  数】1

【选  项】

 A3

 B4

 C5

 D6

[36]、在C程序中有如下语句:char *func(int xint y); 下列说法正确的是( )。

【答  案】C

【分  数】1

【选  项】

 A该语句表示对函数func的定义

 B该语句表示对函数func的调用

 C该语句表示对函数func的原型说明

 D该语句是不合法的

[37]以下程序的输出结果是( )。

#include <stdio.h>

main()

{ 

  int w[4]={8,20},*p; 

  p= w;

  p++;

  printf("%d\n",*(++p));

}

【答  案】A

【分  数】1

【选  项】

 A0

 B8

 C20

 D、不定

[38]以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。

【答  案】C

【分  数】1

【选  项】

Achar s[10]="abcdefg";  

Bchar t[]="abcdefg",*s=t;

Cchar s[10];s="abcdefg";  

Dchar s[10];strcpy(s,"abcdefg");

[39]、以下程序将输出的字符是( )。

#include "stdio.h"

main()

  char c;

  char (*p)[3];

  char s[2][3] ={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’};

  p=&s[0];

  c=*(p[1]+1);

  printf("%c",c);

}

【答  案】C

【分  数】1

【选  项】

 Ab

 Bd

 Ce

 Df

[40]以下程序的输出结果是( )。

#include <stdio.h>

main(){

  struct st {

    int x;int y;

  }cnum[2]={1,3,2,7};

  printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);

}

【答  案】D

【分  数】1

【选  项】

A0

B1

 C3

 D6

[41]、若a是整型变量,则表达式~(a^~a)等价于( )。

【答  案】B

【分  数】1

【选  项】

 A~a

 B0

 C1

 D2

[42]、在C语言中,有关隐含存储类别的说法,正确的是( )。

【答  案】C

【分  数】1

【选  项】

 A函数的隐含存储类别是auto

 B函数的隐含存储类别是static

 C函数的隐含存储类别是extern

 D函数没有隐含存储类别

[43]、以下函数fun( )是求两个正整数的最大公约数,其中下划线处应填入的正确语句( )。

int fun(m,n)

int m,n;

{

  int r;

  if(m<n) {r=m;m=n;n=r;}

  if(n= =0) return(m);

  do{ r=m%n;

      if (r!=0){ m=n;n=r;}

  } while (______);

  return(n);

}

【答  案】A

【分  数】1

【选  项】

 Ar!=0

 Br==0

 Cn!=0

 Dn==0

[44]、若调用fputc函数输出字符成功,则其返回值是( )。

【答  案】D

【分  数】1

【选  项】

AEOF

B0

C1

D、输出的字符

[45]、在32PC机上使用C语言时,若有以下定义:

union data

{ int I;

char ch;

double f;}b;

则共用体变量b占用内存的字节数是( )

【答  案】C

【分  数】1

【选  项】

 A2

 B4

 C8

 D12 

[46]、语句printf(“%d\n”,strlen(“xyz\t\xab\3\\\x67”));的输出结果是( )。

【答  案】B

【分  数】1

【选  项】

 A7

 B8

 C9

 D11

[47]下列用于printf函数的控制字符常量中,代表退格的是( )。

【答  案】A

【分  数】1

【选  项】

 A'\b'

 B'\t'

 C'\r'

 D'\n'

[48]、以下关于枚举的程序,其运行结果是( )。

#include "stdio.h" 

main()

  enum weekday

  { sun,mon,tue=5,wed,thu,fri,sat } a,b,c,d;

  a=sun;

  b=mon;

  c=tue;

  d=wed;

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

}

【答  案】C

【分  数】1

【选  项】

 A0 0 5 0

 B1 2 5 4

 C0 1 5 6

 D0 1 5 3

[49]、以下是关于文件读写操作的程序,其屏幕输出是( )。

#include <stdio.h>

void main()

{

  FILE*fp;int i,a[4]={1,2,3,4},b;

  fp=fopen("data.dat","wb");

  for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);

  fclose(fp);

  fp=fopen("data.dat","rb");

  fseek(fp,-2L*sizeof(int),SEEK_END);

  fread(&b,sizeof(int),1,fp);

  fclose(fp);

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

}

【答  案】C

【分  数】1

【选  项】

 A1

 B2

 C3

 D4

[50]、以下程序运行后向文件输出的结果是( )。

#include "stdio.h"

void main()

{

  FILE *fp;

  fp=fopen("test.txt","wb");

  fprintf(fp,"%d%.1f,%c%c",5,238.41,‘B’,‘h’);

  fclose(fp);

}

【答  案】B

【分  数】1

【选  项】

 A5 238.41 B h

 B5238.4,Bh

 C5,238.4,B,h

 D5238.41Bh

[51]下程序中,if (i>j)语句执行的次数共( )

main()

{ int i=0,j=14,k=2,s=0;

  for(;;)

   { i+= k ;

     if(i>j)

     { printf("%d",s);

       break ;

    }

    s+=i ;

  }

}

【答  案】C

【分  数】1

【选  项】

 A6

 B7

 C8

 D9

[52]、若执行fopen函数时发生错误,则函数的返回值是( )。

【答  案】D

【分  数】1

【选  项】

 A、地址值

 B0

 C1

 DEOF

[53]、有以下程序:

main()

{ char str[ ][8]={ "Hello","Beijing"},*p=str;

  printf("%s\n",p+4);}

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

【答  案】C

【分  数】1

【选  项】

 AHello

 BBeijing

 Co

 DoBeijing

[54]、下列函数调用语句中含有( )个参数。

func(((f1,f2),(f2,f3)),(f5,f6,f7),f8)

【答  案】A

【分  数】1

【选  项】

 A3

 B5

 C6

 D7

[55]、下列程序中函数sort的功能是对a数组中的数据进行由大到小的排序:

void sort(int a[ ],int n)

{ int i,j,t;

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

  for(j=i+1;j<n;j++)

  if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}

}

main()

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

  sort(&aa[2],5);

  for(i=0;i<10;i++)printf("%d,",aa[i]);

  printf(“\n”);

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

【答  案】B

【分  数】1

【选  项】

 A12345678910

 B12765438910

 C12109876543

 D10987654321

[56]、下列程序的运行结果是( )。

main()

{ char arr[2][4];

  strcpy(arr, "hello");strcpy(arr[1], "ABC");

  printf("%s\n",arr);}

【答  案】C

【分  数】1

【选  项】

 AhelloABC

 Bhell

 ChellABC

 Dattr

[57]、程序中对fun函数有如下说明: 

int *fun();

下面说法正确的是( )

【答  案】D

【分  数】1

【选  项】

Afun函数是整型函数

B、指针fun指向一个函数,该函数返回整型数据

Cfun函数的返回值是整型数据

Dfun函数的返回值是指向整型数据的指针类型

[58]、下列程序的输出结果是( )。

main()

{

int k=4,m=5,n=7;

int *pk=&k,*pm=&m,*p;

*(p=&n)=++*pk*(*pm++);

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

}

【答  案】C

【分  数】1

【选  项】

 A20

 B21

 C25

 D30

[59]以下函数的输出结果是( )

#define P 3

#define F(x) (P*x*x)

main()

{ printf("%d\n",F(3+5)); }

【答  案】B

【分  数】1

【选  项】

 A192

 B29

 C25

 D、编译出错

[60]下列程序的输出结果是( )。

#include <stdio.h>

#include <string.h>

void main()

{

char p1[20]="abcd",p2[20]="ABCD";

char str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

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

}

【答  案】D

【分  数】1

【选  项】

 AxyabcAB

 BabcABz

 CAbabcz

 DxycdBCD

二、多选题(20题,2/题,共40分)

[1]若有以下定义和语句:int w[2][3], (*pw)[3]; pw=w; 

则对w数组元素的正确引用有( )。

【答  案】ABD

【分  数】2

【选  项】

 A*(w[0]+2)

 Bpw[0][0]

 C*pw[2]

 D*(pw[1]+2)

[2]、设有如下定义:

 char *s[2]={ "abcd""ABCD"};

 char **p=s;

则下列说法正确的有( )。

【答  案】ACD

【分  数】2

【选  项】

 As数组元素的值分别是"abcd""ABCD"两个字符串的首地址

 Bs数组的两个元素分别存放的是含有四个字符的一维字符数组中的元素

 Cp是指向指针数据的指针变量

 Dp中存放的是数组s的首地址

[3]设有说明int k=7,x=12; 则以下语句执行后,x值为0的有( )。

【答  案】AC

【分  数】2

【选  项】

 Ax%=(k%5);

 Bx%=(k-k%5);

 Cx%=k-k/5;

 Dx=(x%=k)-(k%=5);

[4]已知有定义static int b[5], a[2][3]={1,2,3,4,5,6};则以下说法正确的有( )。

【答  案】AD

【分  数】2

【选  项】

 Ab中元素值为0

 Bb中元素没有定义,值不确定

 Ca[1][1]=4

 Da[1][1]=5

[5]函数调用时,下列说法中正确的有( )。

【答  案】BCD

【分  数】2

【选  项】

 A、若用值传递方式,则形式参数不予分配内存

 B、实际参数和形式参数可以同名

 C、主调函数和被调用函数可以不在同一个文件中

 D、函数间传递数据可以使用全局变量

[6]、下列说法中正确的有( )。

【答  案】AD

【分  数】2

【选  项】

 A、递归函数的形参是自动变量

 B、有些递归函数是不能用非递归算法来实现的

 CC语言不允许这样的函数调用:函数A调用了函数B,而函数B又调用了函数A

 DC语言不允许函数的嵌套定义

[7]、设有如下代码:

struct str{

  int no; 

  char *name;

}node;

char buf[100];

以下代码能为node变量输入值的有( )

【答  案】CD

【分  数】2

【选  项】

 Ascanf("%d%s", node.no, node.name);

 Bscanf("%d%s", &node.no, &node.name);

 Cscanf("%d%s", &node.no, buf);

     node.name = new char(strlen(buf)+1);

     strcpy(node.name, buf);

 Dscanf("%d%s", &node.no, buf);

     node.name = (char *)malloc(strlen(buf)+1);

     strcpy(node.name, buf);

[8]、以下关于枚举类型的用法中,正确的有( )。

【答  案】BC

【分  数】2

【选  项】

 Aenum a {1,2,3};

 Benum a {a,b,c};

 Cenum a {a,b,c}d;

 Denum a {a,b,c}a;

[9]、已知有定义:

struct{

  int no;

  char name[20];

}a,b,*c;

则以下语句合法的有( )

【答  案】ACD

【分  数】2

【选  项】

 Aa=b;

 Ba=&b;

 Cc=&b;

 D*c=b

[10]、以下关于结构类型变量的定义正确的有( )。

【答  案】CD

【分  数】2

【选  项】

 Astruct data{

      int num;

      float price;

    }&book;

 Bstruct data{

      int num;

      float price;

    }book;

    book b;

 Cstruct data{

      int num;

      float price;

    }book;

    struct data &d=book;

 Dtypedef struct data{

      int num;

      float price;

    }book;

    book b;

[11]、设有结构类型:

typedef struct str{

  int no; 

  char name[20];

}STR;

另有变量定义:STR a[20], x;

以下语句希望实现“向与文件指针变量fp关联的文件输出一个结构信息”,正确的有( )

【答  案】ABC

【分  数】2

【选  项】

 Afwrite(a, sizeof(STR), 1, fp);

 Bfwrite(&a[2], sizeof(STR), 1, fp);

 Cfwrite(&x, sizeof(STR), 1, fp);

 Dfwrite(x, sizeof(STR), 1, fp);

[12]、以下对C语言中共用体类型数据的叙述正确的有( )。

【答  案】BC

【分  数】2

【选  项】

 A、可以对共用体变量名直接赋值

 B、不能在定义共用体类型变量时对它初始化

 C、一个共用体变量中不能同时存放其所有成员

 D、共用体类型定义中不能出现结构体类型的成员

[13]、关于以下运算,说法正确的有( )。

【答  案】BD

【分  数】2

【选  项】

 A、设有宏定义"#define F(N) 2*N",则表达式F(2+3)的值是10

 B、设int x=4;则执行语句x+=x*= x+1;后,x的值为40

 C、设int a, b=8;执行a=b<<2 + 1;后,a的值是33

 D、设int a[3][4], *p=a[1]; 该指针变量p指向的元素是a[1][0]

[14]、以下宏定义存在二义性的有( )。

【答  案】ABC

【分  数】2

【选  项】

 A#define SQR(x) (x*x)

 B#define M(a, b) (a)>(b)?(a):(b)

 C#define ADD(a,b) (a+b)

 D#define RND8(x) ((((x) + 7)/8)*8)

[15]、若在程序中用到"putchar()""strlen()""strtoupper()"函数,则以下说法正确的有( )。

【答  案】ACD

【分  数】2

【选  项】

 A、使用putchar()需要包含头文件"stdio.h"

 B、使用putchar()需要包含头文件"stdlib.h"

 C、使用toupper()需要包含头文件"ctype.h"

 D、使用strlen()需要包含头文件"string.h"

[16]、以下定义不合法的有( )。

【答  案】ABC

【分  数】2

【选  项】

 Achar s="string";

 Bint a[5]={0,1,2,3,4,5};

 Cchar s[5]="string";

 Dchar a[]={0,1,2,3,4,5};

[17]、有以下定义:char a[10],*b=a; 则能给a数组输入字符串的语句有( )。

【答  案】ACD

【分  数】2

【选  项】

 Agets(a);

 Bgets(a[0]);

 Cgets(&a[0]);

 Dgets(b);

[18]、下面程序中存在错误的有( )(每行程序前面的数字表示行号

main()

{

float a[10]={0.0};

int i;

for(i=0;i<3;i++) scanf("%d",a[1]);

for(i=0;i<=10;i++) a[0] = a[0] + a[i];

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

}

【答  案】BC

【分  数】2

【选  项】

 A、第3

 B、第5

 C、第6

 D、第7

[19]、关于下列程序的输入与输出,说法正确的有( )。

#include <stdio.h>

void main()

{

  int m,n;

  printf"Enter m,n";

  scanf"%d,%d",&m,&n;

whilem!=n{

whilem>nm-=n;

    whilen>mn-=m;

  }

  printf"m=%d\n",m;

}

【答  案】CD

【分  数】2

【选  项】

 A、输入m>n时,程序将输出1

 B、输入m<n时,程序将输出1

 C、输入m,n满足m%n等于0,且m>n时,程序输出n的值

 D、输入mn0时,程序将陷入死循环

[20]、以下叙述正确的有( )。

【答  案】ABC

【分  数】2

【选  项】

 A、在不同的函数中可以使用相同名字的变量

 B、函数中的形式参数是局部变量

 C、在一个函数内定义的变量只在本函数范围内有效

 D、在一个函数内的复合语句中定义的变量在本函数范围内有效

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值