请高手帮忙分析几个C语言程序,本人是初学者,请多多指教。

作者&投稿:毓詹 (若有异议请与网页底部的电邮联系)
有哪位才c语言高手帮忙给做下这道题啊,在这是初学者,多多指教!~

#include
main()
{
char a[20] = {0};
int i, x, counter = 0;

printf("Please enter the string:");
scanf("%s", &a);
x = strlen(a);
for(i = 0; i < x; i ++)
{
if(a[i] >= 65 && a[i] = 97 && a[i] <= 122)
counter ++;
}
printf("Letters = %d
", counter);
}


已经调试过,自己再试试,应该没问题~

意思为以A,B,C三个面为基准面 标准平面要保证所标注的物体与三个面之间的位置误差不得超过0.1。 而有φ者是说偏差是在一个圆面的范围内而不带的则是表示直线上的偏差为多少。
形位公差一般也叫几何公差包括形状公差和位置公差。任何零件都是由点、线、面构成的,这些点、线、面称为要素。机械加工后零件的实际要素相对于理想要素总有误差,包括形状误差和位置误差。

扩展资料这类误差影响机械产品的功能,设计时应规定相应的公差并按规定的标准符号标注在图样上。20世纪50年代前后,工业化国家就有形位公差标准。
国际标准化组织(ISO)于1969年公布形位公差标准,1978年推荐了形位公差检测原理和方法。中国于1980年颁布形状和位置公差标准,其中包括检测规定。形状公差和位置公差简称为形位公差。
参考资料来源:百度百科-位置度
参考资料来源:百度百科-形位公差

一、有以下程序:
#include <stdio.h>
int fun(int a,int b,int c)
{c=a*b;}
main()
{int c;
fun(2,3,c); printf("%d\n",c);
}
fun 里面的int c 变量 和 main 里面的 int c 变量 是不同的变量(虽然都用一个名字,但内存地址是不同的),所以在fun 里面改变的 c 变量的值,是不会影响到main 函数 里面 c变量的值的。

二、有以下程序:
#include <stdio.h>
main()
{int a[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf(“%x\n”,p);prinf(“%x\n”,p+9);
}
若一个int类型的变量占2个字节,第一个printf语句输出的是194,则第二个printf语句输出的结果是
A)212 B)204 C)1a4 D)1a6
选D,一个int占2字节,p 加上 9个int 就等于 194 + 9 * 2; 注意是16进制,所以选D;

三、以下程序运行后的输出结果是_________
#include <string.h>
#include <stdio.h>
main()
{char s[20]=”goodgood!”,*sp=s;
sp=sp+2;sp=”to”;put(s);
}
这个你试一下就知道了嘛,输出的还是goodgood,因为p指针从未做过 * 的动作(运算),也就是说从未改变过指针里面的内容,所以s数组的内容没有改变过。换句话说,在做sp=”to”运算的时候,系统给字符串 to 分配了一个地址,再把这个地址赋给p,此时p已经不指向s[2]了。

四、若有以下说明和定义:
#include <stdio.h>
main()
{int(*a)(int*),*b(),w[10],c;
...
}
int fun(int *c) {...}
则以下选项中能正确调用fun函数是
A) a=fun; a(w); B) a=fun; (*a)(&c); C) b=fun;*b(w); D) fun(b);
这个选D,我觉得不用怎么解释了吧,格式问题。

五、假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在DOS提示符下键入PROG ABCD EFGH IJKL<CR>(此处<CR>代表Enter键)则输出结果为_________
#include<stdio.h>
main(int argc,char *argv[ ])
{while(--argv>0) printf(“%s”,argv[argv]);
printf(“\n”);
}
这个是不是打错了,应该是argv[argc]吧,这个也是试一下就知道了嘛。

六、有以下程序:
#include<stdio.h>
main()
{union{short i[2];
long k;
char c[4];
}r,*s=&r;
s->i[0]=0x39;s->i[1]=0x38;
printf(“%x\n”,s->c[0]);
}
已知字符0的ASCII码值的十进制数是48,且数组的第0个元素在低位。以上程序的运行结果是
A) 39 B) 9 C) 38 D) 8

这个你要知道long 占4个字节,short占两个字节, char 占一个字节,这样你明白了吗?union是挺闹心的,简单来说就是空间公用。

1.你写的那个fun函数形参类型是传值不是传地址,所以执行完fun后a,b,c的值都没有变化,而你的c没有初始化,如果是局部变量,那就是以前残留在堆栈里的随机值。所以是不确定的
2.194这是16进制的 然后加上9*2=18 = 12H 所以 194H+12H = 1a6H,选D
3. goodgood!
4.A
5.你的程序写错了
6.B

