《C语言程序设计试题及答案三.doc》由会员分享,可在线阅读,更多相关《C语言程序设计试题及答案三.doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C语言程序设计试题及答案三 学号: 学习中心名称: 专业: 层次: 姓名: 题号一二三四五六七八九十总分得分注意:所有答案都要写在答题卡上一、单项选择题20分,每题2分1执行以下程序段后,正确的结果是Bint k, a33 = 1,2,3,4,5,6,7,8,9;for(k=0; k3; k+)printf(“%2d, akk);A) 1 2 3 B) 1 5 9 C) 1 4 7 D) 3 6 92假设a是int类型变量,那么计算表达式a=25/3%3的值是:BA)3 B)2 C)1 D)03下面正确的字符常量是:CA)“c B) C)W D)4 C语言中,运算对象必须是整型的运算符是:BA
2、)% B)/ C)* D)+5数字字符0的ASCII值为48,假设有以下程序main() char a=1, b=2;printf(%c,b+);printf(%dn,b-a);程序运行后的输出结果是。BA 3,2B50,2 C2,2D2,506以下语句或语句组中,能正确进展字符串赋值的是。DAchar *sp;*sp=right!;Bchar s10;s=right!; Cchar s10;*s=right!;Dchar *sp=right!;7for(i=0;ib) fun2(_&c,&b_);if(ac) fun2(_&a,&c_);if(ab) fun2(_&a,&b_);3字符A的A
3、SCII代码值为65,以下程序运行时假设从键盘输入:B33,那么输出结果是 1 B 。 #include main() char a,b; a=getchar();scanf(%d,&b); a=a-A+0;b=b*2; printf(%c %cn,a,b);4以下程序运行后的输出结果是 4 3 5 。main() int a=3,b=4,c=5,t=99; if(ba & ac) t=a;a=c;c=t; if(ac & bc) t=b;b=a;a=t; printf(%d %d %dn,a,b,c);5假设a=10,b=20,那么表达式!a=0;i-) t*=i; printf(%dn,t
4、); 10在循环语句中,break语句的作用是 是用来跳出当前一层循环的 ,continue语句的作用是 终止本次循环。三、写出程序的运行结果30分,每题10分1写出程序运行后的输出结果 main() int a=1,b; for(b=1;b=8) break; if(a%2=1)a+=5;continue; a-=3; printf(%dn,b); 输出结果:b=42写出程序运行后的输出结果#include char *ss(char *s) return s+strlen(s)/2;main( ) char *p,*str=abcdefgh; p=ss(str); printf(%sn,p
5、);输出结果:efgh3写出程序运行后的输出结果 int f1(int x,int y)return xyx:y; int f2(int x,int y)return xyy:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf(%d,%d,%dn,e,f,g); 4,3,7四、编程完形填空20分,每题10分1以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否那么函数返回字符串:no!,并
6、在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。#include #include char *huiwen(char *str) char *p1,*p2; int i,t=0;p1=str;p2=_ str+strlen(str)-1_; str+strlen(str)for(i=0;i=strlen(str)/2;i+)if(*p1+!=*p2-)t=1;break; if(_t=0或!t_ ) t=0return(yes!); else return(no!);main() char str50;printf(Input:); scanf(%s,str);p
7、rintf(%sn,_ huiwen(str) _ ); huiwen(srt)2下面程序完成以下功能:1trans函数将二维数组a进展转置,即行列互换,如以下图所示;1 2 3 4 1 2 5 72 4 6 9 2 4 8 15 8 9 7 3 6 9 67 1 6 21 4 9 7 21转置前 转置后2findmin函数求新数组中对角线左上到右下上的最小元素的值;请将程序填写完整。void trans(int b44) /*转置函数*/int i,j,temp;for(i=0;i4;i+)for(j=_0_;j4;j+)temp=bij;bij=bji;bji=temp;int findmin(int b44) /*求对角线上最小的元素*/int min,i,j;min=_;for(i=0;i4;i+)if(_biimin_)min=_ bii_ _;return min;main()int i,j;int a44,min;for(i=0;i4;i+)for(j=0;j4;j+)scanf(%d,&aij);trans(a);printf(“the result is:);for(i=0;i4;i+)for(j=0;j4;j+)printf(%5d,aij);printf(n);min=_findmin(a)_;printf(the min is%5dn,min);
限制150内