职场文秘网

首页 > 心得体会 > 工作体会 / 正文

2023C语言程序设计试题附答案3篇【优秀范文】

2023-03-30 15:10:07

C语言程序设计试题附答案1  1.用C语言编写的代码程序(B)  A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行  2.C语言中用于结构化程序设计的三种基本结构是(A)下面是小编为大家整理的2023C语言程序设计试题附答案3篇【优秀范文】,供大家参考。

2023C语言程序设计试题附答案3篇【优秀范文】

C语言程序设计试题附答案1

  1. 用C语言编写的代码程序( B )

  A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行

  2. C语言中用于结构化程序设计的三种基本结构是( A )

  A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue

  3. 以下定义语句中正确的是( C )

  A)char a="A"b="B"; B float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a;

  4.下列选项中,不能用作标识符的是( D )

  A)_1234_ B)_1_2 C) int_2_ D)2_int_

  5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )

  A)称为函数的直接递归调用 B)称为函数的间接递归调用

  C)称为函数的循环调用 D)C语言中不允许这样的递归调用

  6.以下叙述中正确的是 ( A )

  A)局部变量说明为static存储类,其生存期将得到延长

  B)全局变量说明为static存储类,其作用域将被扩大

  C)任何存储类的变量在未赋初值时,其值都是不确定的

  D)形参可以使用的存储类说明符与局部变量完全相同

  7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)

  A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}

  C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);

  8.有以下程序(a)

  main()

  { char a="a",b;

  printf("%c,",++a);

  printf("%c\n",b=a++);}

  程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c

  9.有以下函数定义:(c)

  void fun(int n, double x) { …… }

  若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是

  A) fun(int y,double m); B)k=fun(10,12.5) C)fun(x,n); D)void fun(n,x)

  10.已定义c为字符型变量,则下列语句中正确的是(c)

  A)c="97"; B)c="97"; C)c=97; D)c="a";

  11.以下能正确定义一维数组的选项是(a)

  A)int num[]; B) #define N 100

  C)int num[0..100]; D) int N=100;

  int num[N]; int num[N];

  12.以下能正确定义数组并正确赋初值的语句是(d)

  A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};

  13.有以下程序(a)

  main()

  { int i;

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

  switch (i)

  { case 1: printf("%d ", i);

  case 2: printf("%d ", i);

  default : printf("%d ", i); }

  }

  执行后输出结果是

  A)011122 B)012 C)012020 D)120

  14.有以下程序(d)

  main()

  { int p[7]={11,13,14,15,16,17,18}, i=0,k=0;

  while(i<7 && p[i]%2) { k =k+ p[i]; i++; }

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

  }

  执行后输出结果是

  A)58 B)56 C)45 D)24

  15.以下叙述中正确的是(c)

  A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行

  C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

  D)C语言出现的最晚,具有其他语言的一切优点

  16.下列叙述中正确的是(d)

  A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型

  C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型

  17.以下叙述中正确的是(a)

  A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符

  C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分

  二、填空题

  1.以下程序输入3个整数值给a,b,c,变量b中的值给a,变量c中的.值给b,变量a中的值给c,交换后输出a,b,c的值。

  #include

  main()

  { int a,b,c,__①_d___;

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

  ___d=a_②____;__a=b_③_____;____b=c④_____;_c=d__⑤_____;

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

  }

  2.求出200以内的整数中,最大的可以被17整除的数是哪个数。

  #include

  ___①main()____

  {int i;

  for(_i=200___②____;___③i>=0_______;i--)

  {if(____i%17==0____④________) break;}

  printf("%d\n",__⑤_i____);

  }

  3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

  main()

  { int i,a[20],sum,count;

  sum=count=0;

  for(i=0;i<20;i++) scanf("%d", __①_a[i]__ );

  for(i=0;__ ②_i<20_;i++)

  ? { if(a[i]>0)

  ?? { count++;

  ?? sum+= _a[i]__③___ ;

  ?? }

  ? }

  printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);

  }

  4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。请填空。

  int fun( int n)

  { int m=0,i;

  for(i=__1_①___; i<=n; _i++_②____)

  {

  m=_m+i__③____;

  }

  return _④__m__;

  }

  main()

  { printf("m=%d\n", __⑤__ fun(10)_); }

  5.以下程序将数组中的数据按逆序存放。

  #include

  #define SIZE 12

  main()

  {int a[SIZE],i,j,t;

  for(i=0;i

  i=0;j=_SIZE_②____;

  while(i

  {t=a[i];__a[i]=a[j]____ ③______;__a[j]=t___④________;i++;j_--__⑤_____}

  for(i=0;i

  printf("\n");


C语言程序设计试题附答案3篇扩展阅读


C语言程序设计试题附答案3篇(扩展1)

——C语言程序设计期末试题附答案3篇

C语言程序设计期末试题附答案1

  1若a、b均为int型变量,且a=100,则以下的for循环是死循环.

  for (b=100;a!=b;++a,b++) printf("----\n");

  执行语句:for(i=1;i++<4;++i);后;变量i的值是5。

  2以下程序的运行结果是【 】

  main()

  {int x,y,z;

  x=1;y=2;z=3;

  x=y--<=x||x+y!=z;

  printf("%d,%d",x,y);

  }

  3以下程序的运行结果是【 】

  main()

  {int x,y,z;

  x=1;y=1;z=0;

  x=x||y&&z;

  printf("%d,%d",x,x&&!y||z);

  }

  4以下程序的运行结果是【 】

  main()

  {int a,b,c;

  int s,w=0,t;

  a=-1;b=3;c=3;

  if(c>0)s=a+b;

  if(a<=0)

  {if(b>0)

  if(c<=0)w=a-b;

  }

  else if(c>0)w=a-b;

  else t=c;

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

  }

  5阅读下面程序:

  main()

  { int s, t, a, b;

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

  s=1;

  t=1;

  if(a>0) s=s+1;

  if(a>b) t=s+t;

  else if (a==b) t=5;

  else t=2*s;

  printf("s=%d, t=%d", s, t);

  }

  6为了使输出结果t=4, 输入量a和b应满足的条件是【 】

  7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。

  #include main()

  { int a,max=0;

  scanf("%d",&a)

  while(【 】){ if (max

  scanf("%d",&a);

  }

  printf("%d",max);

  }

  8执行下面的程序段后,k值是【 】。

  k=1; n=263;

  do { k*=n%10; n/=10; } while(n);

  9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。请填空。

  #include

  main()

  { int a,d,sum;

  a=2;d=3;sum=0;

  do

  { sum+=a;

  a+=d;

  if (【 】) printf("%d\n",sum);

  } while(sum<200);

  }

  10鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。

  for(x=1;x<=29;x++)

  { y=30-x;

  if (【 】) printf("%d,%d\n",x,y);

  }

  11写出下面程序的运算结果【 】。

  # include

  main ( )

  { int a=14, b=63;

  while (a!=b)

  {while (a>b) a-=b;

  while (a

  }

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

  }

  12下列程序的输出为【 】。

  #include

  main()

  {

  int i,j,x=0;

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

  { if(i%3==2) break;

  x++;

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

  { if(j%2) break;

  x++;

  }

  x++;

  }

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

  }


C语言程序设计试题附答案3篇(扩展2)

——C语言程序设计试题含答案3篇

C语言程序设计试题含答案1

  1. 用C语言编写的代码程序( B )

  A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行

  2. C语言中用于结构化程序设计的三种基本结构是( A )

  A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue

  3. 以下定义语句中正确的是( C )

  A)char a="A"b="B"; B float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a;

  4.下列选项中,不能用作标识符的是( D )

  A)_1234_ B)_1_2 C) int_2_ D)2_int_

  5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )

  A)称为函数的直接递归调用 B)称为函数的间接递归调用

  C)称为函数的循环调用 D)C语言中不允许这样的递归调用

  6.以下叙述中正确的是 ( A )

  A)局部变量说明为static存储类,其生存期将得到延长

  B)全局变量说明为static存储类,其作用域将被扩大

  C)任何存储类的变量在未赋初值时,其值都是不确定的

  D)形参可以使用的存储类说明符与局部变量完全相同

  7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)

  A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}

  C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);

  8.有以下程序(a)

  main()

  { char a="a",b;

  printf("%c,",++a);

  printf("%c\n",b=a++);}

  程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c

  9.有以下函数定义:(c)

  void fun(int n, double x) { …… }

  若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是

  A) fun(int y,double m); B)k=fun(10,12.5) C)fun(x,n); D)void fun(n,x)

  10.已定义c为字符型变量,则下列语句中正确的是(c)

  A)c="97"; B)c="97"; C)c=97; D)c="a";

  11.以下能正确定义一维数组的选项是(a)

  A)int num[]; B) #define N 100

  C)int num[0..100]; D) int N=100;

  int num[N]; int num[N];

  12.以下能正确定义数组并正确赋初值的语句是(d)

  A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};

  13.有以下程序(a)

  main()

  { int i;

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

  switch (i)

  { case 1: printf("%d ", i);

  case 2: printf("%d ", i);

  default : printf("%d ", i); }

  }

  执行后输出结果是

  A)011122 B)012 C)012020 D)120

  14.有以下程序(d)

  main()

  { int p[7]={11,13,14,15,16,17,18}, i=0,k=0;

  while(i<7 && p[i]%2) { k =k+ p[i]; i++; }

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

  }

  执行后输出结果是

  A)58 B)56 C)45 D)24

  15.以下叙述中正确的是(c)

  A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行

  C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

  D)C语言出现的最晚,具有其他语言的一切优点

  16.下列叙述中正确的是(d)

  A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型

  C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型

  17.以下叙述中正确的是(a)

  A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符

  C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分


