齐齐哈尔大学计算机C语言
本试卷为齐齐哈尔大学计算机C语言,题目包括:填空题。
本卷包括如下题型:
计算机C语言
一、填空题 (共40题,每题2.5分,共计100分)
1、c语言中getchar() 函数的功能是 ________ 。
2、表达式 2.8 + 3/4 =________。
3、以下程序运行后的输出结果是________。 #include<stdio.h> main() { int a=200,b=010; printf("%d%d\n",a,b); }
4、以下程序运行后的输出结果是 ________ 。 main() { char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf("%d %f\n",n,x); }
5、已知字母a的ascii码为65。以下程序运行后的输出结果是 ________ 。 main() { char a, b; a='a'+'5'-'3'; b=a+'6'-'2' ; printf("%d %c\n", a, b); }
6、以下程序的运行结果是 ________ #include <string.h> typedef struct student { char name[10]; long sno; float score; } stu; main( ) { stu a={"zhangsan",2001,95},b={"shangxian",2002,90}, c={"anhua",2003,95},d,*p=&d; d=a; if(strcmp(a.name,b.name)>0) d=b; if(strcmp(c.name,d.name)>0) d=c; printf("%ld%s\n",d.sno,p->name); }
7、有以下程序 #include <stdio.h> typedef struct { int num; double s; } rec; void fun1(rec x) { x.num=23; x.s=88.5; } main() { rec a={16,90.0}; fun1(a); printf("%d\n",a.num); } 程序运行后的输出结果是 ________。
8、c语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。
9、字符串函数________用于从指定的磁盘文件中读出一个字符串。
10、有int x=3,y=-4,z=5; 则表达式(x&&y)==(x||z)的值为 ________。
11、语句主要是实现次数循环结构,while语句主要是实现当型循环结构。
12、在循环的过程中,有时要提前中止循环,通常采用 () 语句。
13、编辑好一个程序文件后,在运行该程序文件之前先要进行________。
14、c语句分为______大类。
15、sacii中小写字母-(____)=大写字母
16、已知"float x=0.5;int y=8;",则算术表达式"(int)(x+y/5)"的值是________。
17、下列程序段的运行结果是________。 void sun() { int b=5; } main() { int b=1; sun(); printf("b=%d",b); }
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、源程序的基本单位是【】。
20、若s 是int 型变量,则表达式s%2+(s+1)%2 的值为【】。
21、以下程序的运行结果是________。 main() { int a = 2, b = 3, c; c = a; if (a > b) c = 1; else if (a == b) c = 0; else c = -1; printf("%d\n", c); }
22、下面程序的运行结果是________。 #include<stdio.h> main() { int i; for(i=1;i<=5;i++) switch(i%2) { case 0: i++; printf("#"); break; case 1: i+=2; printf("*"); default: printf("\n"); } }
23、对于文件末尾检测函数feof(),如果文件指针未到文件末尾,则函数返回值是________。
24、以下程序的输出结果是________。 main() { int x=5,y=6; printf("%da%d",x――,――y); }
25、在c语言中,可以用/*…*/对c程序中的任何部分作______。
26、c语言的源程序拓展名为()编译后生成() 链接后生成()
27、下面程序的运行结果是________。 main() { int i,f[10]; f[0]=f[1]=1; for(i=2;i<10;i++)f[i]=f[i-2]+f[i-1]; for(i=0;i<10;i++) { if(i%4==0) printf("\n"); printf("%3d",f[i]); } }
28、下面程序的功能是给一维数组a 任意输入6 个整数,假设为7 4 8 9 1 5,然后建立一个具有以下内容的方阵并打印。请分析程序填空。5 7 4 8 9 11 5 7 4 8 99 1 5 7 4 88 9 1 5 7 44 8 9 1 5 77 4 8 9 1 5main() { int a[6],i,j,k,m; for(i=0;i<6;i++)scanf("%d",&a[i]); for(i=5;i>=0;i--) { k=a[5]; for( 【1】________;j>=0;j--)a[j+1]=a[j]; 【2】________; for(m=0;m<6;m++)printf("%d ",a[m]); printf("\n"); } }
29、下面程序的功能是检查一个二维数组是否对称(即对所有i和j 都有a[i][j]=a[j][i] )。请分析程序填空。 main() { int i,j,found=0,a[4][4]; printf("enter array(4*4):\n"); for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]); for(j=0;j<4;j++)for( 【1】________;i<4;i++)if(a[j][i]!=a[i][j]) { 【2】________; break; } if(found) printf("no"); else printf("yes"); }
30、函数del 的作用是删除有序数组a 中的指定元素x。已有调用语句n=del(a,n,x); 其中实参n 为删除数组元素的个数,赋值号左边的n 为删除后数组元素的个数。请填空。del(int a[],int n,int x) { int p,i; p=0; while (x>=a[p]&&p<n)【1】________; for(i=p-1;i<n;i++)【2】________; n=n-1; return n; }
31、函数swap(arr,n) 可完成对arr 数组从第一个元素到第n 个元素两两交换。在运行调用函数中的如下语句后, a[0]和a[1]的值分别为【1】________,原因是【2】________。a[0]=1,a[1]=2; swap(a,2);
32、函数f 的形参a 为一个10×10 的二维数组, n 的值为5,以下程序段的运行结果为________。f(int a[][20], int n) { int i,j,k; j=n/2+1; a[1][j]=1; i=1; for(k=2;k<=n*n;k++) { i=i-1; j=j+1; if(i<1&&j>n) { i=i+2; j=j-1; } else { if(i<1) i=n; if(j>n) j=1; } if(a[i][j]==0) a[i][j]=k; else { i=i+2; j=j-1; a[i][j]=k; } } } main() { int a[20][20]={0},n,i,j; scanf("%d",&n); f(a,n); for(i=1;i<=n;i++) { for(j=1;j<=n;j++)printf("%3d",a[i][j]); printf("\n"); } }
33、请补充main()函数,该函数的功能是:把一个整数插入一个已经按从小到大排序的数组中。插入后,数组仍然有序。 例如,在数组bb[M]={10 20 30 40 50 60 70 80 85 95} 中插入75,结果为 bb[M]={10 20 30 40 50 60 70 75 80 85 95} 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。 试题程序: #define M 10 void main() { int i,j; int n; int bb[M+1]={10,20,30,40,50,60,70,80,85,95}; system("CLS"); printf("\nlnput n n"); scanf("%d",&n); printf("\nn=%d",n); printf("\n***original list***\n"); for(i=0;i<M;I++) printf("%4d",bb[i]); for(i=0;i<M;I++) { if(n<=bb[i]) { for(j==M; ________ ;j--) ________ ; bb[j]=n; ________ ; } } if(i==M) bb[i]=n: printf("\n****new list****\n"); for(i=0;i<M+1;I++) printf("%4d",bb[i]); }
34、改正下列程序中不正确的语句。 main( ) { int a; scanf("%d", a); if (a = 1) printf("one\n") ; }
35、改正下列程序中不正确的语句。 main() { int n ; float s=1.0; for(n=10;n>1;n--) s=s+1/n; printf("%6.1f\n",s); }
36、请阅读并分析以下程序,该程序的输出结果是: #include <stdio.h> main( ) { int a[ ]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2) { case 0:switch(a[i]%2) { case 0:a[i]++; break; case 1:a[i]--; } break; case 1:a[i]=0; } for(i=0;i<4;i++) printf("%d",a[i]); printf("\n"); }
37、下面程序的输出结果是: #include <stdio.h> void add(int *p, int n) { int *pend = p + n; for( ; p<pend; p++) *p += 10; } void main( ) { int a[5]={1,2,3,4,5}, *q = a; add(q, 5); for(q=a; q < a+5; q++) printf("%4d", *q); }
38、若x、y、z均为int型变量,则描述“x或y中有一个小于z”的表达式是______
39、在传值调用中,实际是把实参的______。
40、C标准库函数中,字符串的处理函数包含在______头文件中,数学函数包含在math.h头文件中。
相关标签:
- C语言
- 齐齐哈尔大学