中午好 ,今天是: 2024年11月22日
|
|
|
|
|
|
 
单元练习
第1章 C语言程序设计基本知识
第2章 算法及其描述
第3章 数据类型及表达式
第4章 结构化程序设计
第5章 数组
第6章 函数与预处理
第7章 指针
第8章 结构体、共用体和枚举类型
第9章 位运算
第10章 文件
模拟测试
模拟测试一
模拟测试二
模拟测试三
模拟测试三
发布人:
陈裕雄
一、选择题(每小题1分,共10分)
1.以下用户标识符错误的是(      )。
A._123         B.For         C.2a           D.ABC1 

2.下列表示回车换行的是(      )。
A.\t          B.\n           C.\b           D.\r 

3.设a是整型,b是实型,c是双精度型,则表达式2+' a '+b*c值的数据类型是(   )。
A.int         B.char        C.double       D.float

4.下列各项中用于构成循环结构的是(        )
A.While       B.for         C.if           D.switch

5.C程序由(         )组成。
A.过程        B.子程序        C.函数       D.主程序和子程序

6.在TC环境下,C源程序文件名的默认后缀是(       )。
A..c          B..dsp          C..obj       D..exe

7.以下程序运行结果是:(        )
#include<stdio.h>
main()
{
do
{
       printf("你好!");
} while(3)
   }
A.无限次输出:"你好!"                   B.输出1次"你好!" 
C.输出3次"你好!"                        D.编译错误,不能运行

8.C语言中主函数的个数是(          )
A.1个         B.2个        C.3个       D.任意个

9.以下语句错误的是(          )
A.if(x>y)  x--; y--; else x++; y++;                   B.if(x<y); 
C.if(x!=y)  scanf ("%d",&x); else  x++;               D.if(x)  x+=y;

10.执行下面的程序段后,变量k中的值是(          )。
int k=3,s[2];
s[0]=k;k=s[1]*10;
A.33         B.30        C.10       D.不定值

二、填空题(每空1分,共10分)
1.在C语言中,主函数名是              。
2.while循环语句,循环体至少被执行            次。
3.do……while循环语句,循环体至少被执行             次。
4.整形数组a[10][20]有            个元素。
5.定义在函数之外的变量称为全局变量,定义在函数之内的变量称为              变量。
6.表示宏定义的关键字是#           。
7.定义指针变量时,需在变量名前加一个符号:             。
8.               语句表示跳出switch语句或循环语句。
9.               语句只用于循环语句,表示结束本次循环。
10.               语句表示函数返回,多用于函数调用。

三、看程序写结果(共10分)
1.程序1:(2分)
#include<stdio.h>
main()
{
  int i=0,j;
  j=i++;
  printf("%d,%d\n",i,j);  
}
运行结果是:(         )                   

2.程序2:(2分)
#include<stdio.h>
main()
{
 
  int i=2,j;
  j=--i;
  printf("%d,%d\n",i,j);  
}
运行结果是:(         )                   

3.程序3:(3分)
#include <stdio.h>
main()
{
int a[50],j,k=0;
for (j=0; j<50; j++ )
a[j]=j;
for (j=0; j<2; j++ )
k+=a[j]+j;
printf("%d\n",k);
}
运行结果是: (         )                  

4、程序4:(3分)
#include <stdio.h>
int func(int a)
{
static int i=0,m=1;
i++;
m+=a+i;
return(m);
}
main()
{
int k=1,p,q;
p=func(k);
q=func(k);
printf("%d,%d\n",p,q);
}
运行结果是:(          )                   

四、程序填空题(每空2分,共20分)
1.下面的程序判断输入的一个年份是否是闰年(闰年的定义:能被4整除但不能被100整除,或者能被400整除),请补充完善。
#include <stdio.h>
main()
{
int i,year;
scanf("%d", (1) );
if (year<=0)
  printf("年份必须是一个正整数。\n");
else
         {
           i=(year%4==0 && year%100!=0 (2) year%400==0);
           switch(i)
  {
             case (3) :printf("%d年是闰年。\n",year); (4) ;
    case (5) :printf("%d年不是闰年。\n",year);break;
           }
         }
}
2.下面的程序将输出一个二维整型数组,请补充完善。
#include <stdio.h>
main()
{
int i,j,a[2][3]={{1},{0,1},{0,0,1}};
for(i=0;(1);i++)
{
  for(j=0; (2) ;j++)
    printf("%d  ", (3) );
  printf("\n");
}
}

3.以下函数的功能是:把两个整数指针的存储单元中的内容进行交换。
exchange(int *x,int *y)
{
  int t;
  t=*y; *y=(1); *x=(2);
}

五、编程题(共50分)
1.从键盘输入姓名和年龄,并打印出来。(15分)


2.编写一个程序,计算1+3+5+……+99的值。(15分)


3.设计一个猜字游戏,从键盘输入一个整数,如果等于10,显示“good!”,如果大于10,显示“bigger!”,如果小于10,显示“smaller!”,最多猜3次。(20分)
答案:
一、选择题(每小题1分,共10分)
题号 1 2 3 4 5 6 7 8 9 10
答题 C B C B C A A A A D

二、填空题(每空1分,共10分)
1、main     2、 0        3、 1  4、 200          5、 局部      
6、define   7、 *        8、 break    9、 continue     10、return 

三、看程序写结果(共10分)
1、运行结果是:  1,0  
2、运行结果是:  1,1  
3、运行结果是:  2    
4、运行结果是:  3,6  

四、程序填空题(每空2分,共20分)
1、(1)&year   (2)  ||   (3) 1  (4) break   (5) 0  
2、(1) i<2(或者i<=1)     (2) j<3(或者j<=2)        (3)  a[i][j] 
3、(1)  *x                 (2)  t 
  
五、编程题(共50分)
1、从键盘输入姓名和年龄,并打印出来。(15分)
#include<stdio.h>
main()
{
 char Name[10];
 int Age;
 gets(Name);
 scanf(“%d”,&Age);
 puts(Name);
 printf(“%d\n”,Age);
}

2、编写一个程序,计算1+3+5+……+99的值。(15分)
方法1:
#include<stdio.h>
main()
{
  int i,s=0;
  i=1;  
  while(i<=99)
  {
    s+=i;
    i=i+2;  
  }
  printf("%d\n",s);
}

方法2:
#include<stdio.h>
main()
{
  int i,s=0;
  i=1;  
  do
  {
    s+=i;
    i=i+2;  
  }while(i<=99);
  printf("%d\n",s);

}

方法3:
#include<stdio.h>
main()
{
  int i,s=0; 
  for(i=1;i<=100;i=i+2)
  {s+=i;}
  printf("%d\n",s);
}

3、设计一个猜字游戏,事先随机产生一个一位的整数,再从键盘输入一个整数,如果猜对了,显示“good!”,如果猜大了,显示“bigger!”,如果猜小了,显示“smaller!”,最多猜3次。(20分)
#include<stdio.h>
main()
{
 int i,a;
 for(i=0;i<3;i++)
 {
   scanf("%d",&a);
   if(a==10)
   {
    printf("good!");
    break;
   }
   else if(a>10)
    printf("bigger!");
   else
    printf("smaller!");
 }
}
 

Copyright©2012,All Rights Reserved
版权所有:广东南方职业学院计算机系 设计:陈裕雄