秋季西南大学网教0039《C语言》.docx
- 文档编号:5895357
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:29
- 大小:26.88KB
秋季西南大学网教0039《C语言》.docx
《秋季西南大学网教0039《C语言》.docx》由会员分享,可在线阅读,更多相关《秋季西南大学网教0039《C语言》.docx(29页珍藏版)》请在冰豆网上搜索。
秋季西南大学网教0039《C语言》
西南大学 网络与继续教育学院
课程代码:
0039 学年学季:
20192
窗体顶端
单项选择题
1、对于下面程序输出结果的判断中,正确的是( )。
#include
voidmain()
{intx;
for(x=1;x<=100;x++)
if(++x%2==0)
if(++x%3==0)
if(++x%5==0)
printf("%d,",x); }
1. B.输出31,61,91
2. 输出30,60,90
3. 不输出任何内容
4. 输出29,59,89
2、设chars[]=“1234567”;,执行printf(“%d,%d\n”,strlen(s),sizeof(s));后的输出结果是()
1. A.7,8
2. 7,7
3. 8,8
4. 8,7
3、执行语句x=(a=3,b=a--);后,x,a,b的值依次是( )
1. 2,3,2
2. 3,3,2
3. 3,2,2
4. 3,2,3
4、下面程序的输出结果是( )。
#include
voidmain()
{intx=-1,y=4;
intk;
k=x++<=0&&!
(y--<=0);
printf("%d,%d,%d",k,x,y);}
1. D.0,0,3
2. 1,1,2
3. 1,1,2
4. 1,0,3
5、对二维数组正确定义并初始化的是( )
1. F.inta[3][]={{l,2,3},{4,5,6}}
2. inta[3][3]={a,b,c,d,e,f,g}
3. inta[][3]={1,2,3,4,5,6}
4. inta[3][3]=(1,2,3,4,5,6)
6、下面程序的输出结果是( )。
#include
voidmain()
{inta,b,c=241;
a=c/100%9; b=-1&&-1; printf("%d,%d",a,b);}
1. 2,0
2. 2,1
3. 0,-1
4. 6,1
7、设charch=‘a’;,执行printf(“%d,%c\n”,ch,ch+2);后的输出结果是()
1. a,c
2. a,a+2
3. 97,99
4. 97,c
8、下列数据中属于“字符串常量”的是( )
1. C.'abc'
2. "ABC"
3. ABC
4. 'a'
9、假定p1和p2是已赋值的字符型指针,则下述有关运算中,非法的是( )
1. p2=p1+(p1-p2); printf("equal.");
2. f(p1==p2)
3. *(p1-2+p2)=getchar();
4. *(p1+=2)=*p2
10、循环语句for(x=0,y=0;(y!
=123)||(x<4);x++);的循环执行( )
1. 无限次
2. 不确定次
3. 4次
4. 3次
11、设有定义inta=5,b,*p=&a;,执行下列语句后,b的值不为5的赋值语句是( )。
1. b=*&a
2. b=*
3. b=a
4. b=*a
12、若有定义:
chars[81];以下哪个选项不能实现将字符串"ThisisaProgram."存入数组s中( )。
1. gets(s+2)
2. scanf(\"%20s\
3. s)"
4. .for(i=0;i<18;i++) ((c=getchar())!
="\n")D.i=0;while((c=getchar())!
="\n")
5. .i=0;while
13、对于for(表达式1;;表达式3)可理解为( )
1. for(表达式1;0;表达式3)
2. for(表达式1;1;表达式3)
3. for(表达式1;表达式1;表达式3)
4. for(表达式1;表达式3;表达式3)
14、语句while(!
e)中的条件!
e等价于( )
1. e==0
2. e!
=1
3. e!
=0
4. ~e
15、对于条件表达式(M)?
(a++):
(a--)来说,其中的表达式M等价于( )
1. M==0
2. M==1
3. M!
=0
4. M!
=1
16、#include"stdio.h"
intmain()
{intx,y,z,t;
x=y=z=1;
t=(++x)||(++y)&&(++z);
printf("%d",t);
}
执行上述程序后,输出结果是()
1. 不定值
2. 2
3. 1
4. 0
17、设inta=2,b;则执行b=a&&1后b的值是( )
1. 0
2. 1
3. 2
4. 3
18、执行下述程序后,输出的结果是( )。
#include"stdio.h"
#defineSQR(X) X*X
voidmain( )
{inta=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d",a);}
1. 10
2. 1
3. 9
4. 0
19、有如下程序,输入数据12345后,y的值是( )。
#include
voidmain( )
{intx; floaty;
scanf("%3d%f",&x,&y);
}
1. 12.000000
2. 45.000000
3. 12345.000000
4. 0.000000
20、若有如下程序,要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是( )
#include
voidmain( )
{inta1,a2;
charc1,c2;
scanf("%d%d",&a1,&a2);
scanf("%c%c",&c1,&c2);
}
1. 020AB
2. 10 20
3. 10 20 AB
4. 1020AB
21、下面程序的输出结果是( )。
#include
voidmain()
{printf("%d",null);}
1. 输出0
2. 因变量无定义,编译出错,没有输出
3. 输出-1
4. 输出0
22、求解表达式f=(3.0,4.0,5.0),(2.0,1.0,0.0)后;下列正确的选项是( )
1. 语法错误
2. 使f的值为5.0
3. 使f的值为0.0
4. 使f的值为2.0
23、字符串"\\\"ABC\"\\"的长度是( )
1. 11
2. 7
3. 5
4. 3
24、表达式(1,2,3,4)的值是( )
1. 1
2. 2
3. 3
4. 4
25、设intm=1,n=2;则表达式++m==n的值是( )
1. 0
2. 1
3. 2
4. 3
26、设n=10,i=4;则赋值运算n%=i+1执行后n的值是( )
1. 0
2. 3
3. 2
4. 1
27、设有语句inta=3;,执行语句a+=a-=a*a;后,变量a的值是( )
1. 3
2. 0
3. 9
4. -12
28、下列选项中不是C语言提供的合法保留字的是( )
1. switch
2. cher
3. case
4. default
29、表达式a=(a=6,a*6,a+3);运行后,则a的值为( )
1. 39
2. 36
3. 6
4. 9
30、chars="92";的作用是( )
1. 使s包含一个字符
2. 说明不合法,s的值不定
3. 使s包含四个字符
4. 使s包含三个字符
31、下列符合C语言语法的实数是( )
1. 1.5e0.5
2. 3.16e
3. 0.5e-10
4. e+8
32、C语言提供的合法的数据类型保留字(或称关键字)是()
1. Float
2. unsigned
3. integer
4. Char
33、设inta=1,b=2,c=3;,执行表达式(a>b)&&(c=1)后c的值是()
1. 0
2. 1
3. 2
4. 3
34、关于函数,下列叙述正确的是()
1. 一个函数中可以定义其它的函数
2. C程序总是从main()函数开始执行
3. main()函数也可以被其它函数调用
4. 一个C程序可以有多个main()函数
35、设doublex=5.168;,执行printf(“%5.3f”,(int)(x*10+0.5)/10.0);后的输出结果是()
1. 5.218
2. 5.210
3. 5.200
4. 5.168
36、设inta[]={12,34,56,78},*p=a;,下列表达式的值为56的是()
1. [1+2]
2. *(a+2)
3. a[3]
4. *(p+3)
37、正确的C语言字符常量是()
border-box;">
1. ‘\\’
2. ‘65’
3. “A”
4. ‘/n’
38、能正确表达数学关系式0≤x<20的C语言表达式是()
1. 0<=x<20
2. x>=0||x<20
3. x>=0&&x<20
4. !
(x<=0)&&x<20
39、设inta=0,b=1;,下列语句错误的是()
border-box;">
1. a=b=10;
2. a++;
3. b+=a;
4. (a+b)++;
40、函数调用语句fun(fun(a,a+b,a+c),(a,b,c),5);中函数fun的参数个数是()
1. 3
2. 4
3. 5
4. 6
41、可用于C语言用户标识符的是()
1. void,define
2. 2c,DO
3. For,-abc
4. as_b3,_123
42、下列运算符的操作数必须是整型的是()
1. /
2. !
3. %
4. =
43、下面程序的输出结果是( )。
#include
voidf(intx,inty)
{inttemp;
temp=x;x=y;y=temp;
}
voidmain()
{intx=1,y=3,z=2;
if(x>y) f(x,y);
elseif(y>z) f(y,z);
else f(x,z);
printf("%d,%d,%d\n",x,y,z);
}
1. 2,3,1
2. 1,2,3
3. 1,3,2
4. 3,1,2
44、设m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是( )
1. 1,0
2. 1,1
3. 0,0
4. 0,1
45、下面程序的执行结果是( )。
#include
#include
voidmain()
{charx[]="1234567",y[12]="1234567";
printf("%d,%d,%d",strlen(x),sizeof(x),sizeof(y));}
1. E.7,8,12
2. 8,8,8
3. 7,7,7
4. 7,8,8
46、下列语句中,最正确的赋值语句是( )
1. a=(7+b,c=a+7);
2. a=7+b++=a+7;
3. A=7+b+c=a+7;
4. a=7+b,b++,a+7;
主观题
47、
编写C语言程序的一般步骤什么?
在VC环境下,调试程序的基本步骤有哪些?
调试程序中常见的错误有哪些?
如何解决发现这些错误?
参考答案:
编写C语言程序的一般步骤:
分析问题、构建算法、描述算法、编码、调试。
在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行
调试程序中常见的错误有语法错误和逻辑错误。
其中语法错误通过编译来实现,逻辑错误通过单步追踪和设置断点的方法来发现逻辑错误。
48、 编一程序求:
1+(1+2)+(1+2+3)+……+(1+2+3+……+10)。
参考答案:
参考答案
#include"stdio.h"
main()
{
inti,s=0,t=0;
for(i=1;i<=10;i++)
{t+=i;s+=t;}
printf("%d",s);
}
49、C语言程序包括哪些三种基本结构?
请给出这三种基本结构的传统流程图或N-S图
参考答案:
C语言程序包括哪些三种基本结构:
顺序结构、选择(或分支)结构、循环结构.三种基本结构图示依据作业情况评定
Ø 顺序结构
顺序结构是一种最基本、最简单的程序结构。
先执行A,再执行B,A与B是按照顺序执行。
Ø 选择(或分支)结构
根据条件是否成立而去执行不同的程序模块。
当条件P为真时,执行A,否则执行B,即要么执行A,要么执行B。
Ø 循环结构
循环结构是指重复执行某些操作,重复执行的部分称为循环体。
50、请简述算法、程序设计语言与程序的区别与联系
参考答案:
区别:
算法(Algorithm)就是对解决某问题所采用的方法和步骤的描述。
程序设计语言设计上就是一组符号及规则的集合。
它是由语法、语义、语用三个要素组成。
一个程序一般包括数据类型和算法两个方面的内容。
其中数据类型(即数据结构)是对程序中的数据进行描述,指定数据在程序中的类型和数据的组织形式,它决定了数据的在内存中所占的存储空间和数据在内存中存放形式。
而算法是对程序中数据的操作描述,是解决“做什么”和“怎么做”的问题,源程序中的操作语句就是算法的体现。
正如著名计算机科学家沃思(NikiklausWirth)所提出的观点:
程序=数据结构+算法。
联系:
程序设计语言是编写程序实现算法的语言工具
51、什么是算法?
算法的特征?
算法的描述方法有哪些?
参考答案:
所谓算法(Algorithm)就是对解决某问题所采用的方法和步骤的描述。
一个算法应该具有以下特点:
(1)确定性:
一个算法给出的每个计算步骤都必须是准确的、无二义性。
在【例1.6】中每一个步骤的含义都是确定的。
(2)有穷性:
一个算法必须在执行有穷多个计算步骤后终止。
在【例1.6】中执行4个步骤后问题处理结束。
(3)有效性:
算法中的每一个步骤必须能够有效地执行,并能够得到确定的结果。
(4)输入:
一个算法可以有0个或1个以上的输入。
在【例1.6】中需要输入a,b,c三个数。
(5)输出:
一个算法有1个或多个的输出,一个算法得到的结果就是算法的输出。
在
算法的描述方法有:
自然语言、流程图、N-S图等。
52、结构化程序设计方法的内容是什么?
划分模块的基本原则?
采用结构化方法的好处?
参考答案:
结构化程序设计方法是一种自顶向下、逐步求精、模块化的程序设计方法。
按照结构化程序设计方法的思想,就是将给定的一个功能较多的复杂问题合理地划分为若干个较简单的子问题,还可以将这些子问题再分解为若干功能更简单的子任务(可将每个子任务看作一个模块),以便于“分而治之”
在模块划分时,应该尽可能地保证数据的独立性和模块功能的唯一性。
也就是说,各模块间的耦合性要尽量弱,即一个模块最好像是一个黑盒子,模块间的数据交换要尽量少;模块的内聚性要尽量强,即每个模块只完成单一的功能。
结构化程序设计强调程序设计风格和程序结构的规范化,提倡结构清晰。
良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护。
著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。
采用结构化程序设计方法的好处是:
可以使每个模块功能明确,模块间的关系简单、清晰(即可读性强),每个模块内部的修改尽可能不影响其他模块(即独立性好),同时每个模块的正确性容易验证(即可维护性好)。
53、从键盘上任意输入20个2位或3位整数存放在array数组中,找出array数组中的能够被7整除的数存放在数组b中,并对b数组的值按升序排列。
要求:
(a)编写一个sort(intword,inta[])函数实现排序功能。
(b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。
(c)程序必须有输入输出提示。
参考答案:
#include"stdio.h"
voidsort(inta[],intn)
{
inti,j,t;
for(i=0;i for(j=0;j if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } printf("排序以后的数: "); for(i=1;i<=n;i++) printf("%d",a[i]); printf("\n"); } intmain() { intarray[20]; intb[20]; inti,j=0; printf("请输入20个整数: "); for(i=0;i<20;i++){ scanf("%d",&array[i]); if(array[i]%7==0) b[j++]=array[i]; } printf("这20个整数中,能被7整除的有: "); for(i=0;i printf("%d",b[i]); printf("\n"); sort(b,j); return0; } 54、编写一个函数计算函数f(x,y)=x2+y2+sin(x)的值,要求有输入输出提示,结果保留小数点后3位 参考答案: #include #include voidmain() { doublex,y,result; printf("请分别输入x,y的值: "); scanf("%lf%lf",&x,&y); result=x*x+y*y+sin(x); printf("函数f(%.0lf,%.0lf)=%.3lf\n",x,y,result); } 55、输出100-900之间的所有奇数,并求出这些奇数的平均值输出 参考答案: #include"stdio.h" voidmain() { intx,sum=0,count=0; for(x=100;x<=900;x++) if(x%2! =0){ printf("%d\t",x); sum+=x; count++; } printf("\n这些奇数的平均值是: %d\n",sum/count); } 56、编写一个函数fun求出分数序列的前n项之和,再写一主函数测试其功能 参考答案: #include"stdio.h" voidfun(intn){ doubles=0.0,t1=1,t2=2,temp; inti; for(i=1;i<=n;i++) { s=s+t2/t1; temp=t2; t2=t1+t2; t1=temp; } printf("此数列的前N项的和是: %.1lf\n",s); } voidmain(){ intn; printf("请输入自然数N(N>1): \n"); scanf("%d",&n); fun(n); } 57、输出1-500之间的所有偶数,并求出这些偶数的平均值输出。 参考答案: #include“stdio.h” voidmain() { intx,sum=0,count=0; for(x=1;x<=500;x++) if(x%2==0){ printf("%d\t",x); sum+=x; count++; } printf("\n这些偶数的平均值是: %d\n",sum/count); } 58、依据下列提供的程序回答问题 #include"stdio.h" int fun(int a,int b) { int r; r=a%b; while(r! =0) { a=b;b=r;r=a%b;} return(b); } voidmain() { int num1,num2,a; printf("Input num1 num2: "); scanf("%d%d",&num1,&num2); printf("num1=%d,num2=%d\n\n",num1,num2); a=fun(num1,num2); printf("Themaximuncommondivisoris%d\n\n",a); } (1) 上述提供程序中,函数fun的功能是什么? (2)请依据提供的函数fun代码画出其中的传统流程图或N-S图。 (3)在VC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 秋季 西南 大学 0039 语言