{ n++; p++; } return n; }
void main() { int length(char *p); int len;
/**********FOUND**********/ char *str[20];
printf(\ scanf(\
/**********FOUND**********/ len==length(str);
printf(\} 答案:
=======(答案1)======= while(*p!='\\0')
=========或========= while(*p)
=========或========= while(*p!=0)
=========或========= while(*p!=NULL)
=======(答案2)======= char str[20];
=======(答案3)======= len=length(str);
━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) ━━━━━━━━━━━━━━━━
第1题 (20.0分) 题号:365 /*------------------------------------------------ 【程序设计】
--------------------------------------------------
功能:求1到100之间的偶数之积。
------------------------------------------------*/
#include
double fun(int m) {
/**********Program**********/
/********** End **********/ }
void main()
{ double fun(int m);
printf(\ wwjt(); }
void wwjt() {
FILE *IN,*OUT; int iIN,i; double dOUT; IN=fopen(\ if(IN==NULL) {
printf(\Verify The Currernt Dir..it May Be Changed\ }
OUT=fopen(\ if(OUT==NULL) {
printf(\Verify The Current Dir.. it May Be Changed\ }
for(i=0;i<5;i++) {
fscanf(IN,\ dOUT=fun(iIN);
fprintf(OUT,\ } fclose(IN); fclose(OUT); }
答案:---------------------- double y=1; int i;
for(i=1;i<=m;i++)
if(i%2==0)y*=i; return y; ----------------------
八
━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━
第1题 (2.0分) 题号:1189
定义int *p,a[5],i;p=a;i=10;p++与i++均实现变量的值加1. 答案:Y
第2题 (2.0分) 题号:1274
C语言对标识符的约定:标识符的开头不可以是小写字母. 答案:N
第3题 (2.0分) 题号:1142
C语言不允许数组名作为函数参数进行函数调用. 答案:N
第4题 (2.0分) 题号:1102
在C程序中 , 函数既可以嵌套定义 , 也可以嵌套调用 答案:N
第5题 (2.0分) 题号:33 int i,*p=&i;是正确的C说明。 答案:Y
第6题 (2.0分) 题号:1144
C语言程序中,数组中的每一个元素都必须是同一种数据类型. 答案:Y
第7题 (2.0分) 题号:1250
任何类型的变量都可以通过定义相应的指针变量指向它. 答案:Y
第8题 (2.0分) 题号:1284
在C语言中,void型函数将返回一个void型的数值. 答案:N
第9题 (2.0分) 题号:1147
一个字符型数据可以用整型数据格式输出,一个整数(只限于与字符相对应的整数)也可以用字符形式输出. 答案:Y
第10题 (2.0分) 题号:36
若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。 答案:N
━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━
第1题 (2.0分) 题号:555
选择结构中的条件与循环结构中循环成立的条件,
在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。 哪个数作为逻辑“假”值()。 A:-1 B:1 C:非零的数
D:0 答案:D
第2题 (2.0分) 题号:135 一个C程序总是从( )开始执行. A:第一个语句 B:第一个函数 C:main()函数 D:首先被声明的函数 答案:C
第3题 (2.0分) 题号:3160
为表示关系x≥y≥z,应使用C语言表达式 A:(x>=y)&&(y>=z) B:(x>=y) AND (y>=z) C:(x>=y>=z) D:(x>=z)&(y>=z) 答案:A
第4题 (2.0分) 题号:498
下列运算符中是C语言关系运算符的是()。A:~ B:! C:& D:!= 答案:D
第5题 (2.0分) 题号:532 结构体类型的定义允许嵌套是指()。
A:成员是已经或正在定义的结构体型 B:成员可以重名 C:结构体型可以派生 D:定义多个结构体型 答案:A
第6题 (2.0分) 题号:190
定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )
for(i=0;i<3;i++) printf(\A:1 5 9 B:1 4 7 C:3 5 7 D:3 6 9 答案:C
第7题 (2.0分) 题号:539 C语言程序中必须有的函数是()。 A:#include \B:main C:printf D:scanf 答案:B
第8题 (2.0分) 题号:604 下面不正确的字符串常量是()。 A:'abc' B:\C:\D:\ \
答案:A
第9题 (2.0分) 题号:708 下面判断正确的是()。
A:char *a=\等价于 char *a;*a=\B:char
str[10]={\等价于
char
答案:A
第12题 (2.0分) 题号:166
下列定义数组的语句中不正确的是()。 A:int a[2][3]={1,2,3,4,5,6}; B:int a[2][3]={{1},{4,5}}; 答案:D
第15题 (2.0分) 题号:194
若有下列定义,则对a数组元素地址的正确引用是()。 int a[5],*p=a; A:&a[5] /***********SPACE***********/ string[i] = 【?】; string[i] = '\\0';
/***********SPACE***********/ printf (\【?】); } 答案: str[10];str[]={\
C:char *s=\等价于 char *s;s=\D:char c[4]=\等价于 char c[4]=d[4]=\ 答案:C
第10题 (2.0分) 题号:566 一个C程序的执行是从()。
A:本程序的main函数开始,到main函数结束 B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C:本程序的main函数开始,到本程序文件的最后一个函数结束
D:本程序文件的第一个函数开始,到本程序main函数结束 答案:A
第11题 (2.0分) 题号:205 有如下说明
int a[10]={1,3,5,7,9,11,13,15,17,19},*p=&a[1]; 则数值为13的表达式是( ). A:*(p+5) B:*(p+6) C:*p+5 D:p+6
C:int a[][3]={{1},{4}}; D:int a[][]={{1,2,3},{4,5,6}}; 答案:D
第13题 (2.0分) 题号:170
关于return语句,下列正确的说法是()。A:在主函数和其他函数中均可出现 B:必须在每个函数中出现 C:可以在同一个函数中出现多次
D:只能在除主函数之外的函数中出现一次 答案:C
第14题 (2.0分) 题号:151 以下程序的运行结果是()。 main() {
int i=1,sum=0;
while(i<10) sum=sum+1;i++; printf(\}
A:i=10,sum=9 B:i=9,sum=9 C:i=2,sum=1 D:运行出现错误
B:p+2 C:a++ D:&a 答案:B
━━━━━━━━━━━━━━━━ 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━
第1题 (15.0分) 题号:423
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:考查字符串数组的应用。输出26个大写英文字母。
-------------------------------------------------------*/
#include
char string[256]; int i;
/***********SPACE***********/ for (i = 0; i < 26; 【?】)
=======(答案1)======= i++
=========或========= ++i
=========或========= i=i+1
=========或========= i+=1
=======(答案2)======= 'A' + i
=========或========= i+'A'
=========或========= 65 + i
=========或========= i+65
=======(答案3)======= string
━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━
第1题 (15.0分) 题号:410
/*------------------------------------------------------ space,digit,others); }
char fun(char c) May Be Changed\ }
【程序改错】
--------------------------------------------------------
功能:输入一行字符,分别统计出其中英文字母、空格、数字和 其它字符的个数。
------------------------------------------------------*/
#include
void main() { char c;
int letters=0,space=0,digit=0,others=0; printf(\ /**********FOUND**********/ while((c=getchar())=='\\n') {
/**********FOUND**********/ if(c>='a'&&c<='z'&&c>='A'&&c<='Z') letters++;
/**********FOUND**********/ else if(c=!' ') space++;
else if(c>='0'&&c<='9') digit++; else others++; }
printf(\in all:char=%d space=%d digit=%d others=%d\\n\
答案:
=======(答案1)======= while((c=getchar())!='\\n')
=======(答案2)=======
if( c>='a'&&c<='z' || c>='A'&&c<='Z' ) =========或=========
if( c<='z'&&c>='a' || c>='A'&&c<='Z' ) =========或=========
if( c <= 'z' && c >= 'a' || c >= 'A' && c<='Z' )
=======(答案3)======= else if(c==' ')
━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) ━━━━━━━━━━━━━━━━
第1题 (20.0分) 题号:501 #include
/*------------------------------------------------------- 【程序设计】
---------------------------------------------------------
题目:从键盘输入一个大写字母,要求改用小写字母输出。
-------------------------------------------------------*/ #include
{
/**********Program**********/
/********** End **********/ }
void main() { char fun(char c); char c1, c2;
printf(\ c1=getchar();
printf(\
c2=fun(c1);
printf(\ wwjt(); }
void wwjt() {
FILE *IN,*OUT; int i;
char iIN,iOUT; IN=fopen(\ if(IN==NULL) {
printf(\Verify The Currernt Dir..it
OUT=fopen(\ if(OUT==NULL) {
printf(\Verify The Current Dir.. it May Be Changed\ }
for(i=0;i<5;i++) {
fscanf(IN,\ iOUT=fun(iIN);
fprintf(OUT,\ } fclose(IN); fclose(OUT); }
答案: c=c+32; return c;
九
━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━
第1题 (2.0分) 题号:1225
第7题 (2.0分) 题号:4
在Turbo C中,下面的定义和语句是合法的:
file *fp;fp=fopen(\答案:A
第2题 (2.0分) 题号:206 下面程序的输出结果是( ) main()
{ int a[10]={8,7,6,5,4,3,2,1},*p; p=&a[1]; 答案:A
第5题 (2.0分) 题号:203 下面程序的输出结果是( )
main(){ int a[8]={8,7,6,5,4,3,2,1},*p; p=a+3; printf(\在给变量命名时,C语言区分大小写字母,即认为Name和name不是同一个变量. 答案:Y
第2题 (2.0分) 题号:1256
while循环结构和do while循环结构的执行结果完全相同. 答案:N
第3题 (2.0分) 题号:1253
函数定义不能嵌套,即一个函数不能定义在别的函数内部. 答案:Y
第4题 (2.0分) 题号:12 结构体类型只有一种。 答案:N
第5题 (2.0分) 题号:27
char c[]=\Good\是一个合法的为字符串数组赋值的语句。 答案:Y
第6题 (2.0分) 题号:1096
C语言中\运算符的运算对象必须是整型. 答案:Y
答案:N
第8题 (2.0分) 题号:1226
在循环程序设计时,当while循环的条件表达式为常数1时,必然构成死循环. 答案:N
第9题 (2.0分) 题号:1261
C程序如果有多个函数,C程序的执行总是从最前边的函数开始的. 答案:N
第10题 (2.0分) 题号:1243
'm' 是C的合法常量,而\不是C的合法常量. 答案:N
━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━
第1题 (2.0分) 题号:552
应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。 A:fclose() B:close() C:fread() D:fwrite
printf(\A:4 B:5 C:6 D:3 答案:A
第3题 (2.0分) 题号:97 以下不正确的叙述是()。
A:在C程序中所用的变量必须先定义后使用 B:程序中,APH和aph是两个不同的变量 C:若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变 D:当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值 答案:D
第4题 (2.0分) 题号:615
C语言中 while 和 do-while 循环的主要区别是()。
A:do-while 的循环体至少无条件执行一次 B:while的循环控制条件比 do-while的循环控制条件更严格
C:do-while 允许从外部转到循环体内 D:do-while 的循环体不能是复合语句
A:3 B:4 C:5 D:2 答案:A
第6题 (2.0分) 题号:112 下列程序的输出结果是()。 main()
{char c1=97,c2=98; printf(\} A:97 98 B:97 b C:a 98 D:a b 答案:B
第7题 (2.0分) 题号:551
应用缓冲文件系统对文件进行读写操作,打开文件的函数名为()。 A:open B:fopen C:close D:fclose