C填空编程题.docx

上传人:b****2 文档编号:18178633 上传时间:2023-04-24 格式:DOCX 页数:45 大小:28.42KB
下载 相关 举报
C填空编程题.docx_第1页
第1页 / 共45页
C填空编程题.docx_第2页
第2页 / 共45页
C填空编程题.docx_第3页
第3页 / 共45页
C填空编程题.docx_第4页
第4页 / 共45页
C填空编程题.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

C填空编程题.docx

《C填空编程题.docx》由会员分享,可在线阅读,更多相关《C填空编程题.docx(45页珍藏版)》请在冰豆网上搜索。

C填空编程题.docx

C填空编程题

  C填空题

  

  1.若有定义语句:

ints=6;则表达式s%2+(s+1)%2的值为[<1>]。

  2.在C语言中,&作为单目运算符时表示的是[<取地址>]。

  3.若已知:

a=1,b=2,则表达式:

!

(a]。

  4.若s是int型变量,且s=8,则s%3+(s+1)%3表达式的值为[<2>]。

  5.若x和n均是int型变量,且x=12,n=5,则执行y=x%=(n%=2)表达式后y的值为[<0>]。

  6.若a的值为1,则表达式!

a||++a的值是[<1>]。

  7.C语言所提供的基本数据类型包括:

单精度型、双精度型、整型、[<字符型>]和枚举类型。

  8.设有定义:

floatx=123.4567;,则执行下列语句后的输出结果是[<123.460000>]printf("%f\n",(int)(x*100+0.5)/100.0);

  9.若变量已正确定义为整型,则表达式n=i=2,++i,i++的值是[<3>]。

  10.在C语言中的赋值表达式中,赋值号左边须是[<变量>]。

  11.若有定义语句:

intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为[<1>]

  12.C语言中逻辑运算符[

>]的优先级高于算术运算符。

  13.运算符%两侧运算量的数据类型必须都是[<整型>].

  14.C语言源程序的后缀是[<.c>]。

  15.C语言中的标识符只能由3种字符组成,它们是字母、数字、[<下划线>]。

  16.C语言中用[<非0>]表示逻辑"真".

  17.在C语言中,用“\”开头的字符序列称为转义字符,转义字符“\n”的功能是[<换行>]。

  18.在C语言中,用关键字[]定义单精度实型变量.

  19.C语言中,用[<0>]表示逻辑值"假"。

  20.C语言源程序经过编译后,生成文件的后缀是[<.obj>]。

  21.C语言源程序连接后生成文件的后缀是[<.exe>]。

  22.空语句的形式是[<;>]。

  23.若有定义:

intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为[<1>]

  (x+y)%2+(int)a/(int)b

  24.若a是int型变量,则计算表达式后,a的值为[<2>]

  a=25/3%3

  25.在C语言中的实型变量分为两种类型,它们是float和[]。

  26.结构化程序由[<顺序、选择、循环>]三种基本结构组成。

  27.运算符++和--的运算量必须是[<变量>]。

  28.一个int型数据在内存中所占的字节数为[<2>].

  29.在C语言中,用关键字[]定义双精度实型变量.

  30.在C语言中,用关键字[]定义字符型变量。

  31.在TurboC环境中用RUN命令运行一个C程序时,所运行的程序的后缀是[<.exe>]。

  32.在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为[<1>].

  33.当a=1,b=2,c=3时,以下if语句执行后,a、b、c中的值分别为[<3、2、2>]。

  if(a>c)

  b=a;a=c;c=b;

  34.已知字母A的ASCII值为65,下列程序运行后的输出结果是[<67G>]

  main()

  {chara,b;

  a='A'+'5'-'3';b=a+'6'-'2';

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

  }

  35.若有定义:

inta=4,b=5,c=6;接着顺序执行下列语句后,变量b中的值是[<1>]。

  c=(a-=(b-5));

  c=(a%3)+(b=1);

  36.复合语句在语法上被认为是[<一条语句>]。

  37.执行下列程序时,输入1234567,则输出结果是[<1234>]。

  #include

  main()

  {inta=1,b;

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

  }

  38.若变量a和b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句[]。

  39.C语句的最后用[<;>]结束。

  40.变量i,j,k已定义为int类型并有初值0,用以下语句进行输入时

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

  当执行第一个输入语句,从键盘输入:

  12.3

