长春师范大学C语言
本试卷为长春师范大学C语言,题目包括:填空题。
本卷包括如下题型:
C语言
一、填空题 (共40题,每题2.5分,共计100分)
1、在c语言中,二维数组元素在内存的存放顺序是________.
2、有以下程序 #include <stdio.h> main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int b[3]={0},i; for(i=0;i<3;i++) b[i]=a[i][2]+a[2][i]; for(i=0;i<3;i++) printf("%d",b[i]); printf("\n"); } 程序运行后的结果是________。
3、有以下程序 #include <stdio.h> #include <string.h> void fun(char*str) { char temp; int n,i; n=strlen(str); temp=str[n-1]; for(i=n-1;i>0;i--) str[i]=str[i-1]; str[0]=temp; } main() { char s[50]; scanf("%s",s); fun(s); printf("%s\n",s); } 程序运行后输入:abcdef<回车>,则输出结果是________。
4、以下程序的输出结果是 ________ 。 main() { char *p="abcdefgh",*r; long *q; q=(long*)p; q++; r=(char*)q; printf("%s\n",r); }
5、利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用a表示,60-89分之间的用b表示,60分以下的用c表示。
6、有一输入函数scanf("%d",k); 则不能使用float变量k得到正确数值的原因是__________和____________。scanf语句的正确形式应该是:_____________。
7、ferror()用来检测文件读写时是否发生错误,若发生读写错误,则返回值是__________。
8、字符串函数________用于从指定的磁盘文件中读出一个字符串。
9、有以下程序 #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); } 程序运行后的输出结果是: ________。
10、下面程序的运行结果是: ________ int f( int a[], int n) { if(n>1) return a[0]+f(&a[1],n-1); else return a[0]; } main ( ) { int aa[3]={1,2,3},s; s=f(&aa[0],3); printf("%d\n",s); }
11、在c语言中,每个变量都具有存储类别属性。存储类别是指数据在内存中存储的方法。并且存储方法分为_______类。
12、在c语言中,标识符是由英文字母、数字、________组成的。
13、局部变量的作用域是从______的位置起,到函数结束止。
14、以下程序的输出结果是_____________。 main() { int x=-10, y; if(x<0) y=-1; else y=1; printf("%d",y); }
15、执行下面的程序段后,*p等于【1】。 int a[5]={1,3,5,7,9},*p=a; p++;
16、在c语言中,从参数的形式看,函数可以分为两类:无参函数和( )函数。
17、以下程序的输出结果为________。 main() { char m ,n ; m=getchar(); /*(输入d)*/n=m-34; printf("%c",n); }
18、在c语言中,假使x为长整型变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"__"。
19、对于文件末尾检测函数feof(),如果文件指针未到文件末尾,则函数返回值是________。
20、在c语言中,对一维整型数组初始化时如果只给一部分元素赋初值,那么其他元素值均为________。
21、以下程序的输出结果是________。 main() { int x=5,y=6; printf("%da%d",x――,――y); }
22、下列程序段的运行结果是________。 main() { int a=5,b=6,c; int sub(int , int); c=sub(a , b); printf("%d\n",c); } int sub( int x , int y ) { int z; z=x-y; return z ; }
23、main() { int a[5]={2,4,6,8,10},*p,* *k; p=a; k=&p; printf("%d,",*(p++)); printf("%d\n",* *k); } 程序的输出结果是________。
24、c语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用________函数来实现。
25、要调用数学处理函数时,在 #include命令中应包含()头文件。
26、在c 语言中,输入操作是由库函数____完成的,输出操作是由库函数____完成的。
27、下面程序的功能是求1111的个、十、百位上的数字之和。请分析程序填空。 #include<stdio.h> main() { int i,s=1,m=0; for(i=1;i<=11;i++) s=s*11%1000; do { m+= 【1】________; s=【2】________; } while(s); printf("m=%d\n",m); }
28、下面程序的功能是生成并打印某数列的前20 项,该数列第1,2项分别为0 和1,以后每个奇数编号的项是前两项之和,偶数编号的项是前两项差的绝对值。生成的20 个数存在一维数组x 中,并按每行4 项的形式输出。 main() { int x[21],i,j; x[0]=0; x[2]=1; i=3; do { x[i]= 【1】________; x[i+1]= 【2】________; i= 【3】________; } while (i<=20); for (i=1;i<=20;i++) { printf("%5d",x[i]); if (i%4==0)printf("\n"); } }
29、以下程序的运行结果是【1】________,其算法是【2】________。 main() { int a[5]={5,10,-7,3,7},i,t,j; sort(a); for (i=0;i<=4;i++)printf("%3d",a[i]); } sort(int a[]) { int i,j,k; for (i=0;i<4;i++)for (j=0;j<4-i;j++)if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }
30、函数swap(arr,n) 可完成对arr 数组从第一个元素到第n 个元素两两交换。在运行调用函数中的如下语句后, a[0]和a[1]的值分别为【1】________,原因是【2】________。a[0]=1,a[1]=2; swap(a,2);
31、函数yahui 能够按以下形式构成一个杨辉三角形,请填空。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1⋯⋯⋯ .. #define N 11 Yahui(int [][N]) { int i,j; for(i=1;i<N;i++) { a[i][1]=1; a[i][i]=1; } for(【1】________;i<N;i++) for(j=2; 【2】________;j++) a[i][j]= 【3】________+a[i-1][j]; }
32、鸡兔同笼,头30,脚90,下面程序段计算鸡兔各有多少只。请分析程序填空。for(x=1;x<=30;x++ ) { y=30-x; if( 【1】________) printf("%d,%d",x,y); }
33、有以下程序,程序执行后,输出结果是 ________ 。 #include <stdio.h> void fun(int *a) { a[0]=a[1]; } main() { int a[10]={10,9,8,7,6,5,4,3,2,1},i; for(i=2;i>=0;i-- )fun(&a[i]); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n"); }
34、float f=3.1415927; printf("%f,%5.4f,%3.3f",f,f,f); 则程序的输出结果是________。
35、下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。 main() { int i, j; for(i=1; ________; i++) if (________) printf("%d", j); }
36、请补充main()函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。 例如,输入"abcdefg",指定字符为"d",则输出"abe"。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。 试题程序: #define M 80 void main() { int i=0; char str[M]; char ch; system("CLS"); printf("\n Input a strin9:\n"); gets(str); printf("\n Input a charator;\n"); scanf("%c",&ch); while(str[i]!='\0') { if(str[i]==ch) ________ ________ ; } str[i]= ________ ; printf("\n***display string***\n"); puts(str); }
37、以下程序对输入两个整数,按从大到小的顺序输出。请在____内填入正确的内容。 void main() { int x,y,z; scanf("%d,%d",&x,&y); if(_________) { z=x; _________ } printf("%d,%d",x,y); }
38、C 语言对数组下标的引用一般从______开始。
39、构成数组的各个元素必须具有相同的______。
40、设y为int型变量,请写出描述“y是奇数”的表达式______。
相关标签:
- C语言
- 长春师范大学