C语言比赛说明及3年真题Word文件下载.docx

上传人:b****7 文档编号:22207885 上传时间:2023-02-03 格式:DOCX 页数:45 大小:54.86KB
下载 相关 举报
C语言比赛说明及3年真题Word文件下载.docx_第1页
第1页 / 共45页
C语言比赛说明及3年真题Word文件下载.docx_第2页
第2页 / 共45页
C语言比赛说明及3年真题Word文件下载.docx_第3页
第3页 / 共45页
C语言比赛说明及3年真题Word文件下载.docx_第4页
第4页 / 共45页
C语言比赛说明及3年真题Word文件下载.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

C语言比赛说明及3年真题Word文件下载.docx

《C语言比赛说明及3年真题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言比赛说明及3年真题Word文件下载.docx(45页珍藏版)》请在冰豆网上搜索。

C语言比赛说明及3年真题Word文件下载.docx

(八)编译预处理

1)宏定义:

不带参数的宏定义;

带参数的宏定义2)“文件包含”处理

(九)指针

1)指针与指针变量的概念,指针与地址运算符

2)变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。

通过指针引用以上各类型数据

3)用指针作函数参数4)返回指针值的指针函数5)指针数组,指向指针的指针,main函数的命令行参数

(十)结构体(即“结构”)与共用体(即“联合”)

1)结构体和共用体类型数据的定义方法和引用方法

2)用指针和结构体构成链表,单向链表的建立、输出、删除与插入

(十一)位运算

1)位运算符的含义及使用2)简单的位运算

(十二)文件操作

1)文件类型指针(FILE类型指针)2)文件的打开与关闭(fopen,fclose)

3)文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数)

4)文件的定位(rewind,fseek函数)

复赛部分

复赛为编程操作题,主要考察参赛者使用C语言进行综合程序设计及解决实际问题的能力。

要求参赛者除了能够熟练掌握预赛所考察的知识点外,还应掌握下列内容:

1)熟悉WinTC等软件的集成环境,能够在该环境下进行程序设计、纠错及调试。

2)熟练掌握结构化程序设计的方法,具有良好的程序设计风格。

3)熟悉ANSIC常用库函数的使用方法。

4)掌握程序设计中常用的数据结构和算法。

5)熟练掌握C语言程序设计的基本技能,并能利用C语言解决实际问题。

决赛部分

决赛为编程操作题,在全面考察C语言应掌握的基本语法和基本编程技能的基础上,重点考察参赛者对问题的抽象、分解、转化能力和对C语言的理解和综合运用能力,考察参赛者在软件建模方面的基本能力和问题陈述能力。

四附注

参赛者在比赛准备期间,可以参考由人民邮电出版社出版的《C语言程序设计:

现代方法(第2版)》,本次比赛的参赛知识点,是以此书作为基础蓝本,同时对教材知识体系加以适当扩展进行考题设计的。

第六届预赛题目

单选题

[1]、C语言中运算对象必须是整型的运算符是()。

C

A、/ B、++ C、% D、!

=

[2]、假设所有变量均为整型,则执行运算x=(a=2,b=5,b++,a+b)后,x的值是()。

B

 A、7 B、8 C、6 D、2

[3]、在下列字符序列中,属于C语言合法标识符的是()。

 A、P12.a B、stud_100 C、$water.1 D、88sum

[4]、在下列语句选项中,只有一个在功能上与其他三个语句不等价(其中s1和s2表示某个C语句),这个不等价的语句是()。

D

 A、if(a) 

s1;

else 

s2;

 B、if(!

a)s2;

 C、if(a!

=0) 

 D、if(a==0) 

[5]、若二维数组定义为a[m][n],则在a[i][j]之前的元素个数为()。

 A、j*m+I B、i*m+j C、i*m+j-1 D、j*m+i-1

[6]、以下程序的运行结果是()。

D

voidfun(int*n){ 

staticintm=2;

 

 

*n*=m-1;

m+=2;

}

voidmain(){ 

staticintm=1;

inti;

for(i=1;

i<

4;

i++)fun(&

m);

printf("

%d\n"

m);

}

 A、8 B、10 C、11 D、15

[7]、设有定义:

#defineSTR"

12345"

;

则以下叙述正确的是()。

 A、宏名STR代替的是数值常量12345 B、宏定义以分号结束,编译时会产生错误信息

 C、宏名STR代替的是字符串"

 D、宏名STR代替的是字符串常量"

[8]、下列叙述不正确的是()。

B

 A、用typedef可以定义各种类型名,但不能用来定义变量 B、typedef和#define都是在预编译时处理的

 C、用typedef只是将已存在的类型用一个新的标识符来代表 D、使用typedef有利于程序的通用和移植

[9]、若变量定义时未初始化,则其值不确定的是()。

C

 A、静态全局变量 B、静态局部变量 C、局部变量 D、全局变量

[10]、以下程序关于sizeof()的运行结果是()。

chara[]="

movie"

b[10]="

%d%d\n"

sizeof(a),sizeof(b));

}C

 A、55 B、66 C、610 D、其他输出

[11]、若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式应是()。

C A、"

