static int c=3; b++; c++;
return(a+b+c);
} 【7 8 9】
11 下面程序的输出结果是
#include
{ static int x=3; x++; return(x); }
main( ) { int i, x;
for(i=0; i<=2; i++ ) x=try( );
printf(\;
} 12 下面程序的输出结果是
#include
int x=1;
void f1( ), f2( ); f1( ); f2(x);
printf(\; }
void f1(void) {
int x=3;
printf(\; }
void f2( x ) int x; {
printf(\;
} 13 有如下程序:
#include “stdio.h” main()
{ int a=0,b=1; int mm(int,int);
【6】
3 2 1】
【
printf(“%d,”,mm(a,b)); printf(“%d”,mm(a,b)); return(1); }
int mm(int m,int n) { static int s=1; s++;
return(s*(m+n)); }
则此程序执行后输出的结果为【2,3】。
14有以下程序 ?? int sub(int n) {
return (n/10+n); } ?? main() ?? { int x,y;
?? scanf(\ ?? y=sub(sub(sub(x))); ?? printf(\\\n\ ?? } ??若运行时输入:1234<回车>,程序的输出结果是【10】. 15 以下程序运行后的输出结果是 ??void fun(int x,int y) ??{ x=x+y;y=x-y;x=x-y; ??printf(“%d,%d,”,x,y); } ??main()
??{ int x=2,y=3; ??fun(x,y);
??printf(“%d,%d\\n”,x,y);
??} 【3,2,2,3】 16 在主函数中输入8个整数,调用函数对其进行排序(从小到大),排序方法不限, 最后在主函数中输出结果。 17下列叙述中错误的是(A)
A 主函数中定义的变量在整个程序中都是有效的。 B 在其它函数中定义的变量在主函数中也不能使用。 C 形式参数也是局部变量。
D 复合语句中定义的变量只在该复合语句中有效。 18下面正确的函数定义形式是A A double fun(int x,int y) B double fun(int x;int y) C double fun(int x,int y); D double fun(int x,y);
19若使用一维数组名作函数参数,则以下正确的说法是C
A 必须在主调用函数中说明此数组的大小; B 实参数组类型与形参数组类型可以匹配; C 在被调函数中,不需要考虑形参数组的大小; D 实参数组名与形参数组名必须一致; 20下正确的说法是(A )。
如果在一个函数中的复合语句中定义了一个变量,则该变量 A 只在该复合语句中有效 B 在该函数中有效 C 本程序中有效 D 为非法变量
21以下不正确的说法是D
A 在不同函数中可以使用相同的名字的变量; B 形式参数是局部变量;
C 在函数内定义的变量只在本函数范围内有效;
D 在函数内的复合语句中定义的变量在本函数范围内有效;
22凡是函数中未指定存储类别的局部变量,其隐含的存储类型是( 自动(auto)) 23面叙述中正确的是C
A 在程序的一行上可以出现多个有效的预处理命令行; B 使用带参 的宏时,参数的类型应与宏定义时的一致; C 宏替换不占用运行时间,只占编译时间; D 在以下定义中C R是称为“宏名”的标识符; 24 下面程序的运行结果是:( sum=10) #define ADD(x) x+x main() {
int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf(“sum=%d”,sum); }
25下面程序的运行结果是__1000 10__。
#define N 10 #define s(x) x*x #define f(x) (x*x) main()
{ int i1,i2;
i1=1000/s(N); i2=1000/f(N); printf(“%d %d\\n”,i1,i2); }
26以下程序输出的最后一个值是__120
int ff(int n) { static int f=l; f=f*n;
return f; }
main() { int i;
for(i=1;i<=5;i++) printf(“%d\\n”,ff(i)); }
27以下函数的功能是:求x的y次方,请填空。
double fun( double x, int y) { int i; double z;
for(i=1, z=x; i 28在主函数中输入两个正整数,调用一个函数求其最大公约数和最小公倍数,再调用一个函数将结果输出。 29编一子函数,求出一个字符串中所有字母的个数。 编写主函数,让用户输入一个长度不超过100的字符串,调用子函数,在主函数中输出串中所有字母的个数。 30输入一串字符,长度不超过80个,分别统计出其中大写英文字母、空格和其它字符的个数并分别输出。 31求一维整型数组中正数的和。 32求一维整型数组中负数的和。 33通过键盘输入一个字符串,在用户自定义的函数中实现将字符串反序并在主函数中做输出。 34 通过调用自定义函数来完成求圆柱体的体积(v=3.14*r2*h),要求圆柱体的高和底半径在主函数中做输入,圆柱体的体积在主函数中做输出。 第七章知识点 1 对二维数组的正确说明是哪一项? A int a[][]={1,2,3,4,5,6}; B int a[2][]={1,2,3,4,5,6}; C int a[][3]={1,2,3,4,5,6}; D int a[2,3]={1,2,3,4,5,6}; 2 下面程序的输出结果是 #include { int a[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4}; int i,j,n; n=9; i=n/5; j=n-i*5-1; printf(\; } 【–3】 3在C语言中,二维数组元素在内存中的存放顺序是【按行存放】。 4 以下程序的输出结果是 main() { char s[]=\ s[3]=''\\0''; printf(\ } 【abc 】 5 以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值.请填空. void fun(int, int, int (*)[4],int *) main() { int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,b); for(i=0;i<3;i++) printf(\ printf(\ } void fun(int m,int n,int ar[][4],int *br) { int i,j,x; for(i=0;i for(j=0;j if(x } 【 br[i]】 6 求一维整型数组中零的个数。 要求:主函数定义数组a[10] ={-15,-22,13,44,-25, 66, 0, 88, -39,10}, 调用自定义函数求出零的个数,然后在主函数中输出结果。 7 下面程序的输出结果是__ some string *test __。 #include { char s1[50]={\; printf(\; } 8有如下程序段:(B) static char str[14]={“I︼am︼”}; strcat(str, “ sad! ”);
要求:主函数定义数组a[10],从键盘输入十个数,调用自定义函数求出正数的和,然后在主函数中输出结果
要求:主函数定义数组a[10],从键盘输入十个数,调用自定义函数求出负数的和,然后在主函数中输出结果。