程序设计基础2013-2014-1 期末试卷B
- 格式:doc
- 大小:125.50 KB
- 文档页数:4
C语言程序设计教程期末考试试卷(B卷)(考试时间90分钟,满分100分)一、选择题(每小题1分,共20分)下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。
1. 在C语言中,下列标识符中合法的是( )A. -intB. in1_3C. A_B!DD. const2. 不属于C语言基本数据类型的是( )A. intB. unionC. charD. unsigned3. 下面是对宏定义的描述。
不正确的是( )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换只是字符串的简单替代D. 宏替换时先检查类型,类型一致时才可以替换4. C语言中,″\\xfds″在内存中占用的字节数是( )A. 3B. 4C. 5D. 65. 设int x;则执行printf(″%x\n″,~x^x);的结果是( )A. ffffffffB. ffC. 0D. 16. 对于while语句,错误的说法是( )A. 用条件控制循环体的执行次数B. 循环体至少要执行一次C. 循环体有可能一次也不执行D. 循环体中可以包含若干条语句7. 执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A. 6,7,7B. 6,7,8C. 8,7,6D. 8,7,88. 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A. 9,19B. 9,20C. 10,19D. 10,209. 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A. x数组的长度等于y数组的长度B. x数组的长度大于y数组的长度C. x数组的长度少于y数组的长度D. x数组与y数组的存储区域相同10. 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A. 147B. 159C. 357D. 36911. 执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A. 125B. 126C. 127D. 12812. 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A. –132B. –60C. -24D. 013. 为了连接两个字符串s1与s2,应当使用( )A. strcat( s1,s2 )B. strcpy( s1, s2 )C. strlen( s1, s2 )D. strcmp( s1, s2 )14. 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A. 位与运算B. 逻辑与运算C. 取指针内容D. 取变量地址15. 下面输出的结果为( )int a=13, b=64;printf(“%d\n”, !a || (b>>3) );A. 13B. 64C. 1D. 016. 下列定义正确的是( )A. enum t={a,b}x;B. enum t{1,2}x;C. enum {′+′,′-′}x;D. enum t{a,b}x;17. 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d\n″,sizeof(aa));的输出是( )A. 32B. 36C. 12D. 818. 数据-54.78在文本文件中占用的字节个数是( )A. 4B. 5C. 6D. 819. 在宏定义#define p(r) 3.14*r中,请问宏名是( )A. pB. p(r)C. 3.14*rD. p(r) 3.14*r20. 要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是( )A. fp=fopen( "hello.txt ","r" )B. fp=fopen( "hello.txt ","ab+" )C. fp=fopen( "hello.txt ","w" )D. fp=fopen( "hello.txt ","r+" )二、填空题(每小题4分,共36分)请将每一个空的正确答案写在答题卡相对应的横线上,答在试卷上不得分。
《Java程序设计》课期末考试试卷(B卷)(注意:请将答案写到答题纸上,否则无效;答题纸与试卷分开上交)一、判断正误,正确打“√",错误打“×"(每题1分,共10分)1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。
2、子类可以继承父类的私有成员.3、对于类变量,可以通过类名直接访问,也可以通过该类的对象访问。
4、一个抽象的类不能直接用new命令创建对象.5、一个子类中可以定义与父类中名字相同,而参数不同的方法,此时子类的方法会改写从父类继承来的方法。
6、如果一个类中包含抽象方法,则这个类也必须定义为抽象类。
7、构造方法的名字必须与类名相同。
8、一个类的私有变量可以在同一个包的不同类中使用。
9、final类不能派生子类,final方法不能被覆盖。
10、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
二、单项选选题(每题1分,共20分)1、若在某一个类定义中定义有如下的方法: final void aFinalFunction();则该方法属于?A、本地方法B、解态方法C、最终方法D、抽象方法2、以下哪个不是java的关键字?A、SystemB、interfaceC、forD、else3、定义一个类,必须使用的关键字是?A、publicB、classC、interfaceD、static4、声明并创建一个按钮对象b,应该使用的语句是?A、Button b=new Button();B、button b=new button();C、Button b=new b();D、b.setLabel(“确定”);5、Panel对象默认的布局管理器是?A、FlowLayoutB、BorderLayoutC、CardLayoutD、null6、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是?A、p.add(b);B、p.add(b,”North”);C、p。
2013-2014学年第二学期《C语言程序设计》期末试卷(B)1.起换行作用的转义字符是()。
A.’\t’B.’\b’C.’\n’D.’\r’2.在以下几组运算符中,优先级最高的运算符是()。
A.<=B.=C./D.&&3.设有定义“int i=1;”,以下选项的四个表达式中与其他三个表达式的值不相同的是()。
A.i++B.i+=1C.i+1D.++i4.C语言的三种基本结构是()。
A.顺序结构.逻辑结构.选择结构B.顺序结构.选择结构.循环结构C.逻辑结构.层次结构.网状结构D.层次结构.顺序结构.循环结构5.关于数组元素类型的说法,下列()是正确的。
A.必须是整数类型B.必须是整型或实型C.必须是相同数据类型D.可以是不同数据类型6.以下程序段的输出结果是()。
#include<stdio.h>void main(){int i,j,m=0;for(i=1;i<=5;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);}A.10B.15C.20D.257.设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是()。
A. 1B. 0C. 4D. 38.在C语言中运算对象必须是整型的是()。
A.%B./C.==D.<=9.若变量已说明为int类型,要给a、b、c输入数据,以下正确的输入语句为()。
A.read(a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%D%D%D",&a,%b,%c);D.scanf("%d%d%d",&a,&b,&c);10.下面程序的结果是()。
main(){ int x=1;while(x<20){ x=x*x;x=x+1; }printf("%d",x); }A.1B.20C.25D.2611.运行如下程序,其结果为()。
1.Main 函数是程序启动时惟一的入口。
2.算法的复杂性包含两方面:时间复杂性和空间复杂性。
3.已知char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x为 3 ,k为 1 。
4.数值0x34对应的十进制为52 。
5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ 60____,变量a的值为___ 6 ___。
6.面向对象程序开发步骤为:面向对象分析、面向对象设计和面向对象实现。
1.下列程序设计语言中(c)是面向对象语言。
A. FORTRANB. C语言C. C++D. 汇编语言2.下列关于注释的说法哪个是错误的(b )。
A. 注释不是程序中的可执行语句B. 注释对于程序的执行有很重要的意义C. 注释将在程序的编译阶段被编译器剔除D. 编程时在程序中添加适当的注释是一个良好的编程风格3.算法设计应该遵守(b )的设计原则。
A. 自底向上,逐步求精B. 自顶向下,逐步求精C. 自底向上,同步扩展D. 自顶向下,同步扩展4.下列语句执行后a的值为(d)。
int a=4, &z=a, k=3;a=k; z+=2; k++;A. 0B. 4C. 1D. 55.以下程序执行后,屏幕输出为(b )。
#include “iostream.h”void fun(int d) {d++;}void main() { int d=3; fun(d); d++; cout<<d<<endl; }A. 3B. 4C.5D. 66.执行下列语句后a的值为(b )。
char a(‘a’),b(‘b’);a+=(‘a’!=’A’)+ (‘b’==’B’)+(b-a==3);A. 2B. ‘b’C. cD. ‘c’7.判断char型变量d是否为小写字母的正确表达式为(a )。
A. (d>=’a’)&&(d<=’z’)B. ‘a’<=d<=’z’C. (d>=’a’)||(d<=’z’)D. ‘A’<=d<=’Z’8.已知:int k=7, x=12; 则执行语句(c )后x的值为0。
适用专业:一、选择题(每小题2分,共40分)(1) 下列说法正确的是()A.main()函数必须放在C 程序的开头B main()函数必须放在C 程序的最后C main()函数可以放在C 程序的中间部分,但在执行C程序时是从程序开头执行的D main()函数可以放在C 程序的中间部分,但在执行C程序时是从main()函数开始执行的。
(2) 设有定义:int x=2;,以下表达式中,值不为6的是______。
A x*=x+1B x++,2*xC x*=(1+x)D 2*x,x+=2(3) 以下选项中合法的标识符是______。
A 1_1B 1―1C _11D 1_ _(4) 下列字符串属于标识符的是()A _WLB 3_3333C intD LINE3(5) C语言中能用来表示整型常量的进制是()A 十进制、八进制、十六进制B 十二进制、十进制C 六进制、八进制D 二进制、十进制(6) C 语言中,回车换行符是()A \nB \tC \vD \b(7) 以下叙述中正确的是______。
A C程序的基本组成单位是语句B C程序中的每一行只能写一条语句C 简单C语句必须以分号结束D C语句必须在一行内写完(8) 以下是if语句的基本形式:if(表达式) 语句其中"表达式"______。
A 必须是逻辑表达式B 必须是关系表达式C 必须是逻辑表达式或关系表达式D 可以是任意合法的表达式(9) 以下正确的C语言标识符是()A %xB a+bC a123D test!(10) 以下程序的输出结果是()main(){ int I=012,j=12,k=0x12;Printf(“%d,%d,%d\n”,I,j,k);}A 10,12,18B 12,12,12C 10,12,12D 12,12,18(11) 以下叙述中错误的是______。
A、用户定义的函数中可以没有return语句B、用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C、用户定义的函数中若没有return语句,则应当定义函数为void类型D、函数的return语句中可以没有表达式(12) 判断字符型变量ch为小写字母的表达式是()A ‘a’<=ch<=’z’B (ch>=a)&&(ch<=z)C (ch>=’a’)||(ch<=’z’)D (ch>=’a’)&&(ch<=’z’)(13) for语句中的表达式可以部分或全部省略,但两个()不可省略。
《 程序设计基础VB 》期末考试卷 〔A 〕使用专业、班级 学号 ## 题 数 一二三四总 分得 分一、单选题〖每个1分,共计30分〗1.下列关于事件的叙述中不正确的是[ ].A .事件是系统预先为对象定义的能被对象识别的动作B .事件可分为用户事件与系统事件两类C .Visual Basic 为每个对象设置好各种事件,并定义好事件过程的过程名,但过程代码必须由用户自行编写D .Visual Basic 中所有对象的默认事件都是Click 2.下面项目中,属性、方法、事件的个数分别有[ ]个. ①Caption ②Unload ③Cls ④SetFocus ⑤LostFocus ⑥KeyPress A .2 2 2 B .1 2 3 C .3 2 1 D .2 3 1 3.若需要在同一窗口内安排两组相对独立的单选按钮〔OptionButton 〕,适当的控件将它们分隔开.下列不能将单选按钮分组的控件是[ ]. ①TextBox ②PictureBox ③Image ④Frame ⑤ListBox A .①②③ B .①③⑤ C .②④⑤ D .③④⑤ 4.在VB 中,下列关于控件的属性或方法中,搭配错误的有[ ]个. ①Timer1.Interval ②List1.Cls ③Text1.Print④List1.RemoveItem ⑤Vscroll1.Value ⑥Picture1.print A .0 B .1 C .2 D .35.在列表框List1中有若干列表象,可以删除选定列表项的语句是[ ]. A .List1.Text="" B .List1.List<List1.ListIndex>= "" C .List1.Clear D .List1.RemoveItem List1.ListIndex6.以下有关控件的说法错误的是[ ].试 卷 专 用 纸1江 南 大 学 试 卷 专 用 纸考试形式开卷〔 √ 〕、闭卷〔〕,在选项上打〔√〕 开课教研室 计算机科学与技术系 命题教师 程红 命题时间2013-12-1使用学期 2013-2014-1 s 总X 数 5 <不含答题纸> 教研室主任审核签字江 南 大试 卷 专 用 纸 江 南 大试 卷 专 用 纸 江 南 大试 卷 专 用 纸 Private Sub p1<m!, n%>m = a + m: x = n Mod 4End Sub Private Sub p2<ByVal x%, d$> a = a + x: b = b & d: d = End Sub命题教师 程红 命题时间20XX12月1 日本题 得分本题 得分本题得分本题得分使用学期 2013-2014-1 数 1江南大学考命题教师 程红 命题时间20XX12月1 日本题 得分本题 得分本题得分本题得分使用学期 2013-2014-1 数 1。
(完整word版)程序设计基础-期末考试答案2013-2014-1期末考试科目:《程序设计基础》日期:2014年1月4日计科系班级: 学号姓名第1题(2分)C语言程序从main()函数开始执行,所以这个函数要写在( )A. 程序文件的开始B. 程序文件的任何位置C. 程序文件的最后D。
它所调用的函数的前面第2题(2分)不正确的标识符是()A。
_a2B。
a2_iC. IntD. 2ai第3题(2分)以下对字符型变量c进行赋值的错误语句是?( )A。
char c1 = ‘a’;B. char c2 = 97;C。
char c3 = ‘\100’;D. char c3 = ”k";第4题(2分)若t为int型,逗号表达式:t=1,t+5,t++ 的值是()(完整word版)程序设计基础-期末考试答案A. 2B。
1C. 7D. 6第5题(2分)x=2,y = -3,z=3,则表达式x||y+z&&y—z 的值为()A。
0B。
—1C. 1D. 2第6题(2分)在C语言中对变量定义描述正确的是( )A. 可以不定义即可使用B。
在函数的开始先定义后使用C。
随时定义随时用D. 定义可以不用指明变量类型第7题(2分)下列哪个运算符的优先级高于算术运算符?A. !B. ||C. +=D. !=第8题(2分)下列哪条语句能够实现:输出double类型的变量d,输出2位小数,共占10列宽度,如果宽度不够在左边补空格。
()A. printf("%f”,d);B。
printf("%10lf”,d);C. printf(”%10。
2lf",d);D。
pri ntf(”%—10.2lf”,d);第9题(2分)对于C程序的函数,以下哪条叙述是正确的?()A。
函数定义不能嵌套,但函数调用可以嵌套B. 函数的定义可以嵌套,但函数调用不能嵌套C. 函数定义与调用均不能嵌套D. 函数定义与调用均可以嵌套第10题(2分)一个函数返回值的类型是由()决定的。
《Python程序设计》期末试卷B一.单选题(每小题2分,共40分。
)1、表达式 3 and 6 or 7 的值为_______________。
A、TrueB、6C、3D、72、下列循环的执行次数是______。
i = 0while i < 10:print(i)i += 2A、5B、4C、6D、103、使用列表推导式生成1到10之间所有的偶数,语句可以写为_______________。
A、[2*i for i in range(5)]B、[i for i in range(0,10,2)]C、[i for i in range(1,10,2)]D、[i for i in range(2,11,2)]4、已知 x = [1,2,3],那么执行语句 x[0:0] = [9]*3之后,x的值为________________。
A、[9, 9, 9, 1, 2, 3]B、[9, 9, 9]C、[[9, 9, 9], 1, 2, 3]D、[[9],[9],[9],1, 2, 3]5、已知 x = {1:2, 2:3},那么表达式 x.setdefault(2, 4) 的值为______。
A、1B、2C、3D、46、已知 x = {1:100, 5:20,3:30},那么表达式 max(x) 的值为_________。
A、5B、100C、3D、17、已知x = [[1,10],[2,20]],那么表达式 sum(item[0] for item in x) 的值为___________。
A、3B、30C、33D、118、已知x = {1:[1,2,3,4,5]},则表达式len(x)的值为____________________。
A、5B、6C、1D、29、已知x = ({1:10,2:20,3:30},),则表达式len(x)的值为___________。
A、3B、2C、1D、610、表达式 '*'.join('1,2,3'.split(',')) 的值为________________。
2014-2015学年第1学期2014级《程序设计基础》期末考试试题(B)考试时间:2015年01月班级学号姓名✧请将答案写在答题纸上,写清题号,不必抄题,字迹工整、清晰。
✧请在试题纸、答题纸和草稿纸上都写上班级、学号和姓名,交卷时一并提交。
✧每题均需要编写程序或函数,必须添加必要的注释,程序命名和书写要规范,个别题目还需要画出对应的PAD。
✧务必使用同一颜色的中性笔或钢笔答题,不允许使用铅笔答题和画图。
一、[20分] 编写函数并画出对应的PAD,删除整型数组中所有为0的元素,将处理后的数组输出,并返回剩余元素个数。
注:函数中不能定义额外的新数组。
二、[20分] 编写函数,对一个给定字符串中的所有字符(不考虑默认字符串结束符'\0')进行排序,使得排序后的字符串满足从左到右为ASCII 码递增的字符序列。
注:本题不允许使用string.h头文件和相关的字符串处理函数,以及系统定义的各类排序函数。
三、[20分] 编写递归函数,计算给定数组中所有元素的中位数。
中位数标准定义为:按照从小到大排序后的正中间的数。
如果元素个数为偶数,取最中间的两个数的平均数作为中位数。
本题可以粗略地认为n个元素的中位数为按照从小到大排序后的第n/2个数。
四、[20分] 每个教师的信息卡片包括教工号、姓名、性别、入职年份(限定为1900-2100之间的整数)四项。
定义存储教师信息的单向链表的结点类型;编写函数,由当前目录下文件名为input.txt的文件依次读入n(n≥1)个教师的信息,创建一个用于管理教师信息的单向链表。
五、[20分] 编写函数,在上题创建的单向链表中删除所有入职年份信息大于k(k的值由用户从键盘输入,且限定为1900-2100之间的整数)的结点。
2014-2015学年第1学期2014级《程序设计基础》考试试题(B卷)答案及评分标准考试时间:2015年01月一、满分20分。
#include <stdio.h> //头文件包含命令(2分)int delarr(int a[], int n) //(4分){int i,j;for(i=0;i<n;i++){if(a[i]==0){for(j=i;j<n-1;j++)a[j]=a[j+1];i--;n--;}}for(i=0;i<n;i++) //输出(2分)printf("%4d", a[i]);printf("\n");return n; //返回值(2分)}对应的PAD满分10分。
装订线2013—2014学年第一学期闽江学院考试试卷考试课程:《程序设计基础》试卷类别:A □卷 B 卷☑ 考试形式:闭卷☑ 开卷□ 适用专业年级:2013级软件金融,软件服务班级 姓名 学号1、 以下选项中合法的用户标识符是_______(A)break(B)a1 2(C)5f(D)_s2( )2、以下叙述正确的是(A )一个C 源程序必须由多个函数组成 (B )一个C 源程序可以有多个main 函数 (C )C 程序的基本组成单位是函数(D )在C 程序中,注释说明只能位于一条语句的后面 ( )3、 有定义语句:int b;char c[10]; 则正确的输入语句是(A) scanf("%d%s",&b,&c); (B) scanf("%d%s",&b,c);(C) scanf("%d%s",b,c);(D)scanf("%d%s",b,&c); ( )4、 下列运算符中优先级最高的是________(A)!(B)%(C)=(D)&&( )5、若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b))); 此函数调用语句中实参的个数是:(A )3(B )4(C )5(D )6( )6、 若变量已经正确定义,则以下语句段的输出结果是______:int x=0,y=2,z=3;switch(x){ case 0:switch(y==2){ case 1:printf("*");break;case 2:printf("%");break;}case 1:switch(x){case 1:printf("$"); case 2:printf("*");break;default:printf("#");}}(A) *#(B) %# (C) % (D)* ( )7、二维数组array 有m 例,元素array[i][j]前面的元素个数是(A) j*m+i(B) i*m+j(C) i*m+j+1(D) i*m+j-1( )8、若有说明:int *p,m=5,n;以下正确的程序段是(A )p=&n;scanf("%d",&p); (B )p=&n;scanf("%d",p);(C )scanf("%d",&n);*p=n; (D )p=&n;*p=m; ( )9、以下说法正确的是 _________(A) 在不同函数中不可以使用相同名字的变量名(B) 实际参数可以在被调用函数中直接使用 (C) 在函数内定义的任何变量只在本函数范围内有效(D) 在函数内的复合语句中定义的变量只在本函数语句范围内有效10、以下对二维数组a 进行正确初始化的语句是________(A) int a[2][]={{1,0,1},{5,2,3}};(B) int a[][3]={{1,0,1},{4,5,6}}; (C) int a[2][4]={{1,2,3},{4,5},{6}};(D) int a[][3]={{1,0,1}{},{1,1}}; ()11、for 语句的一般表达式为:for(表达式1;表达式2;表达式3)(A)表达式1,表达式2不能省略。
(B)表达式2不能省略(C)表达式2,表达式3不能省略(D)3个表达式中任何一个都可以省略。
()12、以下函数的返回值的类型是()fun(float x){ float y;y=3*x-4;return y;}(A)int (B)不确定(C)void (D)float ()13、已知“char str[]=”abc\0def”; printf(“%d”, strlen(str));”,则输出结果为_______(A)3 (B)4 (C)5 (D)6 ()14、以下能正确定义一维数组的选项是(A)int a[5]={0,1,2,3,4,5};(B)char a[]={'0','1','2','3','4','5','\0'};(C)char a={'A','B','C'};(D)int a[5]="0123"; ()15、设有以下程序段,则______char a[3],b[]=”China”;a=b;printf(“%s”,a);(A) 输出Chi (B) 输出Ch(C) 输出China (D) 编译出错()16、以下程序的输出结果是()。
#include <stdio.h>#define SQR(x) x*xvoid main(){int a,k=3;a=++SQR(k+1);printf("%d\n",a);}(A) 6 (B) 10 (C) 8 (D) 917、下面程序段的运行结果是char a[]="language",*p;p=a;while(*p!='u'){printf("%c",*p-32);p++;}(A)LANGUAGE (B)language(C)LANG (D)langUAGE ()18、以下程序的输出结果是#include <stdio.h>int f(int n){ if(n==1)return 1;elsereturn f(n-1)+1;}void main(){ int i,j=0;for(i=1;i<3;i++)j+=f(i);printf("%d\n",j);}(A)4 (B)3 (C)2 (D)1 ()19、设有以下语句:char str1[]="string",str2[8],*str3,*str4="string";则()不是对库函数strcpy( )的正确调用。
(A) strcpy(str1,”HELLO1”); (B) strcpy(str2,”HELLO2”);(C) strcpy(str3,”HELLO3”); (D) strcpy(str4,”HELLO4”);20、struct Person{ char name[9];int age;};struct Person classes[10]={“John”,17,”Paul”,19,”Mary”,20,”Adam”,16};根据上述定义,能输出字母M的语句是()(A)p rintf(“%c\n”,classes[3].name); (B) printf(“%c\n”,classes[3].name[1]);(C) printf(“%c\n”,classes[2].name[1]); (D) printf(“%c\n”,classes[2].name[0]);二、完型填空题:本大题共2小题,每题5个空,每道题目提供10个备选项,请从备选项中选择出5个填入适当的位置,每空2分;共计20分。
把答案填在答题纸中对应空白处。
1、求n!的值,用函数fac(n)求n!, n的值由主函数输入,得到的值在主函数中输出。
#include <stdio.h>【1】fac(int n){long s; //定义累乘器【2】;int i;【3】//循环s*=i;【4】}void main(){ int n;printf("请输入n的值:");scanf("%d ",&n);printf("%d! =%ld\n",n, 【5】);}(A)long (B)int (C)for(i=1;i<=n;i++) (D)for(i=0;i<=n;i++); (E)fac(n)(F)fac(n!) (G)s=1 (H)s=0 (I)return s; (J)return n!;2、使用指针,将一个字符串里面的内容转置,如输入abcdefg,输出gfedcba。
#include <stdio.h>【1】void main(){ char str[80],*p,*q,temp;int length;gets(str);//输入字符串length=strlen(str);p=str; //p指向字符串的开头q= 【2】; //q指向字符串的末尾while(p!=q){ 【3】【4】;【5】;}puts(str);//输出转置之后的字符串}(A)str+length-1 (B)#include <string.h> (C)temp=p;p=q;q=temp; (D)temp=*p;*p=*q;*q=temp;(E)p++ (F)q—(G)str+length (H)#include <math.h> (I)*p++ (J)*q—三、填空题:本大题共5小题;每题4分。
共计20分。
把答案填在答题纸中对应空白处。
1、在C语言中,一个函数一般由两个部分组成,它们是________和_________。
2、设x、y、z均为int类型的变量,则描述“x或y中至少有一个小于z”的表达式是______。
3、下面程序的运行结果是_________#include <stdio.h>plus(int x,int y) ;int a=5;int b=7;void main(){ int a=4,b=5,c;c=plus(a,b);printf("A+B=%d\n",c);}plus(int x,int y){ int z;z=x+y;return z;}4、以下程序的运行结果是______#include <stdio.h>void main(){int i;for(i=0;i<6;i++){ if(i%2)putchar('%');elsecontinue;putchar('@');}putchar('\n');}5、以下程序的输出结果是_________。
void main(){char a[]="language",b[]="program";char *ptr1=a,*ptr2=b;int k;for(k=0;k<7;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));}四、简答题:本大题共2小题;每题10分。