资源描述
试卷代号:____
座位号:
广东理工职业学院2010-2011学年度第一学期期末考试
10级 软件技术等专业《程序设计基础》正考试题
2011年1月
年级班级________________ 姓名_____________ 学号_______________
题号
一
二
三
四
五
总分
分数
得分
评卷人
一、单项选择题:(每小2 分,共20 分)
1. C语言可执行程序的开始执行点是( )。
A、程序中第一条可执行语句 B、程序中第一个函数
C、程序中的main函数 D、包含文件中的第一个函数
2. 以下变量名正确的是( )
A、%a B、12a C、else D、a123
3. 定义int a=8,b=5,c;执行c=a/b+0.4后c的结果为:( )
A、1.4 B、1 C、2.0 D、2
4. 定义符号常量的关键字是:( )
A、大写字母 B、goto C、include D、define
5. 下列说法中正确的是( )。
A、在switch语句中一定要使用break语句
B、在switch语句中不一定要使用break语句
C、break语句是switch语句的一部分
D、break只能用于switch语句中
6. C语言程序的三种基本结构是( )
A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构
C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构
7. 根据a、b的值输出“a>b”或“b>a”的信息。下面程序段不正确的是:( )
A、 switch (a , b)
{ case a>b: printf(“a>b”);break;
case b>a: printf(“b>a”);break;
}
B、switch (a >b)
{ case 1: printf(“a>b”);break;
case 0: printf(“b>a”);break;
}
C、if (a>b) printf(“a>b”);
if (a<b) printf(“b>a”);
D、if (a>b) printf(“a>b”);
else printf(“b>a”);
8. 若有int i,j; 则下面语句中循环体执行的次数为:( )
for (i=1;i<6;i++)
for ( j=1; j<=3;j++)
{ 循环体 }
A、9 B、15 C、18 D、 24
9. 一维数组定义错误的是:( )
A、int a[]={1,2,3}; B、int a[10]={0}; C、int a[]; D、int a[5];
10. 若有二维数组定义:int a[][3]={{1},{2}};那么a[1][1]的值为:( )
A、随机值 B、2 C、1 D、0
得分
评卷人
二、填空题:(每空2分,共10分)
1. 执行putchar(‘a’+3)的执行结果为( )。
2. 已知a=3.5,b=4,c=8.1,则表达式a>b && c>a ||a<b && !c<a的值为( )。
3. 有定义int a,x;则a能被x整除的表达式为( )。
4. 从键盘输入一个字符,判断该字符是不是字母。
#include<stdio.h>
void main()
{
char ch;
ch=getchar;
if ( )
printf("该字符是字母!");
else
printf("该字符不是字母!");
}
5. 下程序执行完成后sum的结果是( )。
void main( )
{ int i=1 , sum=0;
while (i<6)
{ sum+=i;
i++;
}
printf("%d\n",sum);
}
得分
评卷人
三、改错题:(每小题2分,共10分)
请在以下程序的错误之处改正。
1. 输出两数之和。
# include <stdio.h>
void main()
{ int a,b;
scanf(“%d%d”,a,b);
printf(“%d”,a+b);
}
2. 当x与y值相等时,输出“两个数值相等”的信息。
# include <stdio.h>
void main()
{ int x=3, y=5;
if(x=y)
printf(“两个数值相等”);
}
3. 输入若干字符,以换行退出。统计其中数字字符、空格、其他字符的个数。
# include <stdio.h>
void main()
{ int num=0,blan=0,other=0;
char c;
while (1)
{ c=getchar();
if ( c==’\n’)
break;
if ( c >=0 && c<=9)
num++;
if (c ==’ ’)
blan++;
else
other++;
}
}
4. 打印30~50中的偶数。
# include <stdio.h>
void main()
{ int x;
for(x=30,x<=50,x+=2)
printf(“%d”,x);
}
5. 输出数组的所有元素。
# include <stdio.h>
void main()
{ int a[10]={1,2,3,4,5},i;
printf(“%d”,a);
}
得分
评卷人
四、程序阅读题,写出输出结果。(每小题5分,共40分)
1. # include <stdio.h>
void main()
{ int 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);
}
2. # include <stdio.h>
void main()
{ int a=1,b=0;
switch (a)
{ case 1: switch (b)
{ case 0: printf("**0**"); break;
case 1: printf("**1**"); break;
}
case 2: printf("**2**"); break;
}
}
3. # include <stdio.h>
void main()
{ int a=2,b=3,c;
c=a;
if (a>b)
c=1;
else if (a==b)
c=0;
else
c=-1;
printf("%d\n",c);
}
4. # include <stdio.h>
void main()
{ int n;
for (n=3; n<=10; n++)
{
if (n%5= =0)
continue;
printf(“%d ,”,n);
}
}
5. # include <stdio.h>
void main()
{ float i ,s=1,t=1;
for (i=1;i<=8;i++)
{
t*=2;
s+=t;
}
printf("s=%f\n",s);
}
6. # include <stdio.h>
void main()
{
int m=123,n=0,x=m;
while (x>0)
{ n=n*10+x%10;
x/=10;
}
printf(“m=%d,n=%d\n”,m, n);
}
7. # include <stdio.h>
void main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=2*i-1;j++)
printf("%d",j);
printf("\n");
}
}
8. # include <stdio.h>
void main( )
{ int i,k=0,a[5],b[5];
for(i=0;i<5;i++)
a[i]=i+1;
for(i=0;i<5;i++)
b[i]=i*2;
for(i=1;i<4;i++)
k+=b[i+1]-a[i-1];
printf("%d\n",k);
}
得分
评卷人
五、编制程序流程图(每小题10,共20分)
如果使用了变量,请注明所使用变量存放的具体内容。
1. 某托儿所接受了50名2~6岁的孩子,其中2~3岁的进入小班,4岁的进入中班,5~6岁的进入大班,统计小班、中班、大班的人数。
2. 输出如下图案,图案中不含空格:(使用一重循环实现,满分为:5分;使用两重循环实现,满分为:10分)
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
6 / 6
展开阅读全文