好文档 - 专业文书写作范文服务资料分享网站

C语言程序设计模拟题

天下 分享 时间: 加入收藏 我要投稿 点赞

中国地质大学(北京)继续教育学院 2012年03课程考试

《C语言程序设计》模拟题

一.单项选择题

(1) 变量的指针,其含义是指该变量的( B )。 A.值 B.地址 C.名 D.一个标志

(2) 设有变量定义int a=2, b=4, c=6, d=8;则表达式a>b? a: c>d? b: d的值是( D )。 A. 2 B. 4 C. 6 D.8 (3) C语言中用于结构化程序设计的三种基本结构是( A )。 A. 顺序结构、选择结构、循环结构 B. if、switch、break C. for、while、do-while D. if、for、continue

(4) 数组定义为\, 引用\表示( A )。

A. a数组第1行第3列元素的地址 B. a数组第1行第3列元素的值 C. a数组第4行的首地址 D. a数组第4列的首地址

(5) 设有变量定义struct str{int 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”};则表达式*lang[1]>*lang[3]的值是( 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 b[5], *p=b;则能正确表示b数组中元素地址的表达式是( A )。 A. b+1 B. p+5 C. &b[5] 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后跟回车

第1页(共7页)

中国地质大学(北京)继续教育学院 2012年03课程考试

(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<=100; y++) {

if ((z=3*x+2*y-5)%7) continue; (C) ;

if ( (E) ) printf(\} }

(A) z %= 7 (B) z>=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 str[20];

第2页(共7页)

中国地质大学(北京)继续教育学院 2012年03课程考试

int n, base;

printf(\scanf(\itob(n, str, base);

printf(\}

void reverse(char s[]) {

int c, i, j;

for (i=0, j=strlen(s)-1; i

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) ) s[i++] = t + 'A' - 10; else s[i++] = n%b + '0'; } while ( (C) ); if (sign<0) s[i++] = '-'; (F) ; reverse(s); }

(A) t>10 (B) t>=10 (C) n/=b (D) n/b>0 (E) n%b>0 (F) s[i]=’\\0’ (G) s[i++]=’\\0’

(3) 下列函数检查表达式字符串的左右圆括号“(”和“)”是否配对,若配对则函数返回1,否则返回0。

int parenthbesis(char * exp) {

char * p; int i;

(A) ;

for ( (F) ; (H) ; p++) if (*p=='(') i++; else

if (*p==')') { i --;

第3页(共7页)

中国地质大学(北京)继续教育学院 2012年03课程考试

if ( (D) ) return 0; }

if ( (B) ) return (1); else return (0); }

(A) i = 0 (B) i == 0 (C) i>0 (D) i<0 (E) i>=0 (F) p=exp (G) p=strlen(exp) (H) *p ( I) p != NULL (J ) p==NULL

(4) 下列函数用二分法在已按字母次序从小到大排序后的字符数组list[len]中查找字符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) list[k]==ch (E) list[k]>ch (F) list[k]=ch

四. 写出下列各程序运行时输出的结果 (1) include int p(int);

void main(void) {

printf(“%d %d %d\\n”, 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 A {

public: A(int i);

(D) list[k]!=ch 第4页(共7页)

中国地质大学(北京)继续教育学院 2012年03课程考试

void print(); const int&r; private:

const int a;

statc const int b; }

const intA::b+10 A::A(int i):a(i),r(a) {

}void A::print() {

cout<

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(\ {int i=0; i+=j*2;

printf(\ }

printf(\}

答:

6,3 2,3

五.说明下列函数pw和f的功能 (1) long pw ( int x , int n) { long p;

for( p=1; n>0; n--) p*=x; return (p); }

答:求阶乘x n

第5页(共7页)

C语言程序设计模拟题

中国地质大学(北京)继续教育学院2012年03课程考试《C语言程序设计》模拟题一.单项选择题(1)变量的指针,其含义是指该变量的(B)。A.值B.地址C.名D.一个标志(2)设有变量定义inta=2,
推荐度:
点击下载文档文档为doc格式
9xkrg1svvt6et871e28g
领取福利

微信扫码领取福利

微信扫码分享