随机组卷按大纲配比:判断 8 · 单选 20 · 填空 10 · 综合 2(共 40 题 · 80 分)
- 单选以下程序的输出结果是____。 main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x[i][2-i]); }做这题 →
- 单选以下程序的输出结果是____。 main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for (i=1;i<3;i++) for(j=0;j<=i;j++)s+=a[i][j]; printf("%d\n",s); }做这题 →
- 单选以下程序的输出结果是____。 main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for (i=1;i<3;i++) for(j=0;j<=i;j++)s+=a[i][j]; printf("%d\n",s); }做这题 →
- 单选以下程序中函数 sort 的功能是对 a 所指数给数据进行由大到小的排序。 void sort(int a[],int n) {int i,j,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;} } main() {int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(&aa[5],4); for(i=0;i<10;i++) printf("%d,",aa[i]); printf("\n"); } 程序运行后的输出结果是____。做这题 →
- 单选阅读以下函数 fun(char *sl,char *s2){ int i=0; \text {while} (sl [ i ] = = s2 [ i ] & & s2 [ i ]! = ` \backslash 0 ^ {\prime}) i + +; \text {return} (sl[i] = =^ {\prime} \backslash 0 ^ {\prime} & & s2[i] = =^ {\prime} \backslash 0 ^ {\prime}); }做这题 →
- 综合函数 fun 的功能是:逆置数组元素中的值。例如, n 给出数组中每个数组的个数, 则逆置后依次为:9、8、7、6、5、4、3、2、1。形参 n 给出数组中数据的个数。请在程序的下划处, ) 内容。 include <stdio.h> void fun(int a[], int n){ int i,t; i=0; while(i<____){ t=a[i]; a[i] = a[n-1-____]; a[____] = t; ________; }} main() { int b[9]={1,2,3,4,5,6,7,8,9}, i; printf("\nThe original data :\n"); for (i=0; i<9; i++) printf("%4d ", b[i]); printf("\n"); fun(b, 9); printf("\nThe data after invert :\n"); for (i=0; i<9; i++) printf("%4d ", b[i]); printf("\n"); getchar(); }做这题 →
- 填空函数 fMinNum 的形参 a 所指数组中只存放正整数,函数的功能是查找数组中最小值,并作为函数值返回。请补全代码。 int fMinNum (int a[],int n){ int i, min; min=a[0]; for(i=n-1; i>0;i--) if(________>a[i]) min=________; return min; }做这题 →
- 填空以下函数返回 a 所指数组中最小值所在的下标值: fun (int *a, int n){ int i,j=0,p; p=j; for (i=j;i<n;i++) if(a[i]<a[p])________; return(p); } 在下划线处应填入的是____。做这题 →
- 填空C语言中数组下标的下限是做这题 →
- 单选以下程序的输出结果是____。 main() { int a[4][4] = {{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);做这题 →
- 单选设有定义:int x[2][3];,则以下关于二维数组 x 的叙述错误的是 ____。做这题 →
- 单选设有一个 M*N 的矩阵已经存放在一个 M 行 N 列的数组 x 中,且有以下程序段 sum=0; for(i=0;i<M;i++) sum+=x[i][0]+x[i][N-1]; for(j=1;j<N-1;j++) sum+=x[0][j]+x[M-1][j];做这题 →
- 判断int x[13]={1,2,3,4,5,6,7}, 表示数组 x 是 3 行 3 列的数组。做这题 →
- 单选有以下程序 main() {char c[]={'A','B','C','D','E','F','G','H','\0'};int n,m; n=sizeof(c);m=strlen(c); printf("%d,%d\n",n,m); }做这题 →
- 单选对于长度为 n 的线性表,在最坏情况下,做这题 →
- 单选对长度为 10 的线性表进行冒泡排序最坏情况下需要比较的次数为____。做这题 →
- 单选对长度为 n 的线性表作快速排序, 在最坏情况下,比较次数为做这题 →
- 判断二分(折半)法查找要求线性表结点按关键值推算。做这题 →
- 判断顺序查找要比二分(折半)查找,在最坏情况无法分析。做这题 →
- 综合函数 orderby 是排序的功能,根据传入的 flag 的值不同 ASC 升序,DESC 是降序。请根据已知代码完成空缺处代码填写。 #include <stdio.h> #define SWAP(A,B) A=A+B;B=A-B;A=A-B #define ARRLLEN(arr) (sizeof(arr)/sizeof(arr[0])) #define DESC 1 //升序 #define ASC 0 //降序 void standby(int a[],int len,int flag); //选择排序 flag :ASC 升序, DESC 降序 void print(int a[], int len);//输出数组元素 int main() { int arr[] = { 789,345,20,34,234,12,0,134,567,56}; int length = ARRLLEN(arr); printf("排序前:\n"); print(arr, length); standby(arr, length,DESC);//降序 printf("排序后:\n"); print(arr, length); return 0; } //实现数据的排序 flag: ASC 升序, DESC 降序 void standby(int a[], int len, int flag):{ int m,i,j; for (i = 0; i < len - 1; i++) { m = i; for (j = i + 1; j < len ; j++) { if (!flag&&(__________) || ______&&(a[j] > a[m])) { m = j; } } if (__________) { ________(a[i], a[m]); } } void print(int a[], int len) { int i; for (i = 0; i < len; i++) { printf("a[%d]=%d ", i, a[i]); } printf("\n"); system("pause"); }做这题 →
- 综合程序段功能:冒泡排序(升序) int nums[10] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9}; int i, j; for (i = 0; i < len - 1; i++) { for (j = 0; j < _______; j++) { if (__________) { ________; } } } void print(int a[], int len) { int i; for (i = 0; i < len; i++) { printf("a[%d]=%d ", i, a[i]); } printf("\n"); system("pause"); } int i, j, temp; //冒泡排序算法:进行 n-1 轮比较 for(i=0; i<10-1; i++){ //每一轮比较前 n-1-i 个,也就是说,已经排序好的最后 i 个不用比较 for(j=0; j<___________; j++){ if(nums[j] _________ nums[j+1]){ temp = nums[j]; nums[j] = nums[j+1]; _________; } } }做这题 →
- 判断库函数 strlen 遇到"\0"(是结束标记符含义时)或者 0 就返回此之前的字符串的长度。做这题 →
- 填空strcmp("1234","13")的返回结果是____0。做这题 →
- 综合下面函数用“折半查找法”从有 n 个数按升序排列的 a 数组中对关键字 x 查找,若找到,返回其下标值,否则返回 -1,请填空使程序完整。 int search(int a[],int n,int x){ int x 1=0,x2=n-1,mid ; while(x1<=x2){ mid=(x1+x2)/2; if (x<a[mid]) ________; else if (x>a[mid]) ________; else return ________; } return(-1); }做这题 →
- 综合求使用二维数组将一个 3 × 4 的矩阵中所有元素的最大值及其下标获取。 #include <stdio.h> int main(){ int ________; int i,j,max,max_i=0,max_j=0; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",___________); max=a[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++) if(__________) { max=a[i][j]; max_i=i; max_j=j; } printf("max=a[%d][%d]=%d\n",max_i,max_j,max); return 0; }做这题 →
- 单选若有 int a[][4]={0,0};则下面说法不正确的是()做这题 →
- 单选若有以下数组说明,则 i=10;a[a[i]-a[i-1]]元素数值是()。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};做这题 →
- 单选以下能对一维数组 a 进行初始化的语句是: ____。做这题 →
- 单选实现字符串复制的函数名是( )做这题 →
- 单选判断 2 个字符串 a 和 b 是否相等,下列语句正确的是____。做这题 →
- 填空下列程序段的输出结果是____。 main(){ char b[]="Hello,you"; b[5]=0; printf("%s\n", b ); }做这题 →
- 判断在 C 语言中,字符数组可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值。做这题 →
- 单选有一数组 int a[][4]={1,12,13,14,15,16,17,9,8,7,6,5}, 执行语句 scanf("%d", &a[2][3])后,数组中的值应为:____(键盘输入 10)做这题 →
- 填空在 C 语言中,二维数组元素在内存中的存放顺序是按____存放。做这题 →
- 填空在 C 语言中,字符串"ab\0341lx79"的长度为____。做这题 →
- 单选假设 array 是一个有 10 个元素的整型数组,则下列引用写法中正确的是()。做这题 →
- 综合有以下程序 #include <stdio.h> #include <string.h> int main({ char a[]={ 'a', 'b','c', 'd', '\0', 'f, 'g',h','\0'}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\b",i,j); return 0; }做这题 →
- 单选在32位编译系统中,字符型变量占1个字节,则sizeof("\0")、strlen("\0")分别为( )做这题 →
- 判断在C语言中,当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息。做这题 →
- 填空在 C 语言中,“strlen("\\141\141abc\t")”的返回值是____。做这题 →
- 填空在 C 语言中,判断字符串 s1 与字符串 s2 相等,应当使用 if(____)。做这题 →
- 填空在 C 语言中,数组名代表是____。做这题 →
- 填空39、用冒泡排序法对任意输入的10个数按照从小到大的顺序进行排序。 #include <stdio.h> int main(){ int i,j,t,a[11]; printf("请输入10个数:\n"); for(i=1;i<11;i++) scanf("%d",____); for(i=1;i<10;i++) for(j=1;j<____j++) if(____) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } printf("排序后的顺序是:\n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); return 0; }做这题 →
- 单选以下不能正确定义二维数组的选项是____。做这题 →
- 单选以下能正确定义二维数组的是____。做这题 →
- 单选以下程序的输出结果是____。 main() { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for (i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d\n",s); }做这题 →
- 单选以下程序的输出结果是____。 main() { int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x[i][2-i]); }做这题 →
- 单选以下数组定义中错误的是____。做这题 →
- 单选以下数组定义中不正确的是____。做这题 →
- 单选有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]); } } 执行后输出结果是____。做这题 →