1、一、选择题(1)以下选项中合法的标识符是 A) 1-1 B)11 C)-11 D)1-(2)若函数中有定义语句:int k;,则A)系统将自动给 k 赋初值 0 B)这时 k 中值无定义C)系统将自动给 k 赋初值-1 D)这时 k 中无任何值(3)以下选项中,能用作数据常量的是A)o115 B) 0118 C)1.5e1.5 D) 115L(4)设有定义:int x=2; ,以下表达式中,值不为 6 的是A) x*=x+1 B) x+,2*x C)x*= (1+x) D)2*x,x+=2(5)程序段:int x=12; double y=3.141593; printf(“%d%8.6f”,
2、x,y) ;的输出结果是A)123.141593 B)12 3.141593 C)12,3.141593 D) 123.141593(6)若有定义语句:double x,y,*px,*py,执行了 px=之后,正确的输入语句是A)scanf(“%f%f”,x,y); B) scanf(“%f%f”,C)scanf(“%lf%le”,px,py); D) scanf(“%lf%lf”,x,y);(7)以下是 if 语句的基本形式:if (表达式) 语句,其中表达式A)必须是逻辑表达式 B)必须是关系表达式C)必须是逻辑表达式或关系表达 D)可以是任意合法的表达式(8)有以下程序#include
3、main()int x;scanf(“%d”,if( xMain() int a=1,b=2,c=3,d=0;if( a= =1 else printf(“%d,%d,%dn”,a,b,c);else printf(“%d,%d,%dn”,a,b,c);程序运行后的输出结果是A)1,2,3 B)1,3,2 C) 1,3,3 D)3,2,1(10)以下程序中的变量已正确定义for(i=0;imain()char *s=“ABC”;doprintf(“%d”,*s%10);s+;while(*s);注意,字母 A 的 ASCII 码值为 65。程序运行后的输出结果是A)5670 B)656667
4、C)567 D)ABC(12)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;while(ch=getchar () )!=n )n+; B) n=0;while(getchar()!=n )n+;C)for(n=0; getchar()!=n;n+); D)n=0;for(ch=getchar();ch!=n;n+);(13)有以下程序#includemain() int a1,a2;char c1,c2;scanf(“%d%c%d%c”,printf(“%d,%c,%d,%c”,a1,c1,a2,c2);若想通过键盘输入,使得 a1 的值为 12,a
5、2 的是为 34,c1 的值为字符 a,c2 的值为字符 b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下 代表空格,代表回车)A)12a34b B)12 a 34 bC)12,a,34,b D)12 a34 b(14)有以下程序#includeint f(int x, int y)return(y-x )*x);main()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c) );printf(“%dn”,d );程序运行后的输出结果是A)10 B)9 C)8 D)7(15)有以下程序#includevoid fun(char *s)while(*s) if
6、(*s%2=0) printf(“%c”,*s); s+; main()学号 姓名 char a =“good”;fun(a);printf (“n” ); 注意:字母 a 的 ASCII 码值为 97,程序运行后的输出结果是A)d B)go C)god D)good(16)有以下程序#include void fun( int *a, int *b)int *c;c=a; a=b; b=c; main()int x=3, y=5, *p=fun(p,q);printf (“%d,%d,”,*p,*q);fun(printf(“%d,%dn”,*p,*q);程序运行后的输出结果是A)3,5,5
7、,3 B)3,5,3,5 C)5,3,3,5 D)5,3,5,3(17)有以下程序#include void f(int *p, int *q );main() int m=1,n=2,*r=f( r, printf(“%d,%d”,m,n);void f(int *p,int *q)p=p+1;*q=*q+1;程序运行后输出的结果是A)1,3 B)2,3 C)1,4 D)1,2(18)以下函数按每行 8 个输出数组中的数据void fun( int *w, int n) int i;for(i=0;iint fun(int x, int y) if(x=y) return(x );else
8、return(x+y)/2) ;main() int a=4,b=5,c=6;printf(“%dn”,fun(2*a,fun(b,c ) ) ) ;程序运行后的输出结果是A)3 B)6 C)8 D)12(23)设函数中有整型变量 n,为保证其在未赋值的情况下初值为 0,应选择的存储类别是A)auto B) register C)static D)auto 或register二、填空题(1)符合结构化原则的三种基本控制结构是:选择结构、循环结构和 顺序结构 。(2)表达式(int) (double) ( 5/2)+2.5)的值是 4 (3)若变量 x、y 已定义为 int 类型且 x 的值为
9、99,y 的值为9,请将输出语句 printf( “x/y=%d” ,x/y); 补充完整,使其输出的计算结果形式为:x/y=11(4)有以下程序#include main( ) char c1,c2;scanf(“while(c190) scanf(“c2=c1+32;printf(“程序运行输入 65 回车后,能否输出结果、结束运行(请回答能或不能) 题目有问题 (5)以下程序运行后的输出结果是 s=0 #include main( )int k=1,s=0;doif(k(6)有以下程序,程序执行后,输出结果是 9987654321 #include void fun (int *a)a0=a1; main()int a10=10,9,8,7,6,5,4,3,2,1,i;for(i=2;i=0;i-) fun(a);for(i=0;i10;i+) printf(“%d”,ai);printf(“n”);