高级语言程序设计A离线作业.docx
- 文档编号:9933639
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:25
- 大小:34KB
高级语言程序设计A离线作业.docx
《高级语言程序设计A离线作业.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计A离线作业.docx(25页珍藏版)》请在冰点文库上搜索。
高级语言程序设计A离线作业
第一次
12.
main()
{intx=2,y=-1,z=2;
if(x
if(y<0)z=0;
elsez+=1;
printf(“%d\n”,z);
}
写出程序输出结果
(1) 。
参考答案:
2
13. 下面程序的运行结果是
(2) 。
voidfl(void)
{intx=1;
staticy=2;
x++;
y++;
printf("%d,%d\n",x,y);
}
voidmain()
{intk;
for(k=1;k<=3;k++)fl();
}
参考答案:
2,3 错一行扣1分
2,4 无逗号扣1分
2,5 无换行扣1分
14. #include ”stdio.h”
void main()
{chara[61],*s;intn;
gets(a);
for(s=a;*s;s++)if(*s>=’A’ &&*s<=’Z’)*s+=32;
puts(a);
}
若程序的输入为SWJTU,则输出结果为 (3) 。
参考答案:
swjtu
15. #include“stdio.h”
#define N 5
intswap(int*p,int*q)
{int t;
if(p returnp } voidf(inta[],intm) {int *p,*q; p=a;q=a+m; while(swap(p,q)) {p++;q--} } voidmain() {intm,a[N]; for(m=0;m f(a,N-1); for(m=0;m } 若程序的输入为89234, 则输出结果为 (4) 。 参考答案: 43298 16. 写一个程序,建立N元整型数组,然后输入一个整数x,查找x是否包含在数组中,若在,则返回第一次出现的下标以及总的出现次数;否则,输出下标为-1, 总的出现次数为0. (8分) 参考答案: #include“stdio.h” #defineN 8 int locate(inta[N],intx,int*pc) {inti,first=-1; *pc=0; for(i=0;i returnfirst; } voidmain() {inta[N],i,count,p; printf(“Input%dintnumbers: \n”,N); for(i=0;i printf(“Inputx=“);scanf(“%d”,&x); p=locate(a,x,&count); printf(“Firstposition=%d,count=%d\n”,p,count); } (1) 正确定义变量 1分 (2) 算法正确 5分 (3) 正确输入 1分 (4) 正确输出 1分 17. 输入若干双精度实数,直到0时停止,计算并输出这些实数的平均值。 参考答案: #include “stdio.h” voidmain() {intn=0;doublea,sum=0,av; printf(“Inputdoubletypenumbersuntilinput0: \n”); while (1) {scanf(“%lf”,&a);if(! a)break; n++;sum+=a; } if(n==0)printf(“Noinputdata.\n”); else{av=sum/n; printf(“av=%.4f\n”,av); } } (1) 程序结构(主函数,包含文件)正确 1分 (2) 正确定义计数变量以及初始化 1分 (3) 正确定义求和变量并初始化 1分 (4) 循环控制结构正确 1分 (5) 输入语句及格式正确 1分 (6) 输出语句及格式正确 1分 (7) 计数、累加求和以及求均值正确 1分 (8) 求均值时先判断计数变量值是否为0 1分 18. C语言的三种循环语句是,dowhile循环、 循环和 循环;结构化程序设计方法主张限制使用 语句。 参考答案: 1) while 2) for 3) goto 19. 已知inta=2,b=3,c=0;执行下列语句后,写出各变量的值。 c=b++―a++;变量a= ,b= ,c= 参考答案: 3 4 1 20. 循环语句for(i=0;i<=10;i--); 其循环的次数为___ 参考答案: 0 21. C语言提供了三种预处理功能,它们是: 宏定义、包含文件和 参考答案: 条件编译 22. 若有定义: inta=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. 若有定义: inta=1,b=2,c=3,d=4;,则表达式: a<=b? a: c<=d? a: d的值是 ,执行表达式(a>b)&&(c++)后,c的值为 。 参考答案: 1 3 24. 有如下语句: char A[]={"SWJTU"}; 该字符串的长度是 ,A[3]= 。 参考答案: 5 ‘T’(允许无单引号和写ASCII码84) 25. 若有定义charch='C'; 则puchar((ch>='A'&&ch<='Z')? (ch+32): ch);语句的输出结果为 。 参考答案: c 26. 若有定义inta[]={1,2,3,4},*p=a+1; 则表达式*++p的值为 。 参考答案: 3 27. 若有类型定义typedefintMat[10]; 则 Mata[5]; 表示的实际数组定义是 。 参考答案: inta[5][10]; 第二次 11. 下面程序的输出是 (1) 。 #include"stdio.h" voidmain() {chara[40]="administrators", *p; for(p=a; *p! ='i';p++)putchar(*p -32); } 参考答案: 全错0分 ADM 错一个字母扣1分 12. 下面程序的运行结果是 (2) 。 { intx=1; staticy=2; x++; y++; printf("%d,%d\n",x,y); } voidmain() {intk; for(k=1;k<=3;k++)fl(); } 参考答案: 2,3 错一行扣1分 2,4 无逗号扣1分 2,5 无换行扣1分 13. 下面程序的运行结果是 (3) 。 #include"stdio.h" voidmain() {intm,n; m=10;n= -1; do{m++;n+=5; if(! (n%3))printf("%4d%4d\n",m,n); }while(m>n); } 参考答案: 无明显空格扣1分 12 9 错一数扣2分; 14. 下面程序的运行结果是 (4) 。 #include"stdio.h" inta[4]={1,2,3,4}; voidmain() {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程序总是从该函数开始执行。 参考答案: (2) 主或main() 17. 有如下语句: char A[]={"SWJTU"}; 该字符串的长度是 (3) ,A[3]= (4) 。 参考答案: (3) 5 (4) ‘T’(允许无单引号和写ASCII码84) 18. 若有定义intx=5,n=5;则执行语句 x+=n++; 后,x的值= (5) ,n的值= (6) 。 参考答案: (5) 10 (6) 6 19. C语言的静态变量以及静态数组元素默认的初值为 (7) 参考答案: (7) 0 20. 若有inta=2,b=1,c=0; 执行语句c=a++-b--;后,变量c的值为 (14) b的值 (15) 参考答案: (14) 1 (15) 0 21. 结构化程序设计的三种基本结构包括有: 、 __和 ____。 参考答案: 选择结构 循环结构 顺序结构 22. 算术表达式: 的C语言表达式是: 参考答案: -b+sqrt(b*b-4*a*c) 23. 编写一程序,从键盘读入一个字符串并存入字符数组,然后依次输出第1,3,5,7,…个字符。 例如: 输入为: computer 输出为: cmue 参考答案: #include voidmain() /* 程序结构与头文件正确2分 */ {chars[255];inti; /* 正确输入2分 */ gets(s); /* 正确定义字符数组2分 */ for(i=0;s[i];i+=2)putchar(s[i]); /* 正确输出3分 */ } 24. 编程打印如下图形到屏幕上。 (9分) * *** ***** ******* ********* 要求打印行数由键盘输入。 参考答案: #include /* 程序结构正确2分 */ voidmain() {intn,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源程序文件经过 处理后产生目标文件,目标文件经 处理后生成可执行文件。 参考答案: 编译_____连接 26. 结构化程序设计只需采用顺序结构、分支结构和 结构这三种基本结构来编写程序。 参考答案: _循环_ 第三次 11. 下列程序段的输出是 。 #include voidmain() { intk; for(k=1;k<5;k++) { if(k%2)printf("*");elsecontinue; printf("#"); } } 参考答案: *#*# 12. 下列程序段的输出是 。 #include intf(intx) { staticy=1; y++; x+=y; returnx; } voidmain() { intk; k=f(3); printf("%d,%d\n",k,f(k)); } 参考答案: 5,8 13. 表达式! ! 356的值是 。 参考答案: 1 14. 符号 "a" 和 'a' 的区别是 。 参考答案: 前者(“a”)为串,占2字节存储; 后者(‘a’)为字符占1字节存储 15. 若有定义intx=5,n=5;则执行语句 x+=n++; 后,x的值= ,n的值= 。 参考答案: 10 6 16. C语言的静态变量以及静态数组元素默认的初值为 。 参考答案: 0 17. 下面程序的运行结果是 。 #include voidmain() { inta=2,b=-1,c=2; if(a<0) if(b<0)c=0; elsec++; printf("c=%d\n",c); } 参考答案: 考察知识点: if语句的嵌套。 运行结果: c=2 18. 下面程序的运行结果是 。 #include voidmain() { inta,b,c; a=3;b=1;c=2; if(a if(b elsec=b;c=a; printf("%d,%d,%d",a,b,c); } 参考答案: 考察知识点: if语句的嵌套,else总是和最近的未配对的if来配对。 运行结果: 3,2,3 19. 在屏幕上打印如下图形,要求打印行数为5。 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 参考答案: #include“stdio.h” voidmain() {inti,j,n; for(i=1;i<=5;i++) {for(j=1;j<=i;j++) printf(“%4d”,i); for(j=i+1;j<=5;j++) printf(“%4d”,j); printf(“\n”); } } 20. 输入10个整数,由小到大排序并输出。 参考答案: #include“stdio.h” #defineN 10 voidSelSort(inta[N]) /*选择排序函数*/ {inti,j,minj,t; for(i=0;i {minj=i; if(minj! =i) {t=a[i];a[i]=a[minj];a[minj]=t;} } } voidmain() {inta[N],i; for(i=0;i SelSort(a); for(i=0;i } 21. C语言规定,标识符必须以 (1) 或 (2) 开头。 参考答案: (1) 字母 (2) 下划线 (1) (2)答案次序可交换 22. C语言的变量有4种存贮类型,即extern、static、register和 (3) 。 参考答案: (3) auto 23. 当C语言的算术表达式中出现了char型变量时,系统自动将该型变量值转换为 (4) 数据类型以后才参与运算。 参考答案: (4) int 24. 已知inta=1,b=2,c=3,d=4;独立执行下列两条语句后,写出指定变量的值。 1)c=a++ -b++; 变量 a= (12) ,b= (13) 2)a*= - -d+1; 变量 a= (14) ,d= (15) 参考答案: (12) 2 (13) 3 (14) 4 (15) 3 25. C语言没有专门的逻辑变量,在进行逻辑判断时,用数值 表示逻辑假。 参考答案: 0 26. 参考答案: 5*log10(1+P/N) 第四次 11. C语言中变量有4种存储类型,即extern、static、register和 。 参考答案: auto 12. C语言程序是由 组成的。 参考答案: 函数 13. 算法是解决问题的方法和步骤,具有 、确定性、有零个或多个输入、有一个或多个输出及有效性等特性。 参考答案: 有穷性 14. 写出下列C语言表达式的值: 10! =9 10>5>3 sizeof(0.5) ! 2<3+3%5 参考答案: 1_____0______8_____1_ 15. 结构化程序的三种基本结构分别是顺序结构、 和 。 参考答案: 判断(选择、分支)结构 循环(重复)结构 16. C语言的字符串结尾用字符 表示串结束。 参考答案: ‘\0’(或者0) 17. 若结构体的定义为structstudent {longnum; charname[10]; floatscore; }; 则表达式sizeof(structstudent)的值为 。 参考答案: 18 18. 该程序的输出是 #include voidmain() { chara[]="programming",b[]="language"; char*p1,*p2; inti; p1=a;p2=b; for(i=0;i<8;i++) if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); } 参考答案: 考察知识点: 字符串的处理 运行结果: ga 19. 下面程序的运行结果是 。 #include voidmain() { intx=5; do{ printf("%d",x--); }while(x); } 参考答案: 运行结果: 54321 20. 该程序的输出是 #include “stdio.h” voidmain() {chara[40]=”goodnighta”,*p; for(p=a;*p! =’a’;p++)putchar(*p-32); } 参考答案: 考察知识点: 字符串的处理——大小写字母的转换 运行结果: GOODNIGHT 21. 下面程序的运行结果是 。 #include“stdio.h” voidmain() { for(i=1;i<10;i++) {if(i%3! =0) continue; printf(“%2d”,i); } } 参考答案: 考察知识点: continue的使用 运行结果: 369 22. 输入一行字符,统计其中的英文字母个数(提示: 即输入到字符‘\n’时停止输入) 参考答案: #include“stdio.h” voidmain() { charch; intn=0; printf(“Inputastring: \n”); while (1) {ch=getchar();if(ch==‘\n’) break; if(ch>=‘a’&&ch<=‘z’||ch>=‘A’&&ch<=‘Z’) n++; } printf(“Numberoflettersis%d.\n”,n); } 23. 编程求水仙花数。 所谓水仙花数是指各位数字立方和等于该数自身的三位正整数。 如: 153=13+53+33 参考答案: #include“stdio.h” voidmain() {inti,j,k,m,n; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) {m=i*i*i+j*j*j+k*k*k; n=100*i+10*j+k;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 离线 作业