当前位置:首页 > 大学计算机C语言期末考试复习试题及答案(20套)(1)
答案:B
三、程序填空 共2题 (共计24分)第1题 (12.0分) 题号:425 /*------------------------------------------------------ 【程序填空】
------------------------------------------------------ ---
题目:当输入“2,5”的时候输出为“2 5 5” ------------------------------------------------------*/ #include
#define max 100 main() {int f[max],i,j,k,m;
scanf(\
/***********SPACE***********/ for(i=0;i<=【?】;i++)f[i]=0; /***********SPACE***********/ f[【?】]=1; for(i=k;i<=m;i++) /***********SPACE***********/ for(j=i-k;j<=i-1;j++)f[i]【?】f[j];
printf(\}
答案:
=======(答案1)======= m =======(答案2)======= k-1
=========或========= k -1
=======(答案3)======= +=
=========或========= =1+
第2题 (12.0分) 题号:438
/*------------------------------------------------------ 【程序填空】
------------------------------------------------------ --- 题目:求出二维数组中的 大元素值。 ------------------------------------------------------*/ #include \main() {int
a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; /***********SPACE***********/
printf(\【?】); }
max_value(m,n,array)
/***********SPACE***********/ int m,n,【?】;
{int i,j,max; max=array[0][0]; for(i=0;i /***********SPACE***********/ if(max 答案: =======(答案1)======= max_value(3,4,a) =======(答案2)======= array[][4] =======(答案3)======= max=array[i][j] 四、程序改错 共2题 (共计22分)第1题 (11.0分) 题号:384 /*----------------------------------------------------- 【程序改错】 ------------------------------------------------------ -- 题目:给定程序 MODI1.C 中函数 fun 的功能是:输入两 个双精度数,函数返回它们的平方和的平方根值。 例如输入:22.936 和 14.121,输出为:y = 26.934415。 ------------------------------------------------------ -- 注意:不可以增加或删除程序行,也不可以更改程序的结构。 -----------------------------------------------------*/ #include /**********FOUND**********/ double fun (double *a, *b) { double c; /**********FOUND**********/ c = sqr(a*a + b*b); /**********FOUND**********/ return *c; } main ( ) { double a, b, y; printf ( \scanf (\y = fun (&a, &b); printf (\} 答案: =======(答案1)======= double fun (double *a, double *b) =======(答案2)======= c = sqrt(*a * *a + *b * *b); =======(答案3)======= return c; 第2题 (11.0分) 题号:415 /*----------------------------------------------------- 【程序改错】 ------------------------------------------------------ -- 题目:一球从100米高度自由落下,每次落地后反跳 回原高度的一半;再落下,求它在第10次落地 时,共经过多少米?第10次反弹多高? ------------------------------------------------------ -- 注意:不可以增加或删除程序行,也不可以更改程序 的结构。 -----------------------------------------------------*/ #include\main() { /**********FOUND**********/ float sn=100.0;hn=sn/2; int n; /**********FOUND**********/ for(n=2;n<10;n++) { sn=sn+2*hn; /**********FOUND**********/ hn=hn%2; } printf(\printf(\} 答案: =======(答案1)======= float sn=100.0,hn=sn/2; =======(答案2)======= for(n=2;n<=10;n++) =========或========= for(n=2;n<11;n++) =======(答案3)======= hn=hn/2; 五、程序设计 共1题 (共计14分)第1题 (14.0分) 题号:40 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目:请用 for 循环编写函数 fun,它的功能是:判断 m 是否为素数 。主函数的功能是:求出100到200 之间的素数的 个数。 -------------------------------------------------- 注意:部分源程序给出如下。请勿改动主 函数 main 和其 它函数中的任何内容,仅在函数fun 的花括号中填 入所编写的若干语句。 ------------------------------------------------*/ #include \main() { int m,k=0; for(m=100;m<200;m++) if(fun(m)) { printf(\k++; if(k%5==0) printf(\printf(\ yzj(); } int fun(int m) { /**********Program**********/ /********** End **********/ } yzj() { FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(\if(IN==NULL) {printf(\May Be Changed\} OUT=fopen(\ {printf(\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题 (共计10分)第1题 (1.0分) 题号:13 char *p=\的含义是定义字符型指针变量 p,p 的值是字符串\。答案:N 第2题 (1.0分) 题号:1268 C 语言的当型循环是先执行循环后判断条 件. 答案:N 第3题 (1.0分) 题号:1272 C 语言中的整型常量有3种表示方法. 答案:Y 第4题 (1.0分) 题号:1475 表达式1/4+2.75的值是3. 答案:N 第5题 (1.0分) 题号:24 C 语言中只能逐个引用数组元素而不能一次引用整个数组。答案:Y 第6题 (1.0分) 题号:1487 静态变量和外部变量都是全局变量,它们的存储是静态的. 答案:N 第7题 (1.0分) 题号:1249 若有 int i=10,j=2; 则执行完 i*=j+8;后 i 的值为28. 答案:N 第8题 (1.0分) 题号:1469 char a[]={'a','b','c'};char b[]={\数组a 和数组 b 占用的内存空间大小不一样. 答案:Y 第9题 (1.0分) 题号:549 \运算符的优先级比\运算符的优先 低. 答案:N 第10题 (1.0分) 题号:1256 unsigned 和 void 在 C 中都是保留字. 答案:Y 二、单项选择 共30题 (共计30分)第1题 (1.0分) 题号:3009 若 char a[10];已正确定义,以下语句中不能从键盘上给 a 数组的所有元素输入值的语句是(). A:gets(a); B:scanf(\ C:for(i=0;i<10;i++)a[i]=getchar(); D:a=getchar(); 答案:D 第2题 (1.0分) 题号:3175 变量的指针,其含义是指该变量的(). A:值 B:地址 C:名 D:一个标志 答案:B 第3题 (1.0分) 题号:2956 以下程序的输出结果为(). main() {int a=1,b=2,c=3,d=4,e=5; printf(\ } int func(int x,int y) { return(x+y); } A:15 B:13 C:9 D:函数调用出错 答案:B 第4题 (1.0分) 题号:596 下面四个选项中,均是不合法的用户标识符的选项是()。 A:A P_0 do B:float la0 _A C:b-a goto int D:_123 temp int 答案:C 第5题 (1.0分) 题号:493 C 语言的注释定界符是()。 A:{ } B:[ ] C:\\* *\\ D:/* */ 答案:D 第6题 (1.0分) 题号:508 int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则 c 的值为()。 A:1 B:2 C:3 D:不一定 答案:B 第7题 (1.0分) 题号:471 以 下 程 序 段 char *alp[]={\int j; puts(alp[1]); 的输出结果是()。 A:A B:B C:D D:DEF 答案:D 第8题 (1.0分) 题号:579 在 C 语言中,char 型数据在内存中的存储形式是()。 A:补码 B:反码 C:原码 D:ASCII 码 答案:D 第9题 (1.0分) 题号:121 以下不符合 C 语言语法的赋值语句是()。 A:a=1,b=2 B:++j; C:a=b=5; D:y=(a=3,6*5); 答案:A 第10题 (1.0分) 题号:3137 若使用一维数组名作函数实参,则以下正确的说法是(). A:必须在主调函数中说明此数组的大小 B:实参数组类型与形参数组类型可以不匹 配 C:在被调用函数中,不需要考虑形参数组的大小 D:实参数组名与形参数组名必须一致 答案:A 第11题 (1.0分) 题号:125 下列程序的输出结果是()。 main() {int a=7,b=5; printf(\} A:0 B:5 C:1 D:不确定值 答案:A 第12题 (1.0分) 题号:2857 经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是(). A:p=p+2; B:p=a[5]; C:p=a[2]+2; D:p=&(j+2); 答案:A 第13题 (1.0分) 题号:378 下列字符序列中,不可用作 C 语言标识符的是()。 A:b70 B:#ab C:symbol D:a_1 答案:B 第14题 (1.0分) 题号:3096 以下不是无限循环的语句为(). A:for(y=0,x=1;x>++y;x=i++) i=x; B:for(;;x++=i); C:while(1){x++;} D:for(i=10;;i--) sum+=i; 答案:A 第15题 (1.0分) 题号:407 若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 十进制代码为97),则以下程序段的执行结果是()。 ch='a'; k=12; printf(\printf(\ A:因变量类型与格式描述符的类型不匹配, 输出无定值 B:输出项与格式描述符个数不符,输出为零值或不定值 C:61,141,k=%d D:61,141,k= 答案:C 第16题 (1.0分) 题号:484 在位运算中,操作数每右移一位,其结果相当于()。 A:操作数乘以2 B:操作数除以2 C:操作数乘以16 D:操作数除以16 答案:B 第17题 (1.0分) 题号:543 若有 int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a; 则输出结果不为5 的语句为()。 A:printf(\C:printf(\D:printf(\ 答案:D 第18题 (1.0分) 题号:301 以下标识符中,不能作为合法的 C 用户定义标识符的是()。
共分享92篇相关文档