求这几题C语言程序设计题目的解析

作者&投稿:邓差 (若有异议请与网页底部的电邮联系)
c语言程序设计的基础题目求教,请给解析(多追积分)~

1:已知a=13,b=6,a%b的十进制数值为()
a%b,整数%整数,表示求余数,因此13%6=1
2:设x的值为15,n的值为了2,则表达式x%=(n+3)运算后的x的值是()
x%=(n+3)相当于x=x%(n+3),x%=n+3也表示x=x%(n+3),类似的有+=,-=,*=,/=
因此x=x%(n+3),x=15%5,x=0.
3:int
x=y=4,z=2;x=y==z;则x的值为()
x=y=4,等号是右结合的,也就是这种情况下要从右向左计算,因此相当于y=4;x=y;
而x=y==z,==的优先级比=高,因此相当于x=(y==z),y=4,z=2所以y==z不成立,所以y==z这个表达式的值是false,也就是0,所以x=0
4:若有定义:int
a=10,b=9,c=8;接着顺序执行后下列语句是,变量b中的值是()
c=(a-=(b-5));
c=(a%11)+(b=3);
由上面的几题为基础,
c=(a-=(b-5))相当于c=(a=a-(b-5)),c=(a=10-(9-5)),c=(a=6),所以a=6,c=6,b=9(表达式b-5并没有改变b的值)
c=(a%11)+(b=3)相当于,c=6%11+3=6+3=9,所以a=6,c=9,b=3
5:int
x=2,y=2,z=0;则表达式的x==y>z的值为()
x==y>z这个一个复合逻辑表达式,>优先级高于==,所以相当于x==(y>z),y>z成立,所以y>z==1,x==1不成立,所以表达式的值为0
6:若有以下定义和语句int
a[4]={0,1,2,3},*p;
p=&a[2];则*--p的值是()
p=&a[2];表示p是a[2]的地址
*--p相当于*(--p),就是先将p减1,也就是a[1]的地址,然后用*操作符取出地址中的值,也就是1

(1)这个位置,因为在主函数之外,只有一行。一般来说是#include了其他的库,或者是#define了一些什么,或者是前向声明(但鉴于题目里扫视了一眼只有一个非主函数,所以不会是这个)。那我最大的倾向就是#include,接着我会直接看主函数
先学会看变量,可以看到题目里有三个变量X,Y1,Y2。和我们设置的变量不谋而合,接下来输入X的值,直接就可以算Y1,Y2。因为刚刚记得只看到了一个外函数,而且下面两个空是在形参上让我们填空,我就回头看了一眼题目,原来是函数的形式完全相同,只是改变了传进去的参数,第一个直接传x+8,第二个要传sinx,那两个答案就出来了,同时(1)的答案也出来了,因为sin()这个函数是在#include里面的

接着剩下最后一个空,我们看到被调函数fun里面,这是一个返回类型float的函数,但是没有返回值,所以我们需要return 一些什么,很明显这里只有一个能return的,那就是y

综上
(1)#include
(2)return y;
(3)x+8
(4)sin(x)

(在我写完之后看到3分钟前下面还有个答案,include用了""。需要说明的是,一般只有使用非库头文件,也就是自定义的头文件时,会选择"",这并不是一个好习惯,会不会引发报错可以自己尝试一下)

题目的解释(见图)



14题 首先理解n--和--n的区别 此题看不出来
n=6执行n-- (6-1=5)后为 n=5 再执行--n(5-1) 为 4
以此类推得B选项
15题 运算b==c 若b与c比较相等 那么得出为1 显然b与c不相等 所以是0
16题 x[3][3] 表示二维数组 数组从0开始 行列都是
二维数组表示出来就是三行三列的 每行三个 如下
012 --0行
345 --1行
678 --2行
执行程序 x=0 x[0][2]=2
执行程序 x=1 x[1][1]=4
执行程序 x=2 x[2][0]=6