第一题 没有return c; 第二题选d;第三题就是to;第四题是A;

第一题(由于函数没有返回值,即没有return c;所以,主函数引用函数后c并没赋值,所以此时c是系统初始时的值,不确定。调用函数加上返回值) 第二题(由第一个printf语句知道 p指针所指的地址为0x194int此处为2字节,所以int型指针+1就是偏移两个字节p+9就是指针向后偏移9个int型空间,即2*9=18字节所以加上0x192后,满16进位算,最低位为20,即0x014所以 0x192+0x014= 0X1a6) 第三题(我觉得是togood!) 第四题(选c,要为指针类型) 第五题(答案:IJKLEFGHABCD 这个我也不知道) 第六题(你去看看http://zhidao.baidu.com/question/236947893.html)

楼主这些真是怪题啊!
第一题:因为你才c在定义时没有初始化,所以会输出不定值,函数调用时把c的值传递给形参c,这种以传值方式调用的函数是改变不了原来的实参c的,并不会把调用后形参的值再传给实参的,因为这个函数没有显示地返回形参c的值。
int fun(int a,int b,int c)
{c=a*b; return c;}
int m=fun(2,3,m)这样调用m的值才会是6
第三题:刚开始将goodgood!的首地址赋给sp,接着让sp指向字符串goodgood!的第三个字符,然后sp=“to”;时,系统会另辟一块存储区域存储to字符串,而不是将to覆盖sp当前指向的goodgood!中的字符串,然后把to的首地址赋给sp,这样就并没有改变s[20]中保存的字符串goodgood!,所以最后输出goodgood!。


帮忙分析一道c语言题目
a);}也不执行,但是printf("%2d",i);}执行,因为for循环语句循环体只有下的大括号里,如果没有大括号就是for(a=1,i=-1;-1<=i<1;i++) 下的第一个分号。重点1:若#include<stdio.h> main(){ int a,i;for(a=1,i=-1;-1<=i<1;i++)a++;printf("%2d",a);printf("%2d",...

