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