c语言程序设计练习3

上传人:lisu****2020 文档编号:138026842 上传时间:2022-08-19 格式:DOC 页数:27 大小:46KB
收藏 版权申诉 举报 下载
c语言程序设计练习3_第1页
第1页 / 共27页
c语言程序设计练习3_第2页
第2页 / 共27页
c语言程序设计练习3_第3页
第3页 / 共27页
资源描述:

《c语言程序设计练习3》由会员分享,可在线阅读,更多相关《c语言程序设计练习3(27页珍藏版)》请在装配图网上搜索。

1、在一个C程序中(B)。A、main函数必须出现在固定位置B、main函数可以在任何地方出现C、main函数必须出现在所有函数之前D、main函数必须出现在所有函数之后若有int a=1,2,3,4; 则*(a+1),*(*a+1)的含义分别为(C)。A、&a01,3B、非法,2C、&a10,2D、a00,4fseek函数的正确调用形式是(D)。A、fseek(起始点,位移量,文件类型指针)B、fseek(位移量,起始点,fp)C、fseek(文件类型指针,起始点,位移量)D、fseek(fp,位移量,起始点)C语言程序中,当调用函数时(B)。A、实参和虚参可以共用存储单元B、实参和虚参各占一个

2、独立的存储单元C、计算机系统自动确定是否共用存储单元D、可以由用户指定是否共用存储单元以下标识符中,不能作为合法的C用户定义标识符的是(C)。A、toB、answerC、defineD、_ifchar *s1=hello,*s2;s2=s1;则(D)。A、s2指向不确定的内存单元B、s1不能再指向其它单元C、不能访问helloD、puts(s1);与puts(s2);结果相同有如下程序main() int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%dn,a,b);该程序的输出结果是 BA、a=

3、1,b=1B、a=2,b=1C、a=1,b=0D、a=2,b=2下列正确的标识符是 DA、%yB、a+bC、6aD、_do若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是(B)。A、abB、wb+C、ab+D、rb+int a10;合法的数组元素的最小下标值为(B)。A、1B、0C、9D、10以下程序的输出结果是 Cmain() int a = 2, b =5; printf(“a=%d,b=%dn”,a, b); A、a=%2,b=%5B、a=%d,b=%dC、a=%d,b=%dD、a=2,b=5若有说明:int a34;则数组a中各元素(B)。A、不能

4、得到确定的初值B、可在程序的编译或运行阶段得到初值0C、可在程序的运行阶段得到初值0D、可在程序的编译阶段得到初值0宏定义#define PI 3.14中的宏名PI代替 CA、不确定类型的数B、一个单精度实数C、一个字符串D、一个双精度实数以下程序运行后的输出结果是 C 。struct STU char name10; int num; ; void f1(struct STU c) struct STU b = “LiSiGuo”, 2042; c = b; void f2(struct STU *c) struct STU b = “SunDan”, 2044; *c = b; main(

5、) struct STU a = “YangSan”, 2041, b = “WangYin”, 2043; f1(a); f2(&b); printf(“%d %dn”, a.num, b.num); A、2041 2043B、2042 2044C、2041 2044 D、2042 2043以下语法中正确的是 BA、C语言程序中的main函数必须放在程序的开始部分B、C语言程序总是从main开始执行C、在C语言程序中,要调用的函数必须在main函数中定义D、C语言程序总是从第一个定义的函数开始执行若有j的值为-1,则执行下列语句后的输出为(D)。 if(j=1) printf(*n); el

6、se printf(%n);A、%cB、%C、有错,执行不正确D、*以下程序的输出结果是 Cmain() char c1 = A, c2 = Y; printf(“%d,%dn”, c1, c2); A、65,90B、A,YC、65,89D、因输出格式不合法,无正确输出若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是 BA、a=a+b, b=a-b, a=a-b;B、a=t; t=b; b=a;C、t=a; a=b; b=t;D、t=b; b=a; a=t;C语言中要求对变量作强制定义的主要理由是(B)。A、便于编辑预处理程序的处理B、便于确定类型和分配空间C、便于移植D、便于写

