c语言基础练习题及答案.docx

上传人:b****2 文档编号:2257801 上传时间:2022-10-28 格式:DOCX 页数:37 大小:31.19KB
下载 相关 举报
c语言基础练习题及答案.docx_第1页
第1页 / 共37页
c语言基础练习题及答案.docx_第2页
第2页 / 共37页
c语言基础练习题及答案.docx_第3页
第3页 / 共37页
c语言基础练习题及答案.docx_第4页
第4页 / 共37页
c语言基础练习题及答案.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

c语言基础练习题及答案.docx

《c语言基础练习题及答案.docx》由会员分享,可在线阅读,更多相关《c语言基础练习题及答案.docx(37页珍藏版)》请在冰豆网上搜索。

c语言基础练习题及答案.docx

c语言基础练习题及答案

c语言根底练习题及答案

  一、单项选择题

  1.C语言源程序文件经过C编译程序编译连接之后生成一个后缀为__C____的文件。

  A、〞.c〞B、“.obj〞C、“.exe〞D、“.bas〞

  2.以下选项中不正确的整型常量是_C____。

  A、12LB、-10C、1,900D、123U

  3.表达式___C___的值是0。

  A、3%5B、3/5.0C、3/5D、3<5

  4.表达式!

(x>0||y>0)等价于__D___。

  A、!

x>0||!

y>0B、!

(x>0)||!

(y>0)C、!

x>0&&!

y>0D、!

(x>0)&&!

(y>0)

  5.假设变量已正确定义并赋值,表达式__D____不符合C语言语法。

  A、4&&3B、+aC、a=b=5D、int(3.14)

  6.假设变量已正确定义,执行语句scanf("%d%d%d",&k1,&k2,&k3);时,___B___是正确的输入。

  A、2030,40B、203040C、20,3040D、20,30,40

  7.执行语句printf(〞__D____〞,2);将得到出错信息。

  A、%dB、%oC、%xD、%f

  8.设变量定义为“ints[]="hello\nworld\n";〞,那么数组s中有__B____个元素。

  A、12B、13C、14D、15

  9.设变量定义为“inta[2]={1,3},*p=&a[0]+1;〞,那么*p的值是___B__。

  A、2B、3C、4D、&a[0]+1

  10.假设变量已正确定义并赋值,表达式-k++等价于__A____。

  A、-(k++)B、(-k)++C、-(k+1)D、-(++k)

  11.在C语言程序中,在函数内部定义的变量称为__D____。

  A、全局变量B、全程变量C、外部变量D、内部变量

  12.假设x是整型变量,表达式(x=10.0/4.0)的值是__D___。

  A、2.5B、2.0C、3D、2

  13.对于以下的变量定义,表达式__A____是正确的。

  structnode{

  chars[10];

  intk;

  }p[4];

  A、p->k=2B、p[0].s=“abc〞C、p[0]->k=2D、p->s=‘a’

  14.以下运算符中,优先级从高到低依次为__D___。

  A、&&,!

,||B、||,&&,!

C、&&,||,!

D、!

,&&,||

  15.以下程序段的输出结果是__B___。

  int*p,*q,k=1,j=10;

  p=&j;q=&k;p=q;(*p)++;

  printf("%d",*q);

  A、1B、2C、10D、11

  16.以下各选项企图说明一种新的类型名,其中正确的选项是水量〔C〕

    A)typedefv1int;B)typedefv2=int;

    C)typedefv1intv3;D)typedefv4:

