1.以下不能输出小写字母a的选项是
A)  printf("%c\n","a");
B)  printf("%c\n",'A'+32);
C)  putchar(97);
D)  putchar('a');
A
2.以下叙述中错误的是
A)  gets函数用于从终端读入字符串
B)  getchar函数用于从磁盘文件读入字符
C)  fputs函数用于把字符串输出到文件
D)  fwrite函数用于以二进制形式输出数据到文件
B
3.若要求从键盘读入含有空格字符的字符串,应使用函数
A)  getchar()
B)  getc()
C)  gets()
D)  scanf()
C
4.以下叙述中正确的是
A)  复合语句在语法上包含多条语句,其中不能定义局部变量
B)  花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的
C)  空语句就是指程序中的空行
D)  当用scanf从键盘输入数据时,每行数据在没按下回车键(Enter键) 前,可以任意修改
D
5.以下叙述中正确的是
A)  在scanf函数的格式串中,必须有与输入项一一对应的格式转换说明符
B)  只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度
C)  scanf函数中的字符串,是提示程序员的,输入数据时不必管它
D)  复合语句也被称为语句块,它至少要包含两条语句
A
6.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
A)  printf ("%c \n", 'a'-32);
B)  printf ("%d \n", 'A');
C)  printf ("%c \n", 65);
D)  printf ("%c \n", 'B'-1);
B
7.设有定义:int  x=7,y=12;,则以下表达式值为3的是
A)  y%=(x-x%5)
B)  y%=(x%=5) 
putchar函数
C)  y%=x-x%5
D)  (y%=x)-(x%=5)
D
8.有以下程序:
#include  <stdio.h>
main()
{  int s,t,A=10; double B=6;
s=sizeof(A);t=sizeof(B);
printf("%d,%d\n",s,t);
}
在VC6.0平台上编译运行,程序运行后的输出结果是(  )。
A)  10,6
B)  4,4
C)  2,4
D)  4,8
D
9.表达式3.6-5/2+1.2+5%2的值是
A)  4.3
B)  4.8
cssci学术论文网C)  3.3
D)  3.8
D
10.若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是(  )
A)  i=(a+k)<=(i+k);
B)  i=a%11;
C)  a=a++,i++;
D)  i=!a;
B
第四章 选择结构(分支结构)
有的语句执行0遍
考点一 if
int a=8;
if(a)printf("%d",a);
printf("%d",a);
88
if(表达式)一句话;或者{一段话}
表达式为真,执行后面的一句话;或者{一段话}
表达式为假,不执行后面的一句话;或者{一段话}
有以下程序段:
int  a, b, c;
a=10;  b=50;  c=30;
if (a>b)a=b,b=c;c=a;
printf("a=%d b=%d c=%d\n", a, b, c);
程序的输出结果是(  )。
A)  a=10 b=50 c=30
B)  a=10 b=50 c=10
C)  a=10 b=30 c=10
D)  a=50 b=30 c=50
B
考点二 if和else
int a=9;
if(a<4)printf("yes");
else printf("no");
no
if(表达式)一句话;或者{一段话}
else 一句话;或者{一段话}
达式为真,执行if后面的一句话;或者{一段话}
表达式为假,执行else后面的一句话;或者{一段话}
main()
{  int  a=0,b=0,c=0,d=0;
  if(a=1)  b=1;c=2;
  else    d=3;
  printf("%d,%d,%d,%d\n",a,b,c,d);
}
程序输出(  )。
A)  1,1,2,0
B)  0,0,0,3
C)  编译有错
D)  0,1,2,0
C
if和else之间不能有其他东西
把if和else看成一个整体
注意:当一个程序中有多个if和else时,注意else一定要和某个if配对使用
配对原则:
1.离else最近的if
2.没被其他else配过对的if
3.同一层次(同一对{}里面)的if
main()
{  int  x=1, y=0;
  if (!x)  y++;
  else if (x==0)
if (x)  y+=2;
        else  y+=3;
  printf("%d\n", y);
}
程序运行后的输出结果是(  )。
A)  3
B)  2
C)  1
D)  0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else  k=c;
else
if(b<c) k=b;
else  k=c;
以下选项中与上述if语句等价的语句是
A)  k=(a<b)?((b<c)?a:b):((b>c)?b:c);
B)  k=(a<b)?((a<c)?a:c):((b<c)?b:c);
C)  k=(a<b)?a:b;k=(b<c)?b:c;
D)  k=(a<b)?a:b;k=(a<c)?a:c;
考点三 switch
多分支结构
int a=90;
if(a==90) printf("优秀");
else if(a==80)
printf("良好");
else if(a==70)
printf("还行");
else if(a==60)
printf("及格");
else printf("不及格");
int a=90;
switch(a)
{case 90:printf("优");break;
case 80:printf("良");break;
case 70:printf("还");break;
case 60:printf("及");break;
default:printf("不及格");
}
switch(表达式)
{case 常量表达式:... 
case 常量表达式:...
通天源码论坛case 常量表达式:...
default:...
}
看表达式的值,用这个值和每个case后面的常量表达式比较,和哪个一样就执行哪个后面的语句。如果没有break,继续执行下一个case后面的语句。
如果有break,强制跳出switch大括号
如果和每个case后面的常量表达式都不一样,执行default后面的语句。
注意:
1.常量表达式必须是整型或者字符型
2.case和常量表达式之间必须有空格
3.default不一定在最后,但是一定等case都不匹配再看default
下列叙述中正确的是(  )。
A)  在switch语句中,不一定使用break语句
B)  在switch语句中必须使用default
C)  break语句必须与switch语句中的case配对使用
D)  break语句只能用于switch语句
A
若以下选项中的变量a, b, y均已正确定义并赋值,则语法正确的switch语句是
A)  switch( a*a+b*b )
{  default : break;
case  3 :  y=a+b;  break;
case  2 :  y=a-b;  break;
}
B)switch( a+b )
{ case1 : case3 :
y=a+b; break;
case0 : case4 : y=a-b;
}
C)  switch (a+9)
{  case  a : y=a-b;
case  b : y=a+b;
}
D)  switch  a*b
{  case  10 : y=a+b;
default  : y=a-b
;
}
A
若有定义:float  x=1.5;  int  a=1,b=3,c=2; 则正确的switch语句是(  )。
A)  switch(a+b)
{ case  1:  printf("*\n");
case  2+1:printf("**\n"); }
B)  switch((int)x);
{ case  1:  printf("*\n");
 case  2: printf("**\n"); }
C)  switch(x)
{ case  1.0:printf("*\n");
case  2.0:printf("**\n"); }
D)  switch(a+b)
{ case  1:  printf("*\n");
 case  c: printf("**\n"); }
A
有以下程序:
#include  <stdio.h>
main()
{ int  x=1, y=0, a=0, b=0;
switch (x)
{ case  1:
 switch(y)
 {case  0:a++;  break;
 case  1:b++;  break;
 } 
case 2:a++;b++; break;
case 3:  a++;  b++;
}
printf("a=%d,b=%d\n",a,b);
}
microsoft access2010程序的运行结果是(  )。
A)  a=2,b=2
B)  a=2,b=1
C)  a=1,b=1
D)  a=1,b=0
B
用strcat函数连接两个字符串以下选项中与
if(a==1)a=b;
else a++;
语句功能不同的switch语句是
A)  switch(a==1)
{case 0:a=b;break;
case 1:a++;
}
B)  switch(a)
{case 1:a=b;break;
default : a++;
}
magnitude作为坐标代表什么C)  switch(a)
{default:a++;break;
case 1:a=b; 
}
D)  switch(a==1)
{case 1:a=b;break;
case 0:a++;
}
A

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