单选题:
1 下列程序执行后输出的结果是
   #include stdio.h
   f(int a)
   { int b=0;
    int c=3;
    a=c++, b++; //先计算a,再取b值,但没使用。如果a=(c++, b++),结果?;
    return(a);
   }
   main( )
   { int a=2,i,k;
    for(i=0;i2;i+ +)
      k=f(a+ +);  //i=0,a=2;i=1,a=3(但没有改变被调函数的使用)
    printf("%d\n",k);
   }
  
  A. 3
  B. 0
  C. 1
  D. 4
 答案: A
2 假定abint型变量,则执行以下语句后b的值为
main()
 { a=1; b=10;
  do
  {b=b-a; a++;} /* 10-1=9,a=2;8-2=6,a=3;5-3=2a=4 1-4=-3 */
  while (b-- > 0); /* 9-1=8;6-1=5;2-1=1; -3-1=-4 */
} 
  A. -3
  B. -2
  C. -1
  D. -4
 答案: D
3 下面的表达式中_______满足:当x为偶数时值为,为奇数时值为
  A. x%2==0    /* 4%2==0 1 5%2==0 0
  B. !x%2!=0  /* !4%2!=0 0 !5%2!=0 0(优先级:!-> %-> !=)
  C. 2*x/2-x==0
  D. !(x%2)
 答案: B ?
4  int b=2;表达式b/(b*2)的值是_______.
  A. 0
  B. 0.5
  C. 0.500000
  D. 0.00000
 答案: A
5 xyzk都是int型变量,则执行表达式:
x=y=4z=16k=32)后,x的值为_____.
  A. 4
  B. 16
  C. 32
  D. 52
 答案: C
6 若有以下定义和语句:
 int  u=010,v=0x10,w=10;
 printf(″%d,d,d\n,u,v,w);
则输出结果是:
 
  A. 81610 
  B. 101010  
  C. 8810   
  D. 81010
 答案: A
7 若有以下说明和语名:
 int a=5
 a++
此处表达式a++的值是____
  A. 7
  B. 6
  C. 5
  D. 4
 答案: C
8 若执行下面的程序从键盘输入34,则输出是_______
   main()
  int a,b,s;
  scanf("%d%d",&a,&b);
  s=a;
  if (a < b) s=b;
  s=s*s;
  printf("%d\n",s);
  }
  A. 14
  B. 16
  C. 18
  D. 20
 答案: B
9 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系
的表达式为________。 
 
  A. a < > 0
  B. !a
  C. a=0
  D. a!=0
 答案: D
10 执行语句:for(i=1;i++ < 4;);变量i的值是(  )
  
  A. 3
  B. 4
  C. 5
  D. 不定
 答案: C
11 执行语句:for (i=1;i++ < 4;);变量i的值是
  
  A. 3
  B. 4
  C. 5
  D. 不定
 答案: C
12 已知字母AASCⅡ码为十进制的65,下面程序的输出是
main()
char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%c,%c\n",c1,c2);
}
  A. 67,D
  B. B,C
  C. C,D
  D. ch2='A'+'6'-'3';
 答案: C
13 下列程序执行后的输出结果是
main()
char arr[2][4];
strcpy(arr[0],"you"); 
strcpy(arr[1],"me");
arr[0][3]='&';
printf("%s \n",arr);
}
  A. you&me
  B. you
  C. me
  D. err
 答案: A
14 下列程序执行后的输出结果是
#define MA(x) x*(x-1)
main()
int a=1,b=2;
 printf("%d \n",MA(1+a+b));} /* 1+1+2*(1+1+2-1)=8
  A. 6
  B. 8
  C. 10
  D. 12
 答案: B
15 以下程序运行后,输出结果是
main 
char s[]="abcde"
s+=2// error C2106: '+=' : left operand must be l-value
printf"%ld\n"s);
}
  A. cde
  B. 字符cASCII码值
  C. 字符c的地址
  D. 出错
 答案: D
16 ij已定义为int类型,则以下程序段中内循环体的总的执行次数是
   for (i=5; i; i--) /* i=54321 */
    for(j=0; j < 4; j++){}
   
  A. 20
  B. 24
  C. 25
  D. 30
 答案: A
