广西科技大学理学院C语言大学实用教程模拟题_第1页
广西科技大学理学院C语言大学实用教程模拟题_第2页
广西科技大学理学院C语言大学实用教程模拟题_第3页
广西科技大学理学院C语言大学实用教程模拟题_第4页
广西科技大学理学院C语言大学实用教程模拟题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计与算法语言2013期未考试模拟题一、单项选择题(本题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1一个C语言程序的执行是从( )。A. main( )函数开始,直到main( ) 函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D. main( )函数开始,直到最后一个函数结束2若有以下定义和语句: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则不能表示a数组元素的表达式是( )。A. *p B. a10 C. *a D. p-a3若有

2、定义:int x; 要将x强制转换为双精度型,应该写成( )。A. x(double) B. (x)double C. (double)x D. x*double4已知:int a=5; 执行以下的程序段后输出结果为( )。do printf(%d,a-); while (!a);A. 5 B. 4 C. 陷入死循环D. 5 4 3 2 15. 将两个字符串连接起来组成一个字符串时,选用( )函数。 A. strlen()B. strcpy()C. strcat()D. strcmp()6. 对于C语言的函数,下列叙述中正确的是( )。 A.函数的定义不能嵌套,但函数调用可以嵌套 B.函数的定

3、义可以嵌套,但函数调用不能嵌套 C.函数的定义和调用都不能嵌套 D.函数的定义和调用都可以嵌套7.下述循环的循环次数是( ) int k=2; while(k=0)printf(k,); k-;A、无限次 B、0次 C、1次 D、2次 8下列字符列中,合法的浮点型常量是:( )A. 457B. 6e5.3C. e7D. 123e69若用一维数组名作为调用函数时的实参,则传递给形参的是:( )A 数组首元素的地址 B. 数组首元素的值C 数组元素的个数 D. 数组中全部元素的值10.执行下列程序 int a33=1,2,3; int b33=1,2,3; main() printf(%dn,a1

4、0+b00); 后输出的结果是( ) A.0 B.1 C.2 D.3二、填空题(本大题共10小题,每小题2分,共20分)1. 执行循环结构或switch结构中的 语句能够立即退出该结构。2. 使用两个下标的数组称为数组。3. 复合语句是由一对 _括起来的若干语句组成的。4. 若有以下定义语句:int a=5; printf(%d ,a+); 则输出结果是_。5. 若定义x和y为double型变量,且x=1,则表达式 y=x+3/2的值是_。6. C语言中有两种数据类型: 和 可以使用signed修饰符。7. 初始化值是0.618的双精度变量a的定义形式为_。8. 设char str=This_

5、is_a_book!;则数组str的长度应是_。9为了避免可能出现的歧义,C语言对ifelse语句配对规则规定为:else总是与 _ 配对。 10. 不能进行%运算的数据类型是_.三、分析程序,写出程序运行结果(本大题共4小题,每小题4分,共16分) 阅读下列程序,将输出结果写到各题右侧的空白处,若输出结果为不确定的地址值,请用文字在相应输出处注明1.int main()int a,b,c,d;a=10;b=a+;c=+a;d=10*a+;printf(%d,%d,%dn,b,c,d);return 0; 2.#include int main()int x=2,y=5,z=1,i=1; do

6、 z=z*x; i=i+1;while (i=y); printfz=%d, z) ;3.#include int main() long a=20,b=40; int m,i; for(m=a; m=b; m+) for(i=2; im; i+) if(m%i=0) break; if(i=m) printf(%5d ,m); 4#include int scmp(const char* p1,const char* p2) while(*p1 & (*p1=*p2) p1+; p2+; return *p1 - *p2;int main() char* s1=FEDA; char* s2=

