南工社团招生试题.docx
- 文档编号:8309892
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:7
- 大小:17.49KB
南工社团招生试题.docx
《南工社团招生试题.docx》由会员分享,可在线阅读,更多相关《南工社团招生试题.docx(7页珍藏版)》请在冰豆网上搜索。
南工社团招生试题
南工社团招生试题
一.选择题(每题1分,共10分)
1.假设变量a,b均为整型,表达式(a=5,b=2,a>b?
a++:
b++,a+b)的值是()
A7B8C9D2
2.设有如下程序段,下面描述中正确的是()
intk=10;while(k=0)k=k-1;
A循环执行一次B循环是无限循环
C循环体语句一次也不执行D循环体语句执行一次
3.以下函数调用语句中含有()个实参
func((e1,e2),(e3,e4,e5));
A2B3C5D语法错误
4.下面选项中正确的赋值语句是(设chara[5],*p=a;)()。
Ap="abcd";Ba="abcd";C*p="abcd";D*a="abcd";
5.设有以下程序段,则值为6的表达式是()。
structst{intn;structst*next;};
staticstructsta[3]={5,&a[1],7,&a[2],9,0},*p;
p=&a[0];
Ap++->nB++p->nCp->n++D(*p).n++
6.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;
A125,6,31,1B125,6,1,20
C125,6.666666,31,20D125.534,6.666666,2,20
7.设有说明int(*ptr)();其中标识符ptr是()。
A是一个指向整形变量的指针
B是一个指针,它指向一个函数值是int的函数
C是一个函数名
D定义不合法
8.具有相同类型的指针类型变量p与数组a,不能进行的操作是()。
Ap=a;B*p=a[0];Cp=&a[0];Dp=&a;
9.在C语言程序中,以下说法正确的是( )。
A函数的定义可以嵌套,但函数的调用不可以嵌套
B函数的定义不可以嵌套,但函数的调用可以嵌套
C函数的定义和函数的调用都不可以嵌套
D函数的定义和函数的调用都可以嵌套
10.以下程序的输出结果为()。
#defineADD(x)x*x
main()
{inta=4,b=6,c=7,d=ADD(a+b)*c;
printf("d=%d",d);
}
Ad=70Bd=80Cd=140Dd=700
二.判断题(每题2分,共10分)
1.函数的递归调用不过是一个函数直接或间接地调用它自身()
2.函数strlen("ASDFG\n")的值是7()
3.char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
()
4.若有定义:
char*p(chara[10]);则p是函数名。
()
5.通过return语句,函数可以带回一个或一个以上的返回值。
()
6.参加位运算的数据可以是任何类型的数据。
()
7.C语言把文件看作是一个字符(字节)的序列。
()
8.若有定义和语句:
inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++)sum+=a[i][2-i];则sum=21。
()
9.若有定义:
chars[]="china";则TurboC系统为数组s开辟6个字节的内存单元。
()
10.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。
()
三.写出下列程序运行的结果(每题5分,共10分)
1.main()
{inta[6]={10,20,30,40,50,60},i;
invert(a,0,5);
for(i=0;i<6;i++)printf(“%d,”,a[i]);
printf(“\n”);
}
invert(ints[],inti,intj)
{intt;
if(i {invert(s,i+1j-1); t=s[i];s[i]=s[j];s[j]=t; } } 2.main() {charstr[]=“TheCprogram”,c; inti; for(i=2;(c=str[i])! =‘\0’;i++) {switch(c) {case‘g’: ++i;break; case‘o’: continue; default: printf(“%c”,c);continue; } printf(“*”); } printf(“\n”); } 四.阅读下列程序,在处填入适当内容,使程序完整(每空4分,共20分) 1.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。 #defineN10 charstr[N]; main() {inti,flag; for(flag=1;flag==1;) {scanf("%s",str); flag=0; printf("\n"); } sort(___ (1)___); for(i=0;i printf("%c",str[i]); printf("\n"); } sort(charstr[N]) {inti,j; chart; for(j=1;j for(i=0;(i ='\0');i++) if(str[i]>str[i+1]) {t=str[i]; ____ (2)____; ____(3)____; } } 2.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。 (本程序中二阶矩阵用一维数组来表示。 ) 例如,矩阵为: 3003 2573 1042 则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。 add(intm,intn,intarr[]) {inti,j,sum=0; for(i=0;i for(j=0;j sum=sum+(4); for(j=0;j for(i=1;(5);i++) sum=sum+arr[i*n+j]; return(sum); } 五.编程题(每题25分,共50分) 1任意输入一个偶数,请将它分解为两个素数之和 2设有字母a,b,c,请编程用递归的方法产生有这些字母组成的且长度为n的所有可能的字符串。 例如: 输入n=2则输出aaabacbabbbccacbcc 参考答案 一.选择题(每题1分,共10分) BCAABBBDBA 二.判断题(每题2分,共10分) 对错错对错 错对对对对 三.写出下列程序运行的结果(每题5分,共10分) 1.605040302010 2.eCpr*am 四.(每空4分,共20分) (1)str (2)str[i]=str[i+1](3)str[i+1]=t (4)arr[i*n+j]或者arr[i*10+j] (5)i 五.编程题(每题25分,共50分) 1.#include intmain() { intj,k,n,m; printf("Pleaseentern: "); scanf("%d",&n); for(j=2;j { for(k=2;k if(j%k==0)break; if(k>=j) { m=n-j; for(k=2;k if(m%k==0)break; if(k>=m) { printf("%4d=%4d+%4d\n",n,j,m); break; } } } return0; } 2.#include inta[10]; fun(int*p,intm,intn) { inti; for(i=0;i { *p=i; if(n>1)fun(p+1,m,n-1); elseprint(p); } } print(int*p) { int*q; for(q=a;q<=p;q++) printf("%c",'a'+*q); printf("\t"); } intmain() { intm,n; printf("\nEntermn: "); scanf("%d%d",&m,&n); fun(a,m,n); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 社团 招生 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)