随机组卷按大纲配比:判断 8 · 单选 20 · 填空 10 · 综合 2(共 40 题 · 80 分)
- 填空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 的线性表作快速排序, 在最坏情况下,比较次数为做这题 →
- 判断二分(折半)法查找要求线性表结点按关键值推算。做这题 →
- 判断顺序查找要比二分(折半)查找,在最坏情况无法分析。做这题 →
- 填空在进行排序时,经常会用到交换变量值的算法,已知 int a,b,t;//a,b 为要交换的变量;请写使用 C 语言来换语句____。做这题 →
- 综合函数 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]; _________; } } }做这题 →
- 单选若要使用 C 数学库中的 sin 函数,需要在源程序的头部加上:#include <math.h> 关于引用数学库,以下叙述正确的是____。做这题 →
- 判断库函数 strlen 遇到"\0"(是结束标记符含义时)或者 0 就返回此之前的字符串的长度。做这题 →
- 判断strcpy 是一种 C 语言的标准库函数,strcpy 把从 src 地址开始且含有'\0'结束符的字符串复制到以 dest 开始的地址空间,返回值的类型为 char*。做这题 →
- 填空能够接收字符串中含有空格的输入函数是____。(填函数名即可)做这题 →
- 填空数学函数求 x 的平方根函数调用语句是 ____;做这题 →
- 填空strcmp("1234","13")的返回结果是____0。做这题 →
- 填空rand()%1000/10.0 表达式的功能是随机产生一个____(1位小数)。做这题 →
- 填空rand 是产生随机数的函数,若想调用它需要引用头文件是 ____。做这题 →
- 填空正弦函数 sin 中参数 x 为弧度,一般我们使用的是角度,传参时需要我们将角度转换成弧度,假如 PI=3.14;那 么30角度对应的弧度是____(填写计算公式,不用填结果)做这题 →
- 填空在 C 语言中,没有明确指明函数类型的,自动按____处理。做这题 →
- 综合函数 f 的功能是计算如下数学公式的前 n 项。若 x=2, n=3 时,函数值为:6.333333。请补全代码。 f (x) = 1 + x + \frac {x ^ {2}}{2 !} + ... + \frac {x ^ {n}}{n !} #include <stdio.h> double fun(double x, int n) { double f, t; int i; f = 1.0; t = ________; for (i= _______; i<=n; i++){ t *= ________; f += t; } return f; } main() { double x, y; x=2; y = fun(x, 3); printf("\n 计算结果 :\n"); printf("x=%-10.6f y=%-10.6f\n", x, y); system("pause"); }做这题 →
- 综合如下函数的功能是:找出 100 至 x(x<=999)之间各位上的数字之和为 12 的所有整数,然后输出;符合条件的整数个数作为函数的值返回。 #include <stdio.h> int fun(int end){ int cnt, ones, tens, hundreds , start; cnt=0; start=100; while(start<=end) { ones=start%10; tens=________; hundreds=start/100; if(ones+tens+hundreds==12) { printf("%d ",start); ________; } start++; } return ________; } main() { int x=-1; while(x>999||x<100) { printf("请输入(100<x<=999): "); printf("\n 结果: %d\n",fun(x)); system("pause"); }做这题 →
- 单选以下所列的各函数声明中,正确的是____。做这题 →
- 单选以下函数值的类型是____。 fun(float x){ float y; y=3*x-4; return y; }做这题 →
- 单选以下关于函数的叙述中正确的是____。做这题 →
- 单选关于函数返回值,以下叙述正确的是____。做这题 →
- 单选int fun(int x,int y){ return x-y; }则以下涉及上述函数的说明语句错误的是。做这题 →
- 判断用指针作为函数参数时,采用的是"地址传递"方式。 3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26、27、28、29、30、31、32、33、34、35、36、37、38、39、40、41、42、43、44、45、46、47、48、49、50、51、52、53、54、55、56、57、58、59、60、61、62、63、64、65、66、67、68、69、70、71、72、73、74、75、76、77、78、79、80、81、82、83、84、85、86、87、88、89、90、91、92、93、94、95、96、97、98、99、100做这题 →
- 判断函数原型可以简单的由函数的首部,加上其后的一个“;”构成。做这题 →
- 综合若函数fun定义如下 int fun(void){ double d; long t=rand(); d=t*0.618; return d;} 则函数返回值的类型是____。(填写英文)做这题 →
- 综合函数原型可以由函数的____类型、函数名和参数表构成,加上其后的一个“;”构成。做这题 →
- 综合以下程序中, 函数 fun 的功能是统计所有小于等于 n(n > 2) 的素数的个数, 素数的个数作为函数返回值。请根据描述, 补全代码。 #include <stdio.h> int fun(int n){ int i,j, cnt=0; printf("\n 素数从 3 至 %d\n", n); for (i=3; i<=n; i++) { for (j=_______; j<i; j++) if (i%j == 0) break; if (j>=_) { cnt ++; printf( cnt %10? "%4d":"\n%4d",i); } } return cnt; } main(){ int num=50, r; r = ______;做这题 →
- 综合下面程序的功能是实现表达式 z = (x >= y ? x : y),请将程序填写完整。 #include"stdio.h" main( ){ int x, y, z; printf("Please input x,y:"); scanf("%d%d",&x,&y); if (__________) z=x; else z=y; printf("z=%d",z); }做这题 →
- 填空有以下程序: float fun(int x,int y) {\text {return} (x + y); } \text {main} () {\text {int} a = 2, b = 5, c = 8; \begin{array}{l} \text {printf("%3.0f\n",fun((int)fun(a + c,b),a - c));} \ } \end{array} 程序运行后的输出结果是____。做这题 →
- 填空有以下程序 #include<stdio.h> void fun(char *c,int d){ *c=*c+1;d=d+1; printf("%c,%c,",*c,d); } main(){ char b='a',a='A'; fun(&b,a); printf("%c,%c\n",b,a); }程序运行后的输出结果是 。做这题 →
- 填空5、有如下程序: long fib(int n){ if(n > 2) return (fib(n-1) + fib(n - 2)); else return(2); } main(){ printf("%d\n",fib(3)); }该程序的输出结果是____。做这题 →
- 填空6、有以下程序 fun(int x){ int p; if(x==0||x==1) return(3); p=x-fun(x-2); return p; } main() { printf("%d\n",fun(7));} 执行后的输出结果是____。做这题 →
- 填空7、有以下程序 #include <stdio.h> int fun(int a, int b){ if(b==0) return a; else return(fun(--a,--b)); } main(){printf("%d\n",fun(4,2);} 程序的运行结果是____。做这题 →
- 填空以下程序的输出结果是____。 int f(){ static int i=0; int s=1; S+=i;i++; return s;} main(){ int i,a=0; for(i=0;i<5;i++) a+=f(); printf("%d\n",a); }做这题 →
- 填空以下程序的输出结果是____。 int x=3; main(){ int i; for(i=1;i<x;i++) incre(); } incre(){ static int x=1; x*=x+1; printf("%d",x);}做这题 →
- 填空4、有以下程序 int a=3; main() {int s=0; {int a=5;s+=a++;} s+=a++; printf("%d\n",s); } 程序运行后的输出结果是____。 有以下程序做这题 →
- 综合6、有以下程序 #include <stdio.h> int a=1; int f(int c){ static int a=2; c=c+1; return (a++)+c; } main(){int i,k=0; for(i=0;i<2;i++) {int a=3;k+=f(a);} k+=a; printf("%d\n",k); }程序的运行结果是____。 程序运行后的输出结果是 。做这题 →
- 综合有以下程序 #include <stdio.h> int f(int n); main(){ int a=3,s; s=f(a);s=s+f(a);printf("%d\n",s); } int f(int n){ static int a=1; n+=a++; return n; }程序运行后的输出结果是____。 } void main(){ int a; scanf("%d",&a); printf("%d\n",____); }做这题 →
- 综合下面函数用“折半查找法”从有 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); }做这题 →
- 综合以下 avg 函数的作用是计算含有 n 个元素的数组 array 的平均值并返回平均值,请填空使程序完整。 float avg(float array[ ],int n) { int i; float avgr , sum=0 ; for (i=0;________________; i++) sum+=________; avgr= sum/ n; ________; }做这题 →
- 综合为表示关系 x >=slant y >=slant z, 应使用 C 语言表达式 ____。 } }做这题 →