7、FEDC; printf(%dn,scmp(s1,s2);四、程序填充题(本大题共4小题,每小题6分,共24分)根据问题说明,分析下列程序,将程序中空缺的语句补充完整,使其能正确运行。1. 以下rev函数翻转参数数组a里元素的位置,数组a的元素个数为n。void rev(int n, int a) int x, i, j; _ while(i j) x = ai; ai = aj; aj = x; _ int main () int i, b = 1, 2, 3, 4, 5, 6, 7; rev(7, b); printf(After reversion:n); for (i = 0; i 7

8、; +i) printf(b%d = %dn, i, bi); return 0;2.n个数,已按从小到大顺序排列. 在主函数输入一个数,调用一个函数,它把键入的数插入到原有的数列中,保持大小顺序,输出插入前后的两个数组,并将被挤出的最大数(有可能是被插入数)返回给主函数输出.#include int Insert(int a, int n, int value);int main() int array=12,29,34,56,72,83,88,91; int i,size=sizeof(array)/sizeof(*array); int aValue,max; printf(npleas

9、e input a number :n); scanf(%d,&aValue); max= Insert(array,size,aValue); printf(n最大数: %dn,max); printf(插入后的数组:n); for(i=0; isize; i+) printf(%d ,arrayi); system(pause); return 0;int Insert(int a, int n, int value) int i,retValue; if(an-1=0&aivalue; i-) ai+1= ai+1=value; return retValue;3.下面程序输入一个整数m

10、, 判断其是否为素数。#include #include int main() int i;long m; double sqrtm; printf(please input a number:n); scanf(%d,&m); sqrtm=sqrt(m); for(i=2; i=sqrtm; i+) if( _ ) break; if( _ ) printf( %d is prime.n,m); else printf( %d isnt prime.n,m);4. .利用计算的值,直到最后一项的绝对值小于为止,要求统计总共累加了多少项。#include #include main() dou

11、ble pi, sum = 0, term, sign = 1.0; int count = 0, n = 1; term = 1.0; for (;fabs(term) = 1e-4;) term = sign / n; sum = sum + term; count +; sign = n = n + 2; pi = printf(pi = %fncount = %dn=%dn, pi, count,n);system(pause);五、程序设计题(共2小题, 每小题10分,共20分)。1、编程计算组合数的值。2、利用公式计算阶矩阵A和阶矩阵B之和,已知为矩阵A的元素,为矩阵B的元素,为矩

12、阵C的元素(i=1,2,m;j=1,2,n)。 程序设计与算法语言2013期未考试答案一、单项选择题1A 2D 3C 4A 5. C 6. A 7. B 8D 9A 10.D二、填空题1break2二维 3、花括弧4、55、2.0 6整型 、 字符型 7. double a=0.6188. 169else总是与 与最近的if 配对。10浮点型 或 float 或 double三、分析程序,写出程序运行结果1.10,12,1202.z=323.23 29 31 37 394. -2四、程序填充题1. i = 0, j = n-1;+i, -j;2.an-1ai3. m%i=0sqrtmi4. -

13、signsum*4五、程序设计题1.#include #include main() double pi, sum = 0, term, sign = 1.0; /*sum赋初值,分子sign赋初值*/ 变量定义1分int count = 0, n = 1; /*计数器变量count赋初值0,分母n赋初值1*/term = 1.0; /*为先判断后执行的需要,累加项term也赋初值*/for (;fabs(term) = 1e-4;) /*判断累加项是否满足循环终止条件*/ 循环1分,循环条件1分term = sign / n; /*累加项由分子sign除以分母n得到*/累加项1分sum =

14、sum + term; /*将累加项累加到累加和变量sum中去*/1分count +; /*计数器变量count计数加1*/计数1分sign = -sign; /*分子变化*/1分n = n + 2; /*分母变化*/1分pi = sum * 4; 求pi值1分printf(pi = %fncount = %dn=%dn, pi, count,n); 输出1分system(pause);2.#include#define ROW 2#define COL 3/* 函数功能: 计算矩阵之和,即计算数组a、b对应位置数据相加之和,结果存于数组c中 函数参数: 整型数组a、b,分别存放两个待求和的矩阵元素 整型数组c,存放矩阵求和结果 返回值: 无*/void AddMatrix(int aROWCOL, int bROWCOL, int cROWCOL) 函数头部1分int i , j ;for (i=0; iROW; i+) for (j=0; jCOL; j+) cij = aij + bij; 计算元素之和1分 main() int aROWCOL, bROWCOL, cROWCOL, i, j; 变量定义1分printf(Input array a:n); for (i=0; iROW; i+) for (j=0; jCOL; j+) 内外层嵌套循环2分 scanf(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论