7、文件设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为(D)。A、0-255B、0-32767C、0-2147483647D、065535若变量已正确定义,执行语句scanf(%d,%d,%d ,&k1,&k2,&k3);时,_D_是正确的输入A、20 30 40B、2030,40C、20, 30 40D、20,30,40当定义一个结构体变量时,系统分配给它的内存是(D)。A、结构中最后一个成员所需内存量B、结构中第一个成员所需内存量C、成员中占内存量最大者所需的容量D、各成员所需内存量的总和已定义ch为字符型变量,以下赋值语句中错误的是(C)。A、c

8、h=xaa;B、ch=NULL;C、ch=;D、ch=62+3;以下程序的输出结果是 Afunc(int a, int b) int c; c = a + b; return c; main() int x = 6, y = 7, z = 8, r;r = func(x-, y+, x + y), z-);printf(“%dn”, r); A、21B、11C、31D、20若二维数组a有m列,则在aij前的元素个数为(B)。A、j*m+iB、i*m+jC、i*m+j+1D、i*m+j-1以下read函数的调用形式中,参数类型正确的是(D)。A、read(int fd,int count,cha

9、r *buf)B、read(int count,char *buf,int fd)C、read(int *buf,int fd,int count)D、read(int fd,char *buf,int count)设有如下定义:char *aa2 = “abcd”, “ABCD“;则以下说法中正确的是 AA、aa是指针变量,它指向含有两个数组元素的字符型一维数组B、aa数组元素的值分别是”abcd”和ABCD”C、aa数组的两个元素中各自存放了字符a和A的地址D、aa数组的两个元素分别存放的是含有四个字符的一维数组的首地址函数调用语句:fseek(fp,-20L,2);的含义是(C)。A、将

10、文件位置指针移到距离文件头20个字节处B、将文件位置指针从当前位置向后移动20个字节C、将文件位置指针从文件末尾处退后20个字节D、将文件位置指针移到离当前位置20个字节处下面判断正确的是(D)。A、char *a=china;等价于 char *a;*a=china;B、char str10=china;等价于char str10;str=china;C、char c4=abc,d4=abc;等价于 char c4=d4=abc;D、char *s=china;等价于 char *s;s=china;全局变量的定义不可能在(A)。A、函数内部B、文件外面C、最后一行D、函数外面语句scanf

11、(%7.2f,&a);是一个合法的scanf函数。错循环结构中的continue语句是使整个循环终止执行 错char *p=girl;的含义是定义字符型指针变量p,p的值是字符串girl。 错若有定义int c;则while(c=getchar();是正确的C语句。 对结构体类型只有一种。错如果有一个字符串,其中第十个字符为n,则此字符串的有效字符为9个。错循环结构中的continue语句是使整个循环终止执行。错静态存储变量不随其所在函数的调用结束而被释放,其值会保留作为下一次调用的初值. 对进行宏定义时,宏名必须使用大写字母表示。错若有定义和语句:int a33=3,5,8,9,12,35,

12、i,sum=0;for(i=0;i3;i+) sum+=ai2-i;则sum=21. 对【程序设计】-功能:编写程序, 求矩阵(3行3列)与2的乘积 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 200 400 600 800 1000 1200 1400 1600 1800 -*/#include stdio.h int fun(int array33) /*Begin*/ /* End */ main() int i,j; int array33=100,200,300, 400,500,600, 700,800,900; fo

13、r (i=0; i 3; i+) for (j=0; j 3; j+) printf(%7d,arrayij); printf(n); fun(array); printf(Converted array:n); for (i=0; i 3; i+) for (j=0; j 3; j+) printf(%7d,arrayij); printf(n); NONO(); NONO() int i,j, array33; FILE *rf, *wf ; rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for (i=0; i 3; i+) for (j

14、=0; j 3; j+) fscanf(rf, %d, &arrayij); fun(array); for (i=0; i 3; i+) for (j=0; j 3; j+) fprintf(wf, %7d, arrayij); fprintf(wf, n); fclose(rf) ; fclose(wf) ; 【参考代码】int i,j; for(i=0; i 3; i+) for(j=0; j 3; j+) arrayij=arrayij*2; 【程序设计】-功能:fun函数的功能是,判断一个整数w的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。-*/#include

15、 stdio.h#includeconio.h int fun(int w) /*Begin*/ /* End */ void TestFunc();main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); TestFunc();void TestFunc() FILE *IN,*OUT; int c ; int t; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w);

16、 if(OUT=NULL) printf(Write File Error); for(c=1;c=5;c+) fscanf(IN,%d,&t); o=fun(t); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);【参考代码】int k,s=0; do s=s+(w%10)*(w%10); w=w/10; while(w!=0); if(s%5=0)k=1; else k=0; return(k);【程序改错】-功能:写计算级数 ex=1+x+x2/2!+x3/3!+ .+xn/n! 的值。-*/#includestdio.hmain() int m,

