高级语言程序设计A西南交通大学.docx
- 文档编号:16293785
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:55
- 大小:47.45KB
高级语言程序设计A西南交通大学.docx
《高级语言程序设计A西南交通大学.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计A西南交通大学.docx(55页珍藏版)》请在冰点文库上搜索。
高级语言程序设计A西南交通大学
前一次作业详情
你已经完成:
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语言开始执行程序的开始执行点是程序中第一条可执行的语句。
(D) 对二维数组a赋值可以用这样的语句完成inta[4][]={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) 10076.5
(B) a=100,b=76.5
(C) 10076.5
(D) a=100b=76.5
你选择的答案:
[前面作业中已经做正确] [正确]
正确答案:
B
解答参考:
4.
若有如下说明。
chara[10]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’},*p=a;
则输出表达式*(p+8),即printf("%c\n",*(p+8));得到
(A) g
(B) h
(C) i
(D) j
你选择的答案:
[前面作业中已经做正确] [正确]
正确答案:
C
解答参考:
5.
函数Func的功能是()
intFunc(char*ptr)
{char*p;
p=ptr;
while(*p++);
return(p-ptr-1);
}
(A) 比较两个字串的大小
(B) 求字符串的长度
(C) 将串ptr复制到p中
(D) 以上三种说法都不对
你选择的答案:
[前面作业中已经做正确] [正确]
正确答案:
B
解答参考:
6.以下可作为函数fopen中第一个参数的正确格式是
(A) c:
user\text.tex
(B) c:
\user\text.txt
(C) “c:
user\text.tex”
(D) “c:
\\user\\text.txt”
你选择的答案:
D [正确]
正确答案:
D
解答参考:
7.
若有宏定义#definePI3.14
#defineS(r)PIrr
则主函数中语句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=PIrr
你选择的答案:
[前面作业中已经做正确] [正确]
正确答案:
C
解答参考:
8.当调用函数时,实参是一个数组名,则向函数传送的是 。
(A) 数组的长度
(B) 数组的首地址
(C) 数组每一个元素的地址
(D) 数组每个元素中的值
你选择的答案:
[前面作业中已经做正确] [正确]
正确答案:
B
解答参考:
9.若有函数声明为:
voidfunc(double*p);则以下函数调用正确的是____。
(A) doublex;f(x);
(B) doublex;f(x);
(C) doublex;f(&x);
(D) intx;f(&x);
你选择的答案:
[前面作业中已经做正确] [正确]
正确答案:
C
解答参考:
10.若定义typedefunion{inta;longb;doublec;}TY;则表达式sizeof(TY)的值为。
(A) 1
(B) 2
(C) 4
(D) 8
你选择的答案:
[前面作业中已经做正确] [正确]
正确答案:
D
解答参考:
11.
要用fopen函数打开一个新的二进制文件,该文件要既能写也能读,则文件方式字符
串应是(10)。
(A) “ab+”
(B) “wb+”
(C) “r+”
(D) “ab”
你选择的答案:
[前面作业中已经做正确] [正确]
正确答案:
B
解答参考:
(注意:
若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。
在线只需提交客观题答案。
)
二、主观题(共16道小题)
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”
voidmain()
{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”
#defineN5
intswap(int*p,int*q)
{intt;
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”
#defineN8
intlocate(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)while2)for3)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. 有如下语句: charA[]={"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]; (注意: 若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。 在线只需提交客观题答案。 ) 本次作业是本门课程本学期的第2次作业,注释如下: 一、单项选择题(只有一个选项正确,共10道小题) 1.以下说法中错误的是。 (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、若有如下说明 inta[10]={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) inta=0; (B) inta=b=c=1; (C) inta=0,b=0,c=0; (D) inta,b,c=1; 你选择的答案: B [正确] 正确答案: B 解答参考: 4.已知实型变量a存贮的是一个0~1之间的实数,将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.定义C函数时,不给出返回值类型,则默认的返回值类型是。 (A) float (B) void (C) int (D) NULL指针 你选择的答案: C [正确] 正确答案: C 解答参考: 6.C语言存贮字符串时,用特殊字符表示字符串结束 (A) ’\x0a’ (B) ’0’ (C) 13 (D) ’\0’ 你选择的答案: D [正确] 正确答案: D 解答参考: 7. 有以下程序段 intk=0; while(k=1)k++; 则while循环执行的次数是 。 (A) 无限次 (B) 有语法错,不能执行 (C) 一次也不执行 (D) 执行1次 你选择的答案: A [正确] 正确答案: A 解答参考: 8.对于for循环语句: for(x=0,y=0;(y=3)&&(x<4);x++)y++;,正确的是 。 (A) 无限循环 (B) 循环次数不定 (C) 执行4次 (D) 执行3次 你选择的答案: C [正确] 正确答案: C 解答参考: 9.有定义struct{inta[5];}b;则正确表达成员数组a的最后一个元素地址的是____。 (A) b.a (B) b.a[5] (C) b.a+4 (D) &(&b>a[4]) 你选择的答案: C [正确] 正确答案: C 解答参考: 10.以只写方式打开一个二进制文件,应选择的文件操作方式是____。 (A) "a+" (B) "w+" (C) "rb" (D) "wb" 你选择的答案: D [正确] 正确答案: D 解答参考: (注意: 若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。 在线只需提交客观题答案。 ) 二、主观题(共16道小题) 11. 下面程序的输出是 (1) 。 #include"stdio.h" voidmain() {chara[40]="administrators",p; for(p=a;p! ='i';p++)putchar(p32); } 参考答案: 全错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分 129错一数扣2分; 14. 下面程序的运行结果是(4) 。 #include"stdio.h" inta[4]={1,2,3,4}; voidmain() {intp=a,m,n; for(m=3;m>=0;m ) for(n=0;n<=m;n++)printf("%d",(p+n)); } 参考答案: 12341231211234,123,12,1四段各1分 15. 数组名作为参数传递给函数,作为实参的数组名被处理为该数组的 (1) 参考答案: (1)首地址 16. 一个C程序中必须有 (2) 函数,无论该函数在整个程序中的位置如何,C程序总是从该函数开始执行。 参考答案: (2)主或main() 17. 有如下语句: charA[]={"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. 结构化程序设计只需采用顺序结构、分支结构和 结构这三种基本结构来编写程序。 参考答案: _循环_ 本次作业是本门课程本学期的第3次作业,注释如下: 一、单项选择题(只有一个选项正确,共10道小题) 1.C语言表示逻辑假的方法是 (A) FALSE (B) 0 (C) 1 (D) NULL 你选择的答案: [前面作业中已经做正确] [正确] 正确答案: B 解答参考: 2.C语言开始执行程序的开始执行点是 (A) 程序中第一条可执行的语句 (B) 程序中第一个函数 (C) 程序中的main()函数 (D) 包含文件中的第一个函数 你选择的答案: [前面作业中已经做正确] [正确] 正确答案: C 解答参考: 3.continue语句的作用是 (A) 中止函数的执行 (B) 立即中止循环 (C) 中止本次循环,直接开始下一次循环 (D) 从一个循环体直接跳转至另一个循环体内 你选择的答案: [前面作业中已经做正确] [正确] 正确答案: C 解答参考: 4.有定义staticinta[]={1,2,3,4},*p;执行语句p=a+2;后,表达式*p的值为。 (A) 4 (B) 1 (C) 2 (D) 3 你选择的答案: [前面作业中已经做正确] [正确] 正确答案: D 解答参考: 5.下面用scanf语句获得从键盘输入的值,正确的语句是: (A) inta[12];scanf(“%d”,&a[1]); (B) chara[12];scanf(“%s”,&a); (C) inta[12];scanf(“%d”,a[1]); (D) inta;scanf(“%d”,a); 你选择的答案: [前面作业中已经做正确] [正确] 正确答案: A 解答参考: 6. 若有以下说明语句,且0<=i<=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 西南交通大学