2、>voidmain(void){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf(“%d”,a);}A)31B)13C)10D)204、以下程序的输出结果是()。#includevoidmain(void){inta=5,b=4,c=6,d;printf(“%d”,d=a>b?(a>c?a:c):b);}A)5B)4C)6D)不确定5、执行以下程序后的输出结果是()#i
3、ncludevoidmain(void){chara[]=”abc abc”;printf(“%s”,a);}A)abc abcB)abcC)abc D)abc6、当调用函数时,实参是一个数组名,则向函数传送的是()。A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值7、执行以下程序后,a的值为()。int*p,a=10,b=1;p=&a;a=*p+b;A)12B)编译出错C)10D)118、以下正确的叙述是()。A)在C语言中,main函数必须位于文件的开头B)C语言每行中
4、只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误9、以下程序的输出结果是()。voidmain(void){inta=4,b=5,c=0,d;d=!a&&!b
5、
6、!c;printf(“%d”,d);}A)1B)0C)非0的数D)–110、执行以下程序段后,变量y的值是()。intx,y;x=1;y=(++x*5);A)5B)10C)15D)20单项选择题答题卡12345678BBACDBDC910AB评分标准:每题选对满分,选错0分。评阅人得分二、分析结果题(20分)1
7、、(9分)#includevoidf(intc){inta=0;staticintb=0;a++;b++;printf("%d:a=%d,b=%d",c,a,b);}voidmain(void){inti;for(i=1;i<=3;i++)f(i);}运行结果为:1:a=1,b=12:a=1,b=23:a=1,b=3评分标准:写对一行给3分,全写对给9分。2、(11分)#includevoidmain(void){intnum,c;num=2004;do{c=num%10;printf(
8、"%d",c);}while((num/=10)>0);printf("");}运行结果为:4002评分标准:写对11分,否则0分。评阅人得分三、程序填空题(每空4分,共20分)1、求1!+2!+3!+。。。+10!#includevoidmain(void){floats=0,t=1;intn;for(n=1;n<=10;n++){t=t*n;s=s+t;}printf(“1!+2!+3!+。。。+10!=%f”,s);}评分标准:写对一个空4分。2、以下函数的功能是,把两个整数指针所指的存储单元中的内
9、容进行交换。voidexchange(int*x,int*y){intt;t=*y;*y=*x;*x=t;}评分标准:写对一个空4分。评阅人得分四、程序设计题(30分)(1)sum=2+5+8+11+14----,输入正整数n,求sum的前n项和。(10分)voidmain(){intn,i,t,sum=0;//1分scanf("%d",&n);//1分t=2;//1分for(i=1;i<=n;i++)//2分{sum=sum+t;//2分t=t+3;//2分}printf("sum=%d",sum);//1分}(2)今有10
10、0块砖,需100人来搬,男搬4,女搬3,两个小孩搬一砖。问男、女、小孩各几何?(8分)#include"stdio.h"voidmain(){intman,woman,child;//1分for(man=0;man<=100;man++)//1分for(woman=0;wom