第七届全国信息技术应用水平大赛预赛试题

C语言程序设计

一、单选题(60题,1分/题,共60分)

[1]、下列选项中,叙述不正确的是( )。

【答  案】B

【分  数】1分

【选  项】

A、用typedef可以定义各种类型名,但不能定义变量

B、typedef和#define都是在程序预编译时处理的

C、用typedef只是将已存在的类型用一个新的标识符来代表

D、使用typedef有利于程序的通用和移植

[2]、若有如下定义:

int a=2,*p;

float x=1, y=2;

char e=‘w’;

则以下用法不正确的是( )。

【答  案】B

【分  数】1分

【选  项】

A、printf("%c",e+a);

B、p=&x;

C、a*=y+x;

D、x=y=e;

[3]、下列5个符号串中,属于C语言合法标识符的共计( )个。

_1_2_3

a-b-c

float

9cd

a3b4

【答  案】B

【分  数】1分

【选  项】

A、1

B、2

C、3

D、4

[4]、int x=20; printf("%d\n",~x);

以上程序段运行后的输出结果是( )。

【答  案】B

【分  数】1分

【选  项】

A、235

B、-21

C、-20

D、-11

[5]、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值(结果保留两位小数)是( )。

【答  案】A

【分  数】1分

【选  项】

A、2.50

B、2.75

C、3.50

D、0.00

[6]、若有如下程序:

void s(char *m,int n)

{

*m=*m+3;n=n+3;

printf("%c,%c,",*m,n);

}

void main()

{

char p=‘b’,q=‘B’;

s(&q,p);

printf("%c,%c\n",p,q);

}

则程序运行后的输出结果是( )。

【答  案】A

【分  数】1分

【选  项】

A、E,e,b,E

B、e,E,b,F

C、E,e,e,E

D、e,E,b,E

[7]、桌上有a、b、c、d、e五个黑白球,a=0表示白球,a=1表示黑球,其他球同样定义。则以下能表示a是黑球,其余至少有三个白球的表达式是( )。

【答  案】C

【分  数】1分

【选  项】

A、a&&(b+c+d+e)==1

B、a&&(b+c+d+e)>2

C、a&&(b+c+d+e)<=1

D、!a&&(b+c+d+e)==3

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

【答  案】C

【分  数】1分

【选  项】

A、/

B、++

C、%

D、!=

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

#include <stdio.h>

main()

{

int i,j=4;

for(i=j; i<=2*j; i++)

switch (i/j) {

case 0:

case 1: printf("*"); break;

case 2: printf("#"); break;
    }

}

【答  案】D

【分  数】1分

【选  项】

A、*###

B、**##

C、***#

D、****#

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

main( )

{

int w=4,x=3,y=2,z=1;

if(x>y&&!(z==w)) printf("%d\n",(w<x?w:z<y?z:x));

else printf("%d\n", (w>x?w:z>y?z:x));

}

【答  案】A

【分  数】1分

【选  项】

A、1

B、2

C、3

D、4

[11]、关于C语言形参与实参,以下说法正确的是( )。

【答  案】A

【分  数】1分

【选  项】

A、实参和与其对应的形参各占用独立的存储单元

B、实参和与其对应的形参共占用同一个存储单元

C、只有当实参和与其对应的形参同名时才共占用同一个存储单元

D、形参是虚拟的,从不占用存储单元

[12]、以下宏定义中,不会引起二义性的共计( )个。

(1)#define POWER(x) x*x

(2) #define POWER(x) (x)*(x)

(3) #define POWER(x) (x*x)

(4) #define POWER(x) ((x)*(x))

【答  案】A

【分  数】1分

【选  项】

A、1

B、2

C、3

D、4

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

main()

{

int i,j,x=0;

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

x++;

for(j=0;j<3;j++) {

if (j%2)   continue;

x++;

}

x++;

}

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

}

【答  案】C

【分  数】1分

【选  项】

