《C程序设计》期末复习练习题及参考答案(3)(2)

2019-04-15 11:47

}

A) 1 √B) 10 C) 不能确定 D) 11

29. 设有定义 int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) , *(a+4) 的值是( )。 √A)5 11 B)1 9 C)5 9 D)有错误

30. 若i为整型变量,则以下循环的次数是( )。

for(i=2;i==0;)printf(“%d”,i--);

A) 无限次 √B) 0次 C) 1次 D) 2次

二、填空题

1. C语言标识符由 ___字母______、____数字______和______下划线_____来构造。

2. 设有定义:FILE *fp;,请将以下打开文件的语句补充完整,以便可以向文本文件

readme.txt的最后续写内容。fp = fopen(\ “a” );

3. 若有说明和语句:int a=25,b=60;b=++a;则b的值是 26 。

4. 若int x=5;while(x>0)printf(“%d”,x--);的循环执行次数为 5 。

5. 若有int a[5],*p=a;则p+2表示第 三 个元素的地址。

6. 若有说明和语句:int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是 1 、 5 。

7. 已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是 1 。

8.在C语言中,变量的存储类别有四种,它们是:

自动(auto)、寄存器(register)、静态(static) 、外部 (extern)。

9.如果一个变量在某个范围内是有效的,该范围就称为变量的作用域。自动(auto)存储类别的局部变量,其作用域为:从定义的位置起,到函数体(或复合语句)结束为止

10.设有定义int a,b;写出满足条件“a是3的倍数,或者b不是5的倍数”的逻辑表达式:

a%3==0 || b%5!=0 。

三、程序运行结果分析题 1.

main()

{ int i,j,x =0; for(i=0;i<2;i++) {

6

x++; for(j=0;j<3;j++) { if(j%2) continue; x++; } x++; }

printf(\}

程序运行结果是: x=6 2.

#include struct date { int year; int month; int day; };

struct date func(struct date p) { p.year = 2000; p.month = 5; p.day = 22; return p; }

main()

{ struct date d; d.year = 1999; d.month = 4; d.day = 23;

printf(\ d = func(d);

printf(\}

程序的运行结果是: 1999/4/23 2000/5/22 3.

#include main() {

char a[] = \ char *p = NULL; for (p=a; p

7

}

程序运行结果是: Hello ello llo lo o 4.

#include int fun(int x, int y) {return x > y ? x : y;} main()

{ int a=2,b=5,c=8;

printf(\}

程序运行结果是:10 5.

#include void Func(void); main() { int i; for (i=0; i<5; i++) { Func(); } }

void Func(void) { static int a = 1; int b = 2, c; c = a + b; a++; b++; printf(\}

程序运行结果是: 3 4 5 6 7

6.当运行以下程序时,从键盘输入如下内容并回车:ADescriptor ,则下面程序的运行结果是 v0=13,v1=4,v2=12 。 #include int main() { char c; int v0 = 1, v1= 0, v2 = 0; do

8

}

7. 当运行以下程序时,运行结果是_______。 #include

void fun(char *t, char *s) { while( *t != 0) t++;

while( ( *t ++ = *s ++ ) != 0 ) ; }

int main()

{ char ss[3][20]={\ int i;

for(i = 2; i > 0; i--) fun(ss[i - 1], ss[i]); for( i = 0; i < 3; i++) printf(\ return 0; }

I don’t know don’t know know

8. 当运行以下程序时,运行结果是___1,5,3,8____。 #include int main()

{ int a[][4] = {{2,9,1,8},{8,9,7,2},{4,3,2,1},{1,5,3,5}}, i, j, k, t; for(i = 0; i < 4; i++) {for(j = 0; j < 3; j++) {for(k = j + 1; k < 4; k++) if(a[j][i] > a[k][i]){t = a[j][i]; a[j][i] = a[k][i]; a[k][i] = t; } } } for(i = 0; i < 4; i++) printf(\ return 0; }

{ switch(c = getchar()) { case 'a':case 'A': case 'e':case 'E': case 'i':case 'I': case 'o':case 'O': case 'u':case 'U': v1 += 1; default: v0 += 1; v2 += 1; }

} while (c != '\\n');

printf(\printf(\return 0;

9

9. 有以下程序

#include #include

typedef struct{ char name[9]; char sex; float score[2]; }STU; void f(STU a)

{ STU b={\.0, 90.0}; int i; strcpy(a.name,b.name); a.sex=b.sex;

for(i=0;i<2;i++) a.score[i]=b.score[i]; }

main()

{ STU c={\ f(c);

printf(\ }

程序的运行结果是_____ Qian,f,95,92_______。

四、程序填空题

阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。 1. 先按学号由小到大的顺序从键盘输入学生的学号和成绩,然后从键盘任意输入一个学生的学号,查找并打印具有该学号的学生的成绩。

#include #define ARR_SIZE 40

int BinSearch(long a[], int n, long x); main()

{ float score [ARR_SIZE]; int n, i, pos; long num[ARR_SIZE], x; printf(\ scanf(\ printf(\ for (i=0; i

scanf(\ } printf(\ scanf(\ pos = BinSearch(num, n, x); if (pos != -1) {

printf(\ } else {

printf(\ }

10


《C程序设计》期末复习练习题及参考答案(3)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:市委书记在全市第二届劳动模范(先进工作者)表彰大会上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: