记住c语言一定能过.docx

上传人:b****5 文档编号:5029203 上传时间:2022-12-12 格式:DOCX 页数:30 大小:39.53KB
下载 相关 举报
记住c语言一定能过.docx_第1页
第1页 / 共30页
记住c语言一定能过.docx_第2页
第2页 / 共30页
记住c语言一定能过.docx_第3页
第3页 / 共30页
记住c语言一定能过.docx_第4页
第4页 / 共30页
记住c语言一定能过.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

记住c语言一定能过.docx

《记住c语言一定能过.docx》由会员分享,可在线阅读,更多相关《记住c语言一定能过.docx(30页珍藏版)》请在冰豆网上搜索。

记住c语言一定能过.docx

记住c语言一定能过

记住,c语言一定能过

分享分享是一种美德关闭

1、求1+2+3+……….+100。

(循环)

答案

#include

voidmain()

{

 inti,sum=0;

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

 sum=sum+i;

 printf("%d",sum);

}

2、 求1*2*3*……….*10。

(循环)

答案

voidmain()

{

inti=0,j=1;

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

{

j*=i;

}

printf("%d",j);

return0;

}

3、 输入三个数字,输出他们的最大值。

(if)

答案

#include

voidmain()

{inta,b,c,d;

scanf("%d,%d,%d",&a,&b,&c);

d=max(a,b,c);

printf("max=%d",d);

getch();/*暂停看运行结果*/

}

intmax(intx,inty,intz)

{intu;

if(x>=y&&x>=z)

u=x;

elseif(y>=x&&y>=z)

u=y;

else

u=z;

return(u);

4.用起泡法对十个数据排序(数组实现)

答案

#include

main()

{ inti,j,t;

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

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

  {  for(i=0;i<9-j;i++)

      { if(a[i]>a[i+1])

         {t=a[i];a[i]=a[i+1];a[i+1]=t;

         }

      }

  }

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

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

}

5、输入十个数字,逆序输出。

(数组实现)

答案

#include

main()

{inta[10],i=0;

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

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

printf("\n");

for(i=9;i>=0;i--)

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

}

6输入两个数,交换他们的值并输出。

(元素交换)

答案

#include

intmain()

{

   intm,n,temp;

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

 if(m

 {

 temp=m;

 m=n;

 n=temp;

 }

 printf("%d",m);

   return0;

}

7.输出9*9乘法表。

(双层循环)

答案

#include

voidmain()

{

inti=1;

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

{

 intj=1;

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

 {

  printf("%d*%d=%d",i,j,i*j);

 }

 printf("\n");

}

}

8.输入一行字符,将所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。

输出转变后的这行字符。

答案

#include"stdio.h"

voidmain()

{

   chara[n];

   inti;

   scanf("%s",a);

   printf("大写为:

");

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

   {

      if(a[i]<='z'&&a[i]>='a')

      a[i]=a[i]-32;

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

   }

   printf("\n小写为:

");

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

   {

    a[i]=a[i]+32;

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

   }

}

9、 编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。

输出运算式及运算结果。

(switch)

6.2

#include"stdio.h"

main()

{charc;inti=0,j=0,k=0,l=0;

while((c=getchar())!

=’\n’)

{if(c>=65&&c<=90||c>=97&&c<=122)i++;

elseif(c>=48&&c<=57)j++;

elseif(c==32)k++;

elsel++;}

printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);

}

6.6

#include"math.h"

main()

{intx=100,a,b,c;

while(x>=100&&x<1000){a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b;

if(x==(pow(a,3)+pow(b,3)+pow(c,3)))printf("%5d",x);x++;}

}

6.7

main()

{intm,i,j,s;

for(m=6;m<10000;m++)

{s=1;

for(i=2;i

if(m%i==0)s=s+i;

if(m-s==0)

{printf("%5ditsfastorsare1",m);for(j=2;j

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

}

}

main()

{intm,i,j,s;

for(m=6;m<1000;m++)

{s=m-1;

for(i=2;i

if(m%i==0)s=s-i;

if(s==0)

{printf("%5ditsfastorsare1",m);for(j=2;j

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

}

}

6.8

main()

{inti=1,n;doublet,x=1,y=2,s,sum=0;

scanf("%ld",&n);

while(i<=n){s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}

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

}

11,P128 例6.10(译码)

#include

voidmain()

{

charc;

while((c=getchar())!

='\n')

{

c=c+4;

if(c>'Z'+4||c>'z')

c=c-26;

}

printf("%c",c);

}

printf("\n");

}

12,P111 5.5 5.6(switch)

5.5

#include

main()

{intx,y;

printf("输入x:

");

scanf("%d",&x);

if(x<1)                       

{y=x;

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

}

elseif(x<10)               

{y=2*x-1;

printf("x=%3d,y=2*x-1=%d\n",x,y);

}

else                   

{y=3*x-11;

printf("x=%3d,y=3*x-11=%d\n",x,y);

}

}

5.6

#include

main()

{floatscore;

chargrade;

case2:

printf("请输入学生成绩:

");

scanf("%f",&score);

while(score>100||(score<0)

{printf("\n输入有误,请重新输入:

");

scanf("%f",&score);

}

switch((int)(score/10))

{case10:

case9:

grade=’A’;break;

case8:

grade=’B’;break;

case7:

grade=’C’;break;

case6:

grade=’D’;break;

case5:

case4:

case3:

case1:

case0:

grade=’E’;

}

printf("成绩是%5.1f,相应的等级是%c。

\n",score,grade);

}

 

13,P108 例5.5(一元二次方程求根) 例5.6(求闰年)

5.5

#include

voidmain()

{

intyear,leap;

scanf("%d",&year);

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}

else

leap=1;

}

else

leap=0;

if(leap)

printf("%dis",year);

else

printf("%disnot",year);

printf("aleapyear.\n")

}

5.6

14,P31  例2.17  例2.18

2.17

输出50个学生中成绩高于80分者的学号和成绩

2.18

输出2000——2500年每一年是否闰年

#include

   voidmain()

   {

       intyear;

       year=2000;

     go:

if(((year%4==0)&&(year%100!

=0))||(year%400==0))

          printf("%disrunnian",year);

       if(year<=2500)

          year=year++;

         if(year>2500)

          gotoend;       

     gotogo;

       end:

  getch();

      }

一、选择题

(1)算法的空间复杂度是指

  A)算法程序的长度

  B)算法程序中的指令条数

  C)算法程序所占的存储空间

  D)执行过程中所需要的存储空间

(2)用链表表示线性表的优点是

  A)便于随机存取

  B)花费的存储空间较顺序存储少

  C)便于插入和删除操作

  D)数据元素的物理顺序与逻辑顺序相同

(3)数据结构中,与所使用的计算机无关的是数据的

  A)存储结构

  B)物理结构

  C)逻辑结构

  D)物理和存储结构

