六
━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━
第1题 (2.0分) 题号:1259
若定义int m[]={1,2,3,4,5};则m[1]的值为2. C语言中\运算符的运算对象必须是整型. 答案:Y
第8题 (2.0分) 题号:1109
两个字符串中的字符个数相同时才能进行字符( ).
A:int a[2][2]={{1},{2}}; B:int a[][2]={1,2,3,4}; C:int a[2][2]={{1},2,3}; D:int a[2][]={{1,2},{3,4}}; 答案:D {float x=3.6; int i; i=(int)x;
printf(\}
A:x=3.600000,i=4 B:x=3,i=3 答案:Y
第2题 (2.0分) 题号:1275
如果定义一个函数时省略类型,则函数没有返回值. 答案:N
第3题 (2.0分) 题号:12 结构体类型只有一种。 答案:N
第4题 (2.0分) 题号:1241
在C语言的标识符中,大写字母和小写字母完全等价. 答案:N
第5题 (2.0分) 题号:1271
定义一种结构体类型后,则用该类型定义的所有变量占用内存的大小是相同的. 答案:Y
第6题 (2.0分) 题号:1269
若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y
第7题 (2.0分) 题号:1096
串大小的比较 答案:N
第9题 (2.0分) 题号:1135 语句printf(\存在语法错误. 答案:N
第10题 (2.0分) 题号:32
若有说明int c;则while(c=getchar());是正确的C语句。 答案:Y
━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━
第1题 (2.0分) 题号:3114 C语言源程序名的后缀是 A:exe B:c C:obj D:cp 答案:B
第2题 (2.0分) 题号:184 以下不能正确定义二维数组的选项是
第3题 (2.0分) 题号:129 以下各标识符中,合法的用户标识符为( ). A:A#C B:mystery C:main D:ab* 答案:B
第4题 (2.0分) 题号:632 以下叙述正确的是()。
A:do-while语句构成的循环不能用其它语句构成的循环来代替.
B:do-while语句构成的循环只能用break语句退出.
C:用do-while语句构成的循环,在while后的表达式为非零时结束循环.
D:用do-while语句构成的循环,在while后的表达式为零时结束循环 答案:D
第5题 (2.0分) 题号:149 以下程序的输出结果是()。 main()
C:x=3.600000,i=3 D:x=3 i=3.600000 答案:C
第6题 (2.0分) 题号:172 在C语言程序中()。
A:函数的定义可以嵌套,但函数的调用不可以嵌套
B:函数的定义不可以嵌套,但函数的调用可以嵌套
C:函数的定义和函数调用均可以嵌套 D:函数的定义和函数调用不可以嵌套 答案:B
第7题 (2.0分) 题号:678
当调用函数时,实参是一个数组名,则向函数传送的是()。 A:数组的长度 B:数组的首地址 C:数组每一个元素的地址 D:数组每个元素中的值 答案:B
第8题 (2.0分) 题号:125
下列程序的输出结果是()。 main()
{int a=7,b=5; printf(\} A:0 B:5 C:1 D:不确定值 答案:A
第9题 (2.0分) 题号:187
经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。 A:p=p+2; B:p=a[5]; C:p=a[2]+2; D:p=&(j+2); 答案:A
第10题 (2.0分) 题号:633
对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。
A:将5个初值依次赋给a[1]至a[5] B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[6]至a[10] D:因为数组长度与初值的个数不相同,所以此语句不正确 答案:B
第11题 (2.0分) 题号:574
若变量已正确定义并赋值,下面符合C语言语法的表达式是()。 A:a:=b+1 B:a=b=c+2 C:int 18.5%3 D:a=a+7=c+b 答案:B
第12题 (2.0分) 题号:110 C语言中,char类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:A
第13题 (2.0分) 题号:551
应用缓冲文件系统对文件进行读写操作,打开文件的函数名为()。 A:open B:fopen C:close D:fclose 答案:B
第14题 (2.0分) 题号:141
若a为int类型,且其值为3,则执行完表达式a+=a*a后,a的值是( ). A:12 B:27
C:18 D:9 答案:A
第15题 (2.0分) 题号:142 下面的表示形式中,正确的字符常量是( ). A:'ab' B:'\\0' C:\D:\ 答案:B
━━━━━━━━━━━━━━━━ 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━
第1题 (15.0分) 题号:395
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:输入3个数a,b,c,按从小到大的顺序输出。
-------------------------------------------------------*/ #include
void swap(int *p1, int *p2); int n1,n2,n3;
int *pointer1,*pointer2,*pointer3; printf(\number:n1,n2,n3:\
scanf(\ pointer1=&n1; pointer2=&n2; pointer3=&n3;
/***********SPACE***********/ if(【?】) swap(pointer1,pointer2); /***********SPACE***********/ if(【?】) swap(pointer1,pointer3); /***********SPACE***********/ if(【?】) swap(pointer2,pointer3); printf(\are:%d,%d,%d\\n\}
/***********SPACE***********/ void swap(【?】) { int p;
p=*p1;*p1=*p2;*p2=p; } 答案:
=======(答案1)======= n1>n2
=========或========= n2 =========或========= *pointer1>*pointer2 =========或========= *pointer2<*pointer1 =======(答案2)======= n1>n3 =========或========= n3 那契级数的前n 项为: 1,1,1,3,5,9,17,31,?? ,从第四项开始,每一项的值是其前三项之和。 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: =======(答案1)======= for (k=4; k<=n; k++) =======(答案2)======= a=b; =======(答案3)======= { void change(char str[]); char str[40]; gets(str); change(str); =========或========= *pointer1>*pointer3 =========或========= *pointer3<*pointer1 =======(答案3)======= n2>n3 =========或========= n3 =========或========= *pointer2>*pointer3 =========或========= *pointer3<*pointer2 =======(答案4)======= int *p1,int *p2 ━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━ 第1题 (15.0分) 题号:374 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:求广义菲玻那契级数的第n项。广义菲玻 2209。 ------------------------------------------------------*/ #include long fun ( int n ) { long a=1, b=1, c=1, d=1, k; /**********FOUND**********/ for (k=4; k d = a+b+c; /**********FOUND**********/ a=b b=c; c=d; } /**********FOUND**********/ return k; } void main( ) { long fun ( int n ); int n = 15; printf( \( n ) ); } 答案: return d; ━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) ━━━━━━━━━━━━━━━━ 第1题 (20.0分) 题号:391 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 ------------------------------------------------*/ #include \#include void change(char str[]) { /**********Program**********/ /********** End **********/ } void main() puts(str); wwjt(); } void wwjt() { FILE *IN,*OUT; char i[200]; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } fscanf(IN,\ change(i); fprintf(OUT,\ fclose(IN); fclose(OUT); } 答案:---------------------- int i; for(i=0;str[i]!='\\0';i++) if(str[i]>='a' && str[i]<='z') str[i]=str[i]-32; ---------------------- 七 ━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━ 第1题 (2.0分) 题号:33 int i,*p=&i;是正确的C说明。 答案:Y 第2题 (2.0分) 题号:820 函数嵌套是在函数的函数体中定义另外的函数. 答案:N 第3题 (2.0分) 题号:1270 用puts和gets函数每次调用可以输入输出多个字符串. 答案:N 第4题 (2.0分) 题号:26 int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列 的元素赋初值,其余元素值为0。 答案:Y 第5题 (2.0分) 题号:23 若 a=3,b=2,c=1 则关系表达式\的值为\真\。 答案:Y 第6题 (2.0分) 题号:1150 0x1A、219、0678都是合法的常量. 答案:N 第7题 (2.0分) 题号:1225 在给变量命名时,C语言区分大小写字母,即认为Name和name不是同一个变量. 答案:Y 第8题 (2.0分) 题号:1232 在C语言中,INT可以被定义为变量名. 答案:Y 第9题 (2.0分) 题号:1144 C语言程序中,数组中的每一个元素都必须是同一种数据类型. 答案:Y 第10题 (2.0分) 题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━ 第1题 (2.0分) 题号:167 下列语句中,不正确的是()。 A:char a[2]={1,2}; B:int a[2]={'1','2'}; C:char a[2]={'1','2','3'}; D:char a[2]={'1'}; 答案:C 第2题 (2.0分) 题号:87 C语言源程序的基本单位是()。 A:过程 B:函数 C:子程序 D:标识符 答案:B 第3题 (2.0分) 题号:3162 若变量已正确定义,执行语句scanf(\\时,___是正确的输入 A:2030,40 B:20 30 40 C:20, 30 40 D:20,30,40 答案:D 第4题 (2.0分) 题号:563 以下叙述中正确的是()。 A:构成C程序的基本单位是函数 B:可以在一个函数中定义另一个函数 C:main()函数必须放在其它函数之前 D:所有被调用的函数一定要在调用之前进行定义 答案:A 第5题 (2.0分) 题号:586 以下选项中合法的实型常数是()。 A:5E2.0 B:E-3 C:.2E0 D:1.3E 答案:C 第6题 (2.0分) 题号:136 在C语言中,不正确的int类型的常数是( ). A:32768 B:0 C:37 D:0xAF 答案:A 第7题 (2.0分) 题号:555 选择结构中的条件与循环结构中循环成立的条件, 在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。 哪个数作为逻辑“假”值()。 A:-1 B:1 C:非零的数 D:0 答案:D 第8题 (2.0分) 题号:622 putchar函数可以向终端输出一个()。 A:整型变量表达式值 B:实型变量值 C:字符串 D:字符或字符型变量值 答案:D 第9题 (2.0分) 题号:3163 C语言中while和do—while循环的主要区别是 C:名 D:一个标志 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━ =======(答案1)======= 0 A:While的循环控制条件比do—while的循环控制条件严格 B:do—while的循环体至少无条件执行一次 C:do—while允许从外部转到循环体内 D:do—while循环体不能是复合语句 答案:B 第10题 (2.0分) 题号:3116 若变量均已正确定义并赋值,以下合法的C语言赋值语句是 A:x=n/2.5; B:x==5; C:x+n=I; D:5=x=4+1; 答案:A 第11题 (2.0分) 题号:525 C语言中不可以嵌套的是()。 A:函数调用 B:函数定义 C:循环语句 D:选择语句 答案:B 第12题 (2.0分) 题号:704 变量的指针,其含义是指该变量的()。 A:值 B:地址 答案:B 第13题 (2.0分) 题号:107 设C语言中,int类型数据占2个字节,则long类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:C 第14题 (2.0分) 题号:109 C语言中,double类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:D 第15题 (2.0分) 题号:711 下列选项中正确的语句组是()。 A:char s[8]; s={\B:char *s; s={\C:char s[8]; s=\D:char *s; s=\ 答案:D ━━━━━━━━━━━━━━━━ 第1题 (15.0分) 题号:432 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:计算平均成绩并统计90分以上人数。 -------------------------------------------------------*/ #include float grade,average; average=0.0; /***********SPACE***********/ n=m=【?】; while(1) { /***********SPACE***********/ 【?】(\ if(grade<0) break; n++; average+=grade; /***********SPACE***********/ if(grade<90)【?】; m++; } if(n) printf(\} 答案: =======(答案2)======= scanf =======(答案3)======= continue ━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━ 第1题 (15.0分) 题号:442 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 ------------------------------------------------------*/ #include int length(char *p) { int n; n=0; /**********FOUND**********/ while(*p=='\\0')