C语言模拟试题Word文件下载.docx

上传人:b****6 文档编号:19569463 上传时间:2023-01-07 格式:DOCX 页数:22 大小:29.64KB
下载 相关 举报
C语言模拟试题Word文件下载.docx_第1页
第1页 / 共22页
C语言模拟试题Word文件下载.docx_第2页
第2页 / 共22页
C语言模拟试题Word文件下载.docx_第3页
第3页 / 共22页
C语言模拟试题Word文件下载.docx_第4页
第4页 / 共22页
C语言模拟试题Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言模拟试题Word文件下载.docx

《C语言模拟试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言模拟试题Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

C语言模拟试题Word文件下载.docx

′a′));

(A)0(B)1(C)2(D)3

9.以下程序的输出结果为()。

{inti=0;

for(;

;

if(i++==5)

break;

printf(〞%d\n〞,i);

(A)0(B)5(C)6(D)前3个选项都错

10.已知:

chars[4]=〞cba〞;

char*p;

执行语句列p=s;

printf(〞%c\n〞,*p+1);

后,其输出为()。

(A)c(B)b(C)a(D)d

11.运行完下列程序后,在屏幕上的内容是()。

{inta=0;

a+=a=12;

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

}

(A)0(B)6(C)12(D)24

12.已知:

intx=1,y=2,z=0,则执行z=x>

y?

(10+x,10-x):

(20+y,20-y)后,z的值为()。

(A)11(B)9(C)18(D)22

13.若已定义x和y为double类型,则表达式x=2,y=x+10/4的值是()

(A)2(B)4(C)4.0(D)4.5

14.以下程序的输出结果是()。

intx=3,y=4;

{intx=0;

x+=y++;

printf(〞%d〞,x);

(A)3(B)4(C)5(D)6

15.在下面C语言的函数说明语句中,正确的是()。

(A)intfun(intx,inty);

(B)intfun(intx,y);

(C)intfun(x,y);

(D)intfun(intx;

inty);

16.有定义:

intx,y=10,*p=&

y;

则能使得x的值也等于10的语句是()。

(A)x=p;

(B)x=&

p;

(C)x=&

(D)x=*p;

17.有定义:

inta[5][4],(*p)[4]=a;

则*(*(p+2)+3)等价于()。

(A)a[2][0](B)a[2][1](C)a[2][2](D)a[2][3]

18.有定义:

char*s=〞\t\〞Name\\Address\〞〞;

那么strlen(s)等于()。

(A)15(B)16(C)17(D)18

19.设有定义intm=1,n=-1;

则执行语句printf(〞%d\n〞,(m--&

++n));

后的输出结果是()。

(A)-1(B)0(C)1(D)2

20.设有C语句:

structT{intn;

doublex;

}d,*p;

若要使p指向结构体变量中的成员n,正确的赋值语句是()。

(A)p=&

d.n(B)*p=d.n

(C)p=(structT*)&

d.n(D)p=(structT*)d.n

二.基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项并将其号码填入各个小题的空白处。

没空2分,共10分)

1.一个C程序无论由多少个函数组成,只能有一个主函数,其函数名是①。

2.表达式x*=x+b等价于表达式②。

3.在C语言中,③语句是一条限定转移语句,其功能是提前结束本次循环体的执行过程而直接进入下一次循环。

4.结构体数据类型仍然是一类变量的抽象形式,系统不会为数据类型分配存储空间。

要使用结构体类型数据,必须要④。

5.调用feof库函数可以判断文件内部读写位置指针是否达到文件尾,当读写位置指针到达文件尾时,该函数的返回值是:

⑤。

备选项:

(A)void(B)x=x*x+b(C)continue

(D)x=x*(x+b)(E)break(F)定义结构体成员

(G)定义结构体类型变量(H)定义联合体类型变量(I)0

(J)非0(K)main(L)goto

三.程序填空题。

(每空2分,共20分)。

1.程序的功能是:

统计输入字符串中小写字母的个数。

{charc;

intnum=0;

while((c=getchar())!

=①)

{if(c<

′a′‖c>

′z′)

continue;

printf(〞%d\n〞,num);

2.下面程序的功能是输出数组中的各字符串,请填空完成程序。

{char*a[]={〞abcd〞,〞12345〞,〞efghijk〞,〞67890〞};

intj=0;

③;

j++)

puts(④);

3.下面程序实现计算1+(1+2)+(1+2+3)+……+(1+2+3+……+10),请填空完善程序。

{inttotal,sum,m,n;

total=0;

for(m=1;

m<

=10;

m++)

{sum=0;

for(n=1;

⑤;

n++)

sum=sum+n;

⑥;

printf(〞total=%d\n〞,total);

4.函数fun的功能是判断一个3位整数的各位数和百位数之和是否等于其十位上的数字,是则返回〞yes!

〞,否则返回〞no!

〞,请填空完成函数。

⑦fun(intn)

{intg,s,b;

g=n%10;

s=n/10%10;

b=n/100;

if((g+b)==s)

return〞yes〞;

else

return⑧;

voidmain()

{intn;

n);

printf(〞%s\n〞,fun(n));

5.下面程序的功能是打印出整数1~1000中满足条件:

〞个位数字的立方等于其本身〞的所有数,请填空完成程序。

{intn;

for(i=1;

i<

1000;

i++)

{g=⑨;

if(⑩)

printf(〞%4d〞,i);

printf(〞\n〞);

四.阅读程序,填写结果(每小题5分,共30分)

1.下列程序的运行结果是()。

{voidadd();

inti;

for(i=0;

3;

add()

voidadd()

{staticintx=0;

x++;

2.以下程序的输出结果为()。

{inta,b,c,x;

a=b=c=0;

x=35;

if(!

a)

x--;

elseif(b)

;

if(c)

x=3;

x=4

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

3.以下程序的输出结果为()。

{inti,j,row,colum,max;

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

max=a[0][0];

=2;

for(j=0;

j<

=3;

if(a[i][j]>

max)

{max=a[i][j];

row=i;

colum=j;

printf(〞max=%d,row=%d,colum=%d\n〞,max,row,colum);

4.下面程序的执行结果是()。

#defineMin(x,y)(x)<

(y)?

(x):

(y)

{inta=1,b=2,c=3,d=4,t;

t=Min(a+b,c+d)*1000;

printf(〞t=%d\n〞,t);

5.下列程序的运行结果是()。

#include<

voidfun(intx)

{putchar(′0′+x%10);

if(x/10)

fun(x/10);

{intm=1234;

fun(m);

putchar(′\n′);

6.以下程序的运行结果是()。

{inta[]={1,3,5},s=1,j,*p=a;

s*=*(p+j);

printf(〞s=%d\n〞,s);

五、程序设计题。

(每小题10分,共20分)

1.编程序实现功能:

一个正整数与3的和是5的倍数,与3的差是6的倍数,求出符合此条件的最小正整数。

2.函数reverse的原型为:

voidreverse(chars[]);

其功能是将字符串s中的字符位置颠倒。

例如,字符串“abcdefg”中的字符位置颠倒后变为“gfedcba”。

编制函数reverse并用相应的主函数进行测试。

二级C语言笔试试卷(B)

1.假设有intx=11;

则表达式(x++*1/3)的值是()

(A)3(B)12(C)11(D)0

2.设有定义:

char*s=”\t\”Name\\Address\”\n”;

那么strlen(s)等于()

(A)15(B)16(C)17(D)18

3.若有语句#definef(x,y)x+y及inta=2,b=3;

则执行printf(“%d”,f(a,b)*f(a,b))后输出的值为()

(A)36(B)25(C)11(D)13

4.对于基类型相同的两个指针变量之间,不可进行的运算是()

(A)==(B)=(C)+(D)-

5.若程序中需要表示关系x≥y≥z,应使用C语言表达式为()

(A)(x>

=y)&

(y>

=z)(B)(x>

=y)AND(y>

=z)

(C)(x>

=y>

=z)(D)(x>

=z)

6.若有C语句intk=5;

floatx=1.2;

则表达式(int)(x+k)的值是()

(A)5(B)6.2(C)7(D)6

7.设有定义:

intx,*p;

能使指针变量p指向变量x的语句是()

(A)*p=&

x;

(B)p=&

(C)*p=x;

(D)p=*&

8.在执行语句if((x=y=2)>

=x&

(x=5))y*=x;

后变量x,y的值应分别为()

(A)2、2(B)5、2(C)5、10(D)执行时报错

9.以下程序的输出结果为()

{intx,n;

for(n=10,x=0;

n=0;

x++,n--)

(A)程序无限循环无输出(B)10(C)1(D)0

10.下面程序的输出结果为()

{intx=1,y=1,z;

z=1||++x&

y--;

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

(A)1,1,1(B)2,0,1(C)2,1,1(D)2,0,0

11.下面程序执行后输出为()

{enumweekday{sun,mon=3,tue,wed,thu};

enumweekdayday;

day=wed;

printf(〞%d\n〞,day);

(A)5(B)6(C)4(D)编译时出错

12.下面程序执行后输出为()

{inta;

printf(〞%d\n〞,(a=3*5,a*4,a+5));

(A)65(B)20(C)15(D)10

13.以下程序的输出结果是()。

{struct

{intx,y;

}d[2]={{1,3},{2,7}};

printf(〞%d\n〞,d[0].y/d[0].x*d[1].x);

(A)0(B)1(C)3(D)6

14.下面程序执行后输出为()

intf(intn)

{if(n==1)return1;

elseif(n==2)return2;

elsereturnf(n-1)+f(n-2);

{printf(〞%d\n〞,f(4));

(A)1(B)2(C)3(D)5

15.下面程序的输出结果为()

{union

{intshortx;

//32位系统中,短整型数据占2个字节

charch[2];

}u;

u.x=100;

u.ch[0]=’a’;

u.ch[1]=0;

printf(〞%x\n〞,u.x);

(A)100(B)97(C)61(D)0

16.设有inta=0,b=5,c=2,x=0;

下面可以执行到x++的语句是()

(A)if(a)x++;

(B)if(a=b)x++;

(C)if(a>

=b)x++;

(D)if(!

(b-c))x++;

17.设有下列C语句,则下面叙述正确的选项是()

typedefstruct

charch[8];

}Stt;

(A)Stt是结构体变量名(B)Stt是结构体类型名

(C)typedefstruct是结构体类型(D)struct是结构体类型名

18.下面程序执行后输出为()

{inta=5,*p1,**p2;

p1=&

a;

p2=&

p1;

(*p1)++;

printf(〞%d\n〞,**p2);

(A)5(B)4(C)6(D)不确定

19.表达式k=(12<

10)?

4:

1?

2:

3的值为()

(A)1(B)2(C)3(D)4

20.若fp是指向某文件的指针,且已读到该文件的末尾,则C标准函数feof(fp)的返回值是()

(A)-1(B)1(C)0(D)NULL

1.表达式y/=x+a等价于表达式①。

2.在执行while循环时,其循环体②。

3.二维数组中,各数组元素的存放顺序是③。

4.在对文件进行操作的过程中,若要求文件的读写位置回到文件的开头,应当调用的标准库函数是④。

5.要将一个整数12000分别以ASCII码文件和二进制文件形式存放,各自所占的存储空间分别是⑤字节。

(A)按列存放(B)y=y/x+a(C)5和4

(D)y=1/(x+a)(E)输入函数(F)有可能一次都不被执行

(G)rewind(H)按列存放(I)y=y/(x+a)

(J)至少要被执行一次(K)fseek(L)4和5

1.下面程序的功能是:

计算a数组中奇数的个数和奇数的平均值,请填空。

#include<

stdio.h>

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

floatave;

for(j=0;

10;

if(①)

{s+=a[j];

k++;

if(k!

=0)

{ave=②;

printf("

%d,%f\n"

,k,ave);

2.下面程序的功能是:

将字符串b连接到字符串a的后面,请填空完成程序。

string.h>

{chara[20]=〞Iam〞,b[]=〞astudent.〞;

inti,j;

i=strlen(a);

for(③;

b[j]!

=’\0’;

a[i+j]=④;

a[i+j]=⑤;

puts(a);

3.下面程序的功能是:

求出100以内整数中可以被13整除的最大数,请填空完成程序。

{inti;

for(;

⑥;

i--)

if(⑦)

return0;

4.下面程序的功能是:

用冒泡法对一维数组a按升序排序,请填空完成程序。

{voidsort(inta[],intn);

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

sort(⑧);

9;

printf(“%3d”,a[i]);

printf(“\n”);

voidsort(inta[],intn)

{inti,j,temp;

⑨;

j<

n-1-i;

if(a[j]>

⑩)

{temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

{intx=-3;

x+=x-=x*x;

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

{voidswap(intx,int*y);

inta=5,b=10;

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

swap(a,&

b);

voidswap(intx,int*y)

{intt;

t=x;

x=*y;

*y=t;

{voidfun(char*w,intn);

charp[]=”1234567”;

fun(p,strlen(p));

puts(p);

voidfun(char*w,intn)

{chart,*s1,*s2;

s1=w;

s2=w+n-1;

while(s1<

s2)

{t=*s1;

*s1=*s2,s1++;

*s2=t,s2--;

4.以下程序的输出结果为()。

inta,b,c,d;

{voidp(inta,intb);

a=b=c=d;

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

p(a,b);

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

voidp(inta,intb)

{staticintc;

a++,b++;

c-=10,d+=5;

if(a<

2)

{inta[3][2]={1,2,3,4,5,6},*p[3],i;

p[i]=a[i];

for(i=0;

printf(〞%d〞

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

当前位置:首页 > 人文社科 > 法律资料

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

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