A、x=4

B、x=6

C、x=8

D、x=12

[14]、已知有以下说明:

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

那么a[*(a+a[3])]的值为( )。

【答  案】A

【分  数】1分

【选  项】

A、0

B、4

C、5

D、7

[15]、有定义如下:

struct pupil {

char name[20];

int age;

int sex;

} pup[5],*p;

p=pup;

以下scanf函数调用语句中,对结构体变量成员的引用不正确的是( )。

【答  案】D

【分  数】1分

【选  项】

A、scanf("%s",pup[0].name);

B、scanf("%d",&pup[0].age);

C、scanf("%d",&(p->sex));

D、scanf("%d",p->age);

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

#include <stdio.h>

struct NODE

{ int num; struct NODE *next; };

main()

{

struct NODE *p,*q,*r;

p=(struct NODE*)malloc(sizeof(struct NODE));

q=(struct NODE*)malloc(sizeof(struct NODE));

r=(struct NODE*)malloc(sizeof(struct NODE));

p->num=10; q->num=20; r->num=30;

p->next=q; q->next=r;

printf("%d\n ",p->num+q->next->num);

}

【答  案】D

【分  数】1分

【选  项】

A、10

B、20

C、30

D、40

[17]、当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 ;

else  x=3 ;

else  x=4 ;

else  x=5 ;

【答  案】C

【分  数】1分

【选  项】

A、2

B、3

C、4

D、5

[18]、设有程序段unsigned char k;while (k>0) k++; printf("%d\n",k);则该程序段的输出结果为( )。

【答  案】D

【分  数】1分

【选  项】

A、-1

B、-127

C、-128

D、0

