笔试样题1
一、程序填空题(每题12分,共36分。将答案填写在相应的下划线处)
1.以下函数的功能是删除字符串s中的所有数字字符,请填空。
void dele(char *s)
{
int  n=_________,i;    //0
for(i=0;s[i];i++)
    if(________)    //s[i]<’0’||s[i]>’9’
      s[n++]=s[i];
s[n]=________;    //’\0’
        }
2.函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下。
1
1  1
1  2  1
1  3  3  1
1  4  6  4  1
说明:数据构成规律是第0列元素和主对角线元素均为1,其余元素为其左上方和正上方元素之和,数据的个数每行递增1。
#define  N  6
void YangHui(int  x[N][N])
{
int  i,j;
x[0][0]=1;
for(i=1;i<N;i++)
{
  x[i][0]=________=1;      // x[i][i]
  for(j=1;________;j++)      //j<i
        x[i][j]=___________;  //x[i-1][j-1]+x[i-1][j]
}
        }
3.以下程序是将从键盘输入的字符串逆序存放,然后输出。(如:输入ABCD1A,输出A1DCBA)
#include<stdio.h>
#include<string.h>
void main()
{
char  s[81],t;
int i,j,n;
n=strlen(s);
__________________  //i=0;
j=n-1;
while(_______________)    // i<j
{
  t=s[i];s[i]=s[j];s[j]=t;
  i++;
  _________    //  j--;
}
printf(“%s”,s);
      }
二、阅读程序题(每题8分,共32分。将答案填写在相应的下划线处)
1.以下程序的运行结果是______________。
#include “stdio.h”
void main()
{
int  i,j;
for(i=0;i<=3;i++)
{
  for(j=0;j<i;j++)
      printf(“%d”,i);
  printf(“*\n”);
}
}
结果:
*
1*
22*
333*
2.以下程序的运行结果是______________。
#include “stdio.h”
void main()
{
char  *s={“Computer-Level-Test”},*p;
for(p=s;*p!=’\0’;p++)
{
  if(*p==’-‘)
      printf(“\n”);
  else
      if(*p<=’Z’&&*p>=’A’)
          printf(“%c”,*p+’a’-‘A’);
      else
          printf(“%c”,*p);
}
    }
结果:
computer
level
test
3.以下程序的运行结果是______________。
#include “stdio.h”
int  f(int c)
{
  static  int a=10;
  int b=++a;
  return (a+b+c);
}
void main()
{
  printf(“%d”,  f(f(5)));
}
结果:
51
4.以下程序的运行结果是______________。
#include “stdio.h”
void  f(int  *x,int y)
{
--*x;
y++;
}
void main()
{
  int x=3,y=0;
  f(&x,y);
  printf(“%d,%d”,x,y);
}
结果:
2,0
三、程序设计题(每题16分,共32分)
1.编程输出100以内所有6的倍数及它们的和。
#include <stdio.h>
void main()
{
int s=0,i;
for(i=1;i<100;i++)
  if(i%6==0)
    s=s+i;
printf(“s=%d”,s);
}
2.已知字符串char  s[50]=”Iamstudent.”,请编写程序将字符a插入到student 之前,结果为”Iamastudent.”。(说明:要求使用循环结构)。
#include <stdio.h>
#include<string.h>
void main()
{
char  s[50]=”Iamstudent.”;
int i,n;
n=strlen(s);
for(i=n;i>=3;i--)
    s[i+1]=s[i];
s[3]=’a’;
printf(“s=%s”,s);
}
笔试样题2(2015下)
一、程序填空题(每题12分,共36分。将答案填写在相应的下划线处)
1.以下程序计算度输出1—100之间所有是3或7的倍数之和,请填空。
#include <stdio.h>
void main()
{
int i,s;
_______=0;    //s
for(i=1;i<=100;i++)
  if(_________________)    // i%3==0||i%7==0
    s=s+i;
printf(“s=%d\n”,_________);  // s
        }
2.以下程序输出图形 。
12345
2345
345
45
5
printf怎么输出字符串的一部分
请填空:
#include <stdio.h>
void main()
{
int i,j;
for(i=1;_______;i++)            // 5
{
    for(j=i;j<=5;j++)
        printf(“%d”,_________);  // j
    printf(“________________”);  // \n
}
        }
3.以下程序利用指针输出一个字符串中所有数字字符,请填空。
#include<stdio.h>
void main()
{
char  s[ ]=”A1B2C3D4E5F6G7H8I9”;
char  *p;
for(p=s;________!=’\0’;p++)    // *p
  if(__________________)    //*p>=’0’&&*p<=’9’
    printf(“%c”,____________);  // *p
      }
二、阅读程序题(每题8分,共32分。将答案填写在相应的下划线处)
1.以下程序运行后输入2,程序的输出结果是______________。
#include “stdio.h”
void main()
{
int color;
printf(“Please input color:”);
scanf(“%d”,&color);
switch(color)
{
  case  0: printf(“black”);
  case  1: printf(“blue”);
  case  2: printf(“green”);
  case  3: printf(“red”); break;
  default: printf(“other color”);
}
}
结果:
greenred
2.以下程序的运行结果是______________。
#include “stdio.h”
void main()
{
int i,j=5,s;
s=0;
for(i=1;i<=5;i++)
  s=s+i+j--;
printf(“%d”,s);
    }
结果:
30
3.以下程序的运行结果是______________。
#include “stdio.h”
void main()
{
  int  i;
  char s[]=”AaBbCcDdEeFfGgHh”;
  char c;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。