资源描述:
《C语言程序设计试卷及答案资料》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C语言程序设计一、单项选择题(共15小题,每题4分,共60分)1、下列有关C语言的叙述中错误的是()。A)C语句必须以分号结束 B)任何一个C程序中有且只有一个主函数C)复合语句在语法上可被看作一条语句 D)C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。 A)MAIN B)_HJ C)2ong D)LINE13、以下能正确定义一维数组的是()。 A)int a[5]={0,1,2,3,4,5}; B)int a[5]=”012345”; C)char a[]=”012345”;
2、 D)char a[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) 9 B)8 C)5 D)36、若用数组名作为函数调用的实参,则传递给形参的是()。A)数组的首地址 B)数组
3、第一个元素的值C)数组中全部元素的值 D)数组元素的个数7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( )。A)void B)double C)int D)char8、下面不能正确进行字符串赋值操作的语句是()。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
4、)*(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)*(a
5、rray+i*4+j)14、一般情况下,文件占用存储空间较多。A)二进制文件B)文本文件C)随机文件D)顺序文件15、若对文件的操作未到文件尾时,feof(fp)函数的返回值是。A)EOFB)1C)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)
6、printf(“%c”,ch); printf(“”); } 输出结果: 2. #include voidmain() { intk=0; charc=’A’; do{switch(c++){case‘A’:k++;break; case‘B’:k--; case‘C’:k+=2;break;
7、 case‘D’:k=k%2;break; case‘E’:k=k*10;break; default:k=k/3; } k++; }while(c<’G’); printf(“k=%d”,k);} 输出结果: 3. #include voidmain() { inta[6]={12,4,
8、17,25,27,16},b[6]={27,13,4,25,23,16},i,j;