[19]、若有以下定义:int x[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[3]=x;

则能够正确表示数组元素x[2][1]的表达式是( )。

【答  案】C

【分  数】1分

【选  项】

A、*((*p+2)[1])

B、(*p+2)+1

C、*(*p+7)

D、*(*p+2)+1

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

#include<stdio.h>

void fun(int *p) {

int a=10;

p=&a;

++a;

}

void main()

{

int a=5;

fun(&a);

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

}

【答  案】A

【分  数】1分

【选  项】

A、5

B、6

C、10

D、11

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

#include"stdio.h"

int sub(int *t,int n) {

int *p1,*p2;

for(p1=t,p2=t;p1-t<n;p1++)

if(*p1<*p2)p2=p1;

return(*p2);

}

void main()

{

int a[9]={9,36,19,39,26,5,6,33,15};

printf("%d\n",sub(a,9));

}

【答  案】A

【分  数】1分

【选  项】

A、5

B、9

C、15

D、39

[22]、

下面程序的运行结果是( )。

#include<stdio.h>

#include<string.h>

fun(char *w,int n){

char t;

ints1,s2;

s1=0;s2=n-1;

while(s1<s2){t=w[s1++];w[s1]=w[s2--];w[s2]=t;}

}

main()

{

charp[]="1234567";

fun(p,strlen(p));

puts(p);

}

【答  案】C

【分  数】1分

【选  项】

A、7654321

B、1714171

C、1711717

D、7177171

[23]、C语言规定函数返回值的类型由( )。

【答  案】A

【分  数】1分

【选  项】

A、在定义时所指定的函数类型所决定

B、调用该函数时的主调函数类型所决定

C、return语句中的表达式类型所决定

D、调用该函数时系统临时决定

[24]、有以下程序段:

#include <stdio.h>

main()

{

int i=1,sum=0,n;

scanf("%d",&n);

do {

i+=2;

sum+=i ;

}while(i!=n);

printf("%d",sum);

}

若使程序的输出值为15,则应该从键盘输入的n的值是 ( )。

【答  案】D

【分  数】1分

【选  项】

A、1

B、3

C、5

D、7

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

void main()

{

char a[]="movie",b[10]="movie";

printf("%d %d\n",sizeof(a),sizeof(b));

}

【答  案】C

【分  数】1分

【选  项】

A、5 5

B、6 6

C、6 10

D、6 12

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

#include <stdio.h>

void main()

{

unsigned char a,b;

a=0x0a|3;

b=0x0a&3;

printf("%d %d\n",a,b);

}

【答  案】B

【分  数】1分

【选  项】

A、2 11

B、11 2

C、7 13

D、13 7

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

【答  案】C

【分  数】1分

【选  项】

A、typedef struct abc

{ double a;

char b[10];

}s;

B、struct ABC

{ double a;

char b[10];

}

ABC s;

C、struct abc

{ double a;

char b[10];

}s;

D、typedef ABC

{ double a;

char b[10];

}

ABC s;

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

main()

{

int a=0,j;

for(j=0;j<4;j++) {

switch(j) {

case 0:

case 3:a+=2;

case 1:

case 2:a+=3;

default:a+=5;

}

}

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

}

【答  案】D

【分  数】1分

【选  项】

A、10

B、13

C、20

D、36

[29]、以下程序功能为输入1个正整数n,计算并输出表达式s的前n项的和:s=1/2-2/3+3/4-4/5+ ……(-1)n/(n+1)。其中下划线处应填入的正确语句为( )。

#include "stdio.h"

void main()

{ int k, flag=1, n;

float s=0;

scanf("%d", &n);

for (k=1; k<=n; k++){

s=s+______;

flag=-flag;

}

printf("sum=%f\n", s);

}

【答  案】A

【分  数】1分

【选  项】

A、1.0*k/(k+1)* flag

B、flag*n/(n+1)

C、-k/(k+1)

D、1.0*k/(k+1)

[30]、有以下函数:char *fun(char *p){return p;},该函数的返回值为( )。

【答  案】B

【分  数】1分

【选  项】

A、不确定值

B、参数p中存放的地址值

C、一个临时存储单元的地址值

D、形参p自身的地址值

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

main()

{

int a,b;

a=50;b=90;

printf("%d\n",(a,b));

}

【答  案】A

【分  数】1分

【选  项】

A、90

B、50 90

C、50

D、100

[32]、int x=-20; printf("%d\n",~x);

以上程序段的输出结果是( )。

【答  案】A

【分  数】1分

【选  项】

A、19

B、20

C、21

D、-1

[33]、若以下程序所生成的可执行文件名为file1.exe,当输入命令行:FILE1 CHINA BEIJING SHANGHAI,执行该程序时,程序的输出结果是( )。

main(int argc,char * argv [])

{ while(argc-->1)

{++argv;printf("%s",*argv);}

}

【答  案】A

【分  数】1分

【选  项】

A、CHINA BEIJING SHANGHAI

B、FILE1  CHINA  BEIJING

C、C   B   S

D、F   C   B

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

fun(int a, int b)

{ if(a>b) return(b);

else return(a);

}

main()

{ int x=3, y=8, z=6, r;

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

printf("%d\n", r);

}

【答  案】A

【分  数】1分

【选  项】

A、3

B、6

C、8

D、12

[35]、有如下程序:

long f(int n)

{ if(n>2)  return(f(n-2)+f(n-3));

else

if(n==2)  return(2);

else      return(1); }

main()

{ printf("%d\n",f(6)); }

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

【答  案】C

【分  数】1分

【选  项】

A、3

B、4

C、5

D、6

[36]、在C程序中有如下语句:char *func(int x,int y); 下列说法正确的是( )。

【答  案】C

【分  数】1分

【选  项】

A、该语句表示对函数func的定义

B、该语句表示对函数func的调用

C、该语句表示对函数func的原型说明

D、该语句是不合法的

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

#include <stdio.h>

main()

{

int w[4]={8,20},*p;

p= w;

p++;

printf("%d\n",*(++p));

}

【答  案】A

【分  数】1分

【选  项】

A、0

B、8

C、20

D、不定

[38]、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。

【答  案】C

【分  数】1分

【选  项】

A、char s[10]="abcdefg";

B、char t[]="abcdefg",*s=t;

C、char s[10];s="abcdefg";

D、char s[10];strcpy(s,"abcdefg");

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

#include "stdio.h"

main()

{

char c;

char (*p)[3];

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

p=&s[0];

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

printf("%c",c);

}

【答  案】C

【分  数】1分

【选  项】

A、b

B、d

C、e

D、f

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

#include <stdio.h>

main(){

struct st {

int x;int y;

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

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

}

【答  案】D

【分  数】1分

【选  项】

A、0

B、1

C、3

D、6

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

【答  案】B

【分  数】1分

【选  项】

A、~a

B、0

C、1

D、2

[42]、在C语言中,有关隐含存储类别的说法,正确的是( )。

【答  案】C

【分  数】1分

【选  项】

A、函数的隐含存储类别是auto

B、函数的隐含存储类别是static

C、函数的隐含存储类别是extern

D、函数没有隐含存储类别

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

int fun(m,n)

int m,n;

{

int r;

if(m<n) {r=m;m=n;n=r;}

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

do{ r=m%n;

if (r!=0){ m=n;n=r;}

} while (______);

return(n);

}

【答  案】A

【分  数】1分

【选  项】

A、r!=0

B、r==0

C、n!=0

D、n==0

[44]、若调用fputc函数输出字符成功,则其返回值是( )。

【答  案】D

【分  数】1分

【选  项】

A、EOF

B、0

C、1

D、输出的字符

[45]、在32位PC机上使用C语言时,若有以下定义:

union data

{ int I;

char ch;

double f;}b;

则共用体变量b占用内存的字节数是( )。

【答  案】C

【分  数】1分

【选  项】

A、2

B、4

C、8

D、12

[46]、语句printf(“%d\n”,strlen(“xyz\t\xab\3\\\x67”));的输出结果是( )。

【答  案】B

【分  数】1分

【选  项】

A、7

B、8

C、9

D、11

[47]、下列用于printf函数的控制字符常量中,代表退格的是( )。

【答  案】A

【分  数】1分

【选  项】

A、'\b'

B、'\t'

C、'\r'

D、'\n'

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

#include "stdio.h"

main()

{

enum weekday

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

a=sun;

b=mon;

c=tue;

d=wed;

printf("%d %d %d %d\n",a,b,c,d);

}

【答  案】C

【分  数】1分

【选  项】

A、0 0 5 0

B、1 2 5 4

C、0 1 5 6

D、0 1 5 3

[49]、以下是关于文件读写操作的程序,其屏幕输出是( )。

#include <stdio.h>

void main()

{

FILE*fp;int i,a[4]={1,2,3,4},b;

fp=fopen("data.dat","wb");

for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);

fclose(fp);

fp=fopen("data.dat","rb");

fseek(fp,-2L*sizeof(int),SEEK_END);

fread(&b,sizeof(int),1,fp);

fclose(fp);

printf("%d\n",b);

}

【答  案】C

【分  数】1分

【选  项】

A、1

B、2

C、3

D、4

[50]、以下程序运行后向文件输出的结果是( )。

#include "stdio.h"

void main()

{

FILE *fp;

fp=fopen("test.txt","wb");

fprintf(fp,"%d%.1f,%c%c",5,238.41,‘B’,‘h’);

fclose(fp);

}

【答  案】B

【分  数】1分

【选  项】

A、5 238.41 B h

B、5238.4,Bh

C、5,238.4,B,h

D、5238.41Bh

[51]、以下程序中,if (i>j)语句执行的次数共计( )次。

main()

{ int i=0,j=14,k=2,s=0;

for(;;)

{ i+= k ;

if(i>j)

{ printf("%d",s);

break ;

}

s+=i ;

}

}

【答  案】C

【分  数】1分

【选  项】

A、6

B、7

C、8

D、9

[52]、若执行fopen函数时发生错误,则函数的返回值是( )。

【答  案】D

【分  数】1分

【选  项】

A、地址值

B、0

C、1

D、EOF

[53]、有以下程序:

main()

{ char str[ ][8]={ "Hello","Beijing"},*p=str;

printf("%s\n",p+4);}

该程序运行后的输出结果是( )。

【答  案】C

【分  数】1分

【选  项】

A、Hello

B、Beijing

C、o

D、oBeijing

[54]、下列函数调用语句中含有( )个参数。

func(((f1,f2),(f2,f3)),(f5,f6,f7),f8)

【答  案】A

【分  数】1分

【选  项】

A、3

B、5

C、6

D、7

[55]、下列程序中函数sort的功能是对a数组中的数据进行由大到小的排序:

void sort(int a[ ],int n)

{ int i,j,t;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}

}

