C语言程序设计

时间:2023-03-31 01:49:17 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
1.有以下程序 main()

{ char s[]="\n123\\";

printf("%d,%d\n",strlen(s),sizeof(s)); }

执行后输出结果是_5,6_____

解析函数strlen()用于计算字符串的长度,所给的字符串s中,'\n'是转义字符,代表一个"换行"符,'\\'表示一个反斜杠字符'\'所以字符串s的长度为5sizeof()函数是用来计算字符串所占内存的字节数,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);___ 选项Ax [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'按实际位数输出十六进制整数。因为mn都定义为十六进制整数,且m=nm-=n;的意思是将mn的差值重新赋给m,所以m0 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-144a=a-144=-132 (此时a=-132 第三步:a+=a相当于a=a+aa=a+a=-264

所以该表达式最后的值应当为-264

9. 若有如下程序段,其中sabc均已定义为整型变量,且ac均已赋值(c大于0

s=a;

for(b=1;b<=c;b++) s=s+1;

则与上述程序段功能等价的赋值语句是_s=a+c;_____

本题s的初值是a,然后b1循环到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