计算机专业学习指南试题50

时间:2024.5.8

计算机专业指南试题

学号 姓名

一、填空题:10%

1. 本专业中统设必修课和部分统设课的多种媒体教学资源包

括 、 、 、 或 。

2. 本专业最低毕业学分为鉴定符合要求,可获得国家承认的高等教育专科学历毕业证书, 给予毕业证书电子注册。

3. 计算机信息管理专业在教学计划进程表中安排了

4.学习支持服务体系包括:教学平台、教学服务、、面授辅导、 、师资培训。

二、个人专业学习计划(要适合自己,25%)

三、对所听或上网学习的技术讲座的心得体会(要有结合个人工作和兴趣的认识,35%)

四、小组讨论报告(小组活动,讨论的情况,对问题的认识和想法。30%)

答案:

一、填空题:

1. 文字教材、CAI课件、IP课件、网络课程。

2. 76、教育部

3. 必修课、选修课。

4. 远程辅导、网络答疑

二、三、四

根据个人情况回答。


第二篇:C语言全国各届信息技术大赛试题(值得计算机专业学习)


5 有n 个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡是数到3的人退出圈子,问最后留下的是原来的几号的那个人。

#include <stdio.h>

void main() {

int n, i, k, m; int array[50], *p;

printf("please input the number of persons: n = \n");

scanf("%d", &n); p = array;

for (i = 0; i < n; i++) *(p+i) = i+1;

i = 0; // i 为每次循环计数变量

k = 0; // k 为按1,2,3报数时的计数变量

m = 0; // m为退出人数计数变量

while(m < n-1) //当退出人数比n-1少时执行循环体

{

if( *(p+i) != 0 ) k++;

if(k == 3) // 对退出的人编号置为0

{

*(p+i) = 0; k = 0; m++; } i++; if(i == n) i = 0; }

while(*p == 0) p++;

printf("The last one is No. %d\n", *p); }

1

6 编写一个函数求字符串的长度。并在main函数中输入字符串,并输出其长度。 #include <stdio.h>

void main() {

int strLen(char *str); int len;

char string[20];

printf("please input a string: \n"); scanf("%s", string); len = strLen(string);

printf("The length of the string is: %2d\n", len); }

int strLen(char *str) {

char *p;

int count = 0; p = str; while(*p) {

p++; count++; }

return (count); }

7有一个字符串,包含n个字符。编写一个函数,将此字符串中从第m个字符开始的全部字符复制到另一个字符串。 #include <stdio.h> #include <string.h>

void main() {

void copystr(char *, char *, int); unsigned int m;

char str1[20], str2[20];

printf("please input a string: "); gets(str1);

printf("which character that begin to copy?");

scanf("%d", &m);

if( m > strlen(str1))

printf("input error!"); else {

copystr(str2, str1, m);

printf("result: %s\n", str2); } }

void copystr(char *dest, char *source, int m) {

source = source + m-1; while(*source) {

*dest = *source; dest++; source++; }

*dest = '\0'; }

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

1. 执行下列程序中的输出语句后,x的值

是______。(知识点3.10) main() {int x ;

printf(“%d\n”,(x=5*6,x*2,x+20));} A)30 B)60 C)50 D)80

2

2. 下列程序的输出结果是_______。(知识

点3.8) main()

{int x=1,y=0,z; z=(x<=0)&&(y- ->=0); printf(“%d %d% d%\n”,z,x,y) ;} A)0 -1 -1 B)0 -1 0 C)0 1 0 D)0 1 -1

3. 在C语言中,下列选项属于合法的长整

型常数的是_______。(知识点3.3) A)0L B)1234567 C)0.0234567 D)3.14159e3

4. 下列选项中属于不正确的赋值语句的

是_____。 (知识点3.6)

A)t++; B)n1=(n2=(n3=0)); C)k=i= =j; D)a=b,c=1;

5. 若有定义:int a,b;char x,y;并有以

下输入数据: 14 22 XxYy (回车) 则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是________。 (知识点4.2) A) scanf(“%d %d”,&a,&b); x=getchar();y=getchar(); B) scanf(“%d%d %c %c”, &a, &b,&x,&x,&y,&y); C)

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

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

6. 下列转义字符不正确的是_______。(知

识点3. 5)

A)?\\? B)?\? C)?\053? D)?\0?

7. 下列选项可作为C语言赋值语句的是

_______。(知识点4.2)

18

11. 有以下程序: main()

{ int a=111,b=222; printf(“%d\n”,a,b); }

A)x=3,y=5 B)a=b=6 C)i- -; 该程序运行后的输出结果是_______。(知识D)y=int(x);

8. 当c的值不为0时,下列选项中能正确

将c的值赋给变量a、b的是_______。(知识点5.2)

A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); D)a=c=b; 9. 有以下程序: main() { unsigned int a ; int b=-1; a=b;

printf(“%u”,a);}

该程序运行后的输出结果是_______。(知识点4.5)

点4.5)

A)错误信息 B)111 C)222 D)111,222

12. 以下程序的输出结果是_______。(知识

点4.5) main() { int a=2,c=5;

printf(“a=%%%d,b=%%%d\n”,a,c);} A) a=%2,b=%5 B) a=2,b=5 C) a=%%%d,b=%%%d D) a=%%d,b=%%d 13. 对于浮点型变量f,能实现对f中的值

在小数点后第三位进行四舍五入的表达式是_______。(知识点3.8) A)f=(f*100+0.5)/100.0 B)

A)-1 B)65535 C)32767 f= ( f*100+0.5)/100 D)-32768

10. 若x、b、m、n均为int型变量,执行

下面语句后b的值为_______。(知识点3.10) m=20;n=6;

x=(- -m= =n++)?- -m:++n; b=m++;

A)11 B)6 C)19 D)

3

C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*100

14. 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行

(m=a>b)&&(n=c>d) 后m,n的值为______。(知识点5.2)

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

15. 语句printf(“%d\n”,strlen

(“asd\n\x12\1\\”));的输出结果是______。(知识点7.3)

A) 9 B) 11 C) 7 D) 8 16. 有以下程序: main( ) {

int y=1234;

printf(“y=%6d”,y); printf(“y=%+06d\n”,y); }

该程序的运行结果是______。(知识点4.5) A) y= 1234y=001234 B) y= 1234y=+01234

C) y=1234y=+01234 D) y= 1234y=1234

17. 语句:printf(“%d”, !9);的输出结果

是______。(知识点5.2)

A) 0 B) 1 C) 有语法错误 ,不能执行 D) -9

