高级语言程序设计A西南交通大学.doc

上传人:李医生 文档编号:8848361 上传时间:2021-01-19 格式:DOC 页数:33 大小:520KB
返回 下载 相关 举报
高级语言程序设计A西南交通大学.doc_第1页
第1页 / 共33页
高级语言程序设计A西南交通大学.doc_第2页
第2页 / 共33页
高级语言程序设计A西南交通大学.doc_第3页
第3页 / 共33页
高级语言程序设计A西南交通大学.doc_第4页
第4页 / 共33页
高级语言程序设计A西南交通大学.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《高级语言程序设计A西南交通大学.doc》由会员分享,可在线阅读,更多相关《高级语言程序设计A西南交通大学.doc(33页珍藏版)》请在三一文库上搜索。

1、前一次作业详情你已经完成:11 题 (共有 27 题,客观题 11 道)(注意:若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。在线只需提交客观题答案。)本次作业是本门课程本学期的第1次作业,注释如下:一、单项选择题(只有一个选项正确,共11道小题)1. 以下正确的C标识符是 (A)0XH(B)_80(C)main#(D)A你选择的答案:前面作业中已经做正确正确正确答案:B解答参考:2. 以下说法中正确的是 (A)一个函数在编译时被分配得到一个入口地址,这个入口地址称为函数的指针(B)a/=b+c;这个式子和a=a/b+c;等价(C)C语言开始执行程序的开始执行点是程序中

2、第一条可执行的语句。(D)对二维数组a赋值可以用这样的语句完成int a4=1,2,3,4,5,6,7,8;你选择的答案:前面作业中已经做正确正确正确答案:A解答参考:3. 设a是int型变量,b是float型变量,用下面的语句给这两个变量输入值scanf(a=%d,b=%f,&a,&b);为了把100和76.5分别赋给i和f,则正确的输入为: (A)100 76.5(B)a=100,b=76.5(C)10076.5 (D)a=100 b=76.5你选择的答案:前面作业中已经做正确正确正确答案:B解答参考:4. 若有如下说明 。 char a10=a,b,c,d,e,f,g,h,i,j,*p=