ab+"

 B、"

rb+"

 C、"

wb+"

 D、"

ab"

[12]、设charch,str[4],*strp;

则下列赋值语句正确的是()。

C

 A、ch="

CBA"

 B、str="

 C、strp="

 D、*strp="

[13]、有以下函数:

char*fun(char*p){returnp;

},该函数的返回值为()。

B

 A、不确定值 B、参数p中存放的地址值 C、一个临时存储单元的地址值 D、形参p自身的地址值

[14]、若有定义:

constinti=10,j=20;

int*constpi=(int*)&

i;

,则下列操作正确的为()。

A

 A、*pi=0;

 B、pi=&

j;

 C、i=10;

pi=&

 D、j=*pi;

[15]、有如下定义:

structs1{ 

chara[3];

int 

num;

}t={’a’,’b’,’x’,4},*p;

p=&

t;

则下列语句输出结果为x的是()。

A A、printf("

%c\n"

p->

t.a[2]);

 B、printf("

(*p).a[2]);

 C、printf("

a[3]);

 D、printf("

(*p).t.a[2]);

[16]、以下程序将输出的字符是()。

#include"

stdio.h"

main(){ 

charc;

char(*p)[3];

chars[2][3]={’a’,’b’,’c’,’d’,’e’,’f’};

s[0];

c=*(p[1]+1);

%c"

c);

}C A、b B、d C、eD、f

[17]、以下关于枚举的程序,其运行结果是()。

main(){ 

enumweekday 

{sun,mon,tue=5,wed,thu,fri,sat}a,b,c,d;

a=sun;

b=mon;

c=tue;

d=wed;

%d%d%d%d\n"

a,b,c,d);

}C

A、 

0050 B、 

1254 C、 

0156 D、 

0153

[18]、设有程序段chark;

while(k>

0)k++;

k);

则程序输出结果为()。

 A、-127 B、256 C、-128 D、128

[19]、函数调用语句:

fseek(fp,-20L,2);

的含义是()。

 A、将文件位置指针移到距离文件头20个字节处 B、将文件位置指针从当前位置向后移动20个字节

 C、将文件位置指针从文件末尾处后退20个字节 D、将文件位置指针移到距离当前位置20个字节处

[20]、以下程序的输出结果为()。

inta=2;

intf(int*a){ 

return(*a)++;

ints=0;

{inta=5;

s+=f(&

a);

a,s);

}C

 A、27 B、210 C、37 D、311

[21]、以下程序输出的字符序列是()。

main(){chara[]="

language"

*p;

p=a;

while(*p!

=’u’){printf("

*p-’u’+’U’);

p++;

}}C

 A、LANGUAGE B、language C、LANG D、LANGuage

[22]、以下程序的输出结果是()。

#include<

stdio.h>

intmain(){ 

charstr[100]="

ABCDEFG"

*p=str;

inti;

for(i=0;

*p!

=’\0’;

p++,i++);

printf("

i);

return0;

}A

 A、7 B、8 C、99 D、100

[23]、字符串"

a\x44\\\nbcd\102a"

的长度是()。

 A、12 B、17 C、9 D、11

[24]、以下程序的输出结果是()。

main(){intn;

(n=6*4,n+6),n*2;

printf("

n=%d\n"

n);

}B

 A、30 B、24 C、60 D、48

[25]、以下程序的输出结果是()。

main(){intw=4,x=3,y=2,z=1;

if(x>

y&

&

!

(z==w))printf("

(w<

x?

w:

z<

y?

z:

x));

elseprintf("

(w>

z>

}A A、1 B、2 C、3 D、4

[26]、以下程序的输出结果是()。

main() 

{inta=1,b=0;

switch(a) 

{case1:

switch(b){case0:

**0**"

);

break;

case1:

**1**"

case2:

**2**"

}B

 A、**0** B、**0****2** C、**0****1****2** D、有语法错误

[27]、以下是求两个正整数的最大公约数的函数fun(),下划线处应填入的正确语句为()。

intfun(m,n)

intm,n;

{intr;

if(m<

n){r=m;

m=n;

n=r;

}if(n==0)return(m);

do{r=m%n;

if(r!

=0){m=n;

}while(______);

return(n);

}AA、r!

=0B、r==0C、n!

=0D、n==0

[28]、以下程序的输出结果是()。

main(){inta=0,j;

for(j=0;

j<

j++) 

{switch(j) 

{case0:

case3:

a+=2;

a+=3;

default:

a+=5;

a);

}D

 A、20 B、13 C、10 D、36

[29]、以下程序功能为输入1个正整数n,计算并输出s的前n项的和:

s=1/2-2/3+3/4-4/5+……(-1)

n/(n+1),下划线处应填入的正确语句为(  )。

voidmain(){ 

intk,flag=1,n;

floats=0;

scanf("

%d"

&

n);

for(k=1;

k<

=n;

k++){

s=s+______;

flag=-flag;

sum=%f\n"

s);

}A

 A、1.0*k/(k+1)*flag B、flag*n/(n+1) C、-k/(k+1) D、1.0*k/(k+1)

[30]、以下程序的输出结果是()。

main(){ 

inti,j,x=0;

for(i=0;

2;

i++){ 

x++;

for(j=0;

3;

j++){ 

if(j%2) 

continue;

}x++;

x=%d\n"

x);

}B A、x=4 B、x=8 C、x=6 D、x=12

[31]、以下程序的输出结果是()。

main(){charch[2][5]={"

6937"

"

8254"

},*p[2];

inti,j,s=0;

for(i=0;

i++) p[i]=ch[i];

i++)for(j=0;

p[i][j]>

’\0’;

j+=2)s=10*s+p[i][j]-’0’;

s);

}C A、69825 B、63825 C、6385 D、693825

[32]、下列程序片段的输出结果是()。

strlen("

ATS\n0l2\2\\"

));

 A、l1 B、10 C、9 D、8

[33]、在C程序中有如下语句:

char*func(intx,inty);

它是()。

 A、对函数func的定义 B、对函数func的调用 C、对函数func的原型说明 D、不合法的

[34]、下列程序运行后的输出结果是()。

fun(inta,intb){if(a>

b)return(a);

elsereturn(b);

main(){intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

r);

}D

 A、3 B、6 C、8 D、12

[35]、有如下程序,该程序的输出结果是()。

longf(intn){if(n>

2) 

return(f(n-2)+f(n-3));

if(n==2) 

return

(2);

return

(1);

}

main(){printf("

f(5));

}C A、2 B、3 C、4 D、5

[36]、在C语言中,函数的隐含存储类别是()。

C A、auto B、static C、extern D、无存储类别

[37]、以下程序的运行结果是()。

stdio.h"

main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12};

int*p=a+5,*q=NULL;

q=p+5;

,*p,*q);

}B A、运行后报错 B、611 C、612 D、55