18. 已有定义语句:int x=6,y=4,z=5;执

行以下语句后,能正确表示x、y、z值的选项是______。(知识点5.3) if(x<y)z=x;x=y ;y=z;

A) x=4,y=5,z=6 B) x=4,y=6,z=6

C) x=4,y=5,z=5 D) x=5,y=6,z=4

19. 下列选项中属于正确的switch语句的

是______。(知识点5.4)

B)swicth(1)

{ case 1.0 :printf(“A\n”); { case 1 :printf(“A\n”);

case 2.0 :printf(“B\n”); } case 2 :printf(“B\n”);}

C)switch((int)(1.0+2.5)) D)switch(“a”);

{ case 1 :printf(“A\n”); { case “a” :printf(“A\n”);

case 1+2 :printf(“B\n”);} case “b” :printf(“B\n”);}

20. 若k为int型变量,以下语句段执行后

的输出结果是______。(知识点5.3) k=-3;

if(k<=0) printf(“####”) else printf(“****”);

A) #### B) **** C) ####**** D) 有语法错误 ,不能执行

21. 当a=2,b=3,c=4,d=5时, 执行下面

一段程序后x的值为_____。(知识点5.3) 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 ;

A)switch(1.0) A ) 2 B)3 C)4 D)5

4

22. 下列程序的运行结果是________。(知

识点6.3) main() { int y=10;

do { y- - ;} while(- -y); printf(“%d\n”,y- -);}

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

23. 下列程序的运行结果是________。(知

识点6.5) # include <stdio.h> main() { int i ;

for(i=1;i<=5;i++) { if(i %2)printf(“*”); else continue ; printf(“#”); }

printf(“$\n”); }

A)*#*#$ B)#*#*#*$ C)*#*#*#$ D)***#$

24. 若x是int型变量,且有下面的程序片

段: (知识点6.5) for(x=5;x<8;x++)

printf((x%2)?(“**%d”):(“##%d\n”),x);

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

A)**5##6 B)##5 C)##5**6##7 D)**5##6**7 **7 **6##7 25. 有以下程序: main() {int a=1,b=0; switch(a)

{ case 1:switch(b)

{ case 0:printf(“****”);break ;

case 1:printf(“####”);break ; }

case 2: printf(“$$$$”);break ; } 该程序的输出结果是________。(知识点5.4)

A)**** B)****$$$$ C)****####$$$$ D) ####$$$$ 26. 下列程序段的输出结果是_______。(知

识点6.4) int x=3;

do {printf(“%3d”,x-=2);} while(!(--x));

A)1 B)3 0 C)1 -2 D)死循环 27. 有以下程序,其中x、y为整型变量; for(x=0,y=0;(x<=1)&&(y= 1);x++,y--);

printf(“x=%d,y=%d”,x,y); 该程序的输出结果是_____。(知识点6.5) A)x=2,y=0 B) x=1,y=0 C) x=1,y=1 D) x=0,y=0

5

28. 有以下程序段: int n=0,p;

do { scanf(“%d”,&p);n++;} while(p!=12345&&n<3);

此处do-while循环的结束条件是_____。(知识点6.4)

A)p的值不等于12345并且n的值大于3 B)p的值等于12345并且n的值大于等于3 C)p的值不等于12345或者n的值小于3 D)p的值等于12345或n的值大于等于3 29. 在下述程序中,if (i>j) 语句共执行的次

数是_____。(知识点6.5) main()

{ int i=0,j=10,k=2,s=0; for(;;) { i+= k ;

if(i>j)

{ printf(“%d”,s); break ; } s+=i ; } }

A)4 B)7 C)5 D)6

30. 以下程序的功能是:按顺序读入10名

学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结果不正确。 main()

6

{ int n,k;float score,ave; ave=0.0;

for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf(“%f”,&score); ave+=score/4 ;}

printf(“NO%d:%f\n”,n,ave);} }

造成程序计算结果错误的语句行是_____。(知识点6.6)

A)ave=0.0; B)for(n=1;n<=10;n++)

C)ave+=score/4 ; D)printf(“NO%d:%f\n”,n,ave); 31. 若有以下定义:char

s[10]={?a?,?b?,?c?,?0?,?\0?,?2?,?\x32?,?\0?};执行语句printf(“%d”,strlen(s));的结果是_____。(知识点7.3) A)3 B)4 C)8 D)10

32. 设有数组定义:char array[ ]=“abcdef”;

则数组array所占的空间为_____。(知识点7.3)

A)4个字节 B)5个字节 C)6个字节 D)7个字节 33. 有以下程序: main()

{ char str[ ][10]={“China”,“Beijing”},*p=str;

printf(“%s\n”,p+10);}

该程序运行后的输出结果是_____。(知识点10.4)

A)China B)Beijing C)ng D)ing

34. 阅读下面程序,该程序段的功能是

_____。(知识点7.1) #include <stdio.h> main()

{ int c[ ]={23,1,56,234,7,0,34},i,j,t;

for(i=1;i<7;i++) { t=c[i];j=i-1;

while(j>=0&&t>c[j]) { c[j+1]=c[j];j- - ;} c[j+1]=t;}

for(i=0;i<7;i++)printf(“%d ”,c[i] ); putchar(?\n?); }

A)对数组元素的升序排列 B)对数组元素的降序排列

C)对数组元素的倒序排列 D)对数组元素的随机排列

35. 下列程序的输出结果是_____。(知识点

7.2) main()

{ int n[3][3],i,j; for(i=0;i<3;i++)

for(j=0;j<3;j++)n[i][j]=i+j; for(i=0;i<2;i++)

for(j=0;j<2;j++)n[i+1][j+1]+= n[i][j]; printf(“%d \n”,n[i][j]);

7

}

A)14 B)0 C)6 D)值不确定

36. 下列函数调用语句中含有______个参

数。(知识点8.3)

func((f1,f2),(f2,f3,f4),f5) A)3 B)4 C)5 D)6 37. 下列程序的运行结果是_______。(知识

点7.3) #include <string.h> main()

{ char *p1,*p2,ch[20]=“ABCDEFabcdef”; p1=“1234”;p2=“abcd”;

strcpy(ch+1,p2+1);strcpy(ch+3,p1+3); pintf(“%s\n”,ch);}

A)Abc4EFabcde B)Abc4EF C)AbcdEF D)Abc4 38. 下列程序的运行结果是_______。(知识

点8.6) # include <stdio.h> int f(int a) { switch (a) { case 0:return 0; case 1:case 2:return 1; }

