1、黄石理工学院 高级语言程序设计试卷 1第 1 页 共 3 页考试方式 闭卷 制卷分数题 号 一 二 三 四 五 总分得 分得分 阅卷人 一、判断题 ( 每小题 2 分,共 40 分)1一个 C 程序总是从_A)主过程开始执行 B)主函数开始执行C)子程序开始执行 D)主程序开始执行2若有代数式 2lnxcosx/3x,则正确的 C 语言表达式是_A)2*ln(x)*cos(x)/3*x B)2*ln(x)*cos(x)/(3*x)C)2*log(x)*cox(x)/3*x D)2*log(x)*cos(x)/(3*x)3若有以下类型说明语句:char a; int b; flaot c; ou
2、ble d; 则表达式 a*b+d-c 的结果类型为_A)float B)char C)int D)double 4已知字母 A 的 ASCII 码为十进制数 65,变量 ch1 为字符型,则执行语句ch1=A+6-3; 后,ch1 中的值是_A)D B)68 C)一个不确定的值 D)C5putchar 函数可以向终端输出一个_A)整型变量值 B)实型变量值 C)字符串 D)字符或字符型变量值6已知 a,b,c 为 int 型变量,若有输入语句:scanf (“a=%db=%dc=%d ”, 为使 a 值为,b 值为,c 值为,从键盘输入数据的正确型式应当是_A)123 B) a=1b=3c=
3、2C) 1 3 2 D) a=1 b=3 c=27判断 char 型 变量 c1 是否为大写字母的正确表达式_A) A=A) if(a!=0) if(a0)x=1;else x=0; A) B) C) D) 0)1(a-x)(-0)1(a-x)(-9以下关于 switch 语句和 break 语句的描述中正确的是_A) 在 switch 语句中必须使用 break 语句 B) break 语句只能用于 switch 语句中C) break 语句只能用于循环体中 D) 在 switch 语句中使用 break 语句或 continue 语句作用相同10以下对一维数组 a 的正确说明是_A)cha
4、r a(10); B) int a ; C) int k=5,ak; D) char a =a,b,c;11若有说明语句: int a 3=1,2,3,4,5,6,7,8; ,则 a 数组的行数为_A)3 B)2 C)无确定值 D)1 12若二维数组 y 有 m 列,则在 yij前的元素个数为_ A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+113C 语言允许函数值类型的缺省定义,此时该函数值隐含的类型是_A)float 型 B) int 型 C) long 型 D) double 型14以下有关宏替换的叙述不正确的是_A) 宏名不具有类型 B) 宏名必须大写字母
5、表示C) 宏替换只是字符替换 D) 宏替换不占用运行时间15设已有说明语句:int i=5,*q;,若要建立如图所示的存储结构,以下正确的赋值语句是:_q i A) q=i; B) *q=i; C)q= D)*q=16若有定义:int x5,*p=x; ,则不能代表数组首地址的是_A)x B)int name;std,*p;p=A) std.id B) *p.id C) (*p).id D) p-id19若要使指针变量 p 指向一个动态开辟的字符型存储单元,则 中应选择填入的是_int *p;p=malloc(sizeof(char);A) char B) char* C) (*char) D
6、) (char*)*班级:*学号:*姓名:*黄石理工学院 高级语言程序设计 试卷第 2 页 共 3 页20下面对 typedef 的叙述中不正确的是_A) 用 typedef 不能定义变量名 B) 用 typedef 可以定义新的数据类型C) 用 typedef 只是将已存在的类型用一个新的标识符来代表D) 使用 typedef 有利于程序的通用和移值得分 阅卷人 二、填空题(每空 3 分,共 30 分)1C 源程序的基本单位是 2在 C 语言中,输入操作可以由库函数 完成,输出操作可以由库函数 完成。3若 x 是 int 型变量,且 x=6,则表达式 x%2+(x+1)%2 的值为 。4设
7、x,y,z 均为 int 型变量 ,请用 C 语言的表达式描述以下命题。 x 或 y 中有一个小于 z _ x,y 和 z 中只有两个为负数 _ y 是奇数 _5设 a,b,c 均是 int 型变量,则执行以下 for 循环后,c 的值为_。for(a=1,b=5;a=1; i-) for (j=1;j=i;j+ +) putchar(#);for (j=1;j=4-i;j+ +) putchar(*);putchar(n);2阅读程序,写出运行结果。void f1(int x,int y,int z)x=111;y=222;z=333;main()int x=100,y=200,z=300;
8、f1(x,y,z);printf(“%d,%d,%dn”,z,y,x);得分 阅卷人 四 程序填空题(每小题 6 分,共 12 分)1下面程序的功能是计算 1-3+5-7+-99+100 的值,请填空。main()int i,t=1,s=0;for(i=1;i=101;i+=2)_; s=s+t;_;printf(“%dn”,s);2以下程序的功能是:输入三个整数 n1,n2,n3,按从大到小的顺序进行输出。请填空。main()int n1, n2, n3, temp;scanf(“%d%d%d”,if(_)temp=n1;n1=n2;n2=temp;if(_)temp=n1;n1=n3;n3=temp;if(_)temp=n2;n2=n3;n3=temp;printf(“%d,%d,%d/n”,n1, n2, n3);*班级:*学号:*姓名:*黄石理工学院 高级语言程序设计 试卷第 3 页 共 3 页得分 阅卷人 五、编程题(每小题 8 分,共 16 分) 1有一函数: 10)(x -32y编一程序,对于从键盘输入的 x 值求出满足函数关系的 Y 值。2 设有一个已按从大到小的顺序排好的数列存放在一维数组中,现输入一个数,仍按原来的排序规律将其插入到数组中,试编程。*班级:*学号:*姓名:*