main()

{ int aa[10]={1,2,3,4,5,6,7,8,9,10 },i;

sort(&aa[2],5);

for(i=0;i<10;i++)printf("%d,",aa[i]);

printf(“\n”);

}

该程序运行后的输出结果是( )。

【答  案】B

【分  数】1分

【选  项】

A、1,2,3,4,5,6,7,8,9,10,

B、1,2,7,6,5,4,3,8,9,10,

C、1,2,10,9,8,7,6,5,4,3,

D、10,9,8,7,6,5,4,3,2,1,

[56]、下列程序的运行结果是( )。

main()

{ char arr[2][4];

strcpy(arr, "hello");strcpy(arr[1], "ABC");

printf("%s\n",arr);}

【答  案】C

【分  数】1分

【选  项】

A、helloABC

B、hell

C、hellABC

D、attr

[57]、程序中对fun函数有如下说明:

int *fun();

下面说法正确的是( )。

【答  案】D

【分  数】1分

【选  项】

A、fun函数是整型函数

B、指针fun指向一个函数,该函数返回整型数据

C、fun函数的返回值是整型数据

D、fun函数的返回值是指向整型数据的指针类型

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

main()

{

int k=4,m=5,n=7;

int *pk=&k,*pm=&m,*p;

*(p=&n)=++*pk*(*pm++);

printf("%d\n",n);

}