[38]、以下选项中,能定义s为合法的结构体变量的是()。

 A、typedefstructabc{doublea;

charb[10];

}s;

 B、structabc 

{doublea;

 C、structABC 

{doublea;

ABCs;

 D、typedefABC 

charb[10];

}ABCs;

[39]、以下程序运行后的输出结果是()。

structNODE{intnum;

structNODE*next;

};

main(){ 

structNODE*p,*q,*r;

p=(structNODE*)malloc(sizeof(structNODE));

q=(structNODE*)malloc(sizeof(structNODE));

r=(structNODE*)malloc(sizeof(structNODE));

p->

num=10;

q->

num=20;

r->

num=30;

next=q;

next=r;

%d\n"

num+q->

next->

num);

 A、10 B、20 C、30 D、40

[40]、下列程序的输出结果是()。

structstudent{inta,b,c;

main(){structstudentstu[2]={{2,3,4},{5,6,7}};

intt;

t=stu[0].a+stu[1].b%stu[0].c;

%d\n"

t);

A、0 B、1 C、4 D、5

[41]、若a是整型变量,表达式~(a^~a)等价于()。

C A、~a B、1 C、0 D、2

[42]、若以下程序所生成的可执行文件名为filel.exe,当输入命令行:

FILE1CHINABEIJINGSHANGHAI,执行该程序时,程序的输出结果是()。

main(intargc,char*argv[])

{while(argc-->

1) 

{++argv;

%s 

"

*argv);

}}A

 A、CHINABEIJINGSHANGHAI B、FILE1 

CHINA 

BEIJING C、C 

S D、F 

[43]、下列选项中属于不正确的赋值语句的是()。

 A、t--;

 B、k=i==j;

 C、t1=t2=t3=3;

 D、t1=1,t2=2;

[44]、若有定义:

inta,b;

charx,y;

并有以下输入数据:

12 

13AaBb(回车)

则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是()。

 A、scanf(“%d”,&

scanf(“%d”,&

b);

x=getchar();

y=getchar();

 B、scanf(“%d%d 

%c 

%c”,&

a,&

b,&

x,&

y);

 C、scanf(“%d%d 

a,&

y,&

 D、scanf(“%d%d%c%c%c%c”,&

[45]、在PC16位机环境下,以下程序的运行结果是()。

main(){unsignedinta;

intb=-2;

a=b;

printf(“%u”,a);

}BA、-2B、65534C、32768 D、-32768

[46]、语句printf(“%d\n”,strlen(“xyz\t\xab\3\\”));

的输出结果是()。

C A、9 B、11 C、7 D、8

[47]、语句:

printf(“%d”,!

0);

A A、1 B、0 C、有语法错误,不能执行 D、!

[48]、当a=2,b=3,c=4,d=5时,执行下面一段程序后x的值为()。

if(a<

b) 

if(c>

d)x=1;

else 

if(a>

c) 

if(b<

d)x=2;

x=3;

x=4;

else 

x=5;

 A、2 B、3 C、4 D、5

[49]、若x是int型变量,且有下面的程序片段:

for(x=5;

x<

8;

x++) 

printf((x/2)?

(“**%d”):

(“##%d”),x);

该程序片段的输出结果是()。

AA、**5**6**7 B、##5**6##7**8 C、**5##6**7 D、**5##6**7##8

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

当前位置:首页 > 解决方案 > 学习计划

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

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