3、a; 则输出表达式*(p+8),即printf(%cn,*(p+8);得到(A)g (B)h(C)i (D)j你选择的答案:前面作业中已经做正确正确正确答案:C解答参考:5. 函数Func的功能是( ) int Func(char *ptr) char *p; p=ptr; while (*p+); return (p-ptr-1); (A)比较两个字串的大小(B)求字符串的长度(C)将串ptr复制到p中(D)以上三种说法都不对你选择的答案:前面作业中已经做正确正确正确答案:B解答参考:6. 以下可作为函数fopen中第一个参数的正确格式是 (A)c:usertext.tex(B)c:user

4、text.txt(C)“c:usertext.tex”(D)“c:usertext.txt”你选择的答案:D正确正确答案:D解答参考:7. 若有宏定义#define PI 3.14 #define S(r) PI*r*r 则主函数中语句s2=S(r+3); 宏替换后的结果为 (A)s2=PI*r+3*r+3(B)s2=3.14*(r+3)*(r+3)(C)s2=3.14*r+3*r+3(D)s2= PI*r*r你选择的答案:前面作业中已经做正确正确正确答案:C解答参考:8. 当调用函数时,实参是一个数组名,则向函数传送的是 。(A)数组的长度(B)数组的首地址(C)数组每一个元素的地址(D)数

5、组每个元素中的值你选择的答案:前面作业中已经做正确正确正确答案:B解答参考:9. 若有函数声明为:void func(double *p);则以下函数调用正确的是_。(A)double x; f(x);(B)double x; f(*x);(C)double x; f(&x);(D)int x; f(&x);你选择的答案:前面作业中已经做正确正确正确答案:C解答参考:10. 若定义typedef union int a; long b; double c; TY; 则表达式sizeof(TY)的值为 。(A)1(B)2(C)4(D)8你选择的答案:前面作业中已经做正确正确正确答案:D解答参考:

6、11. 要用fopen函数打开一个新的二进制文件,该文件要既能写也能读,则文件方式字符 串应是 (10) 。(A)“ab+”(B)“wb+”(C)“r+”(D)“ab”你选择的答案:前面作业中已经做正确正确正确答案:B解答参考:(注意:若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。在线只需提交客观题答案。)二、主观题(共16道小题)12. main() int x=2,y=-1,z=2; if(xY) if(y0) z=0; else z+=1; printf(“%dn”,z); 写出程序输出结果 (1) 。参考答案: 2 13.下面程序的运行结果是 (2) 。 voi

7、d fl(void)int x=1; static y=2; x+; y+; printf(%d,%dn,x, y);void main() int k; for(k=1;k=A & *s=Z) *s+=32; puts(a); 若程序的输入为SWJTU,则输出结果为 (3) 。参考答案: swjtu15.#include “stdio.h” #define N 5int swap(int *p, int *q) int t; if(p return pQ; void f(int a ,int m) int *p, *q; p=a;q=a+m; while(swap(p,q) p+; q- v

8、oid main( ) int m,aN; for(m=0;m f(a,N-1); for(m=0;m 若程序的输入为8 9 2 3 4, 则输出结果为 (4) 。 参考答案:4 3 2 9 816.写一个程序,建立N元整型数组,然后输入一个整数x,查找x是否包含在数组中,若在,则返回第一次出现的下标以及总的出现次数;否则,输出下标为-1, 总的出现次数为0. (8分)参考答案: #include “stdio.h” #define N 8 int locate(int aN,int x,int *pc) int i,first=-1; *pc=0; for(i=0;iN;i+) if(ai=

9、x) if(*pc=0) first=i; (*pc)+; return first; void main() int aN,i,count,p; printf(“Input %d int numbers:n”,N); for(i=0;iN;i+) scanf(“%d”,a+i); printf(“Input x=“);scanf(“%d”,&x); p=locate(a,x,&count); printf(“First position=%d,count=%dn”,p,count); (1) 正确定义变量 1分(2) 算法正确 5分(3) 正确输入 1分(4) 正确输出 1分17.输入若干双

10、精度实数,直到0时停止,计算并输出这些实数的平均值。参考答案: #include “stdio.h” void main() int n=0; double a, sum=0, av; printf(“Input double type numbers until input 0:n”); while(1) scanf(“%lf”,&a); if(!a) break; n+;sum+=a; if(n=0) printf(“No input data.n”); else av=sum/n; printf(“av=%.4fn”,av); (1) 程序结构(主函数,包含文件)正确 1分(2) 正确定

11、义计数变量以及初始化 1分(3) 正确定义求和变量并初始化 1分(4) 循环控制结构正确 1分(5) 输入语句及格式正确 1分(6) 输出语句及格式正确 1分(7) 计数、累加求和以及求均值正确 1分(8) 求均值时先判断计数变量值是否为0分18.C语言的三种循环语句是,do while循环、 循环和 循环;结构化程序设计方法主张限制使用 语句。参考答案: 1) while 2) for 3) goto 19.已知int a = 2, b = 3 , c=0; 执行下列语句后,写出各变量的值。 c = b+a+ ; 变量a = ,b= ,c=参考答案:3 4 120.循环语句for( i=0;

12、 i=10; i-); 其循环的次数为_参考答案:021.C语言提供了三种预处理功能,它们是:宏定义、包含文件和 参考答案:条件编译22.若有定义:int a=0,b=0,c=0,d=0;则执行语句a=(b=3,c=5*b+,d=+c+1);后,变量a的值是 ,变量b的值是 ,变量c的值是 ,变量d的值是 。 参考答案: 17 4_16_17_23.若有定义:int a=1,b=2,c=3,d=4;,则表达式:a=b?a:cb)& (c+) 后,c的值为 。 参考答案:1 324.有如下语句:char A = SWJTU ; 该字符串的长度是 ,A3= 。参考答案:5 T(允许无单引号和写AS

13、CII码84)25.若有定义char ch=C; 则puchar(ch=A & ch=Z)? (ch + 32) : ch);语句的输出结果为 。参考答案:c26.若有定义int a= 1,2,3,4 , *p=a+1; 则表达式*+p的值为 。参考答案:327.若有类型定义typedef int Mat10; 则 Mat a5; 表示的实际数组定义是 。参考答案:int a510;(注意:若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。在线只需提交客观题答案。)本次作业是本门课程本学期的第2次作业,注释如下:一、单项选择题(只有一个选项正确,共10道小题)1. 以下说法

