C语言程序设计
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
1.有以下程序 main() { char s[]="\n123\\"; printf("%d,%d\n",strlen(s),sizeof(s)); } 执行后输出结果是_5,6_____。 解析函数strlen()用于计算字符串的长度,所给的字符串s中,'\n'是转义字符,代表一个"换行"符,'\\'表示一个反斜杠字符'\',所以字符串s的长度为5;sizeof()函数是用来计算字符串所占内存的字节数,5个字符在内存中占5个字节,由于C规定,在每一个字符串末尾加一个字符结束标志'\0'以便系统判断字符串是否结束,所以该字符串s所占内存的字节数为6,最终打印输出5,6。: 2.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是___p=n___。 指针变量不同于整型变量和其它类型的变量,它是用来存放地址(指针)的,不能将一个整型量(或任何其它非地址类型的数据)赋给一个指针变量,这样的赋值是不合法的。本题中的答案D就属于这种情况,所以p=n;是非法的赋值语句。 3.若有定义:char *x="abcdefghi";,以下选项中正确运用了strcpy函数的是___char y[10],*s; strcpy(s=y+1, x+1);___。 选项A中x [4]是取字符e,也就是将字符复制到y中,strcpy实现的是地址的复制所以选项A错误;选项B中++y是错误的,不允许对常量进行自加运算(y是一个确定的地址值),所以选项B 错误;选项C指针变量s指向了y向后的第5位,则存放x时会出现越界问题,所以选项C错误;选项D中,指针变量s指向了y向后的第一位,此时s可存放数据的长度为9,而地址"x+1"起的字符串的地址长度也刚好为9(包括"\0"),所以开始复制不会出现地址越界问题。 4. 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是__非零值____。 5. 若有以下程序段 int m=0xabc,n=0xabc; m-=n; printf("%X\n",m); 执行后输出结果是___0___。 Printf()函数的一般格式如下所示: Printf("格式控制字符串",输出项清单) 格式控制字符串中包括: 1、格式转换说明符:以"%"开头后跟一个格式字符,它用于输出数据格式的转换与控制; 2、转义字符:以"\"开头后跟一个字符,用于输出某些特殊意义的字符和不可显示字符; 3、其他字符:用于照原样显示的字符。printf()格式转换说明符:'%X'按实际位数输出十六进制整数。因为m,n都定义为十六进制整数,且m=n,m-=n;的意思是将m与n的差值重新赋给m,所以m为0。 6. 设有 static char str[]="Beijing"; 则执行 printf("%d\n",strlen(strcpy(str,"China") ) ); 后的输出结果为__5____。 解析;在执行printf()函数前,数组str的长度是7,但是使用strcpy()函数将新的值赋给str后,strlen()函数返回的应当是现在的str字符串的字符个数,即是5。 7. 若有一些定义和语句 #include int a=4,b=3,*p,*q,*w; p=&a;q=&b;w=q;q=NULL; 则以下选项中错误的语句是__*q=0____。 由于指针变量q赋值为NULL,即空地址,如果给空地址所指向的存储空间赋值的话,系统会出错,提示为:Null point assignment!。 8. 设int a=12,则执行完语句a+=a-=a*a后,a的值是_-264_____。 第一步:a*a=144 ;(此时a=12) 第二步:a-=144相当于a=a-144,a=a-144=-132; (此时a=-132) 第三步:a+=a相当于a=a+a,a=a+a=-264; 所以该表达式最后的值应当为-264。 9. 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=a; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是_s=a+c;_____。 本题s的初值是a,然后b从1循环到c,每循环一次,s都加1,也就是到了c,加了1*c,所以程序所实现的功能实际上是s=a+c。 10. 以下叙述中正确的是__用C程序实现的算法可以没有输入但必须要有输出____。 算法的特性中包括"有零个或多个输入"及"有一个或多个输出"这两个特性。输入是指执行算法时从外界取得必要的信息。一个算法可以有两个或多个输入,但也可以没有输入;一个算法得到的结果就是算法的输出,没有输出的算法是没有意义的,所以一个算法必须至少有一个输出。 11. 算法的特性中包括"有零个或多个输入"及"有一个或多个输出"这两个特性。输入是指执行算法时从外界取得必要的信息。一个算法可以有两个或多个输入,但也可以没有输入;一个算法得到的结果就是算法的输出,没有输出的算法是没有意义的,所以一个算法必须至少有一个输出。 #include float fun ( int n ) { /************found************/ float A=1.0 ; int i; /************found************/ for (i=1; i<= n; i++) A = 1.0/(1+A); /************found************/ Return A ; 本文来源:https://www.wddqw.com/doc/bf20aa4caf45b307e87197b3.html