return(f(a-2)+f(a-3)); } main() { int b; b=f(10);

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

A) 12 B)10 C)9 D)8 39. 有以下程序: fun(int n)

{ if(n= =1|| n= =2)return 2; return s=n-fun(n-2);} main()

{printf(“%d\n”,fun(7));}

该程序运行后的输出结果是_____。(知识点8.6)

A) 1 B)2 C)3 D)4 40. 下列程序中函数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[3],5);

for(i=0;i<10;i++)printf(“%d,”,aa[i]); printf(“\n”); }

该程序运行后的输出结果是_____。(知识点8.4)

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

8

10,9,8,7,6,5,4,3,2,1, C)1,2,3,8,7,6,5,4,9,10, D)1,2,10,9,8,7,6,5,4,3, 41. 下列程序的运行结果是_____。(知识点

8.3) main() { int a=3,y; y=fn(a,a++); printf(“%d”,y);} int fn(x,c) { int b; if(x<c)b=1; else if(x= =c)b=0; else b=-1 ; return(b); }

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

42. 下列程序的运行结果是_____。(知识点

7.3) main() { char arr[2][4];

strcpy(arr,“you”);strcpy(arr[1],“me”); printf(“%s\n” ,arr);}

A)you me B)you C)me D)arr

43. 下列程序的输出结果是_____。(知识点

8.8) int f() { static int i=0;

int s=1; s+=i;i++; return s;} main() { int i , a=0;

for(i=0;i<5;i++)a+=f(); printf(“%d\n”,a);}

A)20 B)24 C)25 D)15

44. 程序中对fun函数有如下说明: void *fun();

此说明的含义是_____。(知识点10.6) A) fun函数无返回值

B) fun函数的返回值可以是任意的数据类

C) fun函数的返回值是无值型的指针类型 D) 指针fun指向一个函数,该函数无返回

45. 设有下列定义:static int x,*p=&x,*q;

scanf(“%d,%d”,p,

q);

若输入3,4,则x的值为_____。(知识点8.8)

A)3 B)4 C)0 D)无法确定

46. 设有以下程序: int fun(char *s) { int n=0;

while(*s){ n++;s++ ;} return n ;}

9

main()

{char y[ ]=“this_is_an_example。”; printf(“%d\n”,fun(&y[6])); }

该程序的输出结果是_____。(知识点:10.4) A)12 B)13 C)14 D)16

47. 下列程序的功能是_____。(知识点:

10.4) int fun(char *a) { char *b=a; while(*b)b++; {return b-a ;} }

A) 比较两个字符串的大小 B)字符串的复制

C) 计算字符串的长度 D) 字符串的连接

48. 下列程序的输出结果是_______。(知识

点10.2) main() {

int k=3,m=5,n=7; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf("%d\n",n); }

A)5 B)7 C)15 D)21

49. 下列程序的执行结果是_______。(知识

点10.3) main()

{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf(“%d”,*--p);}

A)非法 B)a[4]的地址 C)5 D)4

50. 以下函数返回a所指的数组中最小值所

在的下标值: fun(int *a, int n) { int i , j=0 , p ; p=j ;

for(i=j;i<n;i++) if(a[i]<a[p]) _______ ; return(p);}

在下划线处应填入_______。(知识点10.2)

#define f(x)x*x main() { int i ;

i=f(4+4)/(2+2); printf(“%d\n”,i);}

该程序执行后的输出结果是_______。(知识点9.1)

A)28 B)21 C)16 D)4 53. 下列程序的输出结果是_______。(知识

点11.4) struct tt;

{ int n1;char n2;float n3;

union uu{int u1[2];char u2[2];}su; }; main()

A)i=p B)a[p]=a[i] C)p=j {printf (“%d\n”,sizeof(struct tt));} D)p=i

51. 下列程序的运行结果是_______。(知识

点10.2)

void fun(int *a,int *b) { int *k;

k=a;a=b;b=k;} main()

{ int a=3,b=6,*x=&a,*y=&b; fun(x,y);

printf(“%d %d”,a,b); }

A)11 B)12 C)7 D)9

54. 下列程序的输出结果是_______。(知识

点11.6) struct LH

{ int n;struct LH *m;}p[4]; main() { int i;

for(i=0;i<3;i++) {p[i].n=i;p[i].m=&p[i+1];} p[i].m=p;

A)6 3 B)3 6 C)编译出错 printf(“%d,%d\n”(,p[1].m)->n,p[3].m->n); D)0 0

52. 有如下程序:

10

}

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

D)程序出错

55. 下列程序的输出结果是_______。(知识

点11.6) struct st

{ int x;int *y;}*p; int dt[4]={10,20,30,40};

struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main() { p=aa;

printf(“%d ”,++p->x); printf(“%d ”,(++p)->x); printf(“%d ”,++(*p->y));}

A)10 20 20 B)50 60 21 C)51 60 21 D)60 70 31

56. 字符0的ASCII码的十进制数为48,

且数组的第0个元素在低位,则以下程序的执行结果是_______。(知识点11.8) #include <stdio.h> main() { union { int i[4];

long k; char c[6]; }a,*s=&a ; s->i[0]=0x39; s->i[1]=0x38;

printf(“%c\n”,s->c[0]); }

11

A)5 B)3 C)6 D)9

57. 下列程序的运行结果是_______。(知识

点12.2) main()

{ unsigned c1=0xff,c2=0x00; c1=c2|c1>>2;c2=c1^0236; printf(“%x,%x\n”,c1,c2); }

A)0x3f,0XA1 B)3f,A1 C)ffff,61 D)3f,a1

58. 若有运算符<<,sizeof,^,&=,则它

们按优先级由高至低的排列次序正确的是_______。(知识点3.8)

A)sizeof,&= , <<, ^ B)sizeof,<<, ^,&=

C)^,<<,sizeof, &= D)<<,^,&=,sizeof 59. 有以下程序: #include <stdio.h>

void fun(char *fname,char *st) { FILE *myf;int i; myf=fopen(fname,“w”);

for(i=0;i<strlen(st);i++)fputc(st[i],myf); fclose(myf); } main()

{ fun(“test.t”,“new world”);fun(“test.t”,“hello,”);}

执行该程序后,文件test.t中的内容是_______。(知识点13.4)

(k%2)!=0 D)!k%2= =0 3. 已有定义 int a=-2;和输出语句printf

(“%8lx”,a);下列叙述不正确的有_______。(知今识点4.5) A) 整型变量的输出形式只有%d一种 B) %x是格式符的一种,它可以适用于任