【答  案】C

【分  数】1分

【选  项】

A、20

B、21

C、25

D、30

[59]、以下函数的输出结果是( )。

#define P 3

#define F(x) (P*x*x)

main()

{ printf("%d\n",F(3+5)); }

【答  案】B

【分  数】1分

【选  项】

A、192

B、29

C、25

D、编译出错

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

#include <stdio.h>

#include <string.h>

void main()

{

char p1[20]="abcd",p2[20]="ABCD";

char str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

printf("%s\n",str);

}

【答  案】D

【分  数】1分

【选  项】

A、xyabcAB

B、abcABz

C、Ababcz

D、xycdBCD

二、多选题(20题,2分/题,共40分)

[1]、若有以下定义和语句:int w[2][3], (*pw)[3]; pw=w;

则对w数组元素的正确引用有( )。

【答  案】ABD

【分  数】2分

【选  项】

A、*(w[0]+2)

B、pw[0][0]

C、*pw[2]

D、*(pw[1]+2)

[2]、设有如下定义:

char *s[2]={ "abcd","ABCD"};

char **p=s;

则下列说法正确的有( )。

【答  案】ACD

【分  数】2分

【选  项】

A、s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址

B、s数组的两个元素分别存放的是含有四个字符的一维字符数组中的元素

C、p是指向指针数据的指针变量

D、p中存放的是数组s的首地址

[3]、设有说明int k=7,x=12; 则以下语句执行后,x值为0的有( )。

【答  案】AC

【分  数】2分

【选  项】

A、x%=(k%5);

B、x%=(k-k%5);

C、x%=k-k/5;

