发布时间 : 星期二 文章C语言期末考试试卷byYin5 - 31更新完毕开始阅读7286e06c7e21af45b307a8c3
C语言程序设计期中考试答题纸
班级_____________ 姓名_____________ 学号______________ 成绩___________
注:答题写在答题纸上,写在试卷上不得分 一.选择题:(1分/题,共40分)
1 2 3 4 C A D D 6 B 7 8 9 10 C C D B 11 12 13 14 15 C A D A B 16 17 18 19 20 B A A D D 5 C 二.填空题:(1分/空,共20分)
1 2 3 4 5 6 7 8 9 10
9
定义 使用 4 2 1 大括号{ } 12.35 5.3 8, 16, 10 1, 2, 3 11 12 13 14 15 16 17 18 19 20 3 -1, 177777, ffff, 65535 1, 3, 2 指针数组 整型指针 ?\\0? 函数名 函数的返回类型 函数的形参个数 函数的形参类型
三.综合填空题:(5分/题,共15分)
1. 以下程序输入三个整数值给a,b,c, 程序把b中的值给a,把c中的值给b,把a中的值给c, 然后输出a,b,c的值。请填空。 main()
{ int a,b,c,_ t _; printf(“enter a,b,c”);
scanf(“%d%d%d”,__&a, &b, &c __); ___t _ ___; a=b ; b=c; __c=t ____; print(“a=%d b=%d c=%d\\n”,a,b,c); }
2. 完成下列冒泡排序程序。 void bubblesort(int r[ ],int n) { int i,j,temp; for(i=0;i for(j= _ n-1 _ ;j>=i+1; j--) if (_r[j] > r[j-1] _ ) {temp=r[j];r[j]=r[j-1]; _ r[j-1]=temp _ ;} } main() { int a[6]={3,5,2,4,1}; int j,n=6; bubblesort( a, 5 _);/*函数调用*/ for(j=0;j 3. 使用指针变量,显示字符串: void disp_char ( char * pstr ) { for ( ; *pstr != ?\\0? ; p++ ) printf( “ %c” , * pstr ); } main() { char * string = “ This is a string !”; disp_char ( string ); } 10 四.编程题:(共45分) 1. 编程实现函数: main () { int x, y; scanf(“%d”, &x ); if ( x<0) y = -1; else if (x>0) y = 1; else y = 0; } 2. 求取3×4矩阵各元素值最大的元素值,以及其所在的行号与列号。 main () { int i, j, row=0, col=0, max; int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; max = a[0][0] ; for ( i=0; i<=2 ; i++ ) for ( j=0; i<=3 ; j++ ); if ( a[i][j]>max) { max=a[i][j]; row=i; col=j; } printf (“max=%d, row=%d, colum=%d \\n” , max, row, col) ; } ?1?y??0??1?当:x?0当:x?0 当:x?0 11 3. 写一个函数,将两个字符串连接起来。 void strfunc ( char *str1, char *str2 , char *str ); main () { char s1[100], s2[100], s [100] ; scanf(“%s”, &s1) ; scanf(“%s”, &s2) ; strfunc( s1, s2, s); printf (“The new string is %s \\n”, s ) ; } void strfunc ( char *str1, char *str2 , char *str ) { int i, j ; for ( i=0 ; str1[i] != ?\\0? ; i++ ) ; str[i] = str1[i] ; for ( j=0 ; str2[j] != ?\\0? ; j++ ) ; str[i+j] = str2[j] ; str[i+j]= ?\\0? ; } 12