c程序设计期末模拟卷(a)
浙江理工大学科技与艺术学院2009—2010学年第二学期 《C程序设计》期末模拟试卷(A) [注意]第一、二、三、四题所有答案填写在答题卡上;第五题程序设计题写在单张的 答题卷上;试题卷请不要带走。 一、判断题(判断下列各题是否正确,正确为A,错误为B。本题共10分,每小 题1分。) B(l)模块化程序设计方法是指“C程序的三种基本结构是顺序、选择和循环”。 B(2)在C语言中,单引号括起来的字符,如 A 表示一个符号常量。 A(3)空语句是合法的C语句。 B(4)不同类型数据混合运算时的类型转换属于强制类型转换。 B(5)若有定义char str[100];语句str = “China“表示将字符串常量“China“赋值给字 符数组str。 A(6) continue语句只能用于循环结构中。 B(7)在C程序中,在函数内部定义的变量称为局部变量,它属于静态存储类别。 B(8)函数声明的目的是要明确函数类型、函数名、形参个数以及形参名。 A(9)当定义一个结构体变量时,系统分配给它的内存是其所有成员所需容量之和。 □|r> 朴 B(10)文件操作之前一定要先定义文件指针变量,如file *fp;定义了文件指针fp。 二、单选题(本题共20分,每小题2分) C(ll能用作变量名字的标识符是—(11)—。 ) [A] 12a[B] double[C] al23_cd [D] ab-1 C(12设有以下定义和输入语句,要使x、y和z的值分别为10, A和3.1,程序运行后, )正确的输入数据的方式是(12)—。 int x; char y; float z; scanf(“%d%c%f ”, [A] 10 A3.1[B] 10,A,3.1[C] 10A3.1[D] 10 A 3.1 D(13 语句 printf(“%d“, (a=2)则以下的表达式中,值为0的表达式是 )—(14)—- [A] a printf(“ %d“, (w 0 )[D] if (strcmp (sl,s2) >0 ) C20)已知:int a[10], *p=a;则为了得到数组元素a[3]的值,下列错误的表达式为 (20)o [A] p[3][B] *(p+3) [C] *(p)+3[D] *(a+3) 三、程序填空选择题(本题共20分,每填空2分) [注意]下列3个程序段中有10处填空(21-30),请选择合适的答案将程序补充完整。 1.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 #include void main() inti,j; for(i=0;—(21;i++) j=i*10+6; if((22) continue; printf(“%d\t“,j); } } C(21) [A] i a[j] [D] a[i] < a[j] 3.输入一个2 * 3的二维数组,找到最大值以及它的行下标和列下标,并输出该矩阵。 #include void main() int col, i, j, row; int a[2][3]; printf(“Enter array(2*3):“); for(i = 0; i <2; i++) for(j=0;j<3;j++) scanf(“%d“, (27); (28 for(i = 0; i < 2; i++) for(j=0;ja[row][col])( (29 } printf(“max = a[%d][%d] = %d\n \ row, col, a[row][col]); for(i = 0; i <