表示回车)

  则变量i,j,k的值分别是[<12,0,0>]。

  41.下列程序运行后的输出结果是[<10200>]。

  main()

  {inta,b,c;

  a=10;b=20;c=(a%b<1)||(a/b>1);

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

  }

  42.C语言中结束本次循环的语句是[]。

  43.以下程序段的输出结果是[<死循环>]

  intk,n,m;

  n=10;m=1;k=1;

  while(k<=n)m*=2;

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

  44.已有定义:

charc='';inta=1,b;执行b!

=c&&a;后b的值为[<0>]。

  45.以下程序的输出结果是[<-1>]

  main()

  {

  intx=2;

  while(x--);

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

  }

  46.下列程序的输出结果是[<1>]。

  main()

  {intx,a=1,b=2,c=3,d=4;

  x=(a

a:

b;x=(x

x:

c;x=(d>x)?

x:

d;

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

  }

  47.for(;;)语句相当于while([<1>])。

  48.下列程序的输出结果是[<1>]。

  main()

  {inta=1,b=2,c=3;

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

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

  }

  }

  49.C语言中至少执行一次循环体的循环语句是[]。

  50.结构化程序设计规定的三种基本结构是顺序结构,选择结构和[<循环>]结构。

  51.C语言中终止整个循环的语句是[]。

  52.若a,b均为整型变量,则以下语句的功能是[<交换a,b的值>]

  a+=b;b=a-b;a-=b;

  53.在C语言中,表示逻辑"真"值使用整型值[<1>]

  54.设inta[2][3]={{5},{6}};则数组元素[]的值为5。

  55.若有定义:

doublea[5],则a数组的长度为[<5>]。

  56.若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为[<0>]。

  57.如果在程序中调用了strcat函数,则需要预处理命令[<#include>]。

  58.欲将字符串S1复制到字符串S2中,其语句是[]。

  59.C语言中数组的下标总是从[<0>]开始,不可以为负数。

  60.strcmp("how","How")的值是[<32或者>0>]

  61.若有定义inta[3][5];则排列在数组中的第九个元素是[]

  62.C语言中构成数组各个元素具有相同的[<数据类型>]。

  63.字符串是以[<\0>]为结束标志的一维字符数组。

  64.若有定义:

intb[2][3],则b数组中列下标的上限为[<2>]。

  65.C语言中字符串结束的标志是[<'\0'>]

  66.设inta[2][3]={{2},{3}};则数组元素[]的值为3。

  67.strlen("Howareyou\n")的值是[<12>]

  68.若有定义:

doublex[3][5],则x数组中行下标的上限为[<2>]。

  69.写出一个名为s的单精度实型一维数组,长度是6,所有元素初值均为0,其数组定义语句是[]

  70.设有定义语句:

inta[][3]={{0},{1},{3}},则数组元素a[1][2]是[<0>]

  71.若自定义函数要求返回一个值,则应在该函数体中有一条[<带表达式的return>]语句.

  72.若用数组名作为函数调用的实参,传递给形参的将是数组的[<首地址>]。

  73.C语言规定,简单变量作实参时,和它对应的参数之间的传递方式是[<值传递>]。

  74.若自定义函数要求不返回一个值,则应在该函数说明时加一个类型符[]。

  75.全局的外部变量和函数体内定义的局部变量重名时,[<函数的局部>]变量优先。

  76.函数中的形参和调用时的实参都是变量时,传递方式为[<值传递方式>]。

  77.C程序中的一个函数由两部分组成,即声明部分和[<执行部分>]

  78.函数的形式参数的作用域为[<定义它的函数>].

  79.函数中的形参和调用时的实参都是数组名时,传递方式为[<传地址方式>]。

  80.C语言程序执行的开始处是[]

  81.假定在同一个编译单位中,函数a()调用了函数b(),则对函数b()不需要说明的情况有下列两种:

b()函数的定义地点在a()函数定义地点之前和[]。

  82.函数可以嵌套调用,但是不可以嵌套[<定义>]。

  83.为了保证被调用函数不返回任何值,其函数定义的类型应为[]

  84.若有定义inti;int*p=&i;则*&i等价于[]。

  85.指针变量作为函数的参数时,实参与形参之间传递的是[<地址>]。

  86.语句int*p中,指针变量名为[

]。

  87.执行语句inti=2;int*p;p=&i;后,*p的值为[<2>]。

  88.设有char*a="ABCD",则printf("%c",*a)的输出是[]。

  89.若d是已定义的双精度变量,再定义一个指向d的指针变量p的代码是[]。

  90.设inta[10],*p=a;则对a[3]的引用可以是p[3]和*(p[<+3>])

  91."*"称为[<取内容运算符>]运算符.

  92.设有char*a="ABCD",则printf("%s",a)的输出是[]。

  93."&"称为[<取地址运算符>]运算符。

  94.以下程序的输出结果是[<35>]。

  #include

  voidswap(int*a,int*b)

  {

  int*t;

  t=a;a=b;b=t;

  }

  main()

  {

  inti=3,j=5,*p=&i,*q=&j;

  swap(p,q);printf("%d%d",*p,*q);

  }

  95.若有定义inti;int*p=&i;则&*p等价于[

]。

  96.以下程序的输出结果是[<4>]。

  #include

  main()

  {

  inta[5]={2,4,6,8,10},*p;

  p=a;p++;

  printf("%d",*p);

  }

  97.有下列程序段,且变量已正确定义和赋值:

  for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));

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

  请填空,使下列程序段的功能与之完全相同。

  s=1.0;k=1;

  while([]){s=s+1.0/(k*(k+1));[];}

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

  98.下列程序中,fun()函数的功能是计算x^2-2x+6,主函数中将调用fun()函数计算:

  y1=(x+8)^2-2(x+8)+6

  y2=sin^2(x)-2sin(x)+6

  请填空。

  #include"math.h"

  doublefun(doublex){return(x*x-2*x+6);}

  main()

  {doublex,y1,y2;

  printf("Enterx:

");

  scanf("%lf",&x);

  y1=fun([]);

  y2=fun([]);

  printf("y1=%lf,y2=%lf\n",y1,y2);

  }

  99.下列程序用于判断a、b、c能否构成三角形,若能输出YES,否则输出NO。

请填空。

  main()

  {floata,b,c;

  scanf("&f&f&f",&a,&b,&c);

  if([<(a+b>c)&&(a+c>b)&&(b+c>a)>])printf("YES\n");

  elseprintf("NO\n");

  }

  100.从键盘输入一个字符,并将其输出,完成填空。

  main()

  {charc;

  c=[];

  putchar[];

  }

  101.下列程序的输出结果是[<0235>]

  main()

  {intk=5,n=0;

  do

  {switch(k)

  {case1:

case3:

n+=1;k--;break;

  default:

n=0;k--;

  case2:

case4:

n+=2;k--;break;

  }

  printf("%d",n);

  }while(k>0&&n<5);

  }

  102.下列程序的输出结果是[<2,2,0>]

  main()

  {inta=-5,b=1,c=1;

  intx=0,y=2,z=0;

  if(c>0)x=x+y;

  if(a<=0)

  {if(b>0)

  if(c<=0)y=x-y;

  }

  elseif(c>0)y=x-y;

  elsez=y;

  printf("%d,&d,&d\n",x,y,z);

  }

  103.下列程序的输出结果是[<25>]

  main()

  {inti;

  for(i=1;i<=10;i++)

  {if((i*i>=20)&&(i*i<=100))

  break;

  }

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

  }

  104.下列程序的功能是:

将输入的正整数按逆序输出。

例如,如输入135则输出531,请填空。

  main()

  {intn,s;

  scanf("%d",&n);

  do

  {s=n%10;printf("%d",s);[];}

  while(n!

=0);

  }

  105.下列程序的功能是计算:

s=1+12+123+1234+12345.请填空。

  main()

  {intt=0,s=0,i;

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

  {t=i+[];s=s+t;}

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

  }

  106.输出已知数组中的所有偶数,完成填空。

  main()

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

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

  if[]

  printf(“%d\n”,[]);

  }

  107.输入数组的值,并输出,完成填空。

  main()

  {inta[6],i;

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

  scanf(“%d”,[<&a[i]>]);

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

  printf(“%d\n”,[]);

  }

  108.下列程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个输出,请填空。

  main()

  {inta[10],b[10],i;

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

  scanf("%d",&a[i]);

  for(i=1;i<10;i++)

  []

  for(i=1;i<10;i++)

  {printf("%d",b[i-1]);

  if(i%4==0)printf("\n");

  }

  }

  109.有下列程序:

  intsub(intn){return(n/10+n%10);}

  main()

  {intx,y;

  scanf("%d",&x);

  y=sub(sub(sub(x)));

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

  }

  若运行时输入:

