background image

 

程序的运行结果是
    A)a=1,b=0            B)a=2,b=2            C)a=1,b=1           D)a=2,b=1 

(21

 

)下列程序的输出结果是

#include "stdio.h" 

main() 
{  int i,a=0,b=0; 

for(i=1;i<10;i++) 
{  if(i%2==0) 

  {a++; 

continue;} 

b++;} 
printf("a=%d,b=%d",a,b); } 

    A)a=4,b=4     B)a=4,b=5       C)a=5,b=4     D)a=5,b=5 

(22

 

)已知

#int t=0; 
while (t=1) 

{...} 

 

则以下叙述正确的是

A)循环控制表达式的值为 0

    

B)循环控制表达式的值为 1     
C)循环控制表达式不合法     
D)

 

以上说法都不对

(23

 

)下面程序的输出结果是

main() 

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 

  printf("%d\n",*(p+2));} 

    A)3

    B)4

    C)1

    D)2 

(24

 

)以下错误的定义语句是

    A)int  x[][3]={{0},{1},{1,2,3}};     B)int  x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; 

    C)int  x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};     D)int  x[][3]={1,2,3,4}; 

(25

 

)有以下程序

void ss(char *s,char t) 
{  while(*s) 

{  if(*s==t)*s=t-′a′+′A′; 
s++; } } 

main() 
{  char str1[100]="abcddfefdbd",c=′d′; 

ss(str1,c); printf("%s\n",str1);} 

 

程序运行后的输出结果是

    A)ABCDDEFEDBD     B)abcDDfefDbD     C)abcAAfefAbA    D)Abcddfefdbd 

(26

 

)有如下程序

main() 
{  char ch[2][5]={"6937","8254"},*p[2]; 

int i,j,s=0; 
for(i=0;i<2;i++)p[i]=ch[i]; 

for(i=0;i<2;i++) 
for(j=0;p[i][j]>′\0′;j+=2)

s=10*s+p[i][j]-′0′; 
printf("%d\n",s);} 

 

该程序的输出结果是
    A)69825    B)63825    C)6385    D)693825 

(27)有定义语句:char  s[10];,若要从终端给 s 输入 5 个字符,

 

错误的输入语句是

    A)gets(&s[0]);    B)scanf("%s",s+1);     C)gets(s);    D)scanf("%s",s[1]); 

(28

 

)以下叙述中错误的是

    A)在程序中凡是以"#"

     

开始的语句行都是预处理命令行

B)预处理命令行的最后不能

          

以分号表示结束

C)#define  MAX  

    

是合法的宏定义命令行

D)C 程序对预处理命令