(4)结构化程序设计主要强调的是

  A)程序的规模

  B)程序的效率

  C)程序设计语言的先进性

  D)程序易读性

(5)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指

  A)模块间的关系

  B)系统结构部件转换成软件的过程描述

  C)软件层次结构

  D)软件开发过程

(6)检查软件产品是否符合需求定义的过程称为

  A)确认测试

  B)集成测试

  C)验证测试

  D)验收测试

(7)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是

  A)控制流

  B)加工

  C)数据存储

  D)源和潭

(8)应用数据库的主要目的是

  A)解决数据保密问题

  B)解决数据完整性问题

  C)解决数据共享问题

  D)解决数据量大的问题

(9)在数据库设计中,将E-R图转换成关系数据模型的过程属于

  A)需求分析阶段

  B)逻辑设计阶段

  C)概念设计阶段

  D)物理设计阶段

(10)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

其中数据独立性最高的阶段是

  A)数据库系统

  B)文件系统

  C)人工管理

  D)数据项管理

(11)以下叙述中正确的是

  A)构成C程序的基本单位是函数

  B)可以在一个函数中定义另一个函数

  C)main()函数必须放在其他函数之前

  D)C函数定义的格式是K&R格式

(12)结构化程序所规定的三种最基本控制结构是

  A)输入、处理、输出

  B)树形、网形、环形

  C)顺序、选择、循环

  D)主程序、子程序、函数

(13)一个C语言程序是由

  A)一个主程序和若干子程序组成

  B)函数组成

  C)若干过程组成

  D)若干子程序组成

(14)请选出可用作C语言用户标识符的是

  A)void,define,WORD

  B)a3_b3,_123,IF

  C)FOR,--abc,Case

  D)2a,Do,Sizeof

(15)下列各数据类型不属于构造类型的是

  A)枚举型

  B)共用型

  C)结构型

  D)数组型

(16)在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是

  A)a=20000+20000;

  B)a=4000*10;

  C)a=30000+10000;

  D)a=4000L*10L

(17)以下不正确的叙述是

  A)在C程序中,逗号运算符的优先级最低

  B)在C程序中,APH和aph是两个不同的变量

  C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

  D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

(18)sizeof(float)是

  A)一个双精度型表达式

  B)一个整型表达式

  C)一种函数调用

  D)一个不合法的表达式

(19)若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为

  A)4

  B)16

  C)32

  D)52

(20)下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。

  #include

  main()

  {inti=0,j,k;

  do{i++;k=316-13*i;}while(______);

  j=k/11;

  printf("316=13*%d+11*%d",i,j);

  }

  A)k/11

  B)k

  C)k/11==0

  D)k==0

(21)设有定义:

intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是

  A)p=1;

  B)*q=2;

  C)q=p;

  D)*p=5;

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

  #include

  main()

  {inty=10;

  do{y--;}while(--y);

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

  }

  A)-1

  B)1

  C)8

  D)0

