c语言试题2文档格式.docx

上传人:b****6 文档编号:20607093 上传时间:2023-01-24 格式:DOCX 页数:15 大小:22.43KB
下载 相关 举报
c语言试题2文档格式.docx_第1页
第1页 / 共15页
c语言试题2文档格式.docx_第2页
第2页 / 共15页
c语言试题2文档格式.docx_第3页
第3页 / 共15页
c语言试题2文档格式.docx_第4页
第4页 / 共15页
c语言试题2文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

c语言试题2文档格式.docx

《c语言试题2文档格式.docx》由会员分享,可在线阅读,更多相关《c语言试题2文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

c语言试题2文档格式.docx

A)4B)7C)102D)103

(29)若有以下说明与语句,请选出哪个就是对c数组元素的正确引用

intc[4][5],(*cp)[5];

cp=c;

A)cp+1B)*(cp+3)C)*(cp+1)+3D)*(*cp+2)

(30)标准函数fgets(s,n,f)的功能就是

A)从文件f中读取长度为n的字符串存入指针s所指的内存

B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存

C)从文件f中读取n个字符串存入指针s所指的内存

D)从文件f中读取长度为n-1的字符串存入指针s所指的内存

(31)设有如下一段程序:

int*var,ab;

ab=100

var=&

ab;

ab=*var+10;

执行上面的程序后,ab的值为

A)120B)110C)100D)90

(32)以下程序段给数组所有的元素输入数据,请选择正确答案填入。

#include<

stdio、h>

main()

{inta[10],i=0;

while(i<

10)scanf("

%d"

________);

A)a+(i++)B)&

a[i+1]C)a+iD)&

a[++i]

(33)设有如下的程序段:

charstr[]="

Hello"

;

char*ptr;

ptr=str;

执行上面的程序段后,*(ptr+5)的值为

A)'

o'

B)'

\0'

C)不确定的值D)'

的地址

(34)在宏定义#definePI3、14159中,用宏名PI代替一个

A)单精度数B)双精度数C)常量D)字符串

(35)字符(char)型数据在微机内存中的存储形式就是

A)反码B)补码C)EBCDIC码D)ASCII码

(36)执行下面的程序段

intx=35;

charz='

A'

intb;

B=((x&

15)&

&

(z<

'

a'

后,B的值为

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

(37)C语言规定,程序中各函数之间

A)既允许直接递归调用也允许间接递归调用

B)不允许直接递归调用也不允许间接递归调用

C)允许直接递归调用不允许间接递归调用

D)不允许直接递归调用允许间接递归调用

(38)假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式

的表达式就是

A)1/a*b*cB)1/(a*b*c)C)1/a/b/(float)cD)1、0/a/b/c

(39)若x就是整型变量,pb就是基类型为整型的指针变量,则正确的赋值表达式就是

A)pb=&

xB)pb=x;

C)*pb=&

x;

D)*pb=*x

(40)设有

staticcharstr[]="

Beijing"

则执行

strlen(strcpy(str,"

China"

)));

后的输出结果为

A)5B)7C)12D)14

(41)设有如下程序:

{int**k,*j,i=100;

j=&

i;

k=&

j;

**k);

上面程序的输出结果就是

A)运行错误B)100C)i的地址D)j的地址

(42)设a=5,b=6,c=7,d=8,m=2,n=2,执行

(m=a>

b)&

(n=c>

d)

后n的值为

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

(43)下面函数的功能就是

sss(s,t)

char*s,*t;

{while((*s)&

(*t)&

(*t++==*s++));

return(*s-*t);

A)求字符串的长度B)比较两个字符串的大小

C)将字符串s复制到字符串t中D)将字符串s接续到字符串t中

(44)请选出以下程序的输出结果

sub(x,y,z)

intx,y,*z;

{*z=y-x;

}

{inta,b,c;

sub(10,5,&

a);

sub(7,a,&

b);

sub(a,b,&

c);

%d,%d,%d\n"

a,b,c);

A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7

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