D、x=(x%=k)-(k%=5);

[4]、已知有定义static int b[5], a[2][3]={1,2,3,4,5,6};则以下说法正确的有( )。

【答  案】AD

【分  数】2分

【选  项】

A、b中元素值为0

B、b中元素没有定义,值不确定

C、a[1][1]=4

D、a[1][1]=5

[5]、函数调用时,下列说法中正确的有( )。

【答  案】BCD

【分  数】2分

【选  项】

A、若用值传递方式,则形式参数不予分配内存

B、实际参数和形式参数可以同名

C、主调函数和被调用函数可以不在同一个文件中

D、函数间传递数据可以使用全局变量

[6]、下列说法中正确的有( )。

【答  案】AD

【分  数】2分

【选  项】

A、递归函数的形参是自动变量

B、有些递归函数是不能用非递归算法来实现的

C、C语言不允许这样的函数调用:函数A调用了函数B,而函数B又调用了函数A

D、C语言不允许函数的嵌套定义

[7]、设有如下代码:

struct str{

int no;

char *name;

}node;

char buf[100];

以下代码能为node变量输入值的有( )。

【答  案】CD

【分  数】2分

【选  项】

A、scanf("%d%s", node.no, node.name);

B、scanf("%d%s", &node.no, &node.name);

C、scanf("%d%s", &node.no, buf);

node.name = new char(strlen(buf)+1);

strcpy(node.name, buf);

D、scanf("%d%s", &node.no, buf);

node.name = (char *)malloc(strlen(buf)+1);

strcpy(node.name, buf);

[8]、以下关于枚举类型的用法中,正确的有( )。

【答  案】BC

【分  数】2分

【选  项】

A、enum a {1,2,3};

B、enum a {a,b,c};

C、enum a {a,b,c}d;

D、enum a {a,b,c}a;

[9]、已知有定义:

struct{

int no;

char name[20];

}a,b,*c;

则以下语句合法的有( )。

【答  案】ACD

【分  数】2分

【选  项】

A、a=b;

B、a=&b;

C、c=&b;

D、*c=b

[10]、以下关于结构类型变量的定义正确的有( )。

【答  案】CD

【分  数】2分

【选  项】

A、struct data{

int num;

float price;

}&book;

B、struct data{

int num;

float price;

}book;

book b;

C、struct data{

int num;

float price;

}book;

struct data &d=book;

D、typedef struct data{

int num;

float price;

}book;

book b;

[11]、设有结构类型:

typedef struct str{

int no;

char name[20];

}STR;

另有变量定义:STR a[20], x;

以下语句希望实现“向与文件指针变量fp关联的文件输出一个结构信息”,正确的有( )。

【答  案】ABC

【分  数】2分

【选  项】

A、fwrite(a, sizeof(STR), 1, fp);

B、fwrite(&a[2], sizeof(STR), 1, fp);

C、fwrite(&x, sizeof(STR), 1, fp);

D、fwrite(x, sizeof(STR), 1, fp);

[12]、以下对C语言中共用体类型数据的叙述正确的有( )。

【答  案】BC

【分  数】2分

【选  项】

A、可以对共用体变量名直接赋值

B、不能在定义共用体类型变量时对它初始化

C、一个共用体变量中不能同时存放其所有成员

D、共用体类型定义中不能出现结构体类型的成员

[13]、关于以下运算,说法正确的有( )。

【答  案】BD

【分  数】2分

【选  项】

A、设有宏定义"#define F(N) 2*N",则表达式F(2+3)的值是10

B、设int x=4;则执行语句x+=x*= x+1;后,x的值为40

C、设int a, b=8;执行a=b<<2 + 1;后,a的值是33

D、设int a[3][4], *p=a[1]; 该指针变量p指向的元素是a[1][0]

[14]、以下宏定义存在二义性的有( )。

【答  案】ABC

【分  数】2分

【选  项】

A、#define SQR(x) (x*x)