14、中错误的是 。(A)a*=1;这个式子等价于a=a*1;(B)a/=b+c;这个式子和a=a/b+c;等价(C)a/=b-c;这个式子等价于a=a/(b-c);(D)a*=b;这个式子等价于a=a*b;你选择的答案:B正确正确答案:B解答参考:2. 16、若有如下说明 int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为6的元素的表达式是 (A)*p+5(B)*(p+5)(C)*p+=5(D)p+5你选择的答案:B正确正确答案:B解答参考:3. 下面哪条语句是错误的 (A)int a=0;(B)int a=b=c=1;(C)int a=0,b=0,c=0;(D)int

15、 a,b,c=1;你选择的答案:B正确正确答案:B解答参考:4. 已知实型变量a存贮的是一个01之间的实数,将a以两位小数百分比形式输出(如:a=0.347592,则输出为34.75)正确的打印语句是 (A)printf(“%.2f%”,a*100);(B)printf(“%.2f%”,a);(C)printf(“%.2f%”,a/100);(D)printf(“%.2f%”,100*(a+0.5);你选择的答案:A正确正确答案:A解答参考:5. 定义函数时,不给出返回值类型,则默认的返回值类型是 。(A)float (B)void (C)int (D)NULL指针你选择的答案:C正确正确答案

16、:C解答参考:6. C语言存贮字符串时,用特殊字符 表示字符串结束(A)x0a (B)0(C)13(D)0你选择的答案:D正确正确答案:D解答参考:7. 有以下程序段int k=0;while(k=1) k+;则while 循环执行的次数是 。(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次你选择的答案:A正确正确答案:A解答参考:8. 对于for循环语句:for(x=0,y=0;(y=3)&(xa4)你选择的答案:C正确正确答案:C解答参考:10. 以只写方式打开一个二进制文件,应选择的文件操作方式是_。(A)a(B)w(C)rb(D)wb你选择的答案:D正确正确答案:D

17、解答参考:(注意:若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。在线只需提交客观题答案。)二、主观题(共16道小题)11.下面程序的输出是 (1)。 #include stdio.hvoid main() char a40= administrators, *p; for(p=a; *p!= i; p+) putchar(*p -32); 参考答案: 全错0分ADM错一个字母扣1分12.下面程序的运行结果是 (2) 。 int x=1; static y=2; x+; y+; printf(%d,%dn,x, y);void main() int k; for(k=1;

18、kn); 参考答案: 无明显空格扣1分12 9 错一数扣2分;14.下面程序的运行结果是 (4) 。 #include stdio.hint a4= 1, 2, 3, 4 ;void main() int *p=a, m, n; for(m=3; m=0; m -) for(n=0; n=m; n+) printf(%d, *(p+n); 参考答案:1234123121 1234, 123, 12, 1 四段各1分15.数组名作为参数传递给函数,作为实参的数组名被处理为该数组的 (1) 参考答案:(1) 首地址16.一个C程序中必须有 (2) 函数,无论该函数在整个程序中的位置如何,C程序总是

19、从该函数开始执行。 参考答案:(2) 主或main( )17.有如下语句:char A = SWJTU ; 该字符串的长度是 (3) ,A3= (4) 。参考答案:(3) 5 (4) T(允许无单引号和写ASCII码84)18.若有定义int x=5, n=5;则执行语句 x+=n+; 后,x的值= (5) ,n的值= (6) 。参考答案:(5) 10 (6) 6 19.C语言的静态变量以及静态数组元素默认的初值为 (7) 参考答案:(7) 0 20.若有int a=2,b=1,c=0; 执行语句c=a+ - b - -;后,变量c的值为 (14) b的值 (15) 参考答案:(14) 1 (

20、15) 0 21.结构化程序设计的三种基本结构包括有: 、 _和 _。参考答案:选择结构 循环结构 顺序结构22.算术表达式:的C语言表达式是: 参考答案:-b+sqrt(b*b-4*a*c)23.编写一程序,从键盘读入一个字符串并存入字符数组,然后依次输出第1, 3, 5, 7, 个字符。 例如:输入为: computer 输出为: cmue参考答案: #include void main() /* 程序结构与头文件正确2分 */ char s255;int i; /* 正确输入2分 */ gets(s); /* 正确定义字符数组2分 */ for(i=0;si;i+=2) putchar(

21、si); /* 正确输出3分 */24.编程打印如下图形到屏幕上。 (9分) * * * 要求打印行数由键盘输入。参考答案: #include /* 程序结构正确2分 */void main() int n, i, j; scanf(“%d”,&n); /* 正确输入行数1分 */ for(i=1;i=n;i+) /* 外循环控制正确 1分 */ printf(“%*s”, n-i, “”); /* 正确输出前导空格2分 */ for(j=1;j=2*i-1; j+) putchar(*); /* 正确输出星号2分 */ printf(“n”); /* 正确换行 1分 */25.C源程序文件经

22、过 处理后产生目标文件,目标文件经 处理后生成可执行文件。参考答案:编译_连接26.结构化程序设计只需采用顺序结构、分支结构和 结构这三种基本结构来编写程序。 参考答案: _循环_本次作业是本门课程本学期的第3次作业,注释如下:一、单项选择题(只有一个选项正确,共10道小题)1. C语言表示逻辑假的方法是 (A)FALSE(B)0(C)1(D)NULL你选择的答案:前面作业中已经做正确正确正确答案:B解答参考:2. C语言开始执行程序的开始执行点是 (A)程序中第一条可执行的语句(B)程序中第一个函数(C)程序中的main( )函数(D)包含文件中的第一个函数你选择的答案:前面作业中已经做正确

23、正确正确答案:C解答参考:3. continue语句的作用是 (A)中止函数的执行(B)立即中止循环(C)中止本次循环,直接开始下一次循环(D)从一个循环体直接跳转至另一个循环体内你选择的答案:前面作业中已经做正确正确正确答案:C解答参考:4. 有定义static int a=1, 2, 3, 4,*p ; 执行语句p=a+2 ; 后,表达式*p的值为 。(A)4(B)1(C)2(D)3你选择的答案:前面作业中已经做正确正确正确答案:D解答参考:5. 下面用scanf语句获得从键盘输入的值,正确的语句是: (A)int a12; scanf(“%d”,&a1);(B)char a12; sca

24、nf(“%s”,&a);(C)int a12; scanf(“%d”,a1);(D)int a; scanf(“%d”,a);你选择的答案:前面作业中已经做正确正确正确答案:A解答参考:6. 若有以下说明语句,且0=ia4)你选择的答案:前面作业中已经做正确正确正确答案:C解答参考:10. 若有函数说明为 void f(double *s); 则以下函数调用正确的是 。(A)double x; f(x); (B)double x; f(*x);(C)double x; f(&x);(D)int x; f(&x);你选择的答案:C正确正确答案:C解答参考:(注意:若有主观题目,请按照题目,离线完

25、成,完成后纸质上交学习中心,记录成绩。在线只需提交客观题答案。)二、主观题(共16道小题)11.下列程序段的输出是 。 #include void main() int k; for(k=1; k5; k+) if(k%2) printf(*); else continue; printf(#); 参考答案:*#*#12.下列程序段的输出是 。 # include int f(int x) static y=1; y+; x+= y; return x;void main() int k; k=f(3); printf(%d,%dn, k, f(k);参考答案: 5,813.表达式!356的值