C语言程序设计试题附答案3篇(扩展3)

——C语言程序设计模拟试题附答案3篇

C语言程序设计模拟试题附答案1

  一、单项选择题(20分,每题2分)

  1.程序段

  int *p,a;

  p=&a;

  a=10;

  printf("%d",p);

  的输出应为:

  A)10 B)0 C)不能确定 D)语法错误

  2.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:

  A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式

  3.以下语句或语句组中,能正确进行字符串赋值的是。

  A)char *sp;*sp="right!"; B)char s[10];s="right!";

  C)char s[10];*s="right!"; D)char *sp="right!";

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

  if(i〈=5) break;

  则循环结束后i的值为

  A)0 B)1 C)5 D)10

  5.有以下程序

  main()

  {

  int m,n,p;

  scanf("m=%dn=%dp=%d",&m,&n,&p);

  printf("%d%d%dn",m,n,p);

  }

  若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是。

  A)m=123n=456p=789 B) m=123 n=456 p=789

  C)m=123,n=456,p=789 D)123 456 789

  6.C语言中,最基本的数据类型包括:

  A)整型、实型、逻辑型 B)整型、字符型、数组

  C)整型、实型、字符型 D)整型、实型、结构体

  7.以下说法正确的是

  A) C程序总是从第一个定义的函数开始执行

  B) 在C程序中,要调用的函数必须在main()函数中定义

  C) C程序总是从main()函数开始执行

  D) C程序的main()函数必须放在程序的开始部分

  8.程序段

  int *p, a=1;

  p=&a;

  *p=10;

  a的值为:

  A) 1 B) 10 C) 不能确定 D) 11

  9.以下定义语句中,错误的是

  A) int a[]={1,2}; B) char *a[3];

  C) char s[10]="test"; D) int n=5,a[n];

  10.假定int类型变量占用两个字节,有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是

  A) 3 B) 6 C) 10 D) 20

  二、填空题(30分,每空2分)

  1.已知字符A的ACSII码值为65,以下语句的输出结果是 (1) 。

  char ch=’B’;

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

  2.’a’在内存中占 (2) 个字节,”a”在内存中占 (3) 个字节。

  3.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 (4) 。

  4.有以下程序,执行后输出结果是 (5) 。

  main( )

  {

  int t=1,i=5;

  for(;i>=0;i--) t*=i;

  printf("%dn",t);

  }

  5.在循环语句中,break语句的作用是 (6) ,continue语句的作用是 (7) 。

  6.下面程序段将字符数组b连接到数组a的后面。

  main()

  {

  char a[20]= ."I am ";

  char b[]= ."a student.";

  int i, j;

  i = strlen(a);

  for(j =__(8)___; b[j]!=""; j++)

  {

  a[__(9)__] = b[__(10)__];

  }

  a[___(11)__] = ___(12)___ ;

  }

  7.for(表达式1;表达式2;表达式3)

  语句组

  的执行顺序是先求解表达式1、再___(13)______、如果成立则执行___(14)____、然后___(15)______。

  三、写出程序的运行结果(30分,每题10分)

  1.写出程序运行后的输出结果。

  int f(int b[][4])

  {

  int i,j,s=0;

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

  {

  i=j;

  if(i>2)

  i=3-j;

  s+=b[i][j];

  }

  return s;

  }

  main( )

  {

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

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

  }

  2.写出程序运行后的输出结果

  #include

  main()

  {

  float x=2,y;

  if(x<0)

  y=0;

  else if(x<10)

  y=1/x;

  else

  y=1;

  printf(“%fn”,y);

  }

  3.(1)函数sub()的功能是什么?(2)写出程序运行的输出结果。

  long sub(int num)

  {

  int i;

  long subsum=1;

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

  subsum*=i;

  return(subsum);

  }

  main()

  {

  int i;

  long sum=0;

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

  {

  sum+=sub(i);

  printf("sum%1d=%ldn",i,sum);

  }

  }

  四、编程(完形填空)(20分,每题10分)

  1.写一个函数,实现将一个长度≤80的"字符串按逆序存放。解题要求:该函数的唯一形参是字符串的起始地址。

  void convert(char string[])

  {

  int length,mid,i;

  char temp;

  length=____(1)____(string);

  mid=____(2)_____;

  for(____(3)____;i

  {

  temp=____(4)_____;

  string[i]=string[____(5)_____];

  string[(length-1)-i]=temp;

  }

  }

  2.以下程序计算某年某月有几天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月为28天、闰年2月为29天。

  main()

  {

  int yy,mm,day;

  scanf(“%d%d”,&yy,&mm);

  switch(__(6)___)

  {

  case1:

  case3:

  case5:

  case7:

  case8:

  case10:

  case12: day=__(7)___;

  break;

  case4:

  case6:

  case9:

  case11: day=__(8)___;

  break;

  case2: if(((yy%4==0)_(9)_(yy%100!=0)) (10)_(yy%400==0))

  day=29;

  else

  day=28;

  break;

  }

  }

  }


