C,C++程序设计(A)试卷(B卷) 参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江西理工大学考试试卷试卷编号:1112010557B
1
2
3(
4、算法具有五个特性,以下选项中不属于算法特性的是( B)
A)有穷性 B)简洁性 C)可行性 D)确定性
5、以下选项中可作为C语言合法常量的是( A)
A)12.34e3. B)e4 C)-8e1.0 D)-80.0e
6、数据的存储结构是指( D)
A)存储在外存中的数据B)数据所占的存储空间量
C)数据在计算机中的顺序存储方式D)数据的逻辑结构中计算机中的表示7、有以下程序
int main()
{ int m,n,p;
scanf("m=%d,n=%d,p=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m=123,n=456,p=789,则正确的输入是( C) A)m=123n=456p=789 B)m=123 n=456 p=789
C)m=123,n=456,p=789 D)123 456 789
8、若整型变量int a=1,b=4,c=3,d=2;。
则条件表达式a<b?a:c<d?c:d的值( A)
A)1 B)2 c)3 D)4
9、判断char型变量cval是否为小写字母的正确表达式( B);
A)’a’=<cval<=’z’ B)cval>=’a’&&cval<=’z’
C)cval>=’a’||cval<=’z’ D)cval>=a&&cval<=z
10、设有如下说明,则下面叙述中正确的是( C)
typedef struct ST
{ long a;
int b;
char c[2];
} NEW;
A)以上的说明形式非法B)ST是一个结构体类型
C)NEW是一个结构体类型D)NEW是一个结构体变量
11、以下语句或语句组中,能正确进行字符串赋值的是( D)
A)char *sp; *sp="right!"; B)char s[10]; s="right!";
C)char s[10]; *s="right!"; D)char *sp="right!";
12、下面关于结构体类型的描述错误的是( A)
A)结构体成员名不能与程序中的变量名相同。
B)结构体成员的类型可以是一个结构体类型。
C)可引用结构体变量的地址,也可引用结构体变量成员的地址。
D)不能将结构体变量作为一个整体进行输入和输出。
13、已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是( C)。
A)数组a和b的长度相同B)a数组长度小于b数组长度
C)a数组长度大于b数组长度D)上述说法都不对
14、在C语言中, 引用数组元素时, 其数组下标的数据类型允许是( C)
A)整型常量; B)整型表达式;
C)整型常量和整型表达式; D)任何类型的表达式;
15、如果有二维数组ivector有m列,这在ivector[i][j]之前有多少个元素( A);
A)i*m+j; B)j*m+i; C)i*m+j+1; D)i*m+j-1;
16、以下正确的函数声明形式是( A)
A)double fun(int x, int y);B)double fun(int x; int y);
C)double fun(int x, int y) D)double fun(int x; int y);
17、C语言规定,函数返回值的类型是由( D)
A)return语句中的表达式类型所决定; B)调用该函数时的主调函数类型所决定;
C)调用该函数时系统临时决定;D)在定义函数时所指定的函数类型所决定;
18、若用数组名作为函数调用的实参,传递给形参的是( A)
A)数组的首地址;B)数组的第一个元素的值;
C)数组中全部元素的值;D)数组元素的个数;
19、以下说法不正确的是( D)。
A)在不同函数中可以使用相同名字的变量;
B)形式参数是局部变量;
C)在函数内定义的变量只能在本函数范围内有效;
D)在函数内的复合语句中定义的变量在本函数范围内有效。
20、以下程序运行后的输出结果是( C )。
void main()
{
int c=35;
printf("%d\n",c&c);
}
A) 0 B) 70 C) 35 D) 1
二、填空题(每题2分, 共20分)
1、一个C程序至少包含一个main函数。
2、为了表示一个算法可以用不同的方法,常用的方法有自然语言,流程图,伪代码,计算机语言。
3、C语言中,逻辑“真”值用 1 或true表示;逻辑“假”值用0或false 表示。
4、C语言中提供的三种逻辑运算符是与&&、或||、非! 。
5、在C
6、在C
7、在C
8
9
10
1
{
}
{
}
2、以下程序运行后的输出结果是: 1 5。
void main()
{ char s[]="159",*p;
p=s;
printf("%c",*p++); printf("%c",*p++);
}
3、以下程序运行后的输出结果是:41 33 27。
void fun(int ar[][4],int m, int n, int *br)
{ int i,j,x;
for(i=0;i<m;i++)
{ x=ar[i][0];
for(j=0;j<n;j++)
if(x<ar[i][j]) x=ar[i][j];
br[i] =x;
}
}
void
{
}
4
{
}
5
{
}
void main()
{
int a=3,b=4;
swap(a,b);
printf("%d %d\n",a,b);
}
四、编程题(每题10分,共20分)。
1、 编写一个函数int Factorial(int n)求n!.
//递归方法 int Factorial(int n) { int fac; if(n==0||n==1) fac=1; else fac=n*Factorial(n-1); return fac; } //或非递归方法 int Factorial(int n) { int fac=1; for(int i=1;i<=n;i++)
fac=fac*i;
return fac;
}
2、编写一个函数int Fibonacci(int * iFibonacci, int n)求费波那西(Fibonacci)数列的前n 个数,并存放在数组iFibonacci 中。
这个数列有如下特点:第1、2两个数为1、1。
从第3个数开始,该数是其前面两个数之和。
//数组方法 int Fibonacci(int * iFibonacci, int n)
{ iFibonacci[0]=1; iFibonacci[1]=1; for(int i=2;i<n;i++)
iFibonacci[i]= iFibonacci[i-1] +iFibonacci[i-2]; return 1; } 或
//指针方法
int Fibonacci(int * iFibonacci, int n) {
*iFibonacci=1;
*(iFibonacci+1) =1; for(int i=2;i<n;i++)
*(iFibonacci+i)= *(iFibonacci+i-1) +*(iFibonacci+i-2); return 1; }
⎪⎩⎪
⎨⎧≥+=====--)3()2(1)1(12121n F F F n F n F n n n。