(23)下面程序的输出结果是

  main()

  {inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

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

  A)3

  B)4

  C)1

  D)2

(24)有如下程序

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

  int*p=&a[3],b;b=p[5];

  则b的值是

  A)5

  B)6

  C)9

  D)8

(25)设有intx=11;则表达式(x++*1/3)的值是

  A)3

  B)4

  C)11

  D)12

26)请选出以下语句的输出结果

  printf("%d\n",strlen("\t\"\065\xff\n"));

  A)5

  B)14

  C)8

  D)输出项不合法,无正常输出

(27)下列程序的输出结果是

  main()

  {doubled=3.2;intx,y;

  x=1.2;y=(x+3.8)/5.0;

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

  } 

  A)3

  B)3.2

  C)0

  D)3.07

(28)下列程序的输出结果是

  intb=2;

  intfunc(int*a)

  {b+=*a;return(b);}

  main()

  {inta=2,res=2;

  res+=func(&a);

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

  }

  A)4

  B)6

  C)8

  D)10

(29)下面能正确进行字符串赋值操作的是

  A)chars[5]={"ABCDE"};

  B)chars[5]={′A′,′B′,′C′,′D′,′E′};

  C)char*s;s="ABCDE";

  D)char*s;chara;scanf("%s",&s);

(30)执行以下程序后,a,b的值分别为

  main()

  {inta,b,k=4,m=6,*p1=&k,*p2=&m;

  a=p1==&m;

  b=(*p1)/(*p2)+7;

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

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

  }

  A)-1,5

  B)1,6

  C)0,7

  D)4,10

(31)设有数组定义:

chararray[]="China";则数组array所占的空间为

  A)4个字节

  B)5个字节

  C)6个字节

  D)7个字节

(32)若已定义:

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

  其中0≤i≤9,则对a数组元素不正确的引用是

  A)a[p-a]

  B)*(&a[i])

  C)p[i]

  D)a[10]

(33)以下不正确的定义语句是

  A)doublex[5]={2.0,4.0,6.0,8.0,10.0};

  B)inty[5]={0,1,3,5,7,9};

  C)charc1[]={′1′,′2′,′3′,′4′,′5′};

  D)charc2[]={′\x10′,′\xa′,′\x8′};

(34)若有以下程序

  #include 

  inta[]={2,4,6,8};

  main()

  {inti;

  int*p=a;

  for(i=0;i<4;i++)a[i]=*p;

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

  }

  上面程序输出结果是

  A)6

  B)8

  C)4

  D)2

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

  char*format="%s,a=%d,b=%d\n";

  inta=11,b=10;

  a+=b;

  printf(format,"a+=b",a,b);

  A)for,"a+=b",ab

  B)format,"a+=b"

  C)a+=b,a=21,b=10

  D)以上结果都不对

(36)C语言允许函数类型缺省定义,此时函数值隐含的类型是

  A)float

  B)int

  C)long

  D)double

(37)以下程序有语法错误,有关错误原因的正确说法是

  main()

  {intG=5,k;

  voidprt_char();

  ...

  k=prt_char(G);

  ...

  }

  A)语句voidprt_char();有错,它是函数调用语句,不能用void说明

  B)变量名不能使用大写字母

  C)函数说明和函数调用语句之间有矛盾

  D)函数名不能使用下划线

(38)以下叙述中不正确的是

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

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

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

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

(39)有以下程序:

  #include

  unionpw

  {inti;

  charch[2];}a;

  main()

  {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}

  程序的输出结果是

  A)13

  B)14

  C)208

  D)209

(40)在16位IBM-PC机上使用C语言,若有如下定义

  structdata

  {inti;

  charch;

  doublef;

  }b;

  则结构变量b占用内存的字节数是

  A)1

  B)2

  C)7

  D)11

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

  #include

  main()

  {inta=1,b=10;

  do

  {b-=a;a++;}while(b--<0);

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

  }

  A)a=3,b=11

  B)a=2,b=8

  C)a=1,b=-1

  D)a=4,b=9

(42)以下程序的输出结果是

  voidreverse(inta[],intn)

  {inti,t;

  for(i=0;i

  {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

  }

  main()

  {intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

  reverse(b,8);

  for(i=6;i<10;i++)s+=b[i];

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

  }

  A)22

  B)10

  C)34

  D)30

(43)有如下程序:

  longfib(intn)

  {if(n>2)return(fib(n-1)+fib(n-2));

  elsereturn

(2);

  }

  main()

  {printf("%d\n",fib(3));}

  该程序的输出结果是

  A)2

  B)4

  C)6

  D)8

(44)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:

  PROGABCDEFGHIJKL<回车>,则输出结果为

  main(intargc,char*argv[])

  {

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

当前位置:首页 > 成人教育 > 电大

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

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