西南大学C语言网上作业复习题及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19、在定义int a[5][6];后,数组a中的第10个元素是.a[1][3](设a[0][0]为第一个元素).
20、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是2.500000
21、若x为double型变量,请写出运算x = 3.2, ++x后表达式的值2和变量的值4.2
14、C语言中不可以嵌套的是函数定义
15、阅读下面程序,程序执行后的输出结果为0918273645
#include "stdio.h"
main()
{
char a,b;
for(a=′0′,b=′9′;a<b;a++,b--)
printf("%c%c",a,b);
printf("\n");
}
16、请写出与以下表达式等价的表达式是 A)x <= 0B)1
b=x%10000/1000; /*分解出千位*/
c=x%1000/100; /*分解出百位*/
d=x%100/10; /*分解出十位*/
e=x%10; /*分解出个位*/
printf("四位数的立方和为:%ld\n",(b*b*b)+(c*c*c)+(d*d*d)+(e*e*e));
}
printf(“%d, %d, %d\n”, a, b, c);
}
7、以下程序段的输出结果是a = 513.789215、a = 513.79、a = 513.78921500、a = 513.78921500
double a = 513.789215;
printf(“a = %8.6f, a = %8.2f, a = %14.8f, a = %14.8lf\n”, a, a, a, a);
C语言网上作业
1、有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9};则数值不为9的表达式是a[8]
2、以下程序段的输出结果是11
int i = 0, sum = 1;
do
{ sum += i++;
} while( i < 5);
printf(“%d\n”, sum);
3、在定义int a[5][6];后,数组a中的第10个元素是.a[1][3](设a[0][0]为第一个元素).
4、运用位运算,能将八进制数0125000除以4,然后赋给变量a的表达式是a = 0125000>>2
5、当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是65535、最小十进制整数是;-32768,它们的二进制形式是1111 1111 1111 1111,1000 0000 0000 0000
22、阅读下面程序,程序执行后的输出结果是3
#include "stdio.h"
main()
{
int x,y,z;
x = 1; y = 2; z = 3;
if(x>y)
if(x>z)printf("%d",x);
else printf("%d",y);
printf("பைடு நூலகம்d\n",z);
}
23、编程序实现求1-1000之间的所有奇数的和与偶数的和并输出。
}
10、以下程序的输出结果是2,5,1,2,3,-2。
main()
{ int a = 3, b = 2, c = 1;
c -= ++b;
b *= a + c;
{ int b = 5, c = 12;
c /= b * 2;
a -= c;
printf(“%d, %d, %d, ”, a, b, c );
else printf("No\n");
system("pause");
return 0;
}
29、功能:求一个四位数的各位数字的立方和
参考答案:
#include
void main()
{
long int b,c,d,e,x;
printf("请输入任意一个正整数\n");
scanf("%ld",&x);
主函数中x是数组名, n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
参考答案:
#include
int fun(int a[])
{
int i,j,max=a[0];
for(i=1;i<10;i++)
if(max<a[i])
{max=a[i];j=i;}
return j;
}
int main()
参考答案:
#include<stdio.h>
void main()
{
int i,k=0,o=0;
for(i=1;i<=1000;i++)
if(i%2)
k+=i;
else
o+=i;
printf("奇数之和为:%d\n偶数之和为:%d\n",k,o);
}
24、编写一个程序,使得可以根据用户输入数值求下列分段函数的值。
A)!(x>0) B)!0
17、C语言中,逻辑"真"等价于非零的数
18、以下程序段的输出结果是x=127; x=127;x=177;x=7f;x=127
int x = 0177;
printf(“x = %3d, x = %6d, x = %6o, x = %6x, x = %6u\n”, x, x, x, x, x);
a += --c;
}
printf(“%d, %d, %d\n”, a, b, c);
}
11、结构化程序由顺序、条件分支 【或】 选择、循环三种基本结构组成。
12、运用位运算,能将八进制数0125000除以4,然后赋给变量a的表达式是a = 0125000>>2
13、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是re'hi'you
8、若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上
语句后,a和b的值分别是a=4,b=3。
9、请写出以下程序的输出结果1。
main()
{ int a = 100;
if( a > 100) printf(“%d\n”, a > 100);
else printf(“%d\n”, a <= 100);
{
int i;
for(i=0;str[i]!='\0';i++)
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
}
int main()
{
char a[100];
gets(a);
change(a);
puts(a);
return 0;
}
28、从键盘输入一个字符,判断它是否是英文字母
{
int i,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("最大元素的位置: %d",fun(a));
return 0;
}
27、将字符串中的小写字母转换为对应的大写字母,其它字符不变。
参考答案:
#include
void change(char str[])
参考答案:
#include<stdio.h>
int main()
{
int i=1,sum=0;
while(i++<=100)
{
sum+=i;
}
printf("sum=%d\n",sum);
return 0;
}
26、请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,
最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。
(1) 当x<0时,y=-x;
(2)
(3) 当x为其他值时, y=2x-1。
参考答案:
1、对于分段函数,使用if-else语句分情况求值即可
main()
{
int y,x;
scanf(“%d”,&x);
if (x<0)
y=-x;
else if (x<=10)
y=2*x-1;
else
y=3*x+5;
25、用while语句求1~100的累计和。
参考答案:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char i;
printf("please input a character:");
scanf("%c",&i);
if(i>='a'&&i<='z'||i>='A'&&i<='Z')
printf("Yes\n");
6、以下程序的输出结果是2,5,1,2,3,-2。
main()
{ int a = 3, b = 2, c = 1;
c -= ++b;
b *= a + c;
{ int b = 5, c = 12;
c /= b * 2;
a -= c;
printf(“%d, %d, %d, ”, a, b, c );
a += --c;
相关文档
最新文档