江西省电脑知识竞赛题库-C语言类

  • 格式:doc
  • 大小:136.00 KB
  • 文档页数:59

1、有语句char str1[10],str2[10]={"china"};则能将字符串china赋给数组str1的正确语句是________。 A、str1={"china"}; B、strcpy(str1,str2);

C、str1=str2; D、strcpy(str2,str1);——答案B

2、有以下结构体说明和变量的定义,且如下图所示指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是 A)

a.next=q; B) p.next=&b; C) p->next=&b; D) (*p).next=q; struct node

{ char data; struct node *next; { a,b,*p=&a,*q=&b; data next data

next——答案B

3、有以下程序段 char arr[]="ABCDE"; char *ptr; for(ptr=arr;ptr main()

{ union { int k; char i[2]; } *s,a; s=&a; s->i[0]=0x39; s->i[1]=0x38;

printf("%x\n",s->k); } 输出结果是 A) 3839 B) 3938 C) 380039 D)

390038——答案D

4、有以下程序 #include "stdio.h" struct stu { int num; char name[10]; int

age; }; void fun(struct stu *p) { printf("%s\n",(*p).name); } main()

{ struct stu students[3]={ {9801,"Zhang",20}, {9802,"Wang",19},

{9803,"Zhao",18} }; fun(students+2); } 输出结果是 A) Zhang B)Zhao

C) Wang D) 18——答案B

5、在C程序中,可把整型数以二进制形式存放到文件中的函数是 A)

fprintf函数 B) fread函数 C) fwrite函数 D) fputc函数——答案A

6、在C语言中,fclose()函数返回____时, 表示关闭不成功 (A) 0 (B)

-1 ? EOF (D) 非零值——答案D

7、在C语言中,如果下面的变量都是int类型,则输出的结果是( )。 Sum=5,p=5;p=sum++,p++,++p; printf("%d\n",p); A、 7 B、 6 C、 5 D、

4——答案A

8、在scanf( )中,表示本输入项在读入后不赋给相应变量的格式说明字符是____ (A) L (B) h (C) C (D) *——答案D

9、在以下定义中,标识符p______ int (*p)[3] A) 定义不合法 B) 是一个指针数组名,每个元素是一个指向整数变量的指针 C) 是一个指针,它指向一个具有三个元素的一维数组 D) 是一个指向整型变量的指针——答案C

10、字符的比较,是用对应的ASCII码来进行比较的,下列说法正确的是______ A 、 'a'比'b'大 B 、 'd'比'Q'大 C 、 空格比逗号大 D 、

'H'比'R'大——答案B

11、在C语言中,逻辑值“真”用什么表示? A、true B、正数 C、1 D、非0的数——答案D

12、在C语言的if语句中,用作判断的表达式为_____。 A、算术表达式 B、逻辑表达式 C、关系表达式 D、任意表达式——答案D

13、在C语言程序中, ( ) A:函数的定义可以嵌套,但函数的调用不可以嵌套 B:函数的定义不可以嵌套,但函数的调用可以嵌套 C:函数的定义和调用均不可以嵌套 D:函数的定义和调用增色可以嵌套——答案B

14、以下程序的输出结果是_______ #include #define

FUDGE(y) 2.84+y #define PR(a) printf("%d",(int)(a)) #define PRINT(a)

PR(a);putchar('\n') main() { int x=2; PRINT(FUDGE(5)*x); } A、11 B、12 C、13 D、15——答案D

15、已知在ASCII代码中,字母A的序号为65,以下程序输出结果是( )。 # include main( ) { char c1='A',c2='Y';

printf("%d,%d\n',c1,c2); } (A)输出错误信息 (B) 65,90 (C)

A,Y (D) 65,89——答案D

16、一个C程序由函数A、B、C和函数p构成,在函数A中分别调用了函数B和函数C,在函数B中调用了函数A,且在函数p中也调用了函数A,则可以说________。 A、函数B中调用的函数A是函数A的间接递归调用 B、函数A被函数B中调用的函数A间接递归调用

C、函数p直接递归调用了函数A D、函数p中调用的函数A是函数p的嵌套——答案D

17、一个C语言程序总是从____开始执行。 A)主过程 B)主函数 C)子程序 D) 主过程——答案B

18、写出下列语句执行结果。 int a,b,c,d=4,m=6,n=8; int

*p1=&d,*p2=&m,*p3; a=p1==&d; b=3*(-*p1)/(*p2)+7;

c=*(p3=&n)=*p1*(*p2); printf("%d,%d,%d",a,b,c); A、1,5,24 B、4,5,23

C、1,2,22 D、5,5,14——答案A