17、n; float x,term,ex1,ex2; printf(x,m=); scanf(%f %d,&x,&m); /*ERROR*/ ex1=ex2=1; term=1; for(n=1;n1; n-) term*=n/x; ex2+=term; printf(exforward=%f exbackrard=%fn,ex1,ex2); 【参考答案】ex1=ex2=1;【参考答案】term*=x/n;【参考答案】for (n=m;n=1; n-)【程序改错】-功能:分别统计字符串中大写字母和小写字母的个数。例如:给字符串 s 输入:AAaaBBb123CCccccd, 则应输出结果:uppe

18、r = 6, lower = 8。-*/#include #include /*ERROR*/void fun ( char *s, int a, int b ) while ( *s ) if ( *s = A & *s = a & *s = z ) /*ERROR*/ b+; s+; main( ) char s100; int upper = 0, lower = 0 ; printf( nPlease a string : ); gets ( s ); fun ( s, & upper, &lower ); printf( n upper = %d lower = %dn, upper

19、, lower );【参考答案】void fun ( char *s, int *a, int *b )【参考答案】(*a)+ ;【参考答案】(*b)+;【程序填空】-主函数的功能是:分别求出一批非零整数中的偶数、奇数的平均值,输入时用零作 为结束输入的标记。-*/main() int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf(%d,&x); while(x!=0) if(x%2=0) s1=s1+x;i+; else s2=s2+x;/*FILL*/ _; /*FILL*/ _; if(i!=0) av1=s1/i; else av1=0; if(j

20、!=0) /*FILL*/ _ ; else av2=0; printf(oushujunzhi:%7.2f,jishujunzhi:%7.2fn,av1,av2);【参考答案】j+j=j+1【参考答案】scanf(%d,&x)【参考答案】av2=s2/j【程序填空】-功能:输入数组,最大的与最后一个元素交换,最小的与第一个元 素交换,输出数组。-*/main() int number10; input(number); max_min(number); output(number);input(int number) int i; /*FILL*/ for(i=0;_;i+) scanf(%

21、d,&numberi); scanf(%d,&number9);max_min(int array) int *max,*min,k,l; int *p,*arr_end; arr_end=array+10; max=min=array; for(p=array+1;p*max) max=p; else if(*p*min) /*FILL*/ _; k=*max; l=*min; *p=array0; array0=l; /*FILL*/ _; *p=array9; /*FILL*/ _; k=*p; return;output(int array) int *p; for(p=array;parray+9;p+) printf(%d,*p); printf(%dn,array9);【参考答案】ii【参考答案】min=p【参考答案】l=*p【参考答案】array9=k

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!