何一种类型的数据

C) %x是格式符的一种,其变量的值按十

六进制输出,但%8lx是错误的 D) %8lx不是错误的格式符,其中数字81

规定了输出字段的宽度

4. 下列选项中,没有构成死循环的程序段

有_____。(知识点6.7)

A)int i=100; B)for( ; ; ) while(1) { i=i%100+1; if(i>=100)break;}

A)hello, B)new worldhello, C)new world D)hello,rld 60. 有以下程序: #include <stdio.h> main()

{ FILE *fp;int i=20,j=30,k,n; fp=fopen(“d1.dat”,“w”);

fprintf(fp,“%d\n”,i);fprintf(fp,“%d\n”,j);

fclose(fp);

fp=fopen(“d1.dat”,“r”);

fscanf(fp,“%d%d”,&k,&n);printf(“%d %d\n”,k,n); fclose(fp);}

该程序运行后的输出结果是_______。(知识点13.4)

A)20 30 B)20 50 C)30 50 C)int k=0; D)30 20

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

1. 下列符号串中,不属于C语言合法标识

符的有_____。(知识点3.2)

D)int s=36;

do { ++k;} while(k>=0); while(s);--s;

5. t为int类型,进入下面的循环之前,t

的值为0:

A)_1_2_3 B)a-b-c C)int while (t=1) D)9cd

2. 当把下列四个表达式用作if语句的控制

表达式时,含义相同的选项有_______。(假设k>0)(知识点5.3) A)k%2 B)k%2= =1 C)

12

{ ……….}

则下列叙述不正确的有________。(知识点6.3)

A)循环控制表达式的值为0 B)循环控制表达式的值为1

C)循环控制表达式不合法 while(i<=5); D)循环有可能是个无限循环

6. 下列判断正确的是_______。(知识点

10.3)

A) char *a=“china”;等价于 char *a;*a=

“china”;

B) char str[6]={“china”};等价于char str[ ]=

{“china”};

C) char *s=“china”;等价于char *s;s=

“china”;

D) char c[4]=“abc”,d[4]=“abc”;等价于

char c[4]=d[4]=“abc”;

7. 若变量已正确定义,以下能正确计算

1+2+3+4+5的程序段有_____。(知识点:6.7)

A)i=1;s=1; B)i=0;s=0;

8. 下面程序把数组元素中的最小值放入

a[0]中,则在if语句中条件表达式可以是______。(知识点10.2) main()

{ int a[10]={5,2,9,6,7,1,12,8,23,0},*p=a,i; for(i=0;i<10;i++,p++) if(______) *a=*p ; printf(“%d”,*a); }

A)p>a B)*p<a[0] C)*p<*a[0] D)*p<*a 9. 设有如下定义:

char *s[2]={“abcd”,“ABCD”}; 则下列说法正确的有_____。(知识点:10.3) A) s数组元素的值分别是“abcd”和

“ABCD”两个字符串的首地址

do B) s是指针数组名,它含有两个元素分别do

指向字符型一维数组

{ s=s+i;i++; C ) s数组的两个元素分别存放的是含有四{ i++; s=s+i;

个字符的一维字符数组中的元素

while(i<5); D ) s数组的两个元素中分别存放了字符?a?while(i<5);

C)i=1;s=0; D)i=0;s=0;

和?A?的地址

10. 以下有关字符串赋值、赋初值的语句错

误的有_______。(知识点10.4)

do A)char sz[2][40];sz[1]=“string1”; do

B)char *sz[2];sz[1]=“string2”;

{ s=s+i;i++; C )char sz[][40]=“string3”; { s=s+i; i++;

D)char *sz[ ]=“string4”;

while(i<6); 11. 若有以下说明:int a[5][9];则下列选项

13

中对数组元素a[i][j]的引用错误的有_______。(0<=i<4,0<=j<9)(知识点10.3)

A)*(&a[0][0]+9*i+j) B)*(a+i)(j) C)*(*(a+i)+j) D)*(a[i]+j) 12. 若有定义:char *st=“how are you!”;下

面程序段正确的有_____。(知识点:7.3) A) char a[11],*p;strcpy(p=a+1,&st[4]); B) char a[11];strcpy(++a,st); C) char a[11];strcpy(a,st);

D) char a[ ],*p;strcpy(p=&a[1],st+2); 13. 设有以下说明语句: Struct stu { int a ; float b ; }stutype ;

则下列叙述正确的有_______。(知识点11.2)

A) struct是结构体类型的关键字 B) struct stu是用户定义的结构体类型 C) stutype是用户定义的结构体类型名 D) a和b都是结构体成员名 14. 若已建立如图所示的单向链表:

C语言全国各届信息技术大赛试题值得计算机专业学习

C语言全国各届信息技术大赛试题值得计算机专业学习

infolink

C语言全国各届信息技术大赛试题值得计算机专业学习

C语言全国各届信息技术大赛试题值得计算机专业学习

infolinkas

infolink_______。(知识点11.7)

A)s->link=a->link->link ;a->link->link=s; B)a=a->link ; a->link=s ;s->link=NULL; C)s->link=NULL ;a=(*a).link ;(*a) .link =s;

D)a=a->link ; s->link=a->link;a->link=s->link;

15. 设有定义语句: int x[6]={2,4,6,8,5,7},

*p=x,i;

要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_______。(知识点10.3)

A)for(i=0;i<6;i++)printf(“%2d”,*(p++));

B)for(i=0;i<6;i++)printf(“%2d”,*(p+i));

C)for(i=0;i<6;i++)printf(“%2d”,*p++); D)for(i=0;i<6;i++)printf(“%2d”,(*p)++);

16. 下列叙述正确的有_____。(知识点8.5) A) 函数可以嵌套定义,但不能嵌套调用 B) 函数可以嵌套调用,也可以嵌套定义 C) 函数不可以嵌套定义,但可以递归调用 D) 函数可以嵌套调用,但不能嵌套定义 17. 下列叙述不正确的有_____。(知识点

8.8)

A)全局变量可以为本文件中其他函数所调

用,编译时分配在静态存储区

B)局部变量只在本函数范围内有效,形式参数属于局部变量

14

则下列选项中能将s所指的结点插入到链表尾部,构成新的单项链表的语句组有

C)局部变量如没有被说明为静态的存储类别,则会被分配动态存储空间,存储在动态存储区中

D)局部静态变量在函数调用结束后依然存在,但其他函数不能引用它

18. 若变量已正确定义,要求程序段完成求