{inti=2,p;

p=f(i,i+1);

p);

intf(a,b)

inta,b;

{intc;

if(a>

b)c=1;

else

if(a==b)c=0;

elsec=-1;

return(c);

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

(46)请选出以下程序段的输出结果

#defineMIN(x,y)(x)<

(y)?

(x):

(y)

{inti,j,k;

i=10;

j=15;

k=10*MIN(i,j);

k);

A)15B)100C)10D)150

(47)请选出以下程序段的输出结果

{charsl[10],s2[10],s3[10],s4[10];

scanf("

%s%s"

s1,s2);

gets(s3);

gets(s4);

puts(s1);

puts(s2);

puts(s3);

puts(s4);

输入数据如下:

(此处<

CR>

代表回车符)

aaaabbbb<

ccccdddd<

A)aaaaB)aaaaC)aaaaD)aaaabbbb

bbbbbbbbbbbbcccc

ccccccccdddddddd

ccccddddddddeeee

(48)请选出以下程序的输出结果

fun(s,n1,n2)

int*s,n1,n2;

{inti,j,t;

i=n1;

j=n2;

j)

{t=*(s+i);

*(s+i)=*(s+j);

*(s+j)=t;

i++;

j--;

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

fun(p,0,3);

fun(p,4,9);

fun(p,0,9);

for(i=0;

i<

10;

i++)printf("

*(a+i));

\n"

);

A)0987654321B)4321098765

C)5678901234D)0987651234

(49)请选出以下程序的输出结果

{inta[]={1,2,3,4},i;

intx=0;

4;

i++)

{sub(a,x);

printf("

x);

sub(s,y)

int*s,y;

{staticintt=3;

y=s[t];

t--;

A)1234B)4321C)0000D)4444

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

structst

{intx;

int*y;

}*p;

intdt[4]={10,20,30,40};

structstaa[4]={50,&

dt[0],60,&

dt[1],

70,&

dt[2],80,&

dt[3]};

{p=aa;

++p->

x);

(++p)->

++(*p->

y));

A)10B)50C)51D)60

20606070

20212131

二、填空题(每空2分,共40分)

请将每空的正确答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。

(1)十进制数123用八位二进制表示为【1】。

(6)设有如下程序段:

inti=0,sum=1;

{sum+=i++;

6);

sum);

上述程序段的输出结果就是【6】。

(7)阅读下列程序:

