《C语言程序考试试题试卷6》由会员分享,可在线阅读,更多相关《C语言程序考试试题试卷6(6页珍藏版)》请在金锄头文库上搜索。
1、 1 C 语言程序设计模拟试卷语言程序设计模拟试卷 (考试时间 120 分钟) 一、选择题一、选择题(共 20 题,每题 2 分,共 40 分) 、有以下定义: int a43=1,2,3,4,5,6,7,8,9,10,11,12 int (*ptr)3=a,*p=a0; 则下列能够正确表示数组元素 a12的表达式是 。 A)*(*ptr+1)2) B)*(*(p+5) C)(*ptr+1)+2 D)*(*(a+1)+2) 、下面程序的输出结果是 。 # include void main ( ) int a33=1,2,3,4,5,6,7,8,9; int s=0,i; for (i=0;i
2、 #define AREA(x,y) x*y; main() int i; i=AREA(3+2,3) printf(“%d”,i); A)9 B)程序出错 C)死机 D)15 11、以下程序的输出结果是 。 main( ) int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i=0 *max=*min=0; for(i=1;ia*max) ; else if(aia*min) ; return; void main( ) int a =5,8,7,6,2,7,3; int max,min; find( ); printf(“nmax=%d,min=%d“,m
3、ax,min); 、下面的程序当输入为字符串”qwert?”时的输出结果是 Main() char c; while(c=getchar()!=?) putchar(+c); 、假设有如下语句: int a;float b,c; scanf(“%2d%3d%4f“, printf(“na=%d,b=%f,c=%fn“,a,b,c); 若从键盘输入:9876543210 5 则输出应为: 、下面的函数用于实现将一个字符串按逆序存放。 Void convert(char s) char m;int i,j; for (i=0,j=strlen(s);i ;i+,j+) m=si; si= ; sj
4、-1=m; printf(“%sn”,s); 、以下函数 fun 的功能是用选择排序法对数组的数据按从小到大的顺序排列。 void fun(int a ,int n) int i,j,k,temp; for(i=0;in-1;i+) k=i; for(j=i+1; ;j+) if(ajak) k=j; if( ) temp=ak; ak=ai; ai=temp; 、函数 fun,其功能是求两个整数的最大公约数 fun(int x,int y) int a,b,t,r; a=x; b=y; while( ) a=b; return (b); 以下程序中,主函数调用了 LineMax 函数,实现在
5、 N 行 M 列的二维数组中,找出每一行上 的最大值。请填空。 6 #define N 3 #define M 4 void LineMax(int xNM) int i,j,p; for(i=0;iN;i+) p=0; for(j=1;jM;j+) if(xipxij) ; printf(“The max value in line %d is %dn“, i,xip); main() int xNM=1,5,7,4,2,6,4,3,8,2,3,1; ; 三、判断题三、判断题(每小题 2 分,共 20 分) ( )、C 语言允许在复合语句内定义自动变量。 ( )、全局变量可以和局部变量重名,
6、且全局变量优先。 ( )、若一个函数的返回类型为 void,则表示其没有返回值。 ( )、在程序运行过程中,系统分配给实参和形参的内存单元是相同的。 ( )、对于 Continue 和 break 这两条语句,只有 break 可用来实现循环体的中止。 ( )、已知 char c=A;int i=1,j;执行语句 j=!c则 i 和 j 的值分别是,。 ( )、所有定义在主函数之前的函数无需进行声明。 ( )、&既可以用作单目运算符也可以用作双目运算符 ( )、宏定义和文件包含都是 C 语言中的编译预处理命令,对它们的处理是在编译前完 成的。 ( )、一个函数利用 return 不可能同时返回多个值。 四、编程题:四、编程题: (10 分) 编程打印如下的杨辉三角形,具体要求如下: (1)从主函数中输入欲打印的杨辉三角形行数; (2)用子函数实现杨辉三角形的显示;