1、 C 语 言课 第 1 页 共 6 页四川建筑职业技术学院 2003 年春期末考试 C 语言试卷 考试试卷 A考试方式:闭卷 考试时间: 120 分钟题 号 一 二 三 四 五 六 七 八 总 分得 分签 字一、选择题(每题 2 分,共 40 分)1、C 语言的运算符按运算对象的数目可以分为( )A、单目运算符 B、单目和双目运算符C、单目、双目和三目运算符 D、单目、双目、三目和四目运算符 2、下列常数中不能作为 C 的常量的是( )A、0xA5 B、2.5E-2 C、3e2 D、05823、 已知:char a=70;则变量 a 中( )A、包含 1 个字符 B、包含 2 个字符 C、包含
2、 3 个字符 D、说法非法4、 已知:int y;float x=-3;执行语句:y=x%2;则变量 y 的结果是( )A、1 B、-1 C、0 D、语句本身是错误的5、 已知:unsigned int x=65535,则执行 printf(“%dn” ,x) ;语句后的 x 值为( )A、65535 B、1 C、无定值 D、-16、 若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表达式为( )A、a0 B、!a C、a=0 D、a7、 C 语言对嵌套 if 语句的规定是:else 总是与( )配对A、其之前最近的 if B、第一个 if C、缩进位置相同的
3、 if D、其之前最近的且尚未配对的 if8、 已知:int x,a,b;下列选项中错误的 if 语句是( )A、 if(a=b)x+;B、if(a=main( )int a,b,t=0;scanf(“%d%d”,if(a = 2)t=a,a=b,b=t;printf(“%d,%dn”,a,b);A、2,0 B、2,2 C、2,1 D、1,218、请选择下列程序的运行结果( )#include try ( ) static int x=3;x+;return (x);main ( ) int i,x;for ( i=0; i3)%5;print(“%2d”,ai);A、-3-4 0 4 0 4
4、 B、-3-4 0 4 0 3 C、-3-4 0 4 4 3 D、-3-4 0 4 4 020、阅读下列程序,选择程序的运行结果( )#include main( ) int i,k,a10,p3;k=5;for(i=0;imain ( ) int x=10;func ( x );printf(“%dn”,x);func ( int x) x=20;6、以下程序输出的最后一个值是 。int ff(int n) C 语 言课 第 4 页 共 6 页 static int f=l;f=f*n;return f;main() int i;for(i=1;imain( )int i,j;for (i=
5、3;i=100;i+)for(j=2;j=i-1;j+)if( )break;if( )printf(“%4d “,i);8、程序读入 20 个整数,统计非负数个数,并计算非负数之和,请填空:#include “stdio.h”main( ) int i,a20,s,cout;s=count=0;for (i=0;i20;i+)scanf(“%d”, );for (i=0;i20;i+) if (ai0);s+=ai;count+;printf(“s=%dt count=%dn”,s,count);9、 华氏和摄氏温度的转换公式为 C=5/9*(F-32) ,其中 C 表示摄氏的温度,F表示华
6、氏的温度。要求输出从华氏 0 度到华氏 300 度,每隔 20 度输出一个值。请填空。main ( ) int upper,step;float fahr=0,celsius;upper=300;step=20; C 语 言课 第 5 页 共 6 页while ( upper) ;printf(“%4.0f,%6.1f n”,fahr,celsius);;10、下面的函数 invert 的功能是将一个字符串的内容颠倒过来。viod invert(char str )int i,j, ;for(i=0,j=strlen(str) ;ij;i+,j-)k=stri;stri=strj;strj=k;三、编写程序(共 3 题,每题 30 分)1、 打印出所有的“水仙花数” ,所谓“水仙花数”是指一个 3 位数,其各位数字立方和等于该数本身。例如,153 是一水仙花数,因为153=13+53+33。 C 语 言课 第 6 页 共 6 页2、用选择法对 10 个整数排序。 (要求用数组实现) 。3、写一函数,使给定的一个二维数组(33)转置,即行列互换。