大连交通大学往年C语言期末复习题
本试卷为大连交通大学往年C语言期末复习题,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
C语言期末复习题
一、理论基础 (共20题,每题1分,共计10分)
( A )
1、两个或两个以上模块之间联系的紧密程度称为( )。
( B )
2、以下选项中,合法的一组c语言数值常量是________。
( D )
3、表达式3.6-5/2+1.2+5%2的值是________。
( D )
4、设有定义:int n=0,*p=&n,**q=&p; 则以下选项中,正确的赋值语句是________。
( A )
5、以下不能正确赋值的是______。
( B )
6、有如下程序段 int *p, a=10, b=1; p=&a ; a=*p+b; 执行该程序段后, a 的值为 。
( D )
7、以下叙述中不正确的是________。
( D )
8、设int a=0; 错误的语句是________。
( D )
9、整型变量x和y的值相等,且为非0值,则以下选项中结果为0的表达式是______。
( D )
10、无符号二进制整数10111转换成十进制整数,其值是________。
( C )
11、以下选项中属于c语言数据类型的是________。
( B )
12、设i是int型变量,f是float型变量,用下面的语句给这2个变量输入值。为了将,100和765.12分别赋给i和f,则正确的输入为______。 scanf("i=%d,f=%f",&i,&f);
( A )
13、设变量 m 为 float 类型,变量 n 为 int 类型,则以下能实现将 m 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是________。
( D )
14、可以作为自定义标识符的是________。
( D )
15、一个5位的二进制数能够表示的最大值为?
( C )
16、定义float a=8.735,那么printf("%7.2f",a); 的输出结果为
( C )
17、若变量a,b,t 已正确定义,要将a 和b 中的数进行交换,以下选项中不正确的语句是________。
( B )
18、已有定义: int x=3,y=4,z=5; 则表达式 !(x+y)+z-1&&y+z/2 的值是________。
( C )
19、下列不正确的转义字符是________。
( C )
20、以下选项中合法的用户标识符是________。
二、控制结构 (共10题,每题1分,共计10分)
( C )
1、设a、b、e、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值是________。
( C )
2、有以下程序 main( ) { char k; int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case ‘0’: printf("another\n"); case ‘1’: printf("number\n"); } } } 程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是________。
( C )
3、若所用变量都已正确定义,则在以下选项中,非法的表达式是________。
( A )
4、在c程序中,判逻辑值时,用"非0"表示逻辑值"真",又用"0"表示逻辑值"假"。在求逻辑值时,逻辑真和逻辑假可分别表示为
( A )
5、有以下程序: main() { int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d+++ 1); else printf("%d",++d+1); printf("%d\n",d); } 程序运行后的输出结果是 ______。
( B )
6、有以下程序 #include <stdio.h> main () { int a = 5, b = 4, c = 3, d = 2; if (a > b > c) printf ("%d\n", d); else if ((c - 1 >= d) == 1) printf ("%d\n", d + 1); else printf ("%d\n", d + 2); } 执行后输出的结果是________。
( D )
7、以下叙述中正确的是________。
( D )
8、在c 的if 语句中,可用作条件的表达式是________。
( A )
9、main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b);} 该程序的输出结果是( )
( A )
10、执行下面语句后的输出为____ int i= -1; if (i < =0)printf("****\n"); else printf("%%%%\n");
三、循环结构 (共10题,每题1分,共计10分)
( B )
1、下述 for 循环语句 。 int i,k; for(i=0,k=-1;k=1;i++,k++) printf("* * * *");
( D )
2、下面程序的输出结果是 ____________. main( ) { int i,k=0, a=0, b=0; for(i=1;i<=4;i++) { k++; if (k%2==0) { a=a+k; continue; } b=b+k; a=a+k; } printf("k=%d a=%d b=%d\n",k,a,b); }
( B )
3、c语言的跳转语句中,对于break和continue说法正确的是________。
( C )
4、下列关于break语句的描述,不正确的是________。
( A )
5、结构化程序设计思想的核心是要求程序只由顺序、循环和______三种结构组成。
( D )
6、程序设计语言中________。
( D )
7、下面有关for循环的正确描述是________。
( A )
8、下列c语言程序段中关于while循环体正确的说法是inti=1; while(5) { i++; if(i>3)break; }
( A )
9、设有以下代码其中,循环体 a 与循环体 b 相同,以下叙述正确的是________。
( D )
10、以下程序段的输出结果为()。 char c[]="abc"; int i=0; do ;while(c[i++]!='\0');printf("%d",i-1);
四、数组/指针数组 (共10题,每题1分,共计10分)
( A )
1、若有定义:"int a[2][3];",则对a数组的第i行第j列元素的正确引用为( )。
( D )
2、若有如下定义,则________是对数组元素的正确的引用 int a[10], *p ; p=a;
( C )
3、设有数组定义:char array[]="student"; 则数组所占的存贮空间为________。
( A )
4、下列描述中正确的是________。
( D )
5、若已定义: int a[]= { 0,1,2,3,4,5,6,7,8,9 },*p=a,i; 其中0≤i≤9,则对a数组元素不正确的引用是________。
( D )
6、设有以下定义: int a[3][3]= { 1,2,3,4,5,6,7,8,9 }; int(*ptr)[3]=a; 则下列能正确表示数组元素a[1][2]的表达式是______。
( C )
7、设有数据定义语句"int a[200]; ",下列数组元素引用中下标不越界的是________。
( C )
8、下列程序段的功能是________。计算数组x中相邻两个元素的和,依次存放到 a 数组中,然后输出a数组。程序段中待填空的(1)和(2)的正确选项是________。int i; int a[9], x[10]; for(i = 0; i < 10; i++) { scanf("%d", &x[i]); } for( (1) ; i < 10; i++ ) { /* 此处待填空(1) */ a[i-1] = x[i] + (2) ; /* 此处待填空(2) */ } for(i = 0; i < 9; i++) { printf("%d ",a[i]); } printf("\n");
( B )
9、二维数组a有m行n列,则在a[i][j]之前的元素个数为________。
( D )
10、若有以下的定义:int t[3][2]; 能正确表示t数组元素地址的表达式是________。
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( B )
1、设有字符串a="he has 钱!",则该字符串的长度为( )。
( D )
2、以下选项中能表示合法常量的是________。
( B )
3、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。 while((ch=getchar())!='e') printf("*");
( C )
4、下面各语句行中,能正确进行字符串赋值操作的语句是______。
( D )
5、下列字符串中,正确的c标识符是________。
( B )
6、下列关于串的叙述中,哪一条是正确的( )
( B )
7、下列选项中,值为1的表达式是________。
( D )
8、以下选项中,合法的 c 语言常量是________。
( C )
9、判断两个字符串是否相等,正确的表达方式是________。
( D )
10、在宏定义#define PI 3.14159中,用宏名代替一个________。
六、函数/函数指针 (共10题,每题1分,共计10分)
( A )
1、在c语言中,函数的数据类型是指( )
( D )
2、下列函数原型声明中错误的是________。
( C )
3、下列说法不正确的是________。
( A )
4、下列不属于c语言关键字的选项是________。
( B )
5、有以下程序: fun(int x,int y) { static int m=0, i=2; i+=m+1; m=i+x+y; return m; } main() { int j=1,m=1,k; k=fun(j,m); printf("%d,"k); k=fun(j,m); printf("%d\n",k); } 执行后的输出结果是________。
( C )
6、以下关于宏的叙述中正确的是______。
( D )
7、c 程序的执行过程在下列说法中,▁▁▁▁▁ 是正确的。
( A )
8、以下叙述中正确的是________。
( B )
9、以下程序的输出结果为________。 main() { int a=1,b=2,c=3,d=4,e=5; printf("%d\n",func((a+b,b+c,c+a),(d+e))); } int func(int x,int y) { return(x+y); }
( D )
10、函数调用:strcat(strcpy(str1,str2),str3)的功能是________。
七、指针 (共10题,每题1分,共计10分)
( C )
1、c语言规定,函数返回值的类型是由( )决定的。
( B )
2、若有以下定义 int x[10], *pt=x; 则对x数组元素的正确引用是________。
( C )
3、设有定义:char s[81]; int i=0; 以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是________。
( B )
4、若已定义实参数组 int a[3][4]= { 2,4,6,8,10 }; 则在被调用函数 f 的下述定义中,对形参数组 b 定义正确的选项是 __________.
( C )
5、下面程序段的运行结果是________。 char a[]="abcdefgh"; char *p=a; p+=3; printf("%d\n",strlen(strcpy(p,"abcd")));
( C )
6、以下正确的程序段是________。
( D )
7、下面说明不正确的是________。
( C )
8、以下说法错误的是________。
( B )
9、以下叙述中错误的是________。
( B )
10、字符串指针变量中存入的是________。
八、结构体 (共10题,每题1分,共计10分)
( A )
1、有以下程序 struc stu { char name[10]; int num; }; void f1(struct stu c) { struct stu b={"lisiguo",2042}; c=b; } void f2(struct stu *c) { struct stu b={"sundan",2044} ; *c=b; } main( ) { struct stu a={"yangsan",2041},b={"wangyin",2043} ; f1(a); f2(&b); printf("%d %d\n",a.num,b.num); } 执行后的输出结果是________。
( A )
2、有以程序 #include <stdio.h> #include <string.h> typedef struct { char name[9]; char sex; float score[2]; } stu; void f( stu a) { stu b={"zhao" ,’m’,85.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={"qian",’p’,95.0,92.0}; f(c); printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]); } 程序的运行结果是________。
( D )
3、若有以下说明语句: struct student { int num; char name[ ]; float score; } stu; 则下面的叙述不正确的是: ( )
( A )
4、对以下定义的表述中,正确的是________ struct node { int num; char name[10]; } stud;
( A )
5、以下程序的运行结果是 #include"stdio.h" main() { struct date { int year, month, day ; } today; printf("%d\n",sizeof(struct date)); }
( C )
6、以下scanf函数调用语句中不正确的是__。 struct pupil { char name[20]; int age; int sex; } pup[5], *p=pup;
( C )
7、下面说法正确的是________。
( A )
8、以下叙述中正确的是________。
( B )
9、相同结构体类型的变量之间,可以________。
( B )
10、有以下程序 struct stu { char num[10]; float score[3]; }; main( ) { struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p; int i; float sum=0; p=s; for(i=0;i<3;i++)sum=sum+p->score[i]; printf("%.2f\n",sum); } 程序运行后的输出结果是________。
九、程序题 (共10题,每题1分,共计10分)
( B )
1、下面程序的运行结果是________。 main( ) { int s=0,i=1; while (s<=10) { s=s+i*i; i++; } printf("%d",--i); }
( A )
2、若有以下定义和语句 char sl[10]= "abcd!", *s2="n123\\"; printf("%d %d\n", strlen(s1),strlen(s2)); 则输出结果是________。
( A )
3、有以下程序 main( ) { char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"} ; printf("%d\n",strlen(p[4])); } 执行后输出结果是________。
( B )
4、以下程序的输出结果是 main() { char cf[3][5]={"aaaa","bbb","cc"}; printf("\"%s\"\n",ch[1]); }
( B )
5、请读程序 : #include <stdio.h> f(int b[ ], int n) { int i, r=1; for(i=0; i<=n; i++) r=r*b[i]; return r; } void main() { int x, a[]={2,3,4,5,6,7,8,9} ; x=f(a, 3); printf("%d\n",x); } 上面程序的输出结果是 __________.
( D )
6、设x和y均为int型变量,且x=10,y=3,则以下语句的输出结果是________。 printf(" %d,%d\n",x --,--y);
( B )
7、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是________。 main() { char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s\n",c,i,s); }
( C )
8、以下程序的输出结果是______。 #include <stdio.h> #include <math.h> main() { int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf("%f\n",z); }
( A )
9、以下程序的输出结果是______。 main() { int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p); } func(inta,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); }
( A )
10、以下程序的输出结果是______。 main( ) { union { char i[2]; int k; } r; r.i[0]=2; r.i[1]=0; printf("%d\n",r.k); }
相关标签:
- C语言
- 大连交通大学
- 期末复习题