━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━
第1题 (2.0分) 题号:1225
在给变量命名时,C语言区分大小写字母,即认为Name和name不是同一个变量. 答案:Y
第2题 (2.0分) 题号:1279
循环结构while、do while、for不可以互相嵌套. 答案:N
第3题 (2.0分) 题号:1140
链表中的任何一个结点,必然要包括一个指针域. 答案:Y
第4题 (2.0分) 题号:1265
在书写C程序时,一行内只能写一条语句,一条语句也不能写在多行上. 答案:N
第5题 (2.0分) 题号:1280
C语言程序中用到的所有变量必须在使用之前进行定义. 答案:Y
第6题 (2.0分) 题号:1269
若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y
第7题 (2.0分) 题号:19
C语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的。 答案:Y
第8题 (2.0分) 题号:11
通过return语句,函数可以带回一个或一个以上的返回值。 答案:N
第9题 (2.0分) 题号:24
对于数值型数组,C语言中只能逐个引用数组元素而不能一次引用整个数组。 答案:Y
第10题 (2.0分) 题号:33 int i,*p=&i;是正确的C说明。 答案:Y
━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━
第1题 (2.0分) 题号:87 C语言源程序的基本单位是()。 A:过程 B:函数 C:子程序 D:标识符 答案:B
第2题 (2.0分) 题号:110
C语言中,char类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:A
第3题 (2.0分) 题号:112 下列程序的输出结果是()。 main()
{char c1=97,c2=98; printf(\} A:97 98 B:97 b C:a 98 D:a b 答案:B
第4题 (2.0分) 题号:170
关于return语句,下列正确的说法是()。 A:在主函数和其他函数中均可出现 B:必须在每个函数中出现 C:可以在同一个函数中出现多次 D:只能在除主函数之外的函数中出现一次 答案:C
第5题 (2.0分) 题号:137
下列表达式中不是赋值表达式的是( ). A:a*=b B:x=1
C:a+b D:a++ 答案:C
第6题 (2.0分) 题号:94
在C语言中,能代表逻辑值“真”的是()。 A:True B:大于0的数 C:非0整数 D:非0的数 答案:D
第7题 (2.0分) 题号:570 以下叙述不正确的是()。
A:一个C源程序可由一个或多个函数组成 B:一个C源程序必须包含一个main函数 C:C程序的基本组成单位是函数
D:在C程序中,注释说明只能位于一条语句的后面 答案:D
第8题 (2.0分) 题号:129 以下各标识符中,合法的用户标识符为( ). A:A#C B:mystery C:main D:ab* 答案:B
第9题 (2.0分) 题号:166
下列定义数组的语句中不正确的是()。 A:int a[2][3]={1,2,3,4,5,6}; B:int a[2][3]={{1},{4,5}}; C:int a[][3]={{1},{4}}; D:int a[][]={{1,2,3},{4,5,6}}; 答案:D
第10题 (2.0分) 题号:97 以下不正确的叙述是()。
A:在C程序中所用的变量必须先定义后使用 B:程序中,APH和aph是两个不同的变量 C:若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变
D:当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值 答案:D
第11题 (2.0分) 题号:139 定义双精度实型变量应使用( ). A:long int B:float C:char D:double 答案:D
第12题 (2.0分) 题号:627
判断char型变量cl是否为小写字母的正确表达式是()。 A:'a'<=cl<='z' B:(cl>=a)&&(cl<=z) C:('a'>=cl)||('z'<=cl)
D:(cl>='a')&&(cl<='z') 答案:D
第13题 (2.0分) 题号:3112
下列语句定义pf为指向float类型变量f的指针,_____是正确的. A:float f, *pf = f; B:float f, *pf = &f; C:float *pf = &f, f; D:float f, pf 答案:B
第14题 (2.0分) 题号:3114 C语言源程序名的后缀是 A:exe B:c C:obj D:cp 答案:B
第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分)
━━━━━━━━━━━━━━━━
第1题 (15.0分) 题号:403
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:输出9*9口诀。
-------------------------------------------------------*/ #include
int i,j,result; printf(\
/***********SPACE***********/ for (i=1;【?】;i++) {
/***********SPACE***********/ for(j=1;j<10;【?】) {
result=i*j;
/***********SPACE***********/ printf(\【?】); }
printf(\ } } 答案:
=======(答案1)=======
i<10
=========或========= 10>i
=======(答案2)======= j++
=========或========= ++j
=========或========= j=j+1
=======(答案3)======= result
━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━
第1题 (15.0分) 题号:14
/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,
输出时只输出整数部分,输出前20项。
------------------------------------------------------*/ #include
{ int i;
float f1=1,f2=1,f3; /**********FOUND**********/ printf(\
/**********FOUND**********/ for(i=1;i<=20;i++) {
f3=f1+f2;
/**********FOUND**********/ f2=f1;
/**********FOUND**********/ f3=f2;
printf(\ }
printf(\}
void main() { void fun(); fun(); } 答案:
=======(答案1)======= printf(\=========或========= printf(\=========或========= printf(\
=======(答案2)======= for(i=1;i<20;i++) =========或=========
for(i=1;20>i;i++) =========或========= for(i=2;i<=20;i++) =========或========= for(i=2;20>=i;i++) =========或========= for(i=1;i<=19;i++) =========或========= for(i=1;19>=i;i++)
=======(答案3)======= f1=f2;
=======(答案4)======= f2=f3;
━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) ━━━━━━━━━━━━━━━━
第1题 (20.0分) 题号:319
/*------------------------------------------------ 【程序设计】
--------------------------------------------------
功能:编写函数判断m是否为素数。在main函数中输出了100到200之间所有的素数。
------------------------------------------------*/
#include \void wwjt();
int fun(int m) {
/**********Program**********/
/********** End **********/ }
void main() { int fun(int m); int m,k=0;
for(m=100;m<200;m++) if(fun(m)) {
printf(\ k++; if(k%5==0) printf(\ }
printf(\ wwjt(); }
void wwjt() {
FILE *IN,*OUT; int iIN,iOUT,i;
IN=fopen(\ if(IN==NULL) {
printf(\Dir..It May Be Changed\ }
OUT=fopen(\ if(OUT==NULL) {
printf(\Verify The Current Dir.. It May Be Changed\ }
for(i=0;i<10;i++) {
fscanf(IN,\ iOUT=fun(iIN);
fprintf(OUT,\ }
fclose(IN); fclose(OUT); }
答案:---------------------- int i,k=1; if(m<=1) k=0; for(i=2;i ---------------------- ━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━ 第1题 (2.0分) 题号:1147 一个字符型数据可以用整型数据格式输出,一个整数(只限于与字符相对应的整数)也可以用函数的递归就是反复地进行函数调用. 答案:N 第8题 (2.0分) 题号:1224 在C语言程序中, 同一个问题可以有多种实现算法. 答案:Y C:char D:double 答案:D 第3题 (2.0分) 题号:633 对以下说明语句 int a[10]={6,7,8,9,10}; 输入). D:同一个问题可能有多种实现算法 答案:D 第6题 (2.0分) 题号:114 下列数据中,为字符串常量的是()。 字符形式输出. 答案:Y 第2题 (2.0分) 题号:1284 在C语言中,void型函数将返回一个void型的数值. 答案:N 第3题 (2.0分) 题号:1106 C语言的函数可以嵌套定义. 答案:N 第4题 (2.0分) 题号:15 整数 -32100可以赋值给int型和long int型变量。 答案:Y 第5题 (2.0分) 题号:1229 函数嵌套就是在定义函数的函数体中调用被定义的函数本身. 答案:N 第6题 (2.0分) 题号:1238 在C语言中,FLOAT可以被定义为变量名. 答案:Y 第7题 (2.0分) 题号:1245 第9题 (2.0分) 题号:1282 字符型数据与整型数据之间可以互相赋值和运算. 答案:Y 第10题 (2.0分) 题号:1110 c程序总是从程序的第一条语句开始执行. 答案:N ━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━ 第1题 (2.0分) 题号:87 C语言源程序的基本单位是()。 A:过程 B:函数 C:子程序 D:标识符 答案:B 第2题 (2.0分) 题号:139 定义双精度实型变量应使用( ). A:long int B:float 的正确理解是()。 A:将5个初值依次赋给a[1]至a[5] B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[6]至a[10] D:因为数组长度与初值的个数不相同,所以此语句不正确 答案:B 第4题 (2.0分) 题号:655 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};, 则数组x在内存中所占字节数是()。 A:3 B:6 C:10 D:20 答案:D 第5题 (2.0分) 题号:117 在程序设计中,下面关于算法的最恰当描述是( ). A:算法是求解问题的数学计算公式 B:流程图是描述算法的唯一方法 C:在某一算法中,至少应该有一个输入(或多个 A:A B:\C:How do you do. D:$abc 答案:B 第7题 (2.0分) 题号:673 C语言规定,函数返回值的类型是由()。 A:return语句中的表达式类型所决定 B:调用该函数时的主调函数类型所决定 C:调用该函数时系统临时决定 D:在定义该函数时所指定的函数类型所决定 答案:D 第8题 (2.0分) 题号:138 下列( )不是C语言数据类型中的基本类型. A:整型 B:数组类型 C:单精度型 D:字符类型 答案:B 第9题 (2.0分) 题号:89 以下标识符中,不能作为合法的C用户定义标识符的是()。 A:a3_b3 B:void C:_123 D:IF 答案:B 第10题 (2.0分) 题号:586 以下选项中合法的实型常数是()。 A:5E2.0 B:E-3 C:.2E0 D:1.3E 答案:C 第11题 (2.0分) 题号:3130 下列说法中错误的是 A:一个数组只允许存储同种类型的变量 B:如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值 C:数组的名称其实是数组在内存中的首地址 D:当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改 答案:B 第12题 (2.0分) 题号:604 下面不正确的字符串常量是()。 A:'abc' B:\ C:\D:\ 答案:A 第13题 (2.0分) 题号:171 在C语言的函数中,下列正确的说法是()。 A:必须有形参 B:形参必须是变量名 C:可以有也可以没有形参 D:数组名不能作形参 答案:C 第14题 (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 第15题 (2.0分) 题号:155 C语言中用于结构化程序设计的三种基本结构是( ). A:顺序结构、选择结构、循环结构 B:if、switch、break C:for、while、do-while D:if、for、continue 答案:A ━━━━━━━━━━━━━━━━ 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━ 第1题 (15.0分) 题号:15 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。 -------------------------------------------------------*/ #include int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf(\ /***********SPACE***********/ while(【?】) { if(x%2==0) { s1=s1+x; i++; } /***********SPACE***********/ 【?】 { s2=s2+x; j++; } /***********SPACE***********/ 【?】; } if(i!=0) av1=s1/i; else av1=0; if(j!=0) /***********SPACE***********/ 【?】 ; else av2=0; printf(\.2f\\n\} 答案: =======(答案1)======= x != 0 =========或========= x =======(答案2)======= else =========或========= else if(x%2==1) =========或========= else if(x%2!=0) =========或========= if(x%2) =======(答案3)=======