C语言程序设计试题附答案3篇(扩展4)

——C程序设计第四版(谭浩强著)课后答案下载3篇

C程序设计第四版(谭浩强著)课后答案下载1

点击此处下载☞☞☞C程序设计第四版(谭浩强著)课后答案☜☜☜

C程序设计第四版(谭浩强著)课后答案下载2

  作 者:谭浩强 著

  出 版 社:清华大学出版社

  出版时间:2010-6-1

  版 次:1

  页 数:390

  字 数:626000

  印刷时间:2010-6-1

  开 本:16开

  纸 张:胶版纸

  印 次:1

  I S B N:9787302224464

  包 装:*装


C语言程序设计试题附答案3篇(扩展5)

——C语言程序设计苏小红著课后习题答案下载3篇

C语言程序设计苏小红著课后习题答案下载1

点击此处下载☞☞☞C语言程序设计(苏小红著)课后答案☜☜☜

C语言程序设计苏小红著课后习题答案下载2

  1. C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

  2.C语言是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

  3.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。

  4. C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。  C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的。


C语言程序设计试题附答案3篇(扩展6)

——c语言程序设计实训总结3篇

c语言程序设计实训总结1

  一、充分准备,使学生明确实训的目的与要求

  本次实训的目的是要求学生通过熟练运用Turbo C 2.0的开发环境,以所掌握的C语言知识为基础,围绕本次安排的实训项目,精心准备,认真调试,通过查阅资料、通过阅读相关程序代码、通过多次上机调试、通过同学们相互讨论,使学生对C语言程序设计有一个全面的了解,从而能更加系统地理解C语言基础知识。

  本次实训的要求是:教师要认真给参与实训的学生分好组,注意成绩好坏的搭配。同时,实训前公布本次实训内容,要求每个学生认真做好实训前的准备,查阅相关资料,精心编写代码。各组学生独立完成实训项目,独立撰写实训报告,认真及时进行实训总结。指导教师通过登陆教师后台管理系统对学生的实训过程进行跟踪指导、审核管理、进行批改,并给出考核成绩。教师在实训期间要检查学生到课情况,及时调整指定的分组角色。

  二、 精心组织,认真做好项目实训

  对教师方面,本次实训要求教师每节实训课必须到场。教师必须清点学生到场情况并做好出勤记录,在有学生缺席的情况下调整好角色分配。同时要求教师必须把实训内容具体分配到课时,并提供相关内容供学生下载。教师通过登陆教师后台管理系统对学生的实训过程进行跟踪指导、审核管理、进行批改,并给出考核成绩;对学生方面,本次实训实训考评分合格与不合格两个档次。不合格的可要求重做,重做的次数不影响考评成绩。对复制的同学,一经发现,要求从头做起, 由老师指定内容, 完成相关的内容, 否则为不合格。

  三、 本次实训的"效果与经验

  通过此次实训,广大同学夯实了基础,锻炼了能力,综合素质得到较大提高。同时实训也为推动我系专业建设提供了丰富的经验。

  1、本次实训促进了我系人才培养计划的完善和课程设置的调整。近年来,我系为适应学生的实践需要陆续增设与调整了一系列课程,如开源系列,受到同学们的欢迎。

  2、本次实训促进了学生自身的发展。实训项目使学生初步接触C语言,熟悉了C程序设计过程,培养了他们的环境适应能力及发现问题、分析问题、解决问题的实际工作能力,为他们今后的发展打下了良好的基础。

  四、存在的问题

  实训过程中发现存在下列问题:一是学生素质参差不齐,基本功扎实的学生可以很快地完成本次实训项目,差的学生基本上还没有入门,更别谈开发一个项目了,如何提高学生的整体素质,是今后教学中值得考虑的问题。二是机房部分微机运行状态不太好,一些经常死机,一些同学辛辛苦苦编写的代码由于没有及时存盘,由于死机又得重新做,学生中有一些怨言,建议学校及时更换一些、淘汰一些过时的微机,加大对微机的维护。

  总之,我系的专业实训经过几年的开展,积累了较丰富的经验,从系领导到任课教师对此都十分重视,实训组织工作周密细致,日常管理及时而有效,对存在问题能迅速解决。实践证明,专业实训适应高职学生的特点,符合高职教学规律与学生心理预期。专业实训作为计算机各专业教学体系的一个环节,无论对学生成才还是对教学开展,都有极大的促进作用。

Tags: 试题   答案   语言程序设计  

搜索
网站分类
标签列表