1、C 语言程序设计语言程序设计 一、单项选择题一、单项选择题(共共 1515 小题,每题小题,每题 4 4 分,共分,共 6060 分分)1、下列有关 C 语言的叙述中错误的是()。A)C 语句必须以分号结束 B)任何一个 C 程序中有且只有一个主函数C)复合语句在语法上可被看作一条语句 D)C 程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。A)MAIN B)_HJ C)2ong D)LINE13、以下能正确定义一维数组的是()。A)int a5=0,1,2,3,4,5;B)int a5=”012345”;C)char a=”012345”;D)char a5=0,
2、1,2,3,4,5;4、以下关于 main()函数的说法,正确的是 。A)main()必须是程序的第一行 B)main()可以有参数C)一个程序可以有多个 main()D)main()可以被用户自定义的函数调用5、设 char str110=“ABCDE”,str210=“xyz”;则执行语句 printf(“%d”,strlen(strcpy(str1,str2);后的输出结果是()。A)9 B)8 C)5 D)36、若用数组名作为函数调用的实参,则传递给形参的是()。A)数组的首地址 B)数组第一个元素的值 C)数组中全部元素的值 D)数组元素的个数7、在 C 程序中,若未在函数定义时说明
3、函数类型,则函数默认的类型为()。A)void B)double C)int D)char8、下面不能正确进行字符串赋值操作的语句是()。A)char s5=ABCD;B)char s5;s=ABCD;C)char*s;s=ABCDEF;D)char*s=ABCD;9、设有说明 int s5=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 是一个指针,它
4、只能指向一个包含 3 个 int 类型元素的数组C)p 是一个指针,它可以指向一个一维数组中的任一元素D)(*p)3与*p3等价12、指针变量一定不不能进行的运算是 。A)+B)-C)=D)/13、若有语句 int array34;以下对下标为 i 和 j 的数组元素的引用不不正确的是 。A)arrayij B)*(*(array+i)+j)C)*(arrayi+j)D)*(array+i*4+j)14、一般情况下,文件占用存储空间较多。A)二进制文件 B)文本文件 C)随机文件 D)顺序文件15、若对文件的操作未到文件尾时,feof(fp)函数的返回值是 。A)EOF B)1 C)0 D)不
5、定的非零值二、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。二、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。(共共 3 3 小题,第小题,第 1 1、2 2 题题 1313 分,分,第第 3 3 题题 1414 分,共分,共 4040 分分)1.#include void main()char ch;int k=0;for(ch=A;chH;ch+,k+)if(k%2=0)printf(“%c”,ch);printf(“n”);输出结果:2.#include void main()int k=0;char c=A;do switch(c+)case A
6、: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(cG);printf(“k=%dn”,k);输出结果:3.#include void main()int a6=12,4,17,25,27,16,b6=27,13,4,25,23,16,i,j;for(i=0;i6;i+)for(j=0;j6;j+)if(ai=bj)break;if(j6)printf(“%d”,ai);printf(“n”);输出结果:一、单选题一、单选题1)D 2)C 3)C 4)B 5)D 6)A 7)C 8)C 9)C 10)A11 B 12 D 13 D 14 B 15 C 16 17 18 D 19 二、阅读程序二、阅读程序 1、ACEG 2、8 3、4252716