5!的计算,下列选项中不能完成此操作的程序段有____(知识点6.7)

A)for(i=1,p=1;i<=5;i++)p*=i;

B)for(i=1;i<=5;i++){p=1;p*=i;}

C)i=1;p=1;while(i<=5) p*=i;i++;

D)i=1;p=1;do { p*=i;i++;} while(i<=5);

19. 若有以下说明,则对strcpy库函数的调

用不正确的有_______。(知识点10.4) char *str1=“copy”,str2[10],*str3=“abcde”,*str4,*str5=“hijk”

A)strcpy(str2,str1); B)strcpy(str3,str1);

C)strcpy(str4,str1); D)strcpy(str5 ,str1);

20. 下列选项中可以将变量n清零的表达式

有_______。(知识点12..2)

A)n=n&~n B)n=n&0 C)n=n^n

D)n=n|n

15

C语言程序设计预赛题答案

一、 二、 多选题 单选题

C语言全国各届信息技术大赛试题值得计算机专业学习

C语言全国各届信息技术大赛试题值得计算机专业学习

16

一、单选题(共计60题)

(1) 在下述程序中,if (i>j) 语句共执行

的次数是( )。C main()

{ int i=0,j=14,k=2,s=0; for(;;) { i+= k ; if(i>j) { printf(“%d”,s); break ; } s+=i ; } }

A、6 B、9 C、7 D、12

(2) 若要用fopen函数打开一个二进制文

件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式应是( )。C A、"ab+" B、"rb+" C、"wb+" D、"ab"

(3) 下列程序的输出结果是( )。C struct student { int a, b, c; }; main()

{ struct student stu[2]={{2,3,4},{5,6,7}}; int t; t=stu[0].a+stu[1].b%stu[0].c; printf("%d \n",t); } A、0 B、1 C、4

D、5

(4) 对于浮点型变量f,能实现对f中的值

在小数点后第四位进行四舍五入的表达式是( )。C

A、f=(f*1000+0.5)/1000.0 B、f=(f*1000+0.5)/1000 C、f=(int)(f*1000+0.5)/1000.0 D、f=(f/1000+0.5)*1000

(5) 现已定义整型变量int i=1; 执行循环语

句“while(i++<5);”后,i的值为( )。C A、1 B、5 C、6

D、以上三个答案均不正确

(6) 下列程序的输出结果是( )。C struct LH

{ int n;struct LH *m;}p[4]; main() { int i;

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

{p[i].n=i;p[i].m=&p[i+1];} p[i].m=p; printf(“%d,%d\n”(,p[1].m)->n,p[2].m->n); }

A、0,1 B、0,2 C、0,0

D、程序出错

(7) 下列程序的运行结果是( )。B #include "stdio.h" int f(int a) { switch (a)

{ case 0:return 0;

case 1:case 2:return 1; }

return(f(a-2)+f(a-3)); }

main() { int b;

17

b=f(9); printf(“%d\n”,b); }

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

(8) 以下程序的输出结果是( )。A int f(int b[],int m,int n) {int i,s=1;

for(i=m;i<n;i++) {b[i]=b[i-1]+b[i+1]; s+=b[i]; } return s; } main()

{int x,a[]={1,2,3,4,5,6,7,8,9,10}; x=f(a,3,5);

printf("%d\n",x); } A、23 B、26 C、42 D、35

(9) 以下程序运行后,输出结果是( )。C main()

{ char ch[3][4]={"123","456","78"},*p[3];int i;

for(i=0;i<3;i++) p[i]=ch[i];

for(i=0;i<3;i++) printf("%s",p[i]); }

A、123456780 B、123 456 780 C、12345678 D、147

(10) 桌上有白球和黑球共5个,a、b、c、d、

e分别表示这5个球的颜色,取值为0、1分别代表白球、黑球。则以下能表示a是黑球,其余至少有两个白球的表达式是( )。C

A、!a&&(b+c+d+e)==2 B、a&&(b+c+d+e)>2 C、a&&(b+c+d+e)<=2

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

(11) 下列程序的输出结果是( )。B #include "stdio.h" int f(int n) { static int k, s; n--;

for(k=n; k>0; k--) s += k; return s; }

void main( ) { int k;

k=f(2);

printf("(%d, %d)", k, f(k)); } A、(3, 3) B、(1, 1) C、(3, 6) D、(6, 12)

(12) 若有定义:int a,b;char x,y;并有以下

输入数据: 12 13 AaBb(回车) 则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是( )。D

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

x=getchar();y=getchar(); B、scanf(“%d%d %c %c”, &a, &b,&x,&y); C、scanf(“%d %d %c %c”, &a,&b,&x,&x,&y,&y); D、scanf(“%d %d %c%c%c%c”,&a,&b,&x,&x,&y,&y);

(13) 以下对结构体成员的运算结果是( )。

D

#include <stdio.h> main(){ struct st {int x; int y;

18

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

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

A、0 B、1 C、3 D、6

(14) 函数f定义如下,执行语句“m=f(5);”

后,m的值应为( )。B

int f(int k) { if(k==0||k==1) return 1; else return f(k-1)+f(k-2); } A、3 B、8 C、5 D、13

(15) 若有以下定义:char s[10]={’a’,’b’,’

c’,’0’, ’2’,’\x32’ ,’\0’,’\123’};执行语句printf(“%d”,strlen(s));的结果是( )。B A、3 B、6 C、8 D、9

(16) 若i为整型变量,则以下循环执行的次

数是( )。C for(i=0;i<=5;i++) printf("%d",i++); A、5次 B、2次 C、3次 D、6次

(17) 执行以下程序段后的输出结果是( )。

C

int x = 3; int m, n;

n = (++x) + (++x);

m = (x--) + (x--);

printf("%d %d\n", m, n); A、10 6 B、9 9 C、10 10 D、10 8

(18) 设有定义:int a[2][2]={1,2,3,4},(*p)

[2];,则在语句p=a;p++;后,**p的值为( )。B A、2 B、3 C、4

D、以上都不对

(19) 以下关于循环的程序的输出结果是

( )。C #include "stdio.h" void main() {

int k=4,n=0; for(;n<k;) {

n++;

if(n%3!=0) continue; k--; }

printf("%d %d",k,n); }

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

(20) 下列关于字符串操作的输出结果是

( )。D #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); }

19

A、xyabcAB B、abcABz C、Ababcz D、xycdBCD

(21) 下列选项中属于正确的switch语句的

