C语言程序设计试卷及答案

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计试卷及

答案

IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

C语言程序设计

一、单项选择题(共15小题,每题4分,共60分)

1、下列有关C语言的叙述中错误的是()。

A)C语句必须以分号结束B)任何一个C程序中有且只有一个主函数

C)复合语句在语法上可被看作一条语句D)C程序中对数据的任何操作都可由运算符实现

2、以下不能定义为用户标识符的是()。

A)MAINB)_HJC)2ongD)LINE1

3、以下能正确定义一维数组的是()。

A)inta[5]={0,1,2,3,4,5};B)inta[5]=”012345”;

C)chara[]=”012345”;D)chara[5]={0,1,2,3,4,5};

4、以下关于main()函数的说法,正确的是。

A)main()必须是程序的第一行B)main()可以有参数

C)一个程序可以有多个main()D)main()可以被用户自定义的函数调用

5、设charstr1[10]=“ABCDE”,str2[10]=“xyz”;

则执行语句printf(“%d”,strlen(strcpy(str1,str2)));后的输出结果是()。

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

6、若用数组名作为函数调用的实参,则传递给形参的是()。

A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数

7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()。

A)void?B)double?C)int?D)char

8、下面不能正确进行字符串赋值操作的语句是()。

A)chars[5]={"ABCD"};B)chars[5];s="ABCD";C)char*s;s="ABCDEF";

D)char*s="ABCD";

9、设有说明ints[5]={1,3,5,7,9};int*p=s;则下列表达式中值为3的是()。

A)++p?B)++(*p)C)*(++p)D)*(p+=2)

10、变量的指针,其含义是指该变量的。

A)值B)地址C)名D)一个标志

11、若有说明int(*p)[3];则以下是正确的叙述。

A)p是一个指针数组

B)p是一个指针,它只能指向一个包含3个int类型元素的数组

C)p是一个指针,它可以指向一个一维数组中的任一元素

D)(*p)[3]与*p[3]等价

12、指针变量一定不能进行的运算是。

A)+B)-C)=D)/

13、若有语句intarray[3][4];以下对下标为i和j的数组元素的引用不正

确的是。

A)array[i][j]B)*(*(array+i)+j)C)*(array[i]+j)D)*(array+i*4+j)

14、一般情况下,文件占用存储空间较多。

A)二进制文件B)文本文件C)随机文件D)顺序文件

15、若对文件的操作未到文件尾时,feof(fp)函数的返回值是。

A)EOFB)1 C)0D)不定的非零值

二、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。(共3小题,第1、2题13分,第3题14分,共40分)

1.#include<>

voidmain()

{charch;intk=0;

for(ch=’A’;ch<’H’;ch++,k++)

if(k%2==0)printf(“%c”,ch);

printf(“\n”);

}

输出结果:

2.#include<>

voidmain()

{intk=0;

charc=’A’;

do{

switch(c++)

{case‘A’:k++;break;

case‘B’:k--;

case‘C’:k+=2;break;

case‘D’:k=k%2;break;

case‘E’:k=k*10;break;

default:k=k/3;

}

k++;

}while(c<’G’);

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

}

输出结果:

3.#include<>

voidmain()

{inta[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j; for(i=0;i<6;i++){

for(j=0;j<6;j++)if(a[i]==b[j])break;

if(j<6)printf(“%d”,a[i]);

}

printf(“\n”);

}

输出结果:

一、单选题

1)D2)C3)C4)B5)D

6)A7)C8)C9)C10)A

11B12D13D14B15C161718D19

二、阅读程序

1、ACEG

2、8

3、4252716

相关文档
最新文档