(第一章)
1. 以下关于算法的描述不正确的是__________。
A. 任何一个问题,它的实现算法是唯一的
B. 描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等
C. 算法的最终实现是计算机程序
D. 正确性和清晰易懂性是一个好算法的基本条件
2.下面是一个加法程序,指出存在的逻辑错误和语法错误。
/* 求整数a和b的和 */
main( )
{
  int a,b;
  a=8;
  b=2000;
  print("%d\n",a-b);
}
3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。
A.main        B. MAIN        C. name        D. function
4.以下叙述不正确的是__________。
A.C程序书写格式规定,一行内只能写一个语句
B.main()函数后面有一对花括号,花括号内的部分称为函数体
C.一个C程序必须有main()函数
D.C规定函数内的每个语句以分号结束
5.以下各标识符中,合法的用户标识符为_________。
A.A#C        B.mystery      C.main        D.ab*
6.已知求解某问题的算法如下:
⑴ 输入a、b、c三个数。
⑵ 将a和b比较,较大者放在a中,小者放在b中。
⑶ 将a和c比较,较大者放在a中,小者放在c中。
⑷ 将b和c比较,较大者放在b中,小者放在c中。
⑸ 依次输出a、b、c。
请根据上述算法描述,把算法的功能表达出来。
【答案】把任意输入的三个数a、b、c按降序排列的顺序输出。
7.一个C语言程序可以包括多个函数,程序总是按照如下_________所描述的方式执行当前的程序。
A.从本程序的main()函数开始,到本程序文件的最后一个函数结束。
B.从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C.从main()函数开始,到main()函数结束。
D.从本程序文件的第一个函数开始,到本程序main()函数结束。
8.以下叙述正确的是_________。
A.在C程序中,main()函数必须位于程序的最前面。
B.C程序的每行中只能写一条语句。
C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
D.C语言本身没有输入输出语句。
答案:
1. A
2.语法错误是print, 应该为printf;逻辑错误是a-b,应该为a+b。
3.A  4.A    5.B
6.把任意输入的三个数a、b、c按降序排列的顺序输出。
7.C    8.D
C语言测试题(第二章)
1.C语言中的实数可以写成不同表示形式,下列表示形式中正确的是_________。
A.5.4321        B.5.43E2.1    C.e5.4321      D.e6
2.下列程序执行后的结果是_________。
main()
计算机二级c语言选择题库{
  int x='f';
  printf("%c\n", 'A'-'a'+x));
}
3.能正确表示数学描述中0≤a≤10的C语言表达式是________。
A.a>=0&a<=10          B.a>=0||a<=10
C.a>=0&&a<=10         D.0≤a&&a≤10
4.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是________。
A.-3          B.9          C.-12          D.6
5.假设所有变量均为int型,则表达式(a=2,b=5,b+1,a+b)的值是________。
A.7          B.8          C.6            D. 2
6.执行下面程序段后,y的结果是________。
int x,y;
x=y=2;
x=x-2&&(y=y+1);
printf("%d",y);
A. 3          B. 2          C. 1            D. 0
7.表达式(int)1.7*2+8/3-3%2的值是_________。
A. 2          B. 3          C. 4            D. 5
答案:
1. A
2. F
3. C
4. C
5. A
6. B
7. B
C语言测试题(第三章)
1.以下程序的输出结果是________。
main()
{
  int k=8765;
  printf("*%-06d*\n",k);
}
A.输出格式描述符不合法          B.*008765*
C.*8765*                      D.*-08765*
【答案】 C.
2.有程序段如下:
int i;
float f;
scanf("i=%d,f=%f",&i,&f);
若要求把数值100和765.12分别赋给变量i和f,则正确的输入格式为________。
A.100765.12              B.i=100,f=765.12
C.100,765.12              D.i=100f=765.12
【答案】B
3.有程序如下:
main()
{
  int i;
  float x,y;
  scanf("%2d%f%*d%f",&i,&x,&y);
  printf("%d,%f,%f\n",i,x,y);
}
执行该程序时,若按如下形式输入数据,则输出结果是________。
输入数据:567890123445
A.56,789.000000,45.000000        B.56789,123.000000,45.000000
C.56,789.000000,123.000000        D.56,789.000000,123445.000000
【答案】A
4.输入字母a时,下列程序的执行结果是________。
#include "stdio.h"
main()
{
  char ch;
  ch=getchar();
  (ch>='a'&&ch<='z')?putchar(ch+'A'-'a'):putchar(ch);
}
【答案】输出大写字母A
C语言测试题(第四章)
1.下面是由if构成的一个程序段:
if(a<b)
{
    if(d==c)
      x=1;
}
else
    x=2;
该程序段所表示的逻辑关系对应的表达式是________。
A.        B.
C.        D.
2.以下程序的运行结果为________。
main()
{
  int x=2,y=-1,z=2;
  if(x<y)                /* 第一个if */
    if(y<0) z=0;        /* 第二个if */
    else z+=1;
  printf("%d\n",z);
}
A.3              B.2            C.1            D.0
3.有程序段如下:
int a=1,b=2,c=3;
if(a>b)
  c=a; a=b; b=c;
执行该程序段后,变量a、b、c的值是__________。
A.a=1,b=2,c=3                B.a=2,b=3,c=3
C.a=2,b=3,c=1                D.a=2,b=3,c=2
4.有程序如下:
#include "stdio.h"
main( )
{
  int c;
  while((c=getchar())!='\n')
    switch(c-'2')
    {
      case 0:
      case 1:putchar(c+4);
      case 2:putchar(c+4);break;
      case 3:putchar(c+3);
      default:putchar(c+2);break;
    }
  printf("\n");
}
若运行该程序时,按如下形式从键盘输入数据,则程序的运行结果为________。
输入数据:2473
A.668977                      B.668966
C.66778777                    D.6688766
5.执行下面的程序段后,a和b的值分别为________。
int a=3,b=5,c;
c=(a>--b)?a++:b--;
A.3,2          B.3,3          C.4,4          D.4,5
答案:
1. D
2. B
3. B
4. A
5. B
C语言测试题(第五章)
1.有程序段如下:
int k=10;
while(k=0)
  k=k-1;
则下面描述中正确的是________。
A.语句“k=k-1;”被执行10次
B.语句“k=k-1;”被执行无限多次
C.语句“k=k-1;”一次也不执行
D.语句“k=k-1;”只执行一次
2.有程序段如下:
int k=10;
do
{
  k=k-1;
}while(k>=0);
则下面描述中正确的是________。
A.语句“k=k-1;”执行1次
B.语句“k=k-1;”执行10次
C.语句“k=k-1;”执行11次
D.语句“k=k-1;”执行12次
3.下面是一个程序段:
int x,y;
for(y=1,x=2;y<=50;y++)
{
  if(x>=10)break;
  x+=5;
}
执行该程序段后,x值为________。 
A. 2        B. 7          C. 12          D. 15
4.有程序段如下:
int i,j;
for(i=5;i;i--)
  for(j=1;j<5;j++)
  {
    ......
  }
假若内循环体内不存在中止循环的控制语句,则内循环体执行的总次数为________。
A. 20          B. 24          C. 25          D. 30
5.下面是一个循环控制程序:

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