绍兴文理学院C语言
本试卷为绍兴文理学院C语言,题目包括:填空题。
本卷包括如下题型:
C语言
一、填空题 (共40题,每题2.5分,共计100分)
1、以下程序运行后的输出结果是 ________ 。 该程序的功能是 ________ 。 main() { int x=10,y=20 ,t=0; if(x!=y) t=x; x=y; y=t; printf("%d,%d\n",x,y); }
2、执行下列程序的输出结果是________。 main( ) { float a=1,b; b=++a*++a; printf("%f\\n",b); }
3、函数的返回值是通过函数的________语句获得的。
4、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________ 。
5、以下程序运行后的输出结果是 ________ 。 main() { int x=0210; printf("%x\n",x); }
6、以下程序的功能是输出如下形式的方阵: 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 请填空。 main() { int i,j,x; for(j=4; j ________ ; j--) { for(i=1; i<=4; i++) { x=(j-1)*4 + ________ ; printf("%4d",x); } printf("\n"); } }
7、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句________。
8、已知字符a的acsii码值为65,以下语句的输出结果是 ________ char ch=’b’; printf("%c %d\n",ch,ch);
9、以下程序中函数f的功能是在数值x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。 #include <stdio.h> void f(int x[], int n) { int p0,p1,i,j,t,m; i=j=x[0]; p0=p1=0; for(m=0;m<n;m++) { if (x[m]>i) { i=x[m]; p0=m; } else if(x[m]<j) { j=x[m]; p1=m; } } t=x[p0]; x[p0]=x[n-1]; x[n-1]=1; t=x[p1]; x[p1]=[14] ; [15] =t; } main() { int a[10],u; for(u=0;u<10;u++) scanf(*%d,&a[u]); f(a,10); for(u=0;u<10;u++) printf("%d",a[u]); printf("\n"); }
10、程序结果: void main() { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n",sum); }
11、在printf格式字符中,只能输出一个字符的格式字符是________ ; 用于输出字符串的格式字符是________ ; 以小数形式输出实数的格式字符是________ ; 以标准指数形式输出实数的格式字符是______。
12、编译预处理包括宏定义、______、条件编译等。
13、若有以下定义语句float x[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}};,则表达式"x[1][1]*x[2][2]"的值是【1】。
14、实参与形参占用独立的( )
15、c语言中与指针有关的两个运算符是________与*。
16、下列程序段的运行结果是________。 int a[5]={10,20,30,40,50} ,*p; p=a; printf("%d", *(p=p+3) ) ;
17、下列程序段的运行结果是________。 main() { int n,s=0 ; for(n=1; n<=5; n++) { if(n%2==0) continue; s=s+n; } printf("%d\n", s); }
18、下列程序段的运行结果是________。 main() { int n,s=0; for(n=1; n<=5; n++) { if(n%2!=0) continue; s=s+i; } printf("%d\n",n); }
19、若a=1,b=2,c=3,d=4, 则表达式a>b?a:c>d?c:d 的值是________。
20、下面程序段的运行结果是________。 x=2; do { printf("*"); x--; } while(!x==0);
21、设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为 ________。
22、已知"float x=0.5;int y=13;",则算术表达式"x+y/5"的值是________。
23、在c语言中,将字符串中大写字母转换成小写字母的函数是______________。
24、双精度型数据有效位为______位
25、以下程序的运行结果是_____________。 main( ) { int k, a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; for( k=0;k<4;k ++)printf("%d,",a[k][k]); }
26、若定义了int a[10],将数组元素中最后一个元素"赋值为10"语句是________。
27、用&&写出判断一个字母是否为大、小写的语句
28、函数实参的传递分为
29、使文件指针重新定位到文件读写的首地址的函数是________。
30、下面程序的功能是用―辗转相除法‖求两个正整数的最大公约数。请分析程序填空。 #include <stdio.h> main() { int r, m, n; scanf("%d%d", &m, &n); if (m < n) ____1___; r = m % n; while (r) { m = n; n = r; r = ____2___; } printf("%d\n", n); }
31、若有定义:double x[3][5]; 则x 数组中行下标的下限为【1】,列下标的上限为【2】。
32、下面程序可求出矩阵两条对角线上的元素之和。请分析程序填空。 main() { int a[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j; for(i=0;i<3;i++)for(j=0;j<3;j++) if(i==j) sum1+=a[i][j]; for(i=0;i<3;i++) for( 【1】________;【2】________;j--) if(i+j==2) sum2+=a[i][j]; printf("sum1=%d,sum2=%d\n",sum1,sum2); }
33、以下程序的运行结果是________。 #include<stdio.h> main() { int a=1,b=2,c; c=max(a,b); printf("max is %d\n",c); } max(int x,int y) { int z; z=(x>y)?x:y; return(z); }
34、以下程序的运行结果是【1】________,其算法是【2】________。 main() { int a[5]={9,6,8,3,-1},i,j,t,p; sort(a); for (i=0;i<=4;i++)printf("%3d",a[i]); } sort(int a[]) { int i,j,t,p; for (j=0;j<4;j++) { p=j; for (i=j;i<=4;i++)if(a[i]<a[p]) p=i; t=a[p]; a[p]=a[j]; a[j]=t; } }
35、下面程序的运行结果是________。 main() { int i,j,a[2][3]={{2,4,6},{8,10,12}}; printf("the original array is:\n"); for(i=0;i<2;i++) { for(j=0;j<3;j++)printf("%4d",a[i][j]); printf("\n"); } printf("\nthe result is:\n"); for(i=0;i<3;i++) { for(j=0;j<2;j++)printf("%4d",a[j][i]); printf("\n"); } }
36、以下程序运行的结果为() #include <stdio.h> void fun1(int *a,int *b) { int *c; c=a; a=b; b=c; } void fun2(int *a,int *b) { int c; c=*a; *a=*b; *b=c; } void main() { int x=3,y=5,*p=&x,*q=&y; fun1(p,q); printf("%d,%d,",*p,*q); fun2(p,q); printf("%d,%d\n",*p,*q); }
37、C 语言中,一个函数一般由两个部分组成,它们是______和函数体。
38、C语言提供的三种逻辑运算符是______。
39、若有定义:double x[3][5];则数组中列下标的上限为_____ 。
40、C语言中,关系表达式和逻辑表达式的值是___。
相关标签:
- C语言
- 绍兴文理学院