B、#define M(a, b) (a)>(b)?(a):(b)

C、#define ADD(a,b) (a+b)

D、#define RND8(x) ((((x) + 7)/8)*8)

[15]、若在程序中用到"putchar()"、"strlen()"、"strtoupper()"函数,则以下说法正确的有( )。

【答  案】ACD

【分  数】2分

【选  项】

A、使用putchar()需要包含头文件"stdio.h"

B、使用putchar()需要包含头文件"stdlib.h"

C、使用toupper()需要包含头文件"ctype.h"

D、使用strlen()需要包含头文件"string.h"

[16]、以下定义不合法的有( )。

【答  案】ABC

【分  数】2分

【选  项】

A、char s="string";

B、int a[5]={0,1,2,3,4,5};

C、char s[5]="string";

D、char a[]={0,1,2,3,4,5};

[17]、有以下定义:char a[10],*b=a; 则能给a数组输入字符串的语句有( )。

【答  案】ACD

【分  数】2分

【选  项】

A、gets(a);

B、gets(a[0]);

C、gets(&a[0]);

D、gets(b);

[18]、下面程序中存在错误的有( )(每行程序前面的数字表示行号) 。

1 main()

2 {

3 float a[10]={0.0};

4 int i;

5 for(i=0;i<3;i++) scanf("%d",a[1]);

6 for(i=0;i<=10;i++) a[0] = a[0] + a[i];

7 printf("%d\n", a[0]);

8 }

【答  案】BC

【分  数】2分

【选  项】

A、第3行

B、第5行

C、第6行

D、第7行

[19]、关于下列程序的输入与输出,说法正确的有( )。

#include <stdio.h>

void main()

{

int m,n;

printf("Enter m,n∶");

scanf("%d,%d",&m,&n);

while(m!=n){

while(m>n)m-=n;

while(n>m)n-=m;

}

printf("m=%d\n",m);

}

【答  案】CD

【分  数】2分

【选  项】

 A、输入m>n时,程序将输出1

 B、输入m<n时,程序将输出1

 C、输入m,n满足m%n等于0,且m>n时,程序输出n的值

 D、输入m或n为0时,程序将陷入死循环

[20]、以下叙述正确的有( )。

【答  案】ABC

【分  数】2分

【选  项】

A、在不同的函数中可以使用相同名字的变量

B、函数中的形式参数是局部变量

C、在一个函数内定义的变量只在本函数范围内有效

D、在一个函数内的复合语句中定义的变量在本函数范围内有效

