当前位置:首页 > 武汉大学c语言题库
double a[M*N];
B 若在程序中定义数组并进行初始化:int a[5]={12.3,8.67f,'x',45}; 则程序被编译时会报错。
A 以下程序段在运行时,若通过键盘输入“41”,则输出结果为“101001”。 int a[32],n,cnt=0,i; scanf(\
do{a[cnt++]=n%2; n/=2;}while(n); for(i=cnt-1;i>=0;i--) printf(\
数组名是一个【 地址】常量,不能对它进行自增、自减和赋值运算。
以下程序段用折半查找法在数组a中查找指定数值x,请填空。
double
a[7]={1.5,6.2,8.94,11.3,14.9,20.1,35.7},x;
int low=0,high=6,mid; scanf(\while(low<=high){ mid=(low+high)/2;
if(a[mid]>x) 【 high=mid-1 】
else if(a[mid] } if(low>high) printf(\数组中不存在数值%f\\n\ 以下程序段的输出结果是【 31 】。 int a[4][4]={1,2,3,4,5,6,7,8,9,10},i,j,s=0; for(i=0;i<4;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf(\ 以下程序段通过键盘输入为数组中的所有元素赋值,请填空。 21 int a[10],i=0; do scanf(\【 &a[i++] 】); while(i<10); 以下程序段将数值k插入到有序数组a中,操作完成后数组a保持有序,请填空。 int a[10]={3,5,8,12,20,39},k,n=6,i=0,j; scanf(\ while(【 a[i] 以下程序段计算2010年的某月某日是当年的第几天,请填空。 int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},m,d,i; printf(\请输入月份和日数:\ scanf(\ for(i=1;i 以下程序段重排二维数组的每1行:以每行的第1个元素m为比较标准,该行中小于m的数都放在m的左侧,大于m的数都放在m的右侧。请填空。 int a[3][6]={{6,8,9,5,7,2},{3,1,5,6,2,8},{8,3,8,4,9,7}},m,n,i,j,k; for(i=0;i<3;i++){ m=a[i][0]; for(j=1;j<6;j++) if(a[i][j] for(k=j;k>0;k--) 【 a[i][k]=a[i][k-1] 】; a[i][0]=n; } } 第七章 关于函数的定义,以下正确的描述是________。 (A) 如果函数不返回值,可以省略类型说明符 (B) 可以在同一程序中定义同名的函数,只要保证它们的返回值类型或形参列表不相同即可 (C) 同一函数中的形参名必须唯一,但可以与其他函数中的变量同名 (D) 如果函数体为空,则函数最外层的一对花括号可以省略 若有函数定义:int fun(){double x=23.5; return x;},则函数的返回结果是________。 (A) 23 (B) 23.0 (C) 23.5 (D) 24 在函数调用过程中,如果函数A调用函数B,函数B又调用函数A,则这种函数调用被称为________。 (A) 间接递归调用 (B) 直接递归调用 (C) 间接循环调用 (D) 直接循环调用 以下程序的输出结果是________。 #include int fun(int x){return ++x;} void main(){ int i=0; while(fun(i)<10) i++; printf(\} (A) 11 (B) 10 (C) 8 (D) 9 关于函数调用时的参数传递,以下错误的描述是________。 (A) 实参可以是常量、变量或表达式 (B) 形参可以是常量、变量或表达式 (C) 实参与形参的个数相等、类型一致 (D) 实参必须有确定的赋值 22 若有以下程序,则下划线所在位置应填入的语句是________。 #include res=fun(3.7f,4.5f); printf(\} double fun(float x,float y) {return x*y;} (A) double fun(float); (B) double fun(); (C) float fun(float,float); (D) double fun(float,float); 用一维数组名作为函数的实参时,传递给对应形参的是________。 (A) 整个数组 (B) 第一个数组元素的地址 (C) 数组的首地址 (D) (B)和(C)都是正确的 以下程序的输出结果是________。 #include void fun(int b[5],int n){ int i,t; for(i=0;i void main(){ int a[5]={9,7,5,3,1},i; fun(a,5); for(i=0;i<5;i++) printf(\} (A) 1 3 5 7 9 (B) 3 1 9 7 5 (C) 9 7 5 3 1 (D) 编译时报错 在C语言程序中定义全局变量,如果该变量使用关键字static作为存储类别说明符,则它的作用域是________。 (A) 整个程序范围 (B) 定义该变量的源文件范围 (C) main函数内部 (D) 从定义该变量的位置开始直至程序结束 若有数组定义语句int a[6];和函数调用语句fun(a); 则在fun函数的定义中,对形参数组array的错误定义方式是________。 (A) void fun(int array[int N=6]) (B) void fun(int array[10]) (C) void fun(int array[]) (D) void fun(int array[3]) 以下程序执行完毕后,变量res的值是________。 #include int fun(int n){ int X=15; return X%n?++X:--X; } void main(){ double res; res=X/fun(3); } (A) 1.0 (B) 2.1875 (C) 2.0 (D) 2.5 以下说法正确的是________。 (A) 在函数中可以使用多条return语句来返回多个处理结果 (B) 在函数中最多只能有一条return语句 (C) 一个函数不可能既是被调用函数,又是主调函数 (D) 如果函数值的类型与返回值的类型不一致,以函数值类型为准 以下程序执行完毕后,变量s的值是________。 #include 23 void main(){ int i,s=0; for(i=1;i<5;i++) s+=fun(i); } (A) 10 (B) 33 (C) 15 (D) 153 以下程序的输出结果是________。 #include if(n==2) return n; else return n*fun(n-2); } void main(){printf(\(A) 105 (B) 2 (C) 35 (D) 递归无法正常结束 以下说法错误的是________。 (A) 局部变量使用static作为存储类别说明符,其生存期将得到延长 (B) 自动变量一定是局部变量 (C) 全局变量使用static作为存储类别说明符,其作用域将被扩大 (D) 寄存器变量的分配方式采用动态分配 下列程序在运行时,若通过键盘输入的数据为“24”,则输出结果是________。 #include for(i=2;i<=n/2;i++) if(n%i==0) return 0; return 1; } int fun(int n){ int i; for(i=3;i<=n/2;i++) if(isprime(i)&&isprime(n-i)) return i; return 0; } void main(){ int x; scanf(\ if(x%2==0&&x>=6) printf(\ } (A) 5,19 (B) 7,17 (C) 0,0 (D) 11,13 以下说法正确的是________。 (A) 在函数定义时,如果不明确指定函数的返回值类型,则默认返回值类型为“void” (B) 所有的函数都是平行的,一个函数并不从属于另一个函数 (C) 属于一个C语言程序的不同文件中不允许定义同名的全局变量 (D) 函数被调用时形参才分配存储单元,函数调用结束后形参不释放占据的存储单元 判断题 B 在C语言中定义无参函数时,函数名后的一对圆括号可以保留,也可以省略。 A 被调用函数执行过程中形参值的变化不会影响主调函数中的实参值。 B 以下函数的功能是计算1+1/2+1/3+...+1/n。 double fun(int n){ int i; double s=0.0; for(i=1;i<=n;i++) s+=1/i; return s; } B 如果被调用函数的定义出现在主调函数之前,必须使用函数原型对其进行声明。 A 以下程序的输出结果是:2 3 4 5 6 7。 #include for(i=0;i<6;i++) b[i]++; } void main(){ int a[6],i; for(i=0;i<6;i++) a[i]=i+1; fun(a); 24 for(i=0;i<6;i++) printf(\} A 在函数中使用全局变量,可以得到一个以上的处理结果。 B C语言不允许嵌套定义函数,因此在main函数内部不可能出现“double fun(int a,float b);”这样的语句。 A 在定义静态局部变量时如果不对其进行初始化,则系统会自动为该变量赋默认初值。 B 以下程序的功能是输出二维数组中每行元素的平均值,则在下划线所在位置应填入的代码是“avg(x)”。 #include for(i=0;i<5;i++) s+=a[i]; return s/5; } void main(){ int x[3][5]={{8,12,1,7,5},{4,14,6},{2,9,3,3}},i; for(i=0;i<3;i++) printf(\} A 以下函数的功能是输出m和n (m>n)两个正整数的最大公约数,则在下划线所在位置应填入的代码是“gcd(n,m%n)”。 int gcd(int m,int n){ if(n==0) return m; else return __________; } A 若有函数定义:static int fun(){......},表明fun函数只能被所在文件内的函数调用,而不能被其他文件内的函
共分享92篇相关文档