是( )。C A、swicth(’a’) { case ‘a’:printf(“A\n”); case ‘b’:printf(“B\n”); } B、switch(1.0) { case 1.0 :printf(“A\n”); case 2.0 :printf(“B\n”);} C、switch((int)(x+2.5)) { case 1 :printf(“A\n”); case 1+2 :printf(“B\n”);} D、switch(“a”);

{ case “a” :printf(“A\n”); case “b” :printf(“B\n”);}

(22) 以下程序的运行结果为( )。A #include "stdio.h" void main(){ int y=2,a=1;

while(y--!=-1){ do{

a*=y;a++;

}while(y--);}

printf("%d,%d\n",a,y);} A、1,-2 B、2,1 C、1,0 D、2,-1

(23) C语言的输入与输出操作是由( )完

成的。C A、输入语句 B、输出语句

C、输入与输出函数 D、输入与输出语句

(24) 若有以下程序段 ? …

int a[ ]={4,0,2,3,1},i,j,t;

for(i=1;i<5;i++) {t=a[i];j=i-1;

while(j>=0&&t>a[j]) {a[j+1]=a[j];j--;} a[j+1]=t;} ? …

则该程序段的功能是( )。B

A、对数组a进行插入排序(升序) B、对数组a进行插入排序(降序) C、对数组a进行选择排序(升序) D、对数组a进行选择排序(降序)

(25) 执行下列程序中的输出语句后,x的值

是( )。A main() {int x ; printf(“%d\n”,(x=4*5,x*2,x+20));} A、20 B、40 C、60 D、80

(26) 下列程序段的输出结果是( )。B int c[ ]={1, 7, 12}; int *k=c+1;

printf("%d",*k++); A、2 B、7 C、8 D、12

(27) 下列程序的运行结果是( )。D main() {int a=4,y;

y=fn(a,++a); printf(“%d”,y);} int fn(x,c) {int b;

if(x<c)b=1;

else if(x==c)b=0; else b=-1 ; return(b); }

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

(28) 有如下程序:int x=-20; printf

("%d\n",~x);,其输出结果将是( )。A A、19 B、20 C、21 D、-1

(29) 对于类型相同的指针变量,不能进行的

运算是( )。A A、+ B、- C、= D、==

(30) 已知: union u_type { int i; char ch; float a; }temp;

现在windows环境下,执行"temp.i=266;printf("%d",temp.ch)"的结果是( )。C A、266 B、256 C、10 D、1

(31) 以下程序的运行结果是( )。B #include "stdio.h" main() {

int a[]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a+5,*q=NULL; q=p+5;

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

A、运行后报错 B、6 11

20

C、6 12 D、5 5

(32) 以下程序的输出结果是( )。C main()

{int a=0,b=1,c=0,d=20; if (a) d=d-10; else if (!b) if (!c) d=15; else d=25;

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

A、d=10 B、d=15 C、d=20 D、d=25

(33) 下面四组字符串中,都可以用作C语言

程序标识符的是( )。A A、 print _maf mx_2d aMb6 B、 I\am scanf mx_ MB C、 sign 3mf a.f A&B D、 if ty_pe x1# 5XY

(34) 下列程序的输出结果是( )。A int f()

{ static int i=0; int s=1; s+=i;i++; return s;} main() { int i , a=0;

21

for(i=0;i<6;i++)a+=f(); printf(“%d\n”,a);} A、21 B、24 C、25 D、15

(35) 设有定义:#define STR "12345";,则以下

叙述正确的是( )。C

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

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

(36) 以下程序运行后,如果从键盘上输入

ABCDE<回车>,则输出结果为( )。D #include "stdio.h" #include "string.h" func (char str [ ]) { int num =0;

while (*(str +num )!=’\0’)num ++;

return(num ); }

main()

{ char str [10],*p=str ;

gets(p); printf("%d\n",func(p)); } A、8 B、7 C、6 D、5

(37) 下列程序的输出结果是( )。C struct st

{ int x;int *y;}*p;

int dt[4]={10,20,30,40}; struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};

main() { p=aa; printf(“%d ”,++(*p->y));

printf(“%d ”,(++p)->x); printf(“%d ”,++p->x);} A、20 20 10 B、21 60 50 C、11 60 61 D、31 70 60

(38) 以下函数的功能是( )。C char *fun(char *str1,char*str2) {

while((*str1)&&(*str2++=*str1++)); return str2; }

A、求字符串的长度

B、比较两个字符串的大小

C、将字符串str1复制到字符串str2中 D、将字符串str1接续到字符串str2中

(39) 以下程序的输出结果是( )。B #include <stdio.h>

void func(char **m) {

++*m;

printf("%s\n",*m); }

void main() {

static char *a[]={"first","second","three"}; char **n; n=a;

func(n); }

A、first B、irst C、second D、其他

(40) 以下语句的输出结果为( )。 B for(k=0;k<5;++k)

{ if(k==3) continue; printf("%d",k); } A、012 B、0124 C、01234

D、没有输出结果

(41) 下面的程序对输入的每一个数字出现

的次数进行计数,下划线处应填入的正确语句为( )。A #include "stdio.h" main()

{int i,ch, n[10];

for(i=0;i<10;++i) n[i]=0; while((ch=getchar())!=‘\n’) if(ch>=‘0’ && ch<=‘9’) ________;

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

printf("数字%d出现的次数是:%d\n",i,n[i]); }

A、n[ch-‘0’]++ B、n[ch]++ C、i++ D、n[i]++

(42) 以下程序的输出结果是( )。D #include "stdio.h" int *fun() {

int a[4],k;

for(k=0;k<4;k++)a[k]=k; return(a); }

void main() {

int *p,j; p=NULL; p=fun(); for(j=0;j<4;j++){printf("%d\n",*p);p++;} }

A、0000 B、0123 C、1111

D、输出不确定值

(43) 若有如下结构体定义,下列scanf用法

不正确的是( )。D

22

struct pupil {

char name[20]; int age; int sex; }pup[5],*p; p=pup;

A、scanf("%s",pup[0].name); B、scanf("%d",&pup[0].age); C、scanf("%d",&(p->sex)); D、scanf("%d",p->age);

(44) 与 y=(x>0?1:x<0?-1:0);的功能相同的

if语句是( )。A A、if (x>0)y=1; else if(x<0)y=-1; else y=0; B、if(x)

if(x>0)y=1; else if(x<0)y=-1; C、y=-1 if(x)

if(x>0)y=1;

else if(x==0)y=0; else y=-1; D、y=0;