C语言 帮忙分析下程序
这个程序利用了数组validmanday里面的储存了每个人的休息时间,主要是用回溯(也就是这一段程序do { man[curman]++; \/\/向前探测 if(man[curman]>MANNUM) { \/\/探测了所有可能性,回溯 curman--; \/\/探测上一个人 continue;} if(NotValid(man, curman)) {\/\/如果不满足条件则用continue探测下一...

C语言帮忙分析这段代码怎么理解,拜谢!!!
1、a[100]数组的第一个元素a[0]设为0 ,这个地方a[1]~a[99]这99个元素其实都没初始化。2、循环从控制台获取n值,对数组元素a[n]进行自加1操作,直到n值非法或者为负值的时候结束循环。这个地方有缓冲区溢出隐患,n值>99的时候其实是越界操作。3、循环找到a[0]~a[99]里面的最大值存在...

关于c语言的选择题,高手帮忙给我分析一下呀
选C!字符串后面的初值表里只有4个字符,所以D后面全都是字符串结束标志'\\0',而指针p指向了字符串的首地址,也就是'A',而*(p+4)指向a[4],也就是D后面的一个元素,是字符串结束标志'\\0'

一个关于C语言的问题 帮忙分析分析这个程序
回答:这个程序可以简单的描述如下:先计算所有的可阶段的可能的利润提成,就是j、k、l、m、n,然后就是当输入I值时,它会判断I属于哪个范围就是if语句的位置,例如假如I为15万,它属于1e5--2*1e5(即10万到20万之间时),即在上面的第二个if语句的位置内进行,由于它是分段计算利润的,即对于这15...

C程序高手帮忙给个答案
最简单的方式:include<stdio.h> char * charlink(char *p, char *q){ char *pp=p;char *qq=q;while(*pp!='\\0') pp++;while(*qq!='\\0') *pp++=*qq++;pp='\\0';return p;} main(){ char a[10]="aaa";char *b="bbb";printf("%s\\n",charlink(a,b));} ...

C语言分析
靠,输出的答案是6,在K<5前的循环是没有用的,因为S变后者变回1,但k+5时j也等于5,此后s=5+1=6然后j加1,不满足小于6,退出里面的循环,k也加1等于6,再退外面的循环,所以s=6

c语言编程分析
输出结果应该是:BCDE FGHI JKLM NOPQ RSTU 分析:for(i=1;i<=SIZE;i++) \/\/外循环5次 { for(j=1;j<=SIZE-1;j++,c++) \/\/内循环4次 putchar(c); \/\/输出c对应的字符 printf("\\n");\/\/输出回车 } 这是个2层循环, 内循环变量j控制, 循环次数SIZE - 1 = 4次, 每次...

这个人(C)到底喜欢谁?帮忙分析下
C比较喜欢B,A比较喜欢C,B对C没防备,C对A算是好朋友的关系。

C语言求大神帮忙解答分析
楼下,for循环里面那个不用改的,这段代码是要输出字符串里买小写字母的个数,所以输出n等于2

上思县13185988827: 请高手帮忙分析如下C语言程序 -
实治马来: main() { char *c[]={"ENTER","HOME","END","NISERT"}; char **cp[]={c+3,c+2,c+1,c}; char ***cpp=cp; printf("%s\n",**++cpp); //结果为:END,因为cpp已指向了cp,++cpp后cpp就指向了cp+1,*表示取值,取值后结果为c+2,输出c[2...

上思县13185988827: 求高手帮我分析一个C语言程序
实治马来: #include <stdio.h>void main(){ int year,month,totalday,week,w,i,j; int monthday[12]={0,31,59,90,120,151,181,212,243,273,304,334};//平年每月起始 int monthdayLeap[12]={0,31,60,91,121,152,182,213,244,274,305,335};//润年每月起始 int t[]={31...

上思县13185988827: 求高手帮我解释一下这些c语言代码!!! -
实治马来: #include<stdio.h> //头文件// int port(int n,int m)//这个是main函数里面的函数调用的被调用函数, n,m对应的值是下面printf("%d ",port(i,j));i,j的值// {int i,p=0,mplot=1,nplot=1,nmplot=1;//定义变量不用说了吧...但是注意这里的i跟main函数里...

上思县13185988827: 帮忙分析一个c语言程序 从每个语句功能上分析再到整体分析 还有他们语句功能的标志 谢谢啊
实治马来: 好吧!!我来 给你介绍下你的程序. 首先你的程序的功能是从键盘上输入 10个数.然后进行排序然后从小到大依次进行输出. 下面是你的程序中的一些错误和不足的地方.: 在程序的开头没有#include《stdio.h》所以在有的编译器上是不能形...

上思县13185988827: 一个C语言程序,请高手帮忙分析 -
实治马来: main(){ int i,j,x=0; 定义变量i,j x初值为0 static int a[8][8]; 定义一个静态的8横8纵2维数组 for(i=0;i<3;i++) 外部循环,次数由i决定 从0到2共3次for(j=0;j<3;j++) 内部循环,次数由j决定 从0到2共3次 a[i][j]=2*i+j; 把每次循环时i值*2再加j的值,赋值给第i行第j列的数 for(i=0;i<8;i++) 循环i从0到7, x+=a[i][j]; 把每次i循环后对应2维数组里的值类加赋值给x printf("%d",x); 输出x最后的值}

上思县13185988827: 一道 C语言程序,请高手教我如何分析? -
实治马来: 结果是:x=10,y=6;过程:1 y=1,x=1时,执行x+=5;此时x=6;2 y=2,x=6时,执行x-=3;此时x=3;3 y=3,x=3时,执行x+=5;此时x=8;4 y=4,x=8时,执行x-=3;此时x=5;5 y=5 ,x=5时,执行x+=5;此时x=10;6 y=6, x=10,执行break!

上思县13185988827: 请高手帮忙分析一下c程序. -
实治马来: #include <stdlib.h>这个是标准库#include <conio.h>这个跟控制台有关#include <ctype.h>这个跟数据类型转换有关

上思县13185988827: 求c语言大神,帮我分析下列程序的结果. -
实治马来: 结果是1;因为你在外层循环里每次都将sum的结果置为0;只有最后一次的结果才会被打印:望采纳!

上思县13185988827: 一个C语言程序不太明白它的执行过程请高手帮忙哪个分析:
实治马来: 结果是8. 第一个for循环,当i==0时,i&lt;2,所以x++(第一个x++),x==1; 接着内层for循环,j==0,j&lt;3,所以判断if(j%2),0%2为0,即为假,所以x++(第二个x++),x==2; 接着j++,j==1,j&lt;3,j%2为1,即为真,所以continue到j++; 此时j==2,j&...

上思县13185988827: 请帮我分析个C程序 -
实治马来: s[5]相当于class1 s[5],不过是全局的,for(p=s;p<5;i++)指针的自加 就是其指向地址的向下移动...

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