第七届全国信息技术应用水平大赛预赛试题----C语言程序设计相关推荐

  1. 高中信息技术奥赛试题c语言,全国信息技术应用水平大赛复赛试题 C语言程序设计(A卷)...

    ITAT 第六届全国信息技术应用水平大赛复赛试题 C语言程序设计(A卷) 第六届全国信息技术应用水平大赛复赛试题 C语言程序设计(A卷) 请仔细阅读并严格遵守以下要求: 请创建以"准考证号_ ...

  2. 第七届全国信息技术应用水平大赛模拟题 JAVA程序设计

    单选题(共60题,每题1分,共60分) 1. Java语言具有许多优点和特点,其中能反映Java程序在不同操作系统下都可以运行的特点是(). A.安全性 B.多线程 C.跨平台 D.可移植 2. Ja ...

  3. 第六届全国信息技术应用水平大赛Java组复赛B卷试题答案

    1. 九九乘法口诀表是学习算数乘法的基础,用一个for循环编程实现并显示九九乘法口诀表,程序运行显示结果如下所示.(25分) 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1 ...

  4. 第六届全国信息技术应用水平大赛比赛说明(电子系统设及团体比赛)(

    一.比赛形式 1. 本项比赛为团体赛,参赛者以团队形式参加本次大赛,每个团队包括3名队员和1位指导教师. 2. 本项比赛内容为产品设计与制作,采用开放式.场外作业.提交作品与论文的方式进行.每队选手在 ...

  5. 第六届全国信息技术应用水平大赛Java组复赛A卷试题答案

    1. 迭代器(Iterator)提供了一种通用的方式来访问集合中的元素.编写一个程序把学生的成绩存放在一个链表中,使用迭代器实现遍历链表并显示结果,具体显示结果如下所示.(25分) 姓名   学号   ...

  6. 物流设计大赛优秀作品_中国外运杯第七届全国大学生物流设计大赛案例专家评审会在京召开...

    2020年9月10日,"中国外运杯"第七届全国大学生物流设计大赛案例专家评审会在京召开.中国物流与采购联合会副会长任豪祥.中国物流与采购联合会原副会长.中国物流与采购联合会专家委员 ...

  7. 第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)

    目录 前言 1.安装cuda和cudnn11.1并配置 2.Yolov4-tiny垃圾训练步骤 前言 第七届全国大学生工程训练大赛结束也有一段日子了,成绩还不错,拿了个国一,在这里总结一下,垃圾桶上用 ...

  8. 第9届全国大学生 GIS 技能大赛下午试题详解(下)附练习数据

    01 数据说明 主要道路.shp:江苏省主要道路数据来源于 OpenStreet 网站. 江苏省省界.shp:江苏省行政区面数据. 江苏市届.shp:江苏省地级市面数据. 江苏县界.shp:江苏省区县 ...

  9. 全国大学生计算机技能应用大赛ppt题库,全国计算机应用技术技能大赛预赛试题及答案.doc...

    全国计算机应用技术技能大赛预赛试题及答案 2004全国计算机应用技术技能大赛预赛试题及答案 IT技能大赛预赛之办公类试题库办公自动化(Word XP试题) 一.单选题:1.下列可将段落设置成1.5倍行 ...

最新文章

  1. hdu 3068 最长回文【manacher】(模板题)
  2. locate: database too small: /var/db/locate.databas
  3. 解密万亿参数M6模型预训练背后的分布式框架Whale
  4. Cisco2960交换机密码忘记恢复教程
  5. 修正《用Docker快速搭建Go开发环境》文章中的一处错误
  6. 文档加载完成覆盖_在完成文档之前,作业尚未完成
  7. iframe页面改动parent页面的隐藏input部件value值,不能触发change事件。
  8. android java资源包下载网站
  9. 知秋源码解读分享系列
  10. Android 偶见花屏 bug,无法手动重现
  11. memcached(五)--源码分析,启动
  12. webuploader插件使用分析
  13. linux监测服务日志脚本,LINUX下的一个性能监测脚本
  14. cesium加载天地图矢量地图设置为暗黑系风格地图【独门秘方】
  15. 浏览器中performance的基本使用
  16. cass小插件集合_CAD面积插件大全_CAD插件大全_CASS插件大全_小懒人CAD插件老妈砂锅串串香加盟...
  17. mac制作u盘启动盘
  18. 10php1c,很急的一個問題,請幫幫忙
  19. 今日简报 每日精选12条新闻简报 每天一分钟 知晓天下事 4月23日
  20. 关于Andriod org.gradle.api.tasks.TaskExecutionException: Execution failed for task 问题及解决办法

热门文章

  1. 数据机房智能母线槽技术分析
  2. 疯狂英语口语突破-突破句型1
  3. 校园计算机网的功能,浅谈校园网的功能、建设与管理
  4. 经典智力题:小明一家人过桥问题
  5. 【机械臂轨迹规划】足式机器人足端摆线轨迹曲线
  6. 排队论---单服务台负指数分布排队系统的分析
  7. BGL使用dijkstra计算图的最短路径
  8. 拥有WWB 让您WAP更轻松
  9. win10自带邮箱发件箱为空
  10. nvme补丁for win7是什么意思_什么!NVMe不支持TRIM?你不会搞错了吧...