1234,程序的输出结果是[<10>]。

  110.下面程序将二维数组a的行和列互换后存放到一个二维数组b中,请填空。

  main()

  {inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;

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

  {

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

  []

  }

  }

  111.下列程序的功能是:

求出数组x中各相临两个元素的和依次存放到数组a中,然后输出。

请填空。

  main()

  {intx[10],a[9],i;

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

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

  for([];i<10;i++)

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

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

  printf("%d",a[i]);

  printf("\n");

  }

  112.从键盘输入一个小写字母,改用大写字母输出,完成填空。

  main()

  {charc1,c2;

  c1=[];

  c2=[];

  putchar(c2);}

  113.下列程序计算1到100的整数的累加和,请完善程序

  main()

  {inta,sum=[<0>];

  a=1;

  while([])

  {sum+=a;

  a++;}

  printf(“sum=%d\n”,sum);

  }

  114.下列isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。

请填空。

  intisprime(inta)

  {inti;

  for(i=2;i<=a/2;i++)

  if(a%i==0)[];

  [

(1)>];

  }

  115.以下程序功能是:

从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

请填空。

  main()

  {

  floatx,amax,amin;

  scanf("%f",&x);

  amax=x;

  amin=x;

  while[=0>]

  {

  if(x>amax)amax=x;

  if[]amin=x;

  scanf("%f",&x);

  }

  printf("\namax=%f\namin=%f\n",amax,amin);

  }

  116.以下程序段:

  s=1.0;

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

  s=s+1.0/(k*(k+1))

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

  请填空,使下面的程序段的功能完全与之等同。

  s=0.0

  d=1.0

  k=0;

  do

  {

  s=s+d;

  []

  d=1.0/(k*(k+1));

  }

  while[]

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

  117.以下函数用以求x的y次方。