17 执行下面语句后的输出为( ) 
int i= -1;
if (i < =0)printf("****\n") 
else printf("%%%%\n")
  A. ****
  B. %%%%
  C. %%%%C
  D. 有语法错,不能执行
 答案: D  (else前缺少;)
18 语句:printf("%d \n",12&&12);的输出结果是
 
  A. 12
  B. 1
  C. 24
  D. 0
 答案: B
19 以下说法中正确的是(   )
 
  A. C语言程序总是从第一个的函数开始执行
  basic语言属于高级语言B. C语言程序中,要调用的函数必须在main()函数中定义
  C. C语言程序总是从main()函数开始执行
  D. C语言程序中的main()函数必须放在程序的开始部分
 答案: C
20 下述对C语言字符数组的描叙不正确的是(   )
  
  A. 字符数组可以存放字符串
  B. 字符数组中的字符串可以整体输入、输出
  C. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
  D. 不可以用关系运算符对字符数组中的字符串进行比较
 答案: C
21 C程序是(  
  A. 按顺序执行的
  B. Main函数开始
  C. 从函数体开始
  D. 任意语句
 答案: B
22 下列语句正确的是( ) 
  A. if(a > b > c) temp=a
  B. if((a=b) > 0) temp=a
  C. int a=b=c=4
  D. int a;scanf(%d,a)
 答案: B
23 以下关于字符串的不正确说法是( ) 
 
  A. 字符串长度就是字符串中字符的个数
  B. 字符串的尾部会自动追加一个"字符串结束标志"
  C. 字符串的长度为字符个数加1
  D. C语言中常用字符型数组来存放字符串
 答案: A
24 以下正确的说法是:在C语言中
  A. 实参和与其对应的形参各占用独立的存储单元
  B. 实参和与其对应的形参共占用一个存储单元
  C. 只有当实参和与其对应的形参同名时才共占用存储单元
  D. 形参是虚拟的,不占用存储单元
 答案: A
25 以下不正确的if语句形式是
  A. if(x>y&&x! =y)t=x++;
  B. if(x==y) x+=y;
  C. if(x!=y) scanf("%d",&x) else scanf("%d",&y);
  D. if(x<>
 答案: C ??
26 请阅读以下程序:
main( )
{
int a=5,b=0,c=0;
if(a==b+c) printf("***\n");
else   printf("$$$\n");
}
以上程序
  A. 有语法错不能通过编译
  B. 可以通过编译但不能通过连接
  C. 输出***
  D. 输出$$$
 答案: D
27 以下不正确的说法是:C语言规定
  A. 实参不可以是常量,变量或表达式
  B. 形参可以是常量,变量或表达式
  C. 实参可以为任何类型
  D. 形参应与其对应的实参类型一致
 答案: B
28 若有语句:char s1[]="string",s2[8],*s3,*s4="string2";则对库函数strcpy的错误调用是
  A. strcpy(s1,"string2");
  B. strcpy(s4,"string1");
  C. strcpy(s3,"string1");  //指针s3没有指向
  D. strcpy(s1,s2);
 答案: C
29 假定xydouble型,则表达式x=2,y=x+3/2的值是
  A. 3.500000
  B. 3
  C. 2.000000
  D. 3.000000  (3/2=1作为整型数据运算,应为:3.0/2.0)
 答案: D
30 以下程序的输出结果是
main()
char c='z';
printf("%c",c-25);
}
  A. a
  B. Z
  C. z-25
  D. y
 答案: A
31 有如下程序 
main()
int x=23;
do
printf("%d",x--);}
while(!x);
}
该程序的执行结果是
  A. 321
  B. 23
  C. 不输出任何内容
  D. 陷入死循环
 答案: B
32 设有说明语句:char a='\72';则变量a

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。