1、:业专.线.:别系 .封.:名姓.密:|号 学C 语言程序设计试题一、选择题,(每小题1 分,共 10 分)1C 语言程序的执行特点是:A 、从第一个函数开始执行,直到最后一个函数结束B、从 main 函数的第一个语句执行,到最后一个函数结束C、从 main 函数的第一个语句执行,main 函数执行完成程序也就执行结束了D、从第一个函数开始执行,main 函数执行结束也就结束了2判断字符变量c 的值为小写字母的表达式为:A 、 a=c=a&c= zC、 a=c,c=a|c= z3下列程序段执行后程序的输出为int i=9, j=2;printf(i=%d,j=%d,i/j,i%j);A 、 i
2、=4.5,j=4B、 i=4,j=1C、 i=4,j=0.5D、 i=5,j=14执行下列语句的结果为i=8;printf( %d ,+i);printf( %d ,i+);A 、 8,8B、 8,9C、 9,8D 、9,95以下程序的输出结果是#include voidmain()int a=9,b=8,c=10,d;printf(n%d,d=a b? (a c? a:c):(b);A 、 8B、 9C、 10D 、06若 x,y 为整型变量且其值分别为6 和 2,执行以下语句后x 的值为x*=y+3;A 、 11B、 30C、 5D、 87下列数组声明过程不正确的是A 、 int a5=1
3、,2,3B 、 int a=1,2,3;C、 int n=10,an;D 、char a= Hello; 8若有以下程序段:int a5=1,2,3,4,5,*p;p=a;则表达式的值为 4。A 、 *a+3B、 &a3C、 *p+3D、 *(a+3)9下面程序段的运行结果是int c=1, 7, 12;int *k;k=c;printf(%d,*(+k);A 、 2B、 12C、 1D、 710下面程序的执行结果是int sum=0,a5=1,2,3,4,5,i;for(i=1;i0);2以下程序的输出结果为。#include int main( void) int i;for(i=0;i3
4、;i+)switch(c)case 0:case 1: printf(%c,c);break;default:printf(end);1 / 4: .线.: 系 .封.:名姓.密:|号学3若 X 是整型 量, 下面程序的 出 果 。#include int main( void) int i; for(i=3;i6;i+)printf(%3d,(i%2)=0?x:x+1)4 行下面程序后的 出 果 #inlcude float average (float array10)int i;float aver,sum=array0;for (i=1;i10;i+) sum=sum+arrayi;a
5、ver=sum/10;returnaver;int main(void ) float score10 89,67.5,78,91,56,82.5,65,70,79,88,aver;aver=average (score);printf (“ average score is %5n”.2f,aver);5以下程序的功能是 入一批整数,以零作 束 志,分 求出 入的整数中的偶数、奇数的平均 , 将程序 充完整。#include int main(void)int x,i=0,j=0;float s1=0,s2=0,av1,av2;scanf(%d,&x);while(( 1))if(( 2))
6、( 3)i+;else( 4)j+;scanf(%d,&x);if(i!=0)av1=s1/i;elseav1=0;if(j!=0)av2=s2/j;elseav2=0;printf(oushujunzhi:%7.2fnjishujunzhi:%7.2fn,av1,av2);三、 程 (每小 10 分,共 50 分)1 入一个正整数n, 算 1 1/3+1/5+的前 n 和, 出 保留2 位小数。2 入一个正整数n,再 入n 个学生的成 , 其中高于80 分(包含80 分)、6080 分(包含60分)及 60 分以下的学生的人数。 入 出示例:Input n:6Input6scores: 97
7、4586667578number( 80)=2number(6080)=3number(60)=13 入一批正整数(以-1 作 束 志) ,求其中的奇数和。要求定 和 用函数even(n)判断数的奇偶性,当 n 偶数 返回1,否 返回0。#include int even(int i)return(i%2=0)?1:0);Void main()int j=0,a10,sum=0;Printf( “ 入一批正整数:n” );4Scanf( “ %d” ,&a0);While(aj!=-1)if(!even(aj)sum=sum+aj;Scanf( “ %d” ,aj);J+;Printf(“ %
8、d” ,sum);2 / 44输入一个正整数 n( 1n=20 ),再输入 n 个整数,输出最大值及其下标(要求用一维数组实现,设最大值唯一,下标从 0 开始)。#include Void main()Int i,j,a100,m,n;Printf( “输入一个正整数:(1n=20)n ”);Scanf( “ %d” ,&n);Printf( “输入 n 个整数: n” )For(i=0;in;i+)Scanf( “ %d” ,&ai);M=a0;For (i=1;im)M=aij=i;Prinf (“ max=%d,j=%d ” ,m,j);5读入一个正整数n( 1n=6 ),再输入 n 阶
9、矩阵 a,分别输出该矩阵主对角线和副对角线上元素的和。输入输出示例:Input n:3Inputarray:123012231s1=3s2=6#include Void main()Int n,a100100=1,2,3,0,1,2,2,3,1;Int sum=0 ,I,jScanf( “ %d” ,&n);for(i=0;in;i+)for(j=0;jn;i+)if(i=j | i+j=n-1)sum+=aij;printf(“ %d” ,sum);四、附加题(10 分,总分超过100 分按 100 分计)先定义长度为10 的数组 a,然后输入n 个整数,对这n 个整数排序后输出数组元素。要求输入输出在主函数中完成,排序由函数sort(a,n)来完成。3 / 4:业专.线.:别系 .封.:名姓.密:|号学.北 京 工 业 大 学 耿 丹 学 院( 2008 / 2009 )学年第 2 学期期末试题A 卷考试课程: C 语言程序设计答题卡(可将答案写在反面)一、 (每小 1 分,共 10 分)。题号12345答案题号678910答案二、 程序填空。(每 8 分,共 40 分)。12345( 1)( 2)( 3)( 4)三、 程 (每 10 分,共 50 分)。4 / 4