if(x>=0) if(x>0)y=1; else y=-1;

(45) 下列描述中不正确的是( )。D A、字符型数组中可能存放字符串

B、可以对字符型数组进行整体输入、输出

C、可以对整型数组进行整体输入、输出 D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值

(46) 下面程序运行后,关于a、b、c的值应

输出为( )。A #include "stdio.h" main() {

int a=1, b=2, c=2,t;

23

while (a<b<c){t=a;a=b;b=t;c--;} printf("%d,%d,%d",a,b,c); }

A、1,2,0 B、2,1,0 C、1,2,1 D、2,1,1

(47) 在16位 PC机环境下,下列程序的输

出结果是( )。C struct tt

{ int n1;char n2;float n3;

union uu{int u1[3];char u2[3];}su; };

main() {printf(“%d\n”,sizeof(struct tt));} A、11 B、12 C、13 D、9

(48) 若有如下程序: 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 A、E,e,b,E B、e,E,b,F C、E,e,e,E D、e,E,b,E

(49) 以下程序的输出结果是( )。A #include <stdio.h> int main() {

char str[100]="ABCDEFG", *p=str;

int i;

for(i = 0; *p != ’\0’; p++,i++); printf("%d\n",i); return 0; }

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

(50) 某C编译系统规定,int型数组占2个

字节,则定义以下语句后,sizeof(aa)=( )。D struct {long num; char name[20]; union {float x; short y; }xy; }aa;

A、32 B、26 C、30 D、28

(51) 语句:printf(“%d”,!0);的输出结果

是( )。A A、1 B、0

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

(52) 函数f定义如下,执行语句“sum=f(4)

+f(2);”后,sum的值应为( )。C int f(int m) { static int i=0; int s=0; for(;i<=m;i++) s+=i; return s; } A、13 B、16 C、10 D、8

(53) fwrite函数的一般调用格式是( )。D A、fwrite(buffer,count,size,fp); B、fwrite(fp,count,size,buffer); C、fwrite(fp,size,count,buffer); D、fwrite(buffer,size,count,fp);

(54) 有以下程序段 main()

{ int i=1,sum=0,n;

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

{ i+=2; sum+=i ;

}while(i!=n); printf("%d",sum); }

若使程序的输出值为15,则应该从键盘输入的n的值是( )。D A、1 B、3 C、5 D、7

(55) 下列选项可作为C语言赋值语句的是

( )。A A、a=1;b=2; B、a=b=6 C、i--

D、y=int(x);

(56) 已知有以下的说明,

int a[]={8,1,2,5,0,4,7,6,3,9}; 那么a[*(a+a[3])]的值为( )。B A、5 B、0 C、4 D、7

(57) 已知 enum

name{zhao=1,qian,sun,li}man;执行下述程序段后的输出结果是( )。A man=0;

switch(man)

{ case 0: printf("People\n");break; case 1: printf("Man\n");break; case 2: printf("Woman\n");break;

24

default: printf("Error\n");break;

} 二、

A、People

B、Man (1) 以下叙述中正确的有( )。BC

C、Woman A、在程序的一行上可以出现多个有效的

D、Error 预处理命令行

B、宏定义不是C语句,不必在行末加分

(58) 以下能正确计算1×2×3×??×10的号

程序段是( )。C C、宏替换不占用运行时间,只占用编译

A、do {i = 1;s = 1; 时间

s = s * i; D、在以下定义中C R是称为“宏名” i + +; 的标识符

#define C R 045 } while (i <= 10);

B、do {i = 1;s = 0;

s = s * i; (2) 要求函数的功能是在一维数组a中查找 i + +; x值。若找到,则返回所在的下标值; } while (i <= 10); 否则,返回0。设数据放在数组元素的

C、i = 1;s = 1; a[1]到a[n]中。在以下给出的函数中, do {s = s * i; 不能正确执行此功能的有( )。ABD i + +; A 、 funa(int *a, int n, int x)

{ } while (i <= 10);

*a = x; D、i = 1;s = 0;

do {s = s * i; while(a[n] != x) n--; i + +; return n;

} } while (i <= 10);

B、funb(int *a, int n, int x)

{ (59) 以下程序的运行结果是( )。A

int k; void main()

{ for(k = 1; k <= n; k++) int a=4; char ch=?a?; if(a[k] == x) return k;

return 0; printf( "%d\n",(a&2)&&(ch>’A’));

} }

A、0 C、func(int a[], int n, int x)

{ B、1

int *k; C、2

a[0] = x; k = a+n; D、3

while(*k != x) k--;

return k - n; (60) 若指针p已正确定义,要使p指向两个

} 连续的整型动态存储单元,下列语句正

确的是( )。B D、fund(int a[], int n, int x)

{ A、p=2*(int*)malloc(sizeof(int));

int k = 0; B、p=(int*)malloc(2*sizeof(int));

do C、p=(int*)malloc(2*2);

{k++; D、p=(int*)malloc(2,sizeof(int));

25

}while((k < n+1)&&(a[k]!=x)); if((k < n+1)&&a[k] == x)) return k;

else return 0; }

(3) 下面说法正确的有( )。ABCD

A、共用体变量的地址和它各成员的地址都是同一地址

B、共用体内的成员可以是结构变量,反之亦然

C、在任一时刻,共用体变量的各成员只有一个有效

D、函数不可以返回一个共用体变量

(4) 如有两个字符数组a、b,则以下输入语

句正确的有( )。BCD A、gets(a,b);

B、scanf("%s%s",a,b); C、for(i=0;(a[i]=getchar())!=’\n’;i++); for(i=0;(b[i]=getchar())!=’\n’;i++); D、gets(a);gets(b);

(5) 当把下列四个表达式用作if语句的控

制表达式时,含义相同的选项有( )。(假设k>0)ACD A、k%2 B、k%2==0 C、(k%2)!=0 D、k%2==1

(6) 设有以下语句 struct st{ int n;

struct st *next; }; static struct st a[3]={5,&a[1],6,&a[2],7,},*p=&a[0];

若要使printf("%d\n",____)输出值为6,则下划线处表达式可以为( )。BCD A、p->n++ B、++p->n C、(++p)->n D、p->next->n

(7) 下列说法不正确的有( )。BCD

A、带参数的宏定义中的参数是没有类型的

B、宏展开将占用程序的运行时间

C、宏定义命令是C语言中的一种特殊语句

D、使用#include命令包含的头文件必须以".h"为后缀

(8) 下列有关函数调用的说法正确的有

( )。BCD

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