请填空。

  doublefun(doublex,inty)

  {

  inti;doublez;

  for(i=1;i[<<=y>];i++)

  z=[];

  returnz;

  }

  118.下面pi函数的功能是,根据以下公式返回满足精度ε要求的∏的值。

请填空。

∏/2=1+1/3+(1/3)*(2/5)+(1/3)*(2/5)*(3/7)+(1/3)*(2/5)*(3/7)*(4/9)+...

  doublepi(doubleeps)

  {doubles=0.0,t=1.0;

  intn;

  for([];t>eps;n++)

  {

  s+=t;

  t=n*t/(2*n+1);

  }

  return(2.0*[]);

  }

  119.以下程序的功能是计算s=0!

+1!

+2!

+3!

+...+n!

请填空。

  longf(intn)

  {inti;longs;

  s=1L;

  for(i=1;i<=n;i++)s=[];

  returns;

  }

  main()

  {

  longs;intk,n;

  scanf("%d",&n);

  s=0;

  for(k=0;k<=n;k++)s=s+[];

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

  120.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符'\n'结束循环,请填空.

  intn=0,c;

  c=getchar();

  while([

='\n'>])

  {if([='0'&&c<='9'>])n++;

  c=getchar();

  }

 编程

 1.有一函数:

当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。

编一程序,输入x的值,输出y的值。

#include

intmain()

{

intx,y;

scanf(

展开阅读全文
相关搜索

当前位置:首页 > 解决方案 > 学习计划

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

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