C语言程序设计题目及解答-07.doc

上传人:bao****ty 文档编号:143540177 上传时间:2020-08-31 格式:DOC 页数:8 大小:119KB
返回 下载 相关 举报
C语言程序设计题目及解答-07.doc_第1页
第1页 / 共8页
C语言程序设计题目及解答-07.doc_第2页
第2页 / 共8页
C语言程序设计题目及解答-07.doc_第3页
第3页 / 共8页
C语言程序设计题目及解答-07.doc_第4页
第4页 / 共8页
C语言程序设计题目及解答-07.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C语言程序设计题目及解答-07.doc》由会员分享,可在线阅读,更多相关《C语言程序设计题目及解答-07.doc(8页珍藏版)》请在金锄头文库上搜索。

1、一、判断题(24分)1. 函数的递归调用不过是一个函数直接地调用它自身。2分 2. 在c语言中,在main函数中定义的变量称为全局变量。2分 3. 静态变量和外部变量都是全局变量,它们的存储是静态的。2分 4. 静态局部变量只在本函数内可用。2分 5. 静态外部变量只在本文件内可用。2分 6. 变量根据其作用域的范围可以分作局部变量和全局变量.2分 7. 任何数组在使用时必须先定义。2分 8. 如果想使一个数组中全部元素的值为1,可以写成 int a10=1*10;2分 9. 如果定义数组int b6=1,2,3,4;则b6为0。2分 10. int n=10; int an;则数组a有10个

2、元素。2分 11. int b3 = 1,2,3,4,5,6,7 ,表示数组b是3行3列的数组。2分 二、选择题(36分)1.根据下面函数print的定义,选出调用函数print(5378)的值是( )。A 2分 void print(long n) if (n=0) return ; elseprint(n/10);printf(% d, n%10);return ; A. 5 3 7 8B. 8 7 3 5C. 3 5 7 8D. 8 7 5 3 2.根据下面函数f,选出f(f(3)的值是( )。C 2分 int f(int x) static int k=0; x=x+k; k-;ret

3、urn x;A. 5B. 3C. 2D. 4 3.如果在函数中定义一个变量,有关该变量作用域正确的是( )。A 2分 A. 只在该函数中有效B. 在该文件中有效C. 在本程序中有效D. 为非法变量 4.下列叙述中,正确的叙述项是( )。B 2分 A. 定义函数时,必须要有形参B. 函数中可以没有return语句,也可以有多条return语句C. 函数f可以用f(f(x)形式调用,这种调用形式是递归调用D. 函数必须有返回值5.下列说法正确的是( )D 2分 A. 在C语言中,可以使用动态内存分配技术定义元素个数可变的数组B. 在C语言中,数组元素的个数可以不确定,允许随机变动C. 在C语言中,

4、数组元素的数据类型可以不一致D. 在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数6.以下能正确定义一维数组的选项是( )。D 2分 A. int a5=0,1,2,3,4,5;B. char a=A,B,C;C. int a5=0123;D. char a=0,1,2,3,4,5,0;7.若有定义语句:int a10;则下列对a中数组元素正确引用的是( )。A 2分 A. a10/25B. a10C. a4.5D. a(1) 8.能对一维数组正确初始化的语句是( )。A 2分 A. int a6=6*1B. int a6=1,3C. int a6=D. int a6

5、=(0,0,0) 9.下面对数组定义正确的是()C 2分 A. int b;B. int bn,n=5;C. int b10/2;D. int b4.8; 10.假设int型变量占两个字节的存储单元,若有定义:int x10=0,2,4;则数组x在内存中所占字节数为_。D 2分 A. 3B. 6C. 10D. 20 11.下列程序运行后的输出结果是_。D 2分 Main()int n3,t,j,k;for(t=0;t3;t+)nt=0;k=2;for(t=0;tk;t+)for(j=0;j3;j+)nj=nt+1;printf(%d,n1);A. 2B. 1C. 0D. 3 12.有以下程序m

6、ain() int p7=11,13,14,15,16,17,18, i=0,k=0;while(i7 & pi%2) k =k+ pi; i+; printf(%d, k); 执行后输出结果是_。D 2分 A. 58B. 56C. 45D. 24 13.若定义如下变量和数组_。int j;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是_。C 2分 For (j=0;j3;j+)Printf(%d,xj2-j);A. 1 5 9B. 1 4 7C. 3 5 7D. 3 6 9 14.有以下程序main() int m3=1,4,7,2,5,8,3,6,9;int i

7、,j,k=2;for(i=0; i3; i+) printf(%d ,mki); 执行后输出结果是_。C 2分 A. 4 5 6B. 2 5 8C. 3 6 9D. 7 8 9 15.以下能正确定义数组并正确赋初值的语句是_。D 2分 A. int N=5,bNN; B. int a12=1,3;C. int c2= 1,2,3,4; D. int d32=1,2,34; 16.以下程序的输出结果是_。B 2分 main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i3;i+) for(j=i;j=i;j+) t=t+bibjj; printf(%

8、d,t); A. 3B. 4C. 1D. 9 17.设int a4=1,2,3,4,5,6,7,8,9;则数组a的第一维的大小是B 2分 A. 2B. 3C. 4D. 无确定值 18.若a是具有3个元素的一维整型数组,且各元素已被正确赋值,则下面程序段的功能是( )。D 2分 if (a0a2) m = a1;else if( a0a2) m = a2;else m = a0;printf(%dn, m);A. 无特殊功能B. 输出m值是三个元素的最小值C. 输出m值是三个元素的最大值D. 输出m值是三个元素的中间值 三、程序填空题(22分)1. 功能:通过函数的递归调用计算阶乘。 5分 #i

9、ncludelong power(int n) long f; if(n1) f=_(1)_; else f=1; return(f);void main() int n; long y; scanf(%d,&n); y=_(2)_; printf(%d!=%ldn,n,_(3)_); (1)答案 2分 power(n-1)*n (2)答案 2分 power(n) (3)答案 2分 y 2. 功能:以下程序是用选择法对10个整数按升序排序。 5分 #include#define _(1)_int main() int i,j,k,t; int aN+1; for(i=0;i=N-1;i+) s

10、canf(%d,&ai); for(i=0;iN-1;i+) _(2)_; for(j=i+1;_(3)_;j+) if(ajak) k=j; if(_(4)_) t=ai; ai=ak; ak=t; printf(output the sorted array:n); for(i=0;i=N-1;i+) printf(%5d,ai); printf(n); return 0; (1)答案 2分 N 10 (2)答案 2分 k=i (3)答案 2分 jN(4)答案 2分 k != i 3. 功能:输出Fibonacci数列的前10项,要求每行输出5项。 Fibonacci数列:1,1,2,3,

11、5,8,13. 5分 #include void main() int _(1)_14,i; fib0=1;fib1=1; for (i=2;i10;i+) fibi=fibi-2+_(2)_; for(i=0;i10;i+) printf(%dt,fibi); if ( i%5 = 4 ) printf(n); (1)答案 1分fib (2)答案 2分fibi-1 4. 功能:将一个数组中的元素按逆序存放。 5分 #include#define N 7void main () static int aN=12,9,16,5,7,2,1,k,s; _(1)_(n the origanal array:n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号