![c语言程序设计练习a_第1页](http://file4.renrendoc.com/view/c8eab613e909eacbab193f50d298c53d/c8eab613e909eacbab193f50d298c53d1.gif)
![c语言程序设计练习a_第2页](http://file4.renrendoc.com/view/c8eab613e909eacbab193f50d298c53d/c8eab613e909eacbab193f50d298c53d2.gif)
![c语言程序设计练习a_第3页](http://file4.renrendoc.com/view/c8eab613e909eacbab193f50d298c53d/c8eab613e909eacbab193f50d298c53d3.gif)
![c语言程序设计练习a_第4页](http://file4.renrendoc.com/view/c8eab613e909eacbab193f50d298c53d/c8eab613e909eacbab193f50d298c53d4.gif)
![c语言程序设计练习a_第5页](http://file4.renrendoc.com/view/c8eab613e909eacbab193f50d298c53d/c8eab613e909eacbab193f50d298c53d5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是(C)。A、地址传递B、由实参传给形参,再由形参传回给实参C、单向值传递D、由用户指定的传递方式2.以下程序的输出结果是Avoidsub(floatx,float*y,float*z){*y=*y-1.0;*z=*z+x;}main(){floata=2.5,b=9.0,*pa,*pb;pa=&a;pb=&b;sub(b-a,pa,pb);printf(“%f\n”,a);}A、10.500000B、9.000000C、1.500000D、8.0000003.以下叙述中不正确的是(C)。A、以下是正确的宏定义#defineIBM_PCB、在程序中凡是以#号开始的语句行都是预处理命令行C、C程序在执行过程中对预处理命令行进行处理D、预处理命令行都必须以#号开始4.在定义构造数据类型时,不能(C)。A、说明变量B、说明存储类型C、末尾不写分号D、初始化5.若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式是scanf(“a=%f,b=%f”,&a,&b);DA、a=3.12,b=9B、a=3.12b=9C、3.129.0D、a=3.12,b=9.06.chara[10];不能将字符串"abc"存储在数组中的是(C)。A、strcpy(a,"abc");B、inti;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;C、a="abc";D、a[0]=0;strcat(a,"abc");7.若a=1,b=2则a|b的值是(D)。A、1B、2C、0D、38.若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是Ascanf(“%f%f%f”,&a,&b,&c);A、B、C、D、9.以下程序的输出结果是Amain(){inta=5,b=6,c=7,d=8,m=2,n=2;printf(“%d\n”,(m=a>b)&(n=c>d));}A、0B、3C、1D、210.以下数据中,不正确的数值或字符常量是(B)。A、50B、cC、0xaaD、6611.如果inta=2,b=3,c=0,下列描述正确的是DA、a||(b=c)执行后b的值为0B、a>b!=c和a>(b!=c)的执行顺序是一样的C、a&&b>c的结果为假D、!a!=(b!=c)表达式的值为112.在下列程序段中,枚举变量c1,c2的值依次是(A)。enumcolor{red,yellow,blue=4,green,white}c1,c2;c1=yellow;c2=white;printf("%d,%d\n",c1,c2);A、1,6B、1,4C、2,6D、2,513.以下程序的输出结果是Bmain(){intk=4,m=1,p;p=func(k,m);printf(“%d,”,p);p=func(k,m);printf(“%d\n”,p);}func(inta,intb){staticintm,i=2;i+=m+1;m=i+a+b;return(m);}A、8,20B、8,17C、8,8D、8,1614.执行下面的程序段后,变量k中的值为Dintk=3,s[2];s[0]=k;k=s[1]*10;A、33B、10C、30D、不定值15.以下符合C语言语法的赋值表达式是(A)。A、d=9+e,f=d+9B、d=9+e+f=d+9C、d=9+e++=d+7D、d=9+e,e++,d+916.以下程序的输出结果是Amain(){intx,i;for(i=1;i<=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(“%d“,x);}printf(“\n”);}A、2870B、3981C、4284D、266817.下面的程序片断所表示的数学函数关系是Ay=-1;if(x!=0)y=1;if(x>0)y=1;elsey=0;A、B、C、D、18.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D)。A、函数调用可以出现在表达式中B、函数调用可以作为独立的语句存在C、函数调用可以作为一个函数的实参D、函数调用可以作为一个函数的形参19.下列叙述中正确的是(D)。A、C语言的子程序有过程和函数两种B、C语言编译时不检查语法C、C语言的函数可以嵌套定义D、C语言所有函数都是外部函数20.若有下列定义,则对a数组元素地址的正确引用是(B)。inta[5],*p=a;A、&aB、p+2C、a++D、&a[5]21.以下程序中,若第一个printf语句输出的是194,则第二个printf语句的输出结果是Dmain(){inta[]={1,2,3,4,5,6,7,8,9,0};printf(“%x\n”,a);printf(“%x\n”,a+9);}A、212B、204C、1a4D、1a622.C语言中while和do-while循环的主要区别是(B)。A、while的循环控制条件比do-while的循环控制条件更严格B、do-while的循环体至少无条件执行一次C、do-while的循环体不能是复合语句D、do-while允许从外部转到循环体内23.有以下程序main(){inti=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出结果是DA、10,1B、9,2C、9,1D、10,224.若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是(A)。A、int*p=&x;B、intp=&x;C、*p=*x;D、int*p=x;25.以下可作为函数fopen中第一个参数的正确格式是(C)。A、c:\user\text.txtB、c:user\text.txtC、"c:\\user\\text.txt"D、"c:\user\text.txt"26.下列程序运行结果为:C#defineP3#defineS(a)P*a*amain(){intar;ar=S(3+5);printf("\n%d",ar);}A、192B、25C、29D、2727.以下程序段的输出结果是Dcharstr[]=“ABCD”,*p=str;printf(“%d\n”,*(p+4));A、不确定的值B、字符D的地址C、68D、028.若int类型数据占两个字节,则下列语句的输出为(D)。intk=-1;printf("%d,%u\n",k,k);A、-1,32768B、-1,-1C、-1,32767D、-1,6553529.若有以下程序段,c3中的值是Dintc1=1,c2=2,c3;c3=c1/c2;A、0.5B、1C、1/2D、030.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为(D)。A、fwriteB、close()C、fread()D、fclose()1.如果有一个字符串,其中第十个字符为'\n',则此字符串的有效字符为9个。F2.intmax(a,b);是正确的函数调用语句.F3.设有数组定义:chararray[]="hello";则数组array所占的空间为5.F4.十进制数15的二进制数是1111.T5.若有定义和语句:inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++)sum+=a[i][2-i];则sum=21.T6.函数strlen("ASDFG\n")的值是7。F7.两个字符串中的字符个数相同时才能进行字符串大小的比较F8.若有intⅰ=10,j=0;则执行完语句if(j=0)ⅰ++;elseⅰ--;ⅰ的值为11。F9.函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5.F10.若定义:inta=3,b=2,c=1;则关系表达式((a>b)==c)的值为"真"。T1./*------------------------------------------------【程序设计】--------------------------------------------------功能:将字符串中的大写字母转换为对应的小写字母,其它字符不变。------------------------------------------------*/#include"stdio.h"#include"string.h"voidchange(charstr[]){/**********Begin**********/inti;for(i=0;str[i]!='\0';i++)if(str[i]>='A'&&str[i]<='Z')str[i]=str[i]+32;/**********End**********/}voidTestFunc();main(){charstr[40];gets(str);change(str);puts(str);TestFunc();}voidTestFunc(){FILE*IN,*OUT;intn;inti[200];into[200];IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFileError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFileError");}fscanf(IN,"%s",i);change(i);fprintf(OUT,"%s",i);fclose(IN);fclose(OUT);}【参考代码】inti;for(i=0;str[i]!='\0';i++)if(str[i]>='A'&&str[i]<='Z')str[i]=str[i]+32;2./*------------------------------------------------【程序设计】--------------------------------------------------功能:fun函数的功能是,判断一个三位数是否"水仙花数"。在main函数中从键盘输入一个三位数,并输出判断结果。说明:所谓"水仙花数"是指一3位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1+125+27。------------------------------------------------*/#include"stdio.h"intfun(intn){/**********Begin**********/intbw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1;elsereturn0;/**********End**********/}voidTestFunc();main(){intn,flag;scanf("%d",&n);flag=fun(n);if(flag==1)printf("%d是水仙花数\n",n);elseprintf("%d不是水仙花数\n",n);TestFunc();}voidTestFunc(){FILE*IN,*OUT;intiIN,i;intiOUT;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");}for(i=0;i<10;i++){fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}【参考代码】intbw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1;elsereturn0;1./*------------------------------------------------------【程序改错】--------------------------------------------------------功能:输入n,计算s=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n------------------------------------------------------*/#include<stdio.h>voidmain(){/**********ERROR**********/inti,s;p,n;inti,s,p,n;printf("Entern:\n");/**********ERROR**********/scanf("%d",n);scanf("%d",&n);/**********ERROR**********/for(s=p=0,i=1;i<n;i++)for(s=p=0,i=1;i<=n;i++)s+=p+=i;printf("S=%d\n",s);}改错1】 正确【学生答案】inti,s,p,n;【参考答案】inti,s,p,n;============================================================【改错2】 正确【学生答案】scanf("%d",&n);【参考答案】scanf("%d",&n);============================================================【改错3】 错误【学生答案】for(s=p=0,i=0;i<n;i++)【参考答案】for(s=p=0,i=1;i<=n;i++)============================================================1./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:利用指向结构的指针编写求某年、某月、某日是第几天的程序,其中年、月、日和年天数用结构表示。-------------------------------------------------------*/main(){/**********FILL**********/struct_____date{inty,m,d,n;/**********FILL**********/}x_____;intk,f,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};printf("date:y,m,d=");scanf("%d,%d,%d",&x.y,&x.m,&x.d);f=x.y%4==0&&x.y%100!=0||x.y%400==0;/**********FILL**********/a[1]+=f_____;if(x.m<1||x.m>12||x.d<1||x.d>a[x.m-1])exit(0);for(x.n=x.d,k=0;k<x.m-1;k++)x.n+=a[k];/**********FILL**********/printf("n=%d\n",x.n_____);}【空1】 正确【学生答案】structdate【参考答案】struct============================================================【空2】 错误【学生答案】}_____;【参考答案】x============================================================【空3】 错误【学生答案】a[1]+=_____;【参考答案】f============================================================【空4】 错误【学生答案】printf("n=%d\n",_____);【参考答案】x.n============================================================/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:<<<题干内容>>>给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!------------------------------------------------------*/#include<stdio.h>#include<stdlib.h>#defineN5typedefstruct{intnu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit3 It's Too Expensive(说课稿)-2024-2025学年北师大版(一起)英语四年级上册001
- 2025【各行各业合同协议模板】【各行各业合同协议模板】商铺转让协议
- 2025常用版工程工程合同样式
- 2023八年级英语下册 Module 9 Friendship Unit 1 Could I ask if you've mentioned this to her第二课时说课稿 (新版)外研版
- 2025墙体广告制作发布合同
- 2025国际贸易合同样本参考
- Unit 3 My weekend plan Part A Let's talk Let's learn大单元整体说课稿表格式-2024-2025学年人教PEP版英语六年级上册
- 9 生活离不开规则说课稿-2023-2024学年道德与法治三年级下册统编版
- 3 《百合花》 (说课稿)-2024-2025学年高一语文同步说课稿与知识梳理(统编版必修上册)
- Unit 4 My home PB Let's learn (说课稿)-2024-2025学年人教PEP版英语四年级上册
- 2021利达JB-QG-LD988EL JB-QT-LD988EL 火灾报警控制器 消防联动控制器调试手册
- 医院检验科安全风险评估报告表单
- 高一北师大版历史必修一知识点总结9篇
- 2024输血相关知识培训
- 2023年四川省绵阳市中考初中学业水平考试语文试题【含答案】
- 夏普LCD-46LX750A电视机使用说明书
- 正大天虹方矩管镀锌方矩管材质书
- 2024年山东鲁商集团有限公司招聘笔试参考题库含答案解析
- 山东省泰安市2022年初中学业水平考试生物试题
- 受贿案例心得体会
- 第六章ACS6000励磁单元
评论
0/150
提交评论