(11)下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。 int word(char *s) { int num=0,flag=0; while(*s)
{ if( 【_*s++___】 ==' ') flag=0;
else if( 【__ flag==0____】 ){flag=1;num++} }
return 【__ num ___】 ;
}
一、选择题
(1)请读程序:
#include
int a; float b, c;
scanf(\ printf(\ }
若运行时从键盘上输入 9876543210↙,则上面程序的输出结果是__C___。 A)a=98,b=765,c=4321 B)a=10,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0
(2)一个良好的算法由下面的基本结构组成,但不包括___D___。
A)顺序结构 B)选择结构 C)循环结构 D)跳转结构 (3)请选出以下程序的输出结果__B____。 #include
{ int a,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c); printf(\ }
A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7 (4)下面程序在屏幕上的输出是_B___。 main( ) {
printf(\ }
A)ab \\b\\b c B)a c C)abc D)ab c
(5)若 x 是整型变量,pb 是基类型为整型的指针变量,则正确的赋值表达式是__A____。 A)pb=&x; B)pb=x; C)*pb=&x; D)*pb=*x (6)设整型数 i=5,则 printf(\的输出为_D___。 A)10 B)11 C)12 D)语法错误 (7)下面程序输出的结果是__A___。 main( ) {
int i=5,j=9,x; x=(i==j?i:(j=7));
printf(\
}
A)5,7 B)5, 5 C)语法错误 D)7,5 (8)若执行下面程序时从键盘上输入 5, main( ) {
int x;
scanf(\
if(x++>5) printf(\ else printf(\ }
则输出是__B____。
A)7 B)6 C)5 D)4 (9)若有以下定义和语句:
int a[ ]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为 3 的表达式是__A____。
A)p+=2,*(p++) B)p+=2,*++p C)p+=3,*p++ D)p+=2,++*p
(10)设 a、b 和 c 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的表达式是_D___。 A)'a'&&'b' B)a<=b
C语言程序设计模拟题(2)
C)a||+c&&b-c D)!((a
char *d[]={\ printf(\ }
A)cde B)字符 c 的 ASCII 码值 C)字符 c 的地址 D)出错 (12)设有如下程序 #include
int **k, *j,i=100; j=&i; k=&j;
printf(\ }
上述程序的输出结果是___B___。
A)运行错误 B)100 C)i 的地址 D)j 的地址
(13)设有以下语句,其中不是对 a 数组元素的正确引用的是:__D____(其中 0≤i<10) int a[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;
A)a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i) ) (14)有以下程序: #include
for( ; i<6; c[i]=getchar( ),i++); for(i=0;i<6;i++)putchar(c[i]); printf(\ }
如果从键盘上输入: ab<回车> c<回车> def<回车>
则输出结果为 _____C________ 。
A)a B)a C)ab D)abcdef b b c c c d d d e f
(15)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 ___B____。 A)地址传递 B)单向值传递
C)由实参传递给形参,再由形参传递给实参 D)传递方式由用户指定 (16)以下程序
#include
{ char *p1=\ strcpy(str+2,strcat(p1,p2) ); printf(\ }
的输出是 _D___。
A)xyzabcABC B)zabcABC C)yzabcABC D)xyabcABC (17)以下程序
int aa[3][3]={{2},{4},{6}}; main( )
{ int i,*p=&aa[0][0]; for (i=0;i<2;i++)
{ if(i==0) aa[i][i+1]=*p+1;
else ++p;
printf(\ }
} 的输出是__A____。
A)23 B)26 C)33 D)36 (18)以下程序的输出结果是__C____。 #include
char t,*s1,*s2; s1=w;s2=w+n-1; while(s1 main() { char p[]=\ fun(p,strlen(p)); puts(p); } A)1234567 B)7654321 C)1711717 (19)下面程序 main( ) { int x=100, a=10, b=20, ok1=5, ok2=0; if(a if(b!=15) if(!ok1) x=1; else if(ok2) x=10; x=-1; printf(\ } 的输出是__A____。 A)-1 B)0 C)1 (20)下面程序 main( ) { int x=32; printf(\ } 的输出是__D____。 A)100 B)160 C)120 D)64 (21)以下程序的输出结果是__B____。 #include #define FUDGE(y) 2.84+y #define PR(a) printf(\ #define PRINT1(a) PR(a);putchar('\\n') main( ) { int x=2; PRINT1(FUDGE(5)*x); } A)11 B)12 C)13 (22)以下程序段给数组所有的元素输入数据,请选择正确答案填入: #include int a[10],i=0; while(i<10) scanf(\__A___); : : D)7177171 D)不确定的值 D)15 } A)a+(i++) B)&a[i+1] C)a+i D)&a[++i] (23)字符(char)型数据在微机内存中的存储形式是__D____。 A)反码 B)补码 C)EBCDIC 码 D)ASCII 码 (24)有以下程序,程序运行后的输出结果是__D____。 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; } main() { int a[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}}; printf(\ } A)22 B)11 C)18 D)16 (25)不能把字符串\赋给数组 b 的语句是__D____。 A)char b[10]={'H','e','l','l','o','!'}; B)char b[ ]={'H','e','l','l','o','!'}; C)char b[10];strcpy(b,\ D)char b[10]; b=\ (26)下面程序的输出是__D____。 main( ) { int x=3 ,y=6,a=0; while(x++!=(y-=1)) { a+=1; if (y printf(\ } A)x=4,y=4,a=1 B)x=5,y=5,a=1 C)x=5,y=4,a=3 D)x=5,y=4,a=1 (27)若有程序: fun(int a,int b) { static int c=0; c+=a+b; return c; } main() { int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf(\ } 上面程序的输出结果是__A____。 A)23 B)15 C)19 (28)下面程序的输出是__C____。 main( ) { char *s=\ int v1=0,v2=0,v3=0,v4=0,k; for (k=0;s[k];k++) switch(s[k]) { default:v4++; case'1':v1++; case'3':v3++; case'2':v2++; D)18