西北政法大学C语言复习题
本试卷为西北政法大学C语言复习题,题目包括:填空题。
本卷包括如下题型:
C语言复习题
一、填空题 (共40题,每题2.5分,共计100分)
1、求主次对角线之和。 main() { static int a[ ][3]={9,7,5,1,2,4,6,8}; int i,j,s1=0,s2=0; for(i=0;i<3;i++) for(j=0;j<3;j++) { if( ________ ) s1=s1+a[i][j]; if( ________ ) s2=s2+a[i][j]; } printf("%d\n%d\n",s1,s2); }
2、c语言提供的三种逻辑运算符是________、________、________。
3、表达式a=3*5,a*4的值是________。
4、已知字母a的ascii码为65。以下程序运行后的输出结果是 ________ 。 main() { char a, b; a='a'+'5'-'3'; b=a+'6'-'2' ; printf("%d %c\n", a, b); }
5、以下程序运行后的输出结果是 ________ 。 char *ss(char *s) { char *p, t; p=s+1; t=*s; while(*p) { *(p-1) = *p; p++; } *(p-1)=t; return s; } main() { char *p, str[10]="abcdefgh"; p = ss(str) ; printf("%s\n",p); }
6、以下程序的功能是输入任意整数给n后,输出n行由大写字母a开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下: a b c d e f g h i j k l m n o 请填空完成该程序。 main() { int i,j,n; char ch=′a′; scanf("%d",&n); if(n<11) { for(i=1;i<=n;i++) { for(j=1; j<=n-i+1;j++) { printf("%2c",ch); ________; } ________; } } else printf("n is too large!\n") printf("\n"); }
7、函数fun的功能是计算xn double fun(double x,int n) { int i; double y=1; for(i=1;i<=n;i++) y=y*x; return y; } 主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算: m=a4+b4-(a+b)3。实现这一计算的函数调用语句为 ________。
8、已有定义int a; floatb,x; char c1,c2; 为使a=3,b=6.5,x=12.6,c1=’a’,c2=’a’正确的函数调用语句是______________,输入数据的方式是_________________。
9、c语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。
10、字符串函数___________用于把一个字符串写入指定的磁盘文件中。
11、在c语言中除了使用c提供的标准类型名(如int、char等)外,还可以用_________声明新的类型名来代替已有的类型名。
12、数组 int a[3][3]; 共定义了 ________ 个数组元素。
13、实型常量有两种表示方法:小数形式和【1】形式。
14、若有定义:int a=3; 表达式a/2.0+'b'-'a'的值是【1】。
15、以下函数值的类型是【1】。 fun (float x) { float y; y= 3*x-4; return y; }
16、在c语言中,以______开头的常量代表的是八进制数。
17、已知char str[]="student",则strlen(str)的值为________。
18、下列程序段的运行结果是________。 char s1[20]="abcdef", s2[5]="abc"; strcpy(s1,s2); printf("%c", s1[4]);
19、下列程序段的运行结果是________。 main() { int i=1,s=0; for( ; ; ) { s=s+i ; i++; if(i>4) break ; } printf("%d\n",s); }
20、以下程序功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。 #include <stdio.h> main() { int a[10],*p,*s; for(p=a;p-a<10;p++) scanf("%d",p); for(p=a,s=a;p-a<10;p++) if(*p>*s) s=________; printf("index=%d\n",s-a); }
21、下列程序段的运行结果是_____。 #define sub(x , y) x-y main( ) { int a , b , s; A=5, b=6; S=sub(a,b); printf("s=%d\n" , s); }
22、在c语言中,用转义字符 \" 表示________。答题提示:双引号/单引号/反斜线/横向跳格/回车换行
23、在c语言中,若确实不要求返回函数值,则应将函数定义为( )类型。
24、以下程序的运行结果是________。 main() { int i=5; printf("%d\n",sub(i)); } sub(int n) { int a; if(n==1) return 1; a=n+sub(n-1); return a; }
25、写出下列程序的运行结果。 main() { int n; for(n=3; n<=10; n++) { if(n%6==0) break; printf("%d",n); } }
26、定义二维数组int a[3][5]; ,那么该数组中的第6个元素的访问形式为 ______。27. 在程序运行过程中,其值能被改变的量称为________。
27、对于文件末尾检测函数feof,如果文件指针已到文件末尾,则函数返回值是________。
28、输入求数组有几个元素的语句(arr,size)
29、C语言替换字符的函数是什么?
30、下列程序段的运行结果是________。 #define MIN(x , y) x<y? x : y main() { int a , b , min; A=10, b=11; Min=MIN(a,b); printf("min=%d\n" , min); }
31、一个c语言源程序由若干函数组成,其中至少应含有一个 ()
32、从文件读入一行,读取字符包括空格,使用函数________。
33、在c 语言中(以16 位pc 机为例),一个char 型数据在内存中所占的字节数为________; 一个int 型数据在内存中所占的字节数为________。
34、设c 语言中,一个int 型数据在内存中占2 各字节,则int型数据的取值范围为________。
35、下面程序的运行结果是________。 main() { int a[5][5],i,j,n=1; for(i=0;i<5;i++)for(j=0;j<5;j++)a[i][j]=n++; printf("the result is:\n"); for(i=0;i<5;i++) { for(j=0;j<=i;j++)printf("%4d",a[i][j]); printf("\n"); } }
36、下列给定程序中,函数proc()的功能是找出100~m(m 不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #define M 1000 int proc(int*S.int n) { int i,j,k,a,b,c; j=0; for(i=100;i<N;I++) { k=n; a=k%10; k/=10; b=k%10; c=k/10; if(a==b+c) s[j]=i; } return j; } void main() { int a[M],m,num=0,i; do { printf("\nEnter m(<=1000):"); scanf("%d",&m); } while(m>1000); num=proc(a,m); printf("\n\nThe result:\n"); for(i=0;i<NUM;I++) printf("%5d",a[i]); printf("\n\n"); }
37、以下程序运行后的输出结果是 ________ main() { int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) for(j=i+1;j<3;j++) a[j][i]=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d ",a[i][j]); printf("\n"); } }
38、下面程序的输出结果是: #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); }
39、函数strlen("1234\0xy")的值为:______。
40、算术表达式 a=b+3 中, a、b 称为变量, 3 称为______量,=、+称为运算符。
相关标签:
- C语言
- 西北政法大学
- 复习题