C语言程序设计模拟题.doc_第1页
C语言程序设计模拟题.doc_第2页
C语言程序设计模拟题.doc_第3页
C语言程序设计模拟题.doc_第4页
C语言程序设计模拟题.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

中国地质大学(北京)继续教育学院 2012年09课程考试C语言程序设计模拟题 一单项选择题(1) 变量的指针,其含义是指该变量的( B )。A值B地址C名D一个标志(2) 设有变量定义int a=2, b=4, c=6, d=8;则表达式ab? a: cd? b: d的值是( D )。A. 2 B. 4 C. 6 D.8(3) C语言中用于结构化程序设计的三种基本结构是( A )。A 顺序结构、选择结构、循环结构 B if、switch、breakC for、while、do-whileD if、for、continue(4) 数组定义为int a45;, 引用a1+3表示( A )。 A a数组第1行第3列元素的地址 B a数组第1行第3列元素的值 C a数组第4行的首地址 D a数组第4列的首地址(5) 设有变量定义struct strint age;int num;std,*p=&std;能正确引用结构变量std中成员age的表达式是( D )。A. std-age B. * std-age C. *p.age D.(*p).age(6) C语言中,函数的隐含存储类型是( A )。A. auto B. static C. extern D.register(7) 下面哪个表达式的值为4? ( D ) A 11/3 B 11.0/3 C (float)11/3 D (int)(11.0/3+0.5)(8) 设有变量定义char * lang=“FOR”, “BAS”, “PAS”, “JAVA”, “C”;则表达式*lang1*lang3的值是( B )。A. 1 B. 0 C. 非零 D.负数(9) 在一个C语言程序中,说法正确的是( B )。A main函数必须出现在所有函数之前B main函数可以在任何地方出现C main函数必须出现在所有函数之后D main函数必须出现在固定位置(10) 下面哪个表达式的值为4? ( D ) A 11/3 B 11.0/3 C (float)11/3 D (int)(11.0/3+0.5)(11) 设有变量定义double b5, *p=b;则能正确表示b数组中元素地址的表达式是( A )。A. b+1 B. p+5 C. &b5 D. &b(12) 对基类和派生类的关系中错误的是( B )。A派生类是基类的具体化B派生类是基类定义的子集C派生类是基类的子集D派生类是对基类的改造(13) 执行语句scanf(“%f,%f”, &a, &b);,要使变量a和b的值分别为2.97和3.46,正确的输入序列是( C )。A. 2.97 3.46后跟回车 B. 2.97;3.46后跟回车 C. 2.97,3.46后跟回车 (14) 设有变量定义int a= 1, 3, 5, 7, 9, 11, 13, x, *p=a+2;在下列表达式中,能使变量x的值为5的表达式是( D )。A. x=*(p+1) B. x=* (-p) C. x=*(+p) D.x=*(p-) 二概念填空(1) 字符常量与字符串常量的区别是字符 常量用单引号,字符串常量用双引号 。(2) 表达式x=x+1表示成增1表达式为 X+ 。(3) C程序的基本组成单位是函数 , 一个C源程序可以由一个或多个函数组成,但必须有一个且只能有一个main 函数。(4) 若x为int型变量,则执行以下语句后x的值是 -14 。 x=7; x+=x-=x+x;(5) 在for循环体内使用continue语句的作用是跳出该循环。(6) 表述“整型变量x,y和z至少有2个相等”的C语言表达式是 (x=y)|(y=z)|(x=z) 。(7) 写出c语言中任意三种基本数据的类型 字符型 整型 浮点型 (8) 执行循环结构中的 continue 语句能够立即执行下一次循环。执行循环结构或switch结构中的 break 语句能够立即退出该结构。三程序填空(1) 下列程序求以下方程的全部整数解:3x+2y-7z=5 (0=x,y,z=100)#include void main(void)int x, y, z;for (x=0; x=100; x+)for (y=0; y=0 (C) z /= 7 (D) x!=0&y!=0&z!=0(E) z=0 & z=100(2) 下列程序完成10进制整数到任意进制数的转换。其中,函数itob(n,s,b) 将整数n 转换成b进制数并存放在字符串s中。如itob(n,s,16) 格式,将数n 转换成16进制数并存放在s中。#include #include void reverse(char *);*void itob(int, char *, int);void main(void)char str20;int n, base;printf(Input the number and base:);scanf(%d%d, &n, &base);itob(n, str, base);printf(nThe number %d in base %d is %sn, n, base, str);void reverse(char s)int c, i, j;for (i=0, j=strlen(s)-1; ij; i+, j-) c = si;si = sj;sj = c;void itob(int n, char s, int b)int i=0, sign, t;if (sign=n)0) n = -n;do t = n%b;if ( (B) ) si+ = t + A - 10;else si+ = n%b + 0; while ( (C) );if (sign10 (B) t=10 (C) n/=b (D) n/b0 (E) n%b0 (F) si=0 (G) si+=0(3) 下列函数检查表达式字符串的左右圆括号“(”和“)”是否配对,若配对则函数返回1,否则返回0。int parenthbesis(char * exp)char * p;int i; (A) ;for ( (F) ; (H); p+)if (*p=() i+;elseif (*p=) i -;if ( (D) ) return 0;if ( (B) ) return (1);else return (0);(A) i = 0 (B) i = 0 (C) i0 (D) i=0 (F) p=exp (G) p=strlen(exp) (H) *p ( I) p != NULL (J ) p=NULL(4) 下列函数用二分法在已按字母次序从小到大排序后的字符数组listlen中查找字符ch。若ch在数组中,则返回ch在数组中的下标,否则返回-1。int search(char * list, char ch, int len)int low=0, high=len-1, k;while ( (B) ) k = (low+high)/2;if ( (C) ) return (k);else if ( (E) ) high = k-1;else low = k+1;return (-1);(A) high!=low (B) high=low (C) listk=ch (D) listk!=ch (E) listkch (F) listk=ch 四. 写出下列各程序运行时输出的结果(1) include int p(int);void main(void)printf(“%d %d %dn”, p(1), p(1), p(2);int p(int x)int z=1;static int y = 2; z +; y+;return (x+y+z);答:6, 7, 9(2). #include class Apublic: A(int i); void print(); const int&r;private: const int a; statc const int b;const intA:b+10A:A(int i):a(i),r(a)void A:print() couta:b:rendl;void main ()A a1(100),a2(0);a1.print()a2.print();答:100:10:100 0:10:0(3).#include main( )int i=1,j=3; printf(%dn,i+); int i=0; i+=j*2; printf(%d,%dni,j); printf(%d,%dn,i,j);答: 6,3 2,3五说明下列函数pw和f的功能(1) long pw ( int x , int n) long p;for( p=1; n0; n-) p*=x; return (p);答:求阶乘x n(2) #include void f(int);void main(void)int x;scanf(%d, &x);f(x);void f(int n)int i;if (n0) putchar(-);n *= -1;if (i=n/10) f(i);putchar(n%10+0);答:将整数n转换成字符串六程序设计(1) 用循环编程,求自然数1至100之间各奇数平方和并输出。答:#includevoid main()int i=1,sum=0;while(i=100)sum+=i*i;i+=2;coutsum=sumendl;(2) 编写一个在字符串s中删除所有c字符的函数squeeze(s,c),由主函数main输入字符串s和字符c,调用函数squeeze(s,c),最后输出删除了所有c字符的新字符串。答: #include #include void squeeze(char *s, char c);void main(void)char string20, c;printf(Input a string:);scanf(%s, string);getchar();printf(Input a char to be deleted:);scanf(%c, &c);squeeze(string, c);printf(New String: %s, string);void squeeze(char *s, char c)int i, j, len;len = strlen(s);for (i=0; ilen; i+)if (si=c) len -;for (j=i; j=len; j+) sj = sj+1;(3) 求100999中的水仙花数(若3位数abc

温馨提示

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

评论

0/150

提交评论