{inti,j,row,column,m;

staticintarray[3][3]={{100,200,300},

{28,72,-30},

{-850,2,6}

};

m=array[0][0];

for(i=0;

3;

for(j=0;

j<

if(array[i][j]<

m)

{m=array[i][j];

row=i;

column=j;

m,row,column);

上述程序的输出结果就是【7】。

(8)设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:

a*=16+(b++)-(++c);

后,a的值就是【8】。

(9)下面程序的输出结果就是【9】。

#include<

main()

{inta=3,b=2,c=1;

c-=++b;

b*=a+c;

{intb=5,c=12;

c/=b*2;

a-=c;

printf('

%d,%d,%d,"

a,b,c);

a+=--c;

(10)设有如下程序:

main(argc,argv)

intargc;

char*argv[];

{while(--argc>

0)printf("

%s"

argv[argc]);

假定上述程序经编译与连接后生成可执行文件PROG、EXE,如果在DOS提示符下键入PROGABCDEFGHIJKL<

则输出结果为【10】。

(11)阅读下列程序:

#defineMAX_COUNT4

voidfun();

main()

{intcount;

for(count=1;

count<

=MAX_COUNT;

count++)fun();

voidfun()

{staticinti;

i+=2;

i);

上述程序的输出结果就是【11】。

(12)设有下列程序:

strint、h>

{inti;

charstr[10],temp[10];

gets(temp);

{gets(str);

if(strcmp(temp,str)<

0)strcpy(temp,str);

%s\n"

temp);

上述程序运行后,如果从键盘上输入(在此<

代表回车符):

C++<

BASIC<

QuickC<

Ada<

Pascal<

则程序的输出结果就是【12】。

(13)设有如下程序:

#include<

main(argc,argv)

intargc;

{FILE*fp;

voidfc();

inti=1;

while(--argc>

0)

if((fp=fopen(argv[i++],"

r"

))==NULL)

{printf("

Cannotopenfile!

\n"

exit

(1);

else

{fc(fp);

fclose(fp);

voidfc(ifp)

FILE*ifp;

{charc;

while((c=getc(ifp))!

='

#'

)putchar(c-32);

上述程序经编译、连接后生成可执行文件名为cpy、exe。

假定磁盘上有三个

文本文件,其文件名与内容分别为:

文件名内容

aaaaa#

bbbbb#

ccccc#

如果在DOS下键入

cpyabc<

则程序输出【13】。

(14)若输入3个整数3,2,1,则下面程序的输出结果就是【14】。

voidsub(n,uu)

intn,uu[];

{intt;

t=uu[n--];

t+=3*uu[n];

n=n++;

if(t>

=10)

{uu[n++]=t/10;

uu[n]=t%10;

elseuu[n]=t;

main()

{inti,n,aa[10]={0,0,0,0,0,0}

scanf("

%d%d%d"

&

n,&

aa[0],&

aa[1]);

for(i=1;

n;

i++)sub(i,aa);

for(i=0;

=n;

aa[i]);

(15)若有以下定义:

doublew[10];

则w数组元素下标的上限为【15】,下限为【16】。

(16)以下程序统计从终端输入的字符中每个大写字母的个数。

用#号作为输入结束标志,请填空。

ctype、h>

{intnum[26],i;

charc;

26;

i++)num[i]=0;

while(【17】!

)/*统计从终端输入的大写字母个数*/

if(isupper(c))num[c-65]+=1;

i++)/*输出大写字母与该字母的个数*/

if(num[i])printf("

%c:

%d\n,i【18】,num[i]);

(17)下面的程序调用getone函数开辟一个动态存储单元,调用assone函数把数据输入此动态存储单元,调用outone函数输出此动态存储单元中的数据。

请填空。

#include<

getone(s)

int**s;

{*s=(int*)malloc(sizeof(int));

assone(a)

int*a;

{scanf("

【19】);

outone(b)

int*b;

【20】);

main()

{int*p;

getone(&

p);

assone(p);

outone(p);

『完』

C试卷参考答案

一`选择题(

(1)~(40)题每题1分,(41)~(50)题每题2分,共60分)

(1)C

(2)D

(3)B

(4)A

(5)D

(6)D

(7)B

(8)C

(9)C

(10)A

(11)B

(12)C

(13)A

(14)C

(15)C

(16)C

(17)D

(18)C

(19)A

(20)D

(21)B

(22)D

(23)C

(24)B

(25)B

(26)A

(27)C

(28)C

(29)D

(30)B

(31)B

(32)A

(33)B

(34)D

(35)D

(36)B

(37)A

(38)D

(39)A

(40)A

(41)B

(42)B

(43)B

(44)B

(45)A

(46)A

(47)A

(48)C

(49)C

(50)C

二`填空题(每空2分,共40分)

(1)01111011

(2)32

(3)内存或存储器或存储

(4)IBMDOS、COM允许用小写字母

(5)字段或字段名

(6)16

(7)-850,2,0若遗漏逗号扣1分

(8)28

(9)2,5,1,2,3,-2若遗漏逗号扣1分

(10)IJKLEFGHABCD若在字符间嵌入空格扣1分若在字符间嵌入空格扣1分

(12)QuickC若大写字母写成小写字母,或小写字母写成大写字母扣1分

(13)AAAABBBBCCCC若在字符间嵌入空格扣1分若用小写字母扣1分

(14)2721或2721

(15)9

(16)0

(17)(c=getchar())注意,外层括号不得遗漏

(18)+65或+'

(19)a或&

*a

(20)*b

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

当前位置:首页 > 初中教育 > 学科竞赛

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

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