C笔试样题da 1.docx

上传人:b****6 文档编号:5603689 上传时间:2022-12-28 格式:DOCX 页数:29 大小:23.91KB
下载 相关 举报
C笔试样题da 1.docx_第1页
第1页 / 共29页
C笔试样题da 1.docx_第2页
第2页 / 共29页
C笔试样题da 1.docx_第3页
第3页 / 共29页
C笔试样题da 1.docx_第4页
第4页 / 共29页
C笔试样题da 1.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

C笔试样题da 1.docx

《C笔试样题da 1.docx》由会员分享,可在线阅读,更多相关《C笔试样题da 1.docx(29页珍藏版)》请在冰豆网上搜索。

C笔试样题da 1.docx

C笔试样题da1

笔试样题1

一、程序填空题(每题12分,共36分。

将答案填写在相应的下划线处)

1.以下函数的功能是删除字符串s中的所有数字字符,请填空。

voiddele(char*s)

{

intn=_________,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

11

121

1331

14641

说明:

数据构成规律是第0列元素和主对角线元素均为1,其余元素为其左上方和正上方元素之和,数据的个数每行递增1。

#defineN6

voidYangHui(intx[N][N])

{

inti,j;

x[0][0]=1;

for(i=1;i

{

x[i][0]=________=1;//x[i][i]

for(j=1;________;j++)//j

x[i][j]=___________;//x[i-1][j-1]+x[i-1][j]

}

}

3.以下程序是将从键盘输入的字符串逆序存放,然后输出。

(如:

输入ABCD1A,输出A1DCBA)

#include

#include

voidmain()

{

chars[81],t;

inti,j,n;

n=strlen(s);

__________________//i=0;

j=n-1;

while(_______________)//i

{

t=s[i];s[i]=s[j];s[j]=t;

i++;

_________//j--;

}

printf(“%s”,s);

}

二、阅读程序题(每题8分,共32分。

将答案填写在相应的下划线处)

1.以下程序的运行结果是______________。

#include“stdio.h”

voidmain()

{

inti,j;

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

{

for(j=0;j

printf(“%d”,i);

printf(“*\n”);

}

}

结果:

*

1*

22*

333*

2.以下程序的运行结果是______________。

#include“stdio.h”

voidmain()

{

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”

intf(intc)

{

staticinta=10;

intb=++a;

return(a+b+c);

}

voidmain()

{

printf(“%d”,f(f(5)));

}

结果:

51

4.以下程序的运行结果是______________。

#include“stdio.h”

voidf(int*x,inty)

{

--*x;

y++;

}

voidmain()

{

intx=3,y=0;

f(&x,y);

printf(“%d,%d”,x,y);

}

结果:

2,0

三、程序设计题(每题16分,共32分)

1.编程输出100以内所有6的倍数及它们的和。

#include

voidmain()

{

ints=0,i;

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

if(i%6==0)

s=s+i;

printf(“s=%d”,s);

}

2.已知字符串chars[50]=”Iamstudent.”,请编写程序将字符a插入到student之前,结果为”Iamastudent.”。

(说明:

要求使用循环结构)。

#include

#include

voidmain()

{

chars[50]=”Iamstudent.”;

inti,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

voidmain()

{

inti,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

请填空:

#include

voidmain()

{

inti,j;

for(i=1;_______;i++)//5

{

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

printf(“%d”,_________);//j

printf(“________________”);//\n

}

}

3.以下程序利用指针输出一个字符串中所有数字字符,请填空。

#include

voidmain()

{

chars[]=”A1B2C3D4E5F6G7H8I9”;

char*p;

for(p=s;________!

=’\0’;p++)//*p

if(__________________)//*p>=’0’&&*p<=’9’

printf(“%c”,____________);//*p

}

二、阅读程序题(每题8分,共32分。

将答案填写在相应的下划线处)

1.以下程序运行后输入2,程序的输出结果是______________。

#include“stdio.h”

voidmain()

{

intcolor;

printf(“Pleaseinputcolor:

”);

scanf(“%d”,&color);

switch(color)

{

case0:

printf(“black”);

case1:

printf(“blue”);

case2:

printf(“green”);

case3:

printf(“red”);break;

default:

printf(“othercolor”);

}

}

结果:

greenred

2.以下程序的运行结果是______________。

#include“stdio.h”

voidmain()

{

inti,j=5,s;

s=0;

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

s=s+i+j--;

printf(“%d”,s);

}

结果:

30

3.以下程序的运行结果是______________。

#include“stdio.h”

voidmain()

{

inti;

chars[]=”AaBbCcDdEeFfGgHh”;

charc;

i=0;

while(s[i]!

=’\0’)

{

c=s[i];

s[i]=s[i+1];

s[i+1]=c;

i=i+2;

}

printf(“%s”,s);

}

结果:

aAbBcCdDeEfFgGhH

4.以下程序的运行结果是______________。

#include“stdio.h”

intf(intn){

if(n==0||n==1)return1;

elsereturnn+f(n-1);

}

voidmain(){

printf(“%d\n”,f(0));

printf(“%d\n”,f

(1));

printf(“%d\n”,f(5));

}

结果:

1

1

15

三、程序设计题(每题16分,共32分)

1.编写程序,输入一个十进制整数,判断其奇偶性,如果是奇数输出1,否则输出0。

#include

voidmain(){

intx;

scanf(“%d”,&x);

if(x%2==0)

printf(“0”);

else

printf(“1”);

}

2.使用循环语句设计程序,删除字符串”0010110100100111”中所有字符’0’并输出。

要求:

(1)程序应输出11111111

(2)字符数组s最后的存储状态为:

‘1’

‘1’

‘1’

‘1’

‘1’

‘1’

‘1’

‘1’

‘\0’

……

程序基本框架如下:

#include

voidmain(){

chars[]=”0010110100100111”;

/*以下是要编写的程序段*/

inti=0,j=0;

while(s[i]){

if(s[i]!

=’0’)

{s[j]=s[i];

j++;

}

i++;

}

s[j]=’\0’;

puts(s);

}

笔试样题3(2016上)

一、程序填空题(每题12分,共36分。

将答案填写在相应的下划线处)

1.整型变量a,b,c存放着三个整数,下面程序的功能为输出其中最小的数,请填空。

#include

voidmain(){

inta,b,c,min;

scanf(“%d%d%d”,&a,&b,&c);

if(a>b)

min=________;//b

else

________;//min=a

if(_________)//min>c

min=c;

printf(“%d\n”,min);

}

2.下面程序的功能是从键盘输入学生的课程成绩,当输入负数时则程序结束。

统计并输出全班的人数和平均分,请填空。

#include

voidmain(){

floatgrade,average,sum=0;/*grade存放输入的成绩,sum保存成绩之和,

average保存平均成绩*/

intn=0;

scanf(“%d”,&grade);

while(___________){//grade>=0

n++;

sum+=__________;//grade

scanf(“%f”,&grade);

}

average=___________;//sum*1.0/n

printf(“%d,%f\n”,n,average);

}

3.字符串的有效长度就是其有效字符的个数,即数组中第1个’\0’前面的字符个数。

下面程序功能为计算给定字符串的有效长度,请填空。

#include

intmain()

{

inti,len;

charstr[20]=”china”;

for(i=0;*(___________)!

=’\0’;i++)//str+i

___________;//len=i

len=___________;//len=len+1

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

return0;

}

二、阅读程序题(每题8分,共32分。

将答案填写在相应的下划线处)

1.有以下程序,当输入负数时则程序结束。

#include“stdio.h”

voidmain()

{

inta;

scanf(“%d”,&a);

while(a>0)

{

switch(a)

{

case5:

printf(“%d\n”,a+1);

case6:

printf(“%d\n”,a+2);break;

case7:

printf(“%d\n”,a+3);

default:

printf(“%d\n”,a+4);

}

scanf(“%d”,&a);

}

}

运行时,若输入571<回车>(表示空格),则输出结果是______________

结果:

6

7

10

11

5

2.以下程序的运行后的输出结果是______________。

#include“stdio.h”

intf()

{

intx=2;

x+=2;

returnx;

}

voidmain()

{

ints=1,i;

for(i=1;i<=2;i++)s+=f();

printf(“%d\n”,s);

}

结果:

9

三、程序设计题(每题16分,共32分)

 

笔试样题4(2016下)

一、程序填空题(每题12分,共36分。

将答案填写在相应的下划线处)

1.以下程序将依次输出“12345654321”,请填空。

#include

voidmain()

{

inta=12345,b=54321,_________;//c

charch=’A’;

c=a/________;//10

printf(“%4d%d”,c,5);//输出12345

printf(“%d”,ch);

c=b%______;//10000

printf(“%4d”,c);//输出4321

}

2.以下程序输入3个整型数并输出其中的中间数,如输入5、3、4,将输出4。

请填空。

#include

voidmain()

{

inta,b,c;

intmax,min;

printf(“inputa,b,c:

”);

scanf(“%d%d%d”,___________);//&a,&b,&c//顺序输入a,b,c的值

if(a>b)

{max=a;min=b;}

else

{max=b;min=a;}

if(c>max)

printf(“%d”,max);

elseif(c

printf(“%d”,_______);//c

else

printf(“%d”,_______);//min

}

3.以下程序输出一个字符串中所有字母,其他字符不输出。

如果是小写字母,输了,时转换成大写字母。

请填空。

#include

voidmain()

{

inti;

chars[]=”CProgramming.”;

charc,*p=&c;

i=_______;//0

while(s[i]!

=’\0’)

{

*p=s[i];

if(c>=’A’&&c<=’Z’)

printf(“%c”,______);//*p

elseif(c>=’a’&&c<=’z’)

printf(“%c”,______);//*p-32

i++;

}

}

二、阅读程序题(每题8分,共32分。

将答案填写在相应的下划线处)

1.以下程序运行结果是______________。

#include“stdio.h”

voidmain()

{

inta=3,b=5,c=4,t;

if(a

if(b

if(a

printf(“a=%d,b=%d,c=%d,t=%d”,a,b,c,t);

}

结果:

a=5,b=4,c=3,t=3

2.以下程序的运行结果是______________。

#include“stdio.h”

voidmain()

{

inti;

inta[5]={1,2,3,4,5},t=0;

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

{

switch(a[i]%3)

{

case0:

t=t+a[i];break;

case1:

t=t-a[i];break;

default:

t=t+1;

}

}

printf(“i=%d,t=%d”,i,t);

}

结果:

i=5,t=0

3.以下程序的运行结果是______________。

#include“stdio.h”

intmax(inta,intb)

{

if(a>b)

returna;

else

returnb;

}

voidmain()

{

inti,m;

inta[5]={212,134,423,545,356};

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

m=max(a[i],a[i+1]);

printf(“i=%d,m=%d”,i,m);

}

结果:

i=2,m=423

4.以下程序的运行结果是______________。

#include“stdio.h”

intf(intn)

{

if(n==1)return1;

elsereturnn+f(n-1);

}

voidmain()

{

inti;

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

printf(“%d”,f(i));

}

结果:

13610

三、程序设计题(每题16分,共32分)

1.编程输出100以内所有含数字4的偶数的和。

#include"stdio.h"

voidmain(){

inti,sum=0;

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

if(i%10==4||i/10==4)

sum=sum+i;

printf("%d",sum);

}

2.由于雾霾红色预警,车辆将限号出行,规定如下:

(1)尾号是0,2,4,6,8,双日出行,例如:

AZ7Y68,WJ-2126

(2)尾号是其他数字、字母或符号的,单日出行,例如:

AZ7Y69,WJ-2127,B3300B

请完善下面的程序以实现上面描述的功能。

要求根据输入的车牌号分别输出“双日出行”或“单日出行”。

#include

voidmain()

{

chars[10];//用于存储车牌号

inti;

printf("Inputs:

");

scanf("%s",s);//输入车牌号

i=0;

while(s[i]!

='\0')//请在下面编写和完善程序

i++;

i--;

if(s[i]=='0'||s[i]=='2'||s[i]=='4'||s[i]=='6'||s[i]=='8')

printf("双日出行\n");

else

printf("单日出行\n");

}

笔试样题5(2017上)

一、程序填空题(每题12分,共36分。

将答案填写在相应的下划线处)

1.以下程序从键盘输入一个整数,输出其对应的英文星期单词,若输入的整数在1到7之外,则输出“Error!

”,请填空。

#include

voidmain()

{

intn;

printf(“Inputn:

”);

scanf(“%d”,__________);//&n

switch(n)

{

case1:

printf(“Monday\n”);break;

case2:

printf(“Tuesday\n”);break;

case3:

printf(“Wednesday\n”);break;

case4:

printf(“Thursday\n”);break;

case5:

printf(“Friday\n”);break;

case6:

printf(“Saturday\n”);break;

case7:

printf(“Sunday\n”);break;

________:

printf(“Error!

\n”);//default

}

}

2.以下程序输出一维数组中的最大元素及其下标值,请填空。

#include

intsearch(inta[],intn)/*求最大元素的下标*/

{

inti,max;

max=_______;//0

for(i=1;i

{

if(a[i]>a[max])

max=_______;//i

}

returnmax;

}

voidmain()

{

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

intmax;

_______=search(a,10);//max

printf(“最大值:

%d,下标:

%d\n”,a[max],max);

}

3.以下程序定义求n!

的递归函数f(),并调用函数f()求2!

+3!

+4!

+5!

+6!

的值,请填空。

#include

intf(intn)

{

if(n==1||n==0)

return________;//1

else

returnn*f(n-1);

}

voidmain()

{

inti,s;

s=_______;//0

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

s+=f(i);

printf(“2!

+3!

+4!

+5!

+6!

=%d\n”,__________);//s

}

二、阅读程序题(每题8分,共32分。

将答案填写在相应的下划线处)

1.以下程序的运行结果是______________。

#include“stdio.h”

voidmain()

{

inta=3,b=-3,c;

if(a

c=0;

elsec=-1;

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

if(a

{

if(3==c)

a=a+b;

elsea=a-b;

}

printf(“a=%d,b=%d,c=%d”,a,b,c);

}

结果:

c=-1

a=3,b=-3,c=-1

2.以下程序的运行结果是______________。

#include“stdio.h”

voidmain()

{

inti,j;

ints=0;

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

{

j=i*10+6;

printf(“%d”,j);

if(0==j%4)

s=s+j;

}

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

}

结果:

16263646

s=52

3.以下程序的运行结果是______________。

#include“stdio.h”

voidmain()

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

当前位置:首页 > 经管营销 > 经济市场

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

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