北京农学院C语言程序设计复习题
本试卷为北京农学院C语言程序设计复习题,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计复习题
一、单项选择题 (共20题,每题2分,共计40分)
( A )
1、设int x=7,则~x的值是________。
( B )
2、交换两个变量的值,不允许用临时变量,应该使用下列( )位运算符。
( B )
3、下列程序的运行结果是________。 void main() { int s=0,k; for(k=7;k>1;k--) { switch(k) { case 1: case 4: case 7: s++: break; case 2: case 3: case 6:break; case 0: case 5: s+=2: break; } } printf("s=%d",s); }
( A )
4、有以下程序 void sum(int *a) { a[0]=a[1]; } main( ) { int aa[10]={1,2,3,4,5,6,7,8,9,10},i; for(i=2;i>=0;i--) sum(&aa[i]); printf("%d\n",aa[0]); } 执行后的输出结果是________。
( B )
5、有以下程序 #include <stdlib.h> struct node { int num; struct node *next; }; main( ) { struct node *p,*q,*r; int sum=0; p=(struct node *)malloc(sizeof(struct node)); q=(struct node *)malloc(sizeof(struct node)); r=(struct node *)malloc(sizeof(struct node)); p->num=1; q->num=2; r->num=3; p->next=q; q->next=r; r->next=null; sum+=q->next->num; sum+=p->num; printf("%d\n",sum); } 执行后的输出结果是________。
( A )
6、在c语言中,变量的隐含存储类别是________。
( D )
7、设有语句:"int a=1,b=2,*p1=&a,*p2=&b; ",则使指针p1指向变量b的赋值语句是______。
( B )
8、二维数组a的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。若a按行先存储,元素a[8,5]的起始地址与当a按列先存储时的元素( )的起始地址相同。设每个字符占一个字节。
( D )
9、表达式x+1>x是________。
( A )
10、下列是用户自定义标识符的是________。
( B )
11、设矩阵a是一个n×n对称矩阵.即a[i,j]=a[i,j],为了节省存储空间,将其下三角部分按行序为主序存放在一维数b[1...n(n+1)/2]中,对任一下三角元素aij(i≥j),在一维数组b的下标位置k的值是______。
( C )
12、有以下程序 main() { int x,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z); } 程序运行后的输出结果是______。
( A )
13、以下程序的运行结果是 #include"stdio.h" main() { struct date { int year, month, day ; } today; printf("%d\n",sizeof(struct date)); }
( C )
14、结构化程序设计主要强调程序的()
( D )
15、请阅读程序: #include<math.h> #include<stdio.h> main() { float a,b,c; scanf("%f%f",&a,&b); c=a/b; while(1) { if(fabs(c)>1.6) { a=b; b=c; c=a/b; } else break; } printf("%f\n",b); } 若运行时从键盘上输入3.6 2.4<回车>,则输出结果是______。
( C )
16、下列程序的运行结果是______。 main() { int a[6],i; for(i=2;i<6;i++) { a[i]=4*(i-2*(i>3))%5; printf("%2d",a[i]); } }
( A )
17、有定义语句:int x,y; 若要通过scanf("%d,%d",&x,&y); 语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是______。
( B )
18、能正确表示a≥10或a≤0的关系表达式是________。
( B )
19、有以下程序 main( ) { int c=5,x; scanf("%d",&x); switch(x+1) { case 6: c++; case 8: ++c; break; default:c+=3; } printf("%d",c); } 程序运行时,从键盘输入: 5<回车>,程序执行后的输出结果是________。
( B )
20、若有定义语句:double x[5]= {1.0,2.0,3.0,4.0,5.0 }, *p=x; 则错误引用x数组元素的是______。
二、判断题 (共10题,每题2分,共计20分)
( T )
1、c语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线。
( F )
2、在switch语句中,每一个的case常量表达式的值可以相同。
( T )
3、在c语言中,可以将主调函数放在被调函数的后面,省略函数的声明。
( T )
4、编译后的函数其代码存储在连成一片的内存单元中,这些代码的第一个代码所在的内存地址,称为函数的入口地址,而函数名就代表了函数的入口地址。
( T )
5、符号"a"和’a’的区别是 "a"是字符串常量,占2个字节; 而’a’是字符常量,占1个字节。( )
( T )
6、在一个函数中调用另一个被调函数时,如果在所有函数定义之前,已经对函数类型进行了说明,则在各个主调函数中不再进行说明。
( T )
7、数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。
( F )
8、以“a”方式打开一个文件时,文件指针指向文件首。
( F )
9、for循环的三个表达式可以任意省略,while,do-while也是如此。
( F )
10、有指针变量p和数组a,指针变量和数组都可以实现本身的值的改变,如p++和a++
三、填空题 (共5题,每题4分,共计20分)
1、在c语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。
2、在c语言数据类型中,浮点型类型包括单精度类型和( )精度类型。
3、#include <stdio.h> void main() { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for (i=1;i<3;i++) for (j=0;j<i;j++) s+=a[i][j]; printf("%d\n",s); }
4、循环语句for(i=0;i<3;i++) printf("*"); 表达式i=0 执行【1】________次,表达式i++执行【2】________次。
5、在C语言中,表示静态存储类别的关键字______。
四、程序分析题 (共4题,每题5分,共计20分)
1、有以下程序 #include < stdio.h > main() { int a=1,b=2,c=3,d=0; if (a==1) if (b!=2) if(c!=3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf("%d\n",d); } 程序运行后的输出结果是: ________。
2、下面程序段的运行结果是________。for(a=1,i=-1;-1<=i<1;i++) { a++; printf("%d,",a); } printf("%2d",i);
3、以下程序的输出结果是 ________ 。 main() { int x=0; sub(&x,8,1); printf("%d\n",x); } sub(int *a,int n,int k) { if(k<=n) sub(a,n/2,2*k); *a+=k; }
4、程序运行结果是________。 void swap(int a[2]) { int t; t=a[0]; a[0]=a[1]; a[1]=t; } void main() { int x[2]={5,8}; swap(x); printf("x[0]=%d,x[1]=%d\n",x[0],x[1]); }
五、编程题 (共3题,每题0分,共计50分)
1、建立一个链表每个结点包括学号、姓名、性别、年龄、地址。输入一个学号打印该学号的学生的所有信息。如无此学号,则输出“没有找到",使用结构体实现
2、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
3、任意输入两行字符串,把第二行字符串连接到第一行字符串末尾(不用strcat函数)。
相关标签:
- C语言
- 北京农学院
- 复习题