奥鹏易百

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 352|回复: 0

西南大学网院17秋[0039]C语言程序设计在线作业及答案

[复制链接]

1万

主题

3

回帖

2万

积分

论坛元老

积分
29086
发表于 2017-11-14 18:17:20 | 显示全部楼层 |阅读模式
扫码加微信
0039
1、假定p1和p2是已赋值的字符型指针,则下述有关运算中,非法的是()西南大学网院答案请咨询微信或QQ515224986

    .p2=p1+(p1-p2);printf("equal.");
    .if(p1==p2)
    .*(p1-2+p2)=getchar();
    *(p1+=2)=*p2
参考答案:.*(p1-2+p2)=getchar();;
2、<FONTface=宋体>循环语句for(x=0,y=0;(y!=123)||(x&lt;4);x++);的循环执行()</FONT>
    无限次
    不确定次
    4次
    3次
参考答案:无限次;
3、设有定义inta=5,b,*p=&amp;a;,执行下列语句后,b的值不为5的赋值语句是()。
    b=*&amp;a
    b=*
    b=a
    b=*a
参考答案:b=*a;
4、若有定义:chars[81];以下哪个选项不能实现将字符串ThisisaProgram.存入数组s中()。
    gets(s+2)
    scanf(\"%20s\
    s)&quot;
    .for(i=0;i&lt;18;i++)((c=getchar())!=&quot;\n&quot;)D.i=0;while((c=getchar())!=&quot;\n&quot;)
    .i=0;while
5、对于for(表达式1;;表达式3)可理解为()
    for(表达式1;0;表达式3)
    for(表达式1;1;表达式3)
    for(表达式1;表达式1;表达式3)
    for(表达式1;表达式3;表达式3)
6、语句while(!e)中的条件!e等价于()
    e==0
    e!=1
    e!=0
    ~e
7、对于条件表达式(M)?(a++):(a--)来说,其中的表达式M等价于()
    M==0
    M==1
    M!=0
    M!=1
8、设x,y,z,t均为int型变量,则执行x=y=z=1;t=++x||++y&amp;&amp;++z;语句后,t的值为()
    不定值
    2
    1
    0
9、设inta=2,b;则执行b=a&amp;&amp;1后b的值是()
    0
    1
    2
    3
10、执行下述程序后,输出的结果是()。#include&lt;stdio.h&gt;#defineSQR(X)X*Xvoidmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf(%d,a);}<br
    10
    1
    9
    0
11、有如下程序,输入数据12345&lt;CR&gt;后,y的值是()。#include&lt;stdio.h&gt;voidmain(){intx;floaty;scanf(%3d%f,&amp;x,&amp;y);}<br
    12.000000
    45.000000
    12345.000000
    0.000000
12、若有如下程序,要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是()。#include&lt;stdio.h&gt;voidmain(){inta1,a2;charc1,c2;scanf(%d%d,&amp;a1,&amp;a2);scanf(%c%c,&amp;c1,&amp;c2);}<br
    020AB
    1020
    1020AB
    1020AB
13、下面程序的输出结果是()。#include&lt;stdio.h&gt;voidmain(){printf(%d,null);}
    输出0
    因变量无定义,编译出错,没有输出
    输出-1
    输出0
14、求解表达式f=(3.0,4.0,5.0),(2.0,1.0,0.0)后;下列正确的选项是()
    语法错误
    使f的值为5.0
    使f的值为0.0
    使f的值为2.0
15、字符串\ABC\的长度是()
    11
    7
    5
    3
16、表达式(1,2,3,4)的值是(
    1
    2
    3
    4
17、设intm=1,n=2;则表达式++m==n的值是()
    0
    1
    2
    3
18、设n=10,i=4;则赋值运算n%=i+1执行后n的值是()
    0
    3
    2
    1
19、设有语句inta=3;,执行语句a+=a-=a*a;后,变量a的值是()
    3
    0
    9
    -12
20、下列选项中不是C语言提供的合法保留字的是()
    switch
    cher
    case
    default
21、表达式a=(a=6,a*6,a+3);运行后,则a的值为()
    39
    36
    6
    9
22、下列符合C语言语法的实数是()
    1.5e0.5
    3.16e
    0.5e-10
    e+8
23、关下面语句的输出的判断中,正确的是()。longx=-
    输出值为-4
    赋值非法
    输出值不确定
    输出值为4
24、char型常量在内存中存放的是()
    SCII码值
    CD码值
    内码值
    十进制代码值
25、C语言提供的合法的数据类型保留字(或称关键字)是()
    Float
    unsigned
    integer
    Char
26、设inta=l,b=2,c=3;,执行表达式(a&gt;b)&amp;&amp;(c=1)后c的值是()
    0
    1
    2
    3
27、设struct{intx;inty;}m[2]={7,3,2,1};,执行printf(“%d”,m[0].x/m[1].x*m[0].y);后的输出结果是()
    10.5
    9
    8.0
    7
28、下列叙述正确的是()
    continue语句的作用是跳出循环体
    while循环语句的循环体至少执行一次
    do-while循环语句的循环体至少执行一次
    switch语句中的每个case语句组必须含有break语句
29、关于函数,下列叙述正确的是()
    一个函数中可以定义其它的函数
    C程序总是从main()函数开始执行
    main()函数也可以被其它函数调用
    一个C程序可以有多个main()函数
30、设doublex=5.168;,执行printf(“%5.3f”,(int)(x*10+0.5)/10.0);后的输出结果是()
    5.218
    5.210
    5.200
    5.168
31、设inta[]={12,34,56,78},*p=a;,下列表达式的值为56的是()
    [1+2]
    *(a+2)
    a[3]
    *(p+3)
32、正确的C语言字符常量是()<br
    ‘\\’
    ‘65’
    “A”
    ‘/n’
33、能正确表达数学关系式0≤x&lt;20的C语言表达式是()<br
    0&lt;=x&lt;20
    x&gt;=0||x&lt;20
    x&gt;=0&amp;&amp;x&lt;20
    !(x&lt;=0)&amp;&amp;x&lt;20
34、设inta=0,b=1;,下列语句错误的是()<br
    a=b=10;
    a++;
    b+=a;
    (a+b)++;
35、函数调用语句fun(fun(a,a+b,a+c),(a,b,c),5);中函数fun的参数个数是()<br
    3
    4
    5
    6
36、可用于C语言用户标识符的是()
    E.void,define
    F.2c,DO
    For,-abc
    as_b3,_123
37、下列运算符的操作数必须是整型的是()
    A.
    B.!
    C.%
    D.=
38、下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。请填空:#includestdio.hvoidmain(){inta[10],i,max;for(i=0;i&lt;10;i++)scanf(%d,&amp;a[i]);for((1);i&lt;10;i++)if(a[i]&gt;a[max])(2)printf(最大值为:%d,下标是:%d,(3),max);}
39、设intm=3;floatn=12.6;charch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a&lt;回车换行&gt;,则scanf语句应是___________。<!--回车换行-->
40、设inti;floatf=3.14;,执行i=(int)f;后,变量f的值是____________。
41、若定义函数时类型缺省,则该函数默认的类型是___________。
42、设floata,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。
43、编写C语言程序的一般步骤什么?在VC环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何解决发现这些错误?
44、在C语言为什么规定对所有用到的变量要先定义,后使用”?这样的做有什么好处?
45、找出一个3行4列的二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。可能有几个鞍点也可能一个都没有。
46、请给出C语言的主要数据类型,请你至少给出4种以上的数据类型实例。
47、一个C程序由哪些要素构成,请给出一个C语言程序进行说明。
48、编一程序求:1+(1+2)+(1+2+3)+……+(1+2+3+……+10)。
49、C语言程序包括哪些三种基本结构?请给出这三种基本结构的传统流程图或N-S图
50、什么是函数的原型?其作用是什么?在这些作用中如何使用?
51、什么是内部函数和外部函数?
52、在下列程序中,循环结构执行结束后,i的值是多少,循环次数是多少?i--执行的次数是多少?#includestdio.hintmain(){inti=100,s=0,n=0;while(i--){s+=i;n++;}printf(%d,n);}
53、在下列程序中,fun函数为一个递归函数,请将程序中的fun函数改为非递归函数,保持功能不变。#includestdio.hlongfun(intn){if(n==1)return1;elsereturnn*fun(n-1);}voidmain(){intn;printf(请输入n的值:);scanf(%d,&amp;n);printf(%d!=%ld,n,fun(n));}
54、
55、下列表达式的值是多少?处理表达式后,a的值是多少?,假设整数类型变量a的值为12(1)a+=a(2)a-=2(3)a*=2+3(4)a/=a+a(5)a%=(n%=2)n的值等于5(6)a+=a-=a*a
56、请简述算法、程序设计语言与程序的区别与联系
57、什么是算法?算法的特征?算法的描述方法有哪些?
58、4.写出下列表达式所对应的C语言表达式,其中x,y为整数,a,b,c为实数类型内容见附件<ahref="http://77file.eduwest.com/fileup/downloadfile.jsp?path=/0039/250/accessories/1144231481072/1382063910036/1393559133754.doc"target="_blank">写C语言表达式</a
59、在下列程序中,函数f的功能是什么?该程序的运行结果是多少?#includestdio.hintfun(intnum){intk=1;do{k*=num%10;num/=10;}while(num&gt;0);returnk;}intmain(){intx=651,y=123;printf(%d,%d,fun(x),fun(y));}
60、在下列程序中,函数p的功能是什么?该程序的运行结果是多少?#includestdio.hvoidsort(intx[],intn){inti,j,k,t;for(i=0;i&lt;n-1;i++){k=i;for(j=i+1;j&lt;n;j++)if(x[k]&gt;x[j])k=j;if(i!=k){t=x[k];x[k]=x[i];x[i]=t;}}}intmain(){inta[10]={34,50,89,67,102,11,75,30,125,145},i;sort(a,10);for(i=0;i&lt;10;i++)printf(%10d,a[i]);}
61、结构化程序设计方法的内容是什么?划分模块的基本原则?采用结构化方法的好处?
62、通过你对C语言程序设计课程的学习,你认为C语言程序设计具有哪些特点?并简要说明。C语言有哪些局限性?针对这些局限性,是如何解决这些问题的?
63、程序的功能是从键盘上任意输入一个正整数,求各位数字之和。请用模块化方法改写下列程序,功能不变。#includestdio.h”voidmain(){intn;intr,s=0;scanf(%d”,&amp;n);do{r=n%10;s+=r;n=n/10;}while(n&gt;0);printf(%d”,s);}
64、有如下程序#includestdio.hintfun(intx){intp;if(x==0||x==1)return3;elsep=x-fun(x-2);returnp;}intmain(){printf(%d,fun(9));}该程序的输出结果是多少?
65、下列函数的功能是什么intfun(char*x){char*y=x;while(*y++);returny-x-1}
66、什么是指针,什么是指针变量?指针所指向的变量?给一实例说明
67、从键盘上任意输入20个2位或3位整数存放在array数组中,找出array数组中的能够被7整除的数存放在数组b中,并对b数组的值按升序排列。要求:(a)编写一个sort(intword,inta[])函数实现排序功能。(b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。(c)程序必须有输入输出提示。
68、依据下列提供的程序回答问题#includestdio.hdoublefun(inta[],intm){inti;doublesum=0;for(i=0;i&lt;m;i++)sum+=a[i];return(sum/m);}voidmain(){intx,count=0,a[300];for(x=1;x&lt;=30;x++)if(x%2==0){a[count]=x;count++;}printf(\n这些偶数的平均值是:%6.0lf\n,aver(a,count));}(1)上述提供程序中,函数fun的功能是什么?(2)请依据上述程序思想,画出其中的传统流程图或N-S图。(3)在VC6.0环境下,运行上述程序时,其输出结果是什么?
69、编写一个函数计算函数f(x,y)=xdoublex,y,result;printf(请分别输入x,y的值:);scanf(%lf%lf,&amp;x,&amp;y);result=x*x+y*y+sin(x);
70、输出100-900之间的所有奇数,并求出这些奇数的平均值输出
71、编写一个函数fun求出分数序列doubles=0.0,t1=1,t2=2,temp;inti;for(i=1;i&lt;=n;i++){s=s+t2/t1;temp=t2;t2=t1+t2;t1=temp;}printf(此数列的前N项的和是:%.1lf\n,s);}voidmain(){intn;printf(请输入自然数N(N&gt;1):\n);scanf(%d,&amp;n);
72、输出1-500之间的所有偶数,并求出这些偶数的平均值输出。
73、依据下列提供的程序回答问题#includestdio.h<stdio.h></stdio.h>intfun(inta,intb){intr;r=a%b;while(r!=0){a=b;b=r;r=a%b;}return(b);}voidmain(){intnum1,num2,a;printf(Inputnum1num2:);scanf(%d%d,&amp;num1,&amp;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)在VC6.0环境下,运行上述程序时,若输入的数据序列为24,,36其输出结果是什么?
74、编写程序打印下列图案for(inti=0;i&lt;=4;i++){for(intj=0;j&lt;=i;j++){printf(*);}printf(\n);}
75、
76、写一个函数将一个字符串中的大写字母转换为小写,再写一个测试函数测试其功能。不允许使用strlwr函数
77、
78、#includestdio.hdoubleaver(inta[],intm){inti;doublesum=0;for(i=0;i&lt;m;i++)sum+=a[i];return(sum/10);}voidmain(){inta[10],i,max;doublesum=0;for(i=0;i&lt;10;i++)scanf(%d,&amp;a[i]);printf(平均分数:%6.0lf\n,aver(a,10));max=0;for(i=1;i&lt;10;i++)if(a[i]&gt;a[max])max=i;printf(最大值为:%d,最大值下标是:%d\n,a[max],max+1);}(1)所提供程序中,函数aver的功能是什么?(2)请依据提供上述程序,画出其的传统流程图或N-S图或自然语言描述。。(3)若输入的数据分别为:45,87,89,90,77,88,88,78,78,78,则在VC6.0环境下运行上述程序,其输出结果是什么?
79、依据下列提供的程序回答问题#includestdio.h<stdio.h></stdio.h>#includemath.h<math.h></math.h>intf(intx){inti;for(i=2;i&lt;=sqrt(x);i++)if(x%i==0)return0;return1;}voidmain(){inta[10],i,n=0;for(i=0;i&lt;10;i++)scanf(%d,&amp;a[i]);for(i=0;i&lt;10;i++)if(f(a[i])==1){printf(%5d,a[i]);n++;}printf(\n满足条件的数的个数为%d,n);}(1)上述提供程序中,函数f的功能是什么?(2)请依据提供的函数f的代码程序,画出其的传统流程图或N-S图或自然语言描述。。(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为97,35,17,110,3,11,45,43,7,89其输出结果是什么?
80、写一个函数将一个字符串中的小写字母转换为大写,再写一个测试函数测试其功能。不允许使用strurp函数
81、利用随机函数产生20个100-300的随机整数放入数组a中,从键盘输入查找关键字word是否在数组a中。要求:(1)编写一个函数find(intword,inta[])查找关键字word是否在数组a中(2)主函数中产生随机整数,并调用find函数进行测试。(3)程序必须有相应的输入输出提示。
82、编写程序打印下列图案for(inti=0;i&lt;=4;i++){for(intj=0;j&lt;=i;j++){printf(%d,j+1);}printf(\n);}
更多学习资料请登录www.openhelp100.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|www.openhelp100.com ( 冀ICP备19026749号-1 )

GMT+8, 2024-11-26 10:19

Powered by openhelp100 X3.5

Copyright © 2001-2024 5u.studio.

快速回复 返回顶部 返回列表