19、以下____为不正确的if语句。 A. if(x>y); B. if(x= =y)x+=y; C.

if(x!=y) scanf(''%d'',&x) else scanf(''%d'',&y); D. if(x

20、以下不正确的描述为____。 A. 调用函数时,实参可以是表达式。

B. 调用函数时,实参与形参可以共用内存单元。 C. 调用函数时,将为形参分配内存单元。 D. 调用函数时,实参与形参的类型必须一致。——答案B

21、写出下列语句执行后x的值。 x=6; x+=x-=x*x; A、36 B、0 C、66 D、-60——答案D

22、写出下列程序的运行结果。 #include #define SQR(x) x*x

main() { int a,k=3; a=++SQR(k+1); printf("%d\n",a); } A、16 B、9 C、4

D、17——答案B

23、下面的for循环最多可执行________次。

For(x=0;y=0;(y!=99)&&(x<4);x++); A、4次 B、5次 C、99次 D、0次——答案A

24、下列循环体执行多少次? k=70; while(k=0) k-=1; A、70次 B、69次 C、无限次 D、0次——答案D

25、下列说法不正确的是________。 A、宏替换不占用运行时间 B、宏无类型 C、宏替换只是字符替换 D、宏名必须用大写字母表示——答案D

26、请读程序: main() { int a=4,b=7; printf("%d\n",(a=a+1,b+a,b+1)); 则上面程序的输出结果是____ A、5 B、4 C、13 D、8——答案D

27、设在C语言中,int类型数据占2个字节,则long类型占________字节,unsigned int占________个字节,short类型占________个字节。

A、4,2,2 B、2,1,1 C、4,2,1 D、4,4,2——答案A

28、若有以下类型说明语句char w; int x; float y; double z; 则表达式w

*x+z-y的结果为____。 A. float B. char C.int D. double——答案D 29、若要使函数不带回任何值,可以( )。 (A) 不使用return语句 (B) 不定义函数类型(C) 把函数定义为void类型 (D) 不返回main( )函数——答案C

30、若a为整型变量则以下语句_____ a=-2L; printf("%d\n",a); A、赋值不合法 B、输出值为-2 C、输出为不确定值 D、输出值为2——答案B

31、若x为int型变量,y是float型变量,所调用输入语句格式为scanf("x=%d,y=%f,&x,&y),则将为使x=20,y=166.6,正确的输入是____。 A、20 166.6 B、x=20,y=166.6 C、20 166

D、20,166.6 ——答案D

32、关于READ语句取数方式正确的是_____。 A. 一个READ语句对应一个数据行 B. 每个READ语句读数均从一行开头开始 C.

READ语句是一个接一个读数据 D. 以上均错——答案C

33、对共用体类型( )是正确的。(A) 允许将共用体变量作为一个整体来进行赋值或复制(B) 只允许存放其元素的值和元素的地址(C) 可以把共用体变量作为参数直接传递给函数(D) 可以从函数返回共用体变量的值——答案B

34、对于C程序的函数,下列叙述中正确的是______。 A.函数的定义不能嵌套,但函数调用可以嵌套。 B.函数的定义可以嵌套,但函数调用不能嵌套。 C.函数的定义和调用均不能嵌套。 D.函数的定义和调用均可以嵌套。——答案A

35、C语言标准库函数"strcat(strcpy(str1,str2),str3)"的功能是________。 A、将串str1复制到串str2中后再连接至串str3之后 B、将串str1连接至str2之后再复制至串str3之后 C、将串str2复制到串str1串后再将串str3连接到 串str1 之后 D、将串str2连接到串str1之后再将串str1复制到 串str3串——答案C

36、C语言的特点是_______ A、功能强、占用内存少 B、书写格式自由 C、通用 D、以上都是——答案D

37、C语言中静态变量和外部变量的初始化是在________阶段完成的。 A、程序执行过程中 B、编译 C、运行 D、程序外部——答案B

38、C语言中的循环语句有for,while,do-while,还有一个是________。

A、if B、switch C、goto D、break——答案C

39、C语言中,除了( )以外都可以作为函数参数。(A) 结构体变量的成员 (B) 结构体变量的值 (C) 指向结构体变量的指针 (D) 结构体变量——答案D

40、while(!x)中的(!x)与下面条件____等价。 A. x= =0 B. x= =1 C. x!=1

D. x!=0——答案B

41、C语言中允许用外部说明来指定变量、函数和其它标识符的特征,这里所说的外部指的是( ) A) 冠以关键字extern B) 它们的位置在函数体外部 C) 它们的作用范围是全程的 D) 它们的位置在函数外部——答案D