B、实际参数和形式参数不可以同名 C、主调函数和被调用函数可以不在同一个文件中

D、函数间传送数据可以使用外部全局变量

(9) 若变量已正确定义,以下能正确计算

1*2*3*4*5的程序段有( )。CD

A、i=1;s=1;

do { s=s*i;i++;} while(i<5); B、i=0;s=0; do

{ i++; s=s*i;} while(i<5);

C、i=1;s=1;

do { s=s*i;i++;} while(i<6); D、i=0;s=1; do

{ i++; s=s*i;} while(i<5);

(10) 设有定义语句: int x[6]={2,4,6,8,5,7},

*p=x,i;

要求依次输出x数组中6个元素中的值,下列选项中能完成此操作的语句有( )。ABC A、for(i=0;i<6;i++)printf(“%2d”,*(p++));

26

B、for(i=0;i<6;i++)printf(“%2d”,*(p+i)); C、for(i=0;i<6;i++)printf(“%2d”,*p++); D、for(i=0;i<6;i++)printf(“%2d”,(*p)++);

(11) 整型变量x=1,y=3,经下列( )计算后,

x的值等于6。ABD A、x=(x=1+2,x*2) B、x=y>2?6:5

C、x=9-(y--)-(y--) D、x=y*4.8/2-1

(12) 下列关于指针定义的描述正确的有

( )。ABCD

A、指针变量是一种变量,该变量是用来存放某个变量的地址值的

B、指针变量的类型与它所指向的变量类型一致

C、指针变量的命名规则与标识符相同 D、在定义指针时,”*”号表示指针变量的指向

(13) 以下对结构体变量stu1中成员age的引

用正确的有( )。ACD struct student {int age; int num; }stu1,*p; p=&stu1; A、stu1.age B、student.age C、p->age D、(*p).age

(14) 设有结构体类型: typedef struct str{ int no; char name[20]; }STR;

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

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

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);

(15) t为int类型,进入下面循环之前,t的

值为0: for(;t=1;) { ……….}

则下列叙述不正确的有( )。AC A、循环控制表达式的值为0 B、循环控制表达式的值为1 C、循环控制表达式不合法 D、循环有可能是个无限循环

(16) 下列叙述不正确的有( )。AB

A、函数可以嵌套定义,但不能嵌套调用 B、函数可以嵌套调用,也可以嵌套定义 C、函数不可以嵌套定义,但可以递归调用

D、函数可以嵌套调用,但不能嵌套定义

(17) 关于数组与字符串,下列选项中属于不

合法的定义有( )。ABC 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};

(18) 若有定义: char

*str[]={"one","two","three"},**p=str; 则下列选项中可以表示出字符’t’的表达有( )。AD A、*str[2] B、*str+2 C、*(p+1) D、**++p

(19) 若有以下调用语句,则正确的fun函数

的首部包括( )。ABC main() { …

int a[50],n; …

fun(n, &a[9]);

27

}

A、void fun(int m, int x[])

B、void fun(int s, int h[41])

C、void fun(int p, int *s)

D、void fun(int n, int a)

(20) 已知有定义:

struct{

int no;

char name[20];

}a,b,*c;

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

A、a=b;

B、a=&b;

C、c=&b;

D、*c=b

28

更多相关推荐:
计算机专业指南学习计划

计算机专业指南学习计划从现在开始我的人生又进入了一个全新的一页弹指一挥间参加工作已将近3年时间回首往事感慨万千光阴流逝人生何短报名电大是我梦想的开始开放教育的新形模式对像我这样离开校园多年为生活打拼的打工仔們来...

计算机专业指南-专业自主学习计划

专业自主学习计划

计算机专业指南课程

个人专业学习计划10秋计算机信息管理专科朱富之我参加工作时早就听说有关电大学校的学风严谨学生所学专业知识强带课老师态度认真负责所以今年也报考了电大所学专业是计算机电大的开放式教育给了我们充分的时间让我们可以克服...

计算机专业学习计划[1]

计算机学习计划首先我认为学习中不可忽略的一点就是要学会分析自己的学习特点像我理解能力还可以老师讲的东西不是不懂但却总出错用家长们的话说就是不认真而且对于一些死记硬背才能学会的东西总觉得不耐烦因此在这点上我希望自...

(20xx.11.25)计算机专业指南课程辅导(文本)

20xx1125计算机专业指南课程辅导文本崔林同学们好欢迎来到我们的网上教学辅导论坛课程性质与任务计算机专业指南专科是中央电大开放教育计算机网络技术专业专科和计算机信息管理专业专科的一门统设必修课程属于前导性的...

计算机应用基础教学计划(专业班)

计算机应用基础教学计划20xx20xx学年度第一学期计算机教研组姚振华本学期我担任14级计算机平面设计三班计算机应用基础课程教学这是一学年的教学课程为了更好地完成本学期的教学任务现将教学计划安排如下一课程的目标...

计算机科学与技术专业(专升本)教学计划说明

计算机科学与技术专业专升本教学计划说明一培养目标与人才规格本专业旨在培养德智体全面发展适应21世纪社会经济发展和社会主义现代化建设需要的计算机在电子商务领域内的复合型人才本专业的人才培养目标如下2人才规格1具有...

20xx版本科专业培养计划-计算机科学与技术

20xx版计算机科学与技术本科专业培养计划20xxUndergraduateProgramforSpecialtyinComputerScienceandTechnology一统编序号1305二专业代码0806...

计算机信息管理专业教学计划

计算机信息管理专业海南职业技术学院计算机信息管理专业教学计划一专业设置的背景和依据1背景与依据计算机科学技术是信息技术的核心和动力它渗透到当代社会的各个领域计算机应用水平的高低是一个国家或地区现代化水平高低的重...

计算机应用技术专业课程设置及专业教学计划

计算机应用技术专业课程设置及专业教学计划注表示主干课程

计算机应用技术专业教学计划(高职)

计算机应用技术专业教学计划二年制一专业的社会需求调研分析全球信息技术日新月异实施信息化的关键在人才在我国大规模地实现信息化各行各业都需要大批的各个层次的计算机应用专业人才计算机应用技术专业对人才的要求具有很强的...

个人学习计划 计算机信息管理 姓名

个人学习计划计算机信息管理姓名学号参加电大的计算机信息管理大专业余班学习两年大专学习的时间紧迫学习任务重通过了解我认识到电大学生的学习有别于普通高校校园内学生的学习其最大的区别就是学生以自学为主在电大学习需要具...

计算机专业指南学习计划(8篇)