26、是 。参考答案:114.符号 a 和 a 的区别是 。参考答案:前者(“a”)为串,占2字节存储; 后者(a)为字符占1字节存储15.若有定义int x=5, n=5;则执行语句 x+=n+; 后,x的值= ,n的值= 。参考答案:10 616.C语言的静态变量以及静态数组元素默认的初值为 。参考答案:017.下面程序的运行结果是 。 #include void main()int a=2,b=-1,c=2;if(a0)B)if(b0) c=0;else c+;printf(c=%dn,c); 参考答案: 考察知识点:if语句的嵌套。运行结果:c=2 18.下面程序的运行结果是 。 #incl

27、ude void main( ) int a,b,c; a=3;b=1;c=2; if(a if(b else c=b; c=a; printf(%d,%d,%d,a,b,c);参考答案: 考察知识点:if语句的嵌套,else总是和最近的未配对的if来配对。运行结果:3,2,3 19.在屏幕上打印如下图形,要求打印行数为5。 1 2 3 4 52 3 4 5 13 4 5 1 24 5 1 2 35 1 2 3 4参考答案: #include “stdio.h”void main()int i,j,n; for(i=1;i=5;i+) for(j=1;j=i;j+) printf(“%4d”,

28、i); for(j=i+1;j=5;j+) printf(“%4d”,j); printf(“n”); 20.输入10个整数,由小到大排序并输出。参考答案: #include “stdio.h”#define N 10void SelSort(int aN) /*选择排序函数*/ int i,j,minj,t; for(i=0;iN-1;I+) minj=i; for(j=i+1;jif(aj if(minj!=i) t=ai;ai=aminj;aminj=t; void main() int aN,i; for(i=0;i SelSort(a); for(i=0;i21.C语言规定,标识符必

29、须以(1)或 (2) 开头。参考答案:(1) 字母 (2) 下划线(1)(2)答案次序可交换 22.C语言的变量有4种存贮类型,即extern、static、register和 (3) 。参考答案:(3) auto 23.当语言的算术表达式中出现了char型变量时,系统自动将该型变量值转换为 (4) 数据类型以后才参与运算。参考答案:(4) int 24.已知int a = 1, b = 2, c = 3, d = 4; 独立执行下列两条语句后,写出指定变量的值。 1)c=a+-b+; 变量 a= (12) , b= (13) 2)a*= -d+1 ; 变量 a= (14) ,d= (15)