14 while循环没有加{ },所以只控制printf一条打印语句
第一次 :n-- 为6 n使用时是5 --n为4;
第二次 :n-- 为4 n使用时是3 --n为2;
第三次 :n-- 为2 n使用时是1 --n为0;
从第一次循环中我们得到打印的结果每次-2,循环三次,所以结果为420
15 b==c中的==为判断符号,其结果只有两种0或1,条件成立返回1,不成则立返回0
16 x为二维数组
| 0 1 2 |
| 3 4 5 |
| 6 7 8 |
其for 循环的结果为0,1,2所以其取值为x[0][2],x[1][1],x[2][0],结果就是246


恳请C语言高手帮我看几个C程序设计的题目,谢谢
第四题的,我以前做的 include<iostream.h> void main(){ int m=0,n=0,i=0,j=0,flag=0;\/\/flag为进位 char a[1000],b[1000];\/\/如果要计算的值长度来定此数组大小 int c[100];cout<<"请输入两个整数\\n";cin>>a>>b;while(a[m]!='\\0')m++;while(b[n]!='\\0')n++;if(...

这道程序设计c语言题目怎么做,急求
请参考 include"stdio.h"include"math.h"long fact(int n){ long s;if(n<=1)s=1;else s=n*fact(n-1);return s;} int fun1(float x){ int i = 0;while(x*pow(10.0,i)<1){ i++;} return i;} float funcos(float arg1,int arg2){ float sum = arg2,sum1=0;int i ...

这C语言程序题怎么做?
scanf("%c",s);while (*(s+count++)!='\\n')\/\/因为字符串中需要统计空格,即允许有空格,所以需要这样scanf { scanf("%c",s+count);} for (int i = 0;i<count-1;i++)\/\/逐个字符判断 { if((*(s+i)>='a'&&*(s+i)<='z')||(*(s+i)>='A'&&*(s+i)<='Z'))...

谁会做这几题C语言?
第一题:include "stdio.h"include "conio.h"int vasule(int x){ int i,j,t;for(t=1;;t++){ printf("please input the number to guess!\\n");scanf("%d",&i);if(x>i){ printf("you can guess bigger!\\n");} if(x

这个题的答案是什么?C语言程序设计
1、i=30 i*=i+1 相当于 i=i*(i+1)2、x=0 因为 x 为整数 x=1\/4 中等号右边 1\/4 是整数除法,其计算结果是商为0

C语言 这题是什么?求程序
其实这个用数组会很简单.必须用switch就写七个case好了.include <stdio.h>int main(){ char *p; int n; scanf("%d",&n); switch(n) { case 1: p="Monday"; break; case 2: p="Tuesday"; break; case 3: p="Wednesday"; break; case...

关于c语言程序设计的题,请帮我分析怎么理解这个程序,答案怎么来的_百度...
include<stdio.h> int main(){ int a,b,c,x=35;a=b=c=0;if(!a)x--;else if(b); \/\/到这,一个if 结构结束,不过,这样有点不符合规范,但编译能通过,只是有警告。if(c) \/\/这个if 跟前没关系,完全是一个新的开始。通过条件知道c=0,所以执行下一个else x=3; \/\/这句不被执行...

C语言编程题
c = int(input("请输入整数c:"))d = int(input("请输入整数d:"))max_num = a if b > max_num:max_num = b if c > max_num:max_num = c if d > max_num:max_num = d min_num = a if b < min_num:min_num = b if c < min_num:min_num = c if d < min_...

求这几个代码写法,谢谢,c语言程序题
a[1]<n;a[1]++) for(a[2]=a[1];a[2]<n;a[2]++) if(isprime(a[0])&&isprime(a[1])&&isprime(a[2])&&n==a[0]+a[1]+a[2]) return 1;}int jisuan(int a,char c,int b){ \/\/返回加减乘除幂的结果 switch(c){ case '+':return a+b; case ...

C语言程序两道题目
第二次循环,x=4,x%2=4%2=0,结果false,因此输出格式为##%d\\n,也就是##4并换行 第三次循环,x=5,x%2=5%2=1,非0即真,因此输出格式为**%d,也就是**5,至此循环结束。第二题:答案i=0,j=4,k=6 初始化完毕,a=10,b=c=d=5,i=j=k=0 for(;a>b;++b)i++;没有初始...

蕲春县13581687270: C语言程序设计题,求解. -
孙涛每素: #include struct stud { long num; char name[20]; double score; }; typedef struct stucode { struct stud student ; struct stucode *next; }L; void menu(); void createlist(struct stucode **r); void out(struct stucode *r); void search1(struct stucode *r); void search2...

蕲春县13581687270: c语言程序设计问题问题:输出2到N之间的质数.问题分析:要求输出2到N之间的质数,程序需要做的就是从2开始依次找,判断是否是质数,若是则打印... -
孙涛每素:[答案] 关键是要有思路.质数是只能被1和自己整除.也就是说从1开始到它本身整除的次数只能是两次,超过两次的都不是质数.外层循环2到N,内层循环从1到数的本身.计数器等于2就打印.记得计数器重置.书籍推荐C Primer Plus,值得拥有. #...

蕲春县13581687270: C语言编程题目解答下
孙涛每素: 3-6. [解法1]引进变量 i:表示公鸡数 j:表示母鸡数 k:表示小鸡数 如果让i,j,k取遍1,2,……,100,判别表达式i*5+j*3+k/3=100是否成立,就会有如下的三重循环程序: Program ex5_11(output); Var i, j, k:integer; Begin Writeln ('I':5, 'j':5, 'k':5); For i:=1 ...

蕲春县13581687270: 解答c语言程序设计题
孙涛每素: #include <stdio.h>int main(){ int i, odd=0, even=0; for (i=1; i <= 1000; i ++) if (i %2 == 0) even += i; elseodd += i; printf("偶数和:%d, 奇数和:%d\n", even, odd); return 0;}

蕲春县13581687270: 有3到C语言程序设计题目不懂,帮帮忙解释一下..谢谢!!
孙涛每素: 1、我估计这题要么是本身有毛病,要么就是你不小心写错了,你再核对一下. for(i=4;i>1;i++) for(j=1;j<i;j++) putchar('#') 这个程序是个死循环,因为外层循环中i>1这个循环终止条件是终止不了程 序的.或者将其改为以下程序就可以了: for(i=4;...

蕲春县13581687270: c语言程序设计 题目一道,求解 -
孙涛每素: 天平分左右:1:分3份,任取两份称“第一次”(结果是一定可以找到有坏球的那一份)2:天平左边放3个正常的球,右边在有问题的四个里面任取3个称“第二次”2-1:如果平衡,说明问题球是剩余的一个,可以用“第三次”判断轻还是...

蕲春县13581687270: C语言程序设计,要求通过键盘输入3个任意的整数,输出其中最大的数 -
孙涛每素:[答案] #include int main() { int a, b, c,max; scanf("%d%d%d",&a,&b,&c); max = a; if(b > a) max = b; if(c > a) max = c; printf("max = %d\n",max); return 0; }

蕲春县13581687270: 求解下面两道C语言编程题,最好有注释 -
孙涛每素: #include "stdio.h"void fun(char ch[],char reverse[]){ static int i=0; if(*ch!='\0') { fun(++ch,reverse); reverse[i]=*(ch-1); i...

蕲春县13581687270: c语言编程题目求解 -
孙涛每素: #include int fun(int a) { int i; for(i=2;i { if(a%i==0) { break; } } if(i>=a) { return 1; } else{ return 0;} } int main() { int a; scanf("%d",&a); if(fun(a)) { printf("yes\n"); } else{ printf("no\n");} return 0; } 第二题

蕲春县13581687270: 求解答一下C语言编程题,万分感谢 -
孙涛每素: 1)原代码x没声明,算法有错误.#include "stdio.h" int main(void){ int i,n; float s=0.0,x,t1=0.0,t2=1.0; printf("x,n=?"); scanf("%f,%d",&x,&n); for(i=1;i<=n;i++){ t1=t1+x; t2=t2/i; s=s+t1*t2; } printf("s=%f\n",s); return 0; }2)原代码书写不规范...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网