int;

  17.以下选项中,非法的字符常量是〔C〕

    A)‘\t’B)‘\17’C〕“n〞D)‘\xaa’

  18.以下程序的输出结果是〔C〕

    main()

    {inti,a[10];

    for(i=9;i>=0;i--)a[i]=10-i;

    printf(“%d%d%d〞,a[2],a[5],a[8]);

    }

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

  19.以下程序的输出结果是〔B〕

    main()

    {charst[20]=“hello\0\t\\\〞;

    printf(%d%d\n〞,strlen(st),sizeof(st));

    }

    A)99B)520C)1320D)2020

  20.以下程序的输出结果是〔D〕

    main()

    {inta,b;

    for(a=1,b=1;a<=100;a++)

    {if(b>=10)break;

    if(b%3==1)

    {b+=3;continue;}

    }

    printf(“%d\n〞,a);

    }

    A)101B)6C)5D)4

  21.以下程序的输出结果是〔D〕

    unionmyun

    {struct

    {intx,y,z;}u;

    intk;

    }a;

    main()

    {a.u.x=4;a.u.y=5;a.u.z=6;

    a.k=0;

    printf(%d\n〞,a.u.x);

    }

    A)4B)5C)6D)0

  22.以下程序段的输出结果是(A)

    chars[]="\\141\141abc\t";

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

    A)9B)12C)13D)14

  23.以下程序的输出结果是(B)

    main()

    {charch[3][5]={"AAAA","BBB","CC"};

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

    }

    A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"

  24.不合法的main函数命令行参数表示形式是(C)

    A)main(inta,char*c[])B)main(intarc,char**arv)

    C)main(intargc,char*argv)D)main(intargv,char*argc[])

  25.有以下程序

    main()

    {char*s[]={"one","two","three"},*p;

    p=s[1];

    printf("%c,%s\n",*(p+1),s[0]);

    }

    执行后输出结果是(C)

    A)n,twoB)t,oneC)w,oneD)o,two

  26.设有如下说明

    typedefstruct

    {intn;charc;doublex;}STD;

    那么以下选项中,能正确定义结构体数组并赋初值的语句是(A)

    A)STDtt[2]={{1,'A',62},{2,'B',75}};

    B)STDtt[2]={1,"A",62},2,"B",75};

    C)structtt[2]={{1,'A'},{2,'B'}};

    D)structtt[2]={{1,"A",62.5},{2,"B",75.0}};

  27.假设变量c为char类型,那么能正确判断出c为小写字母的表达式是〔D〕。

  A)'a'<=c<='z'B)(c>='a')||(c<='z')

  C)('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z')

  二、填空题

  1.设ch是字符型变量,判断ch为英文字母的表达式是:

  (ch>=’A’&&ch,=’Z’)||(ch>=’a’&&ch<=’z’)__。

  2.计算以下分段函数的if语句是_if(x>0)y=1;elseif(x=0)y=0;elsey=-1;___。

  1x>0

  y=0x=0

  -1x<0

  3.表达式!

!

5的值是__1____。

  4.以下程序段的输出结果是___12___。

  printf("%xn",(0x19<<1)&0x17);

  5.以下程序段的输出结果是__k=4s=6___。

  intk,s;

  for(k=0,s=0;k<10;k++)

  if(s>k)break;

  elses+=k;

  printf("k=%ds=%d",k,s);

  6.以下程序段的输出结果是__15___。

  #defineMIN(x,y)(x)<(y)?

(x):

(y)

  printf("%d",10*MIN(10,15));

  7.以下程序在运行时可能会出错,原因是__指针变量s未赋初值____。

  #include

  voidmain()

  {char*s;

  gets(s);

  puts(s);

  }

  8.以下程序段的输出是___60__。

  #include

  intf(intm)

  {staticintk=0;

  ints=0;

  for(;k<=m;k++)s++;

  returns;

  }

  voidmain()

  {ints1,s2;

  s1=f(5);

  s2=f(3);

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

  }

  9.以下程序段的输出结果是__fgh___。

  char*st[]={"abcd","efgh","ijkl","mnop"};

  printf("%s",*(st+1)+1);

  10.用typedef定义一个含10个元素的整型数组ARR。

  typedefintARR[10];

  11.以下程序调用findmax函数返回数组中的最大值,请填空。

    findmax(int*a,intn)

    {int*p,*s;

    for(p=a,s=a;p-a

    if(*p>*s)s=p;

    return(*s);

    }

   main()

    {intx[5]={12,21,13,6,18};

    printf("%d\n",findmax(x,5));

    }

  

  

  三、程序(段)填空题

  1.设变量x,y,z已正确定义和赋值,请仔细阅读程序段A,然后在程序段B中填入正确的内容,使程序段A和程序段B有相同的功能。

  程序段A程序段B

  x=x+y;

  y=x-y;

  x=x-y;

  z=x+y;z=x;

  x=y;

  y=z;

  z=x+y;

  2.请仔细阅读函数f1,然后在函数f2中填入正确的内容,使函数f1和函数f2有相同的功能。

  char*f1(chars[],chart[])

  {intk;

  for(k=0;t[k]!

='';k++)

  s[k]=t[k];

  s[k]='';

  returns;

  }

  char*f2(char*s,char*t)

  {char*p=s;

  while((*p++=*t++)!

='')

  ;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1