30、参考答案: (12) 2 (13) 3 (14) 4 (15) 3 25.C语言没有专门的逻辑变量,在进行逻辑判断时,用数值 表示逻辑假。参考答案:026.参考答案:5*log10(1+P/N)(注意:若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。在线只需提交客观题答案。)本次作业是本门课程本学期的第4次作业,注释如下:一、单项选择题(只有一个选项正确,共10道小题)1. 下列符号中,合法的C常量是 (A)t (B)079(C)3.5e2.1(D)0xch你选择的答案:A正确正确答案:A解答参考:2. 以下所列的C语言常量中,错误的是 。(A)0xFF(B)1.2e0.

31、5(C)2L(D)72你选择的答案:B正确正确答案:B解答参考:3. 能正确表示a和b同时为正或同时为负的逻辑表达式 。(A)(a=0|b=0)&(a0 |b=0 & b=0)&(a0 & b0) &(a+b0你选择的答案:D正确正确答案:D解答参考:4. 以下选项中,不能正确赋值的是_。(A)char s10;s=Hello;(B)char s=H, e, l, l, o, 0;(C)char s10=Hello;(D)char *s=Hellon;你选择的答案:A正确正确答案:A解答参考:5. 若有定义和语句:int a=10,b=20,*p=&a,*pp=&p;p=&b;printf(%d %dn,*p,*pp);,则输出结果是_。(A)10,20(B)10,10(C)20,10(D)20,20你选择的答案:D正确正确答案:D解答参考:6. 以下对枚举类型名的定义中正确的是_。(A)enum a=one,two,three;(B)enum bone=9,two=-1,three;(C)enum c=one,two,three;(D)enum done,two,three;你选择的答案:B正确正确答案:B解答参考:7. 若有定义int a = 0 , 1 , 2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1