《C语言程序设计》期末考试试题.doc_第1页
《C语言程序设计》期末考试试题.doc_第2页
《C语言程序设计》期末考试试题.doc_第3页
《C语言程序设计》期末考试试题.doc_第4页
《C语言程序设计》期末考试试题.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计期末考试试题(考生必须将答案做在前面的答题纸上!)试题一(28分,每小题4分) 解答下列各小题,把解答写在答卷的对应栏内(1)试写出下列数学表达式的C语言表达式(2)满足关系式AchZ的C语言表达式是A、(65ch)&(ch90) B、ch=A|Z=ch C、AchZ D、!(chch)(3)设a=1;b=2;c=3;x=0;执行下面程序段后x的值是if (ac) xx; else xx; else x=3;(4)设有如下定义:int a 3 = 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 ;int (*p)3= a; 请写出printf(“%dn”, *(*(p+ 1 ) +2 ); 定位的行和列,以及输出结果。(5)下面的程序运用字符串指针,输出结果是 #include main() char *language=FORTRAN,BASIC,PASCAL,JAVA,C; unsigned c; c=strcmp(language1,language3); printf(%dn,c);A)0B)正数 C)负数 D)程序错(6)下面的程序含有宏定义,它的运行结果是 #include stdio.h#define SQR(x) x*xvoid main() int a=100,k=1,m=2;a/=SQR(k+m)/ SQR(k+m); printf(“%dn”,a);(7)设下列括号内的数都是二进制整数,请写出位运算的结果(分别用二进制和十进制数表示)。 (10010101)&(11110000) (00011101)|(11110000) (10101010)2 (10110101) 试题二(12分)读程序,把程序(或程序段)的输出结果写在答题纸的对应栏内(1)程序2.1#include main() int a=0,10,20,30,; int n=0, *p; p=a+1; n+=*(p+); n+=(*p)+; n+=*(+p); n+=+(*p); printf(“n=%d, a=%d, %d, %d, %dn”, n, a0, a1, a2, a3);(2) 程序2.2 int sumadd( int func, int data )static int sum;switch ( func )case 0 : sum = data; break;case 1 : sum += data; break;case 2 : sum -= data; break;return sum;main() sumadd( 1, 10 );printf( “%d”, sumadd(2,10);sumadd( 2, 20 );printf( “%d”, sumadd(2,10);试题三(12分) 改错。下面程序中都有三个错误,按原来程序的要求,纠正错误,并以“将第x行改为xxx”的形式进行解答,将解答写在答题纸的对应栏内。代码的左边的“#1”、“#2” 附加的行号。 程序3.1 (本程序有3个错)。1以下程序用于输出第X个字符串的第X个字符,例如:第一个字符串的第一个字符,第二个字符串的第二个字符,(本题3个错)。#1 #include #2 void strselect(char *strs, int n, char *dest)#3 int i;#4 for(i=0; in; i+)#5 *(dest+i)=*(strs+i);#6 *(dest)=0;#7 #8 main()#9 char *strs=“First”, “Second”, “Third”, “Forth”, “Fifth”;#10 char rst81;#11 strselect(strs, rst);#12 printf(“%sn”, rst);#13 程序3.2 (本题有3个错)2. 下面程序用于输出数组a中指定第col列的全部元素。#1 #define N 4#2 void printcol(int *pN,int row,int col)#3 int i;#4 printf( No %d column is : n,col+1);#5 for (i=0;irow;i+)#6 printf(tt%dn,pi+col);#7 #8 main()#9 int aN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,col;#10 int row=sizeof(a)/sizeof(a0)/N;#11 clrscr();#12 do#13 scanf(%d,&col);#14 while (colN-1);#15 printcol(a,row,col);#16 试题四(27分)按指定的要求,写出程序段或函数。把解答写在答题纸的对应栏内。1. (1)输入一个摄氏温度,要求调用名为ctof的函数,求出相应的华氏温度。公式为,输出2位小数。(2)函数f获得十进制正整数n为实参数后,返回值是n的各数位上数字的和(例如,数字123的和就是6),试编程或写出关键程序段。(3)将一个乱序数组中的所有元素进行降序排列,(冒泡法、选择法等皆可)试编程或写出关键程序段。试题五(12分)阅读下列程序说明和相应的C代码,把应填入其中 (n) 处的C代码写在答题纸的对应栏内。每空2分。 程序5.1 利用指针技术,从键盘上输入34的二维数组中任一元素的下标,求出该元素与首元素相差的字节数(假设采用float类型数据)。#include #define N 4main() float a N=1,3,5,7,9,11,13,15,17,19,21,23; float (*p) ;int i,j,size; clrscr(); p= ; printf(input i,j of ai,j = ? n); scanf(%d,%d,&i,&j); size=(*(p+i)+ )*sizeof(float); printf(The size of =%dn,size);程序5.2 以下程序可以把从键盘上输入的十进制数(long型)以二进制十六进制任一制式的形式输出,请填空。#include main() char b=0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F,; int c64,d,i=0,base; long n; printf(enter a number :n); scanf(%ld,&n); printf(enter new base :n); scanf(%d,&base);do ci= ; i+; n= ; while ( ); printf(transmite new base:n); for (-i;i=0;-i) d=ci;printf(%c,bd ); printf(n);试题六(9分)阅读下列程序说明和相应的C代码,把应填入其中 (n) 处的C代码写在答题纸的对应栏内,每空3分。6.1源程序下面的程序是利用插入排序法对输入的N个整数按从小到大排序。插入排序的基本思想:将数组元素分为已排序和未排序部分;从第二个元素起,与前面已排好序的元素进行比较(第一次将a1与a0比较);若当前为i元素,则与前面已排好序的i-1个元素进行比较,若比j元素大,则插在j元素的后面。#define N 10main() int i, j, temp, aN; for( i=0; iN; i+ ) scanf(%d, &ai); for( i=1; i=0; j- ) aj+1=aj; /* 找要插入的位置,同时将大于ai的元素往后移*/j+; aj=_; for( i=0; iN; i+ ) printf(%6d, ai ); (完)C语言程序设计期末考试答题纸及答案参考答案及评分题号一二三四五六总分题分28121227129100得分试题一答案(写结果;每小题4分,共28分)小计 28 分(1) (sqrt(x)-pow(10,3)/(2*x/y) 或类似表达式分(2) D分(3) 2分(4) 11分(5) C分(6) 11 分(7) 10010000B 144D 11111101B 253D 10101000B 168D 01001010B 74D分试题二答案(读程序,写结果;每小题6分,共12分)小计12 分(1) n=91,a=0,10,21,31分(2) 0 -30分试题三答案(改错;每小题6分,共12分)小计12 分(1)将第 #5 行改为:*(dest+i)=*(strsi+i) ;将第 #6 行改为: *(dest+i)=0;将第 #11 行改为: strselect(strs,5,rst);分分分(2)将第 #2 行改为: (*p)N将第 #6 行改为: *(*(p+i)+col)将第 #10 行改为:sizeof(a00)分分分试题四答案(编程或写函数;每小题9分,共27分)小计27 分(1)main() float F,c; scanf(%f,&c); F=9.0/5*c+32; printf( F=%f, C=%.2fn,F,c);分

温馨提示

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

评论

0/150

提交评论