版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自测练习七:标准输入函数scanf()的使用 自测练习试卷总分:7 得分:100程序运行中需要从键盘上输入多于一个数据时,若不特别规定分隔符,则输入的各数据之间所使用的分隔符为( )。空格或逗号逗号或回车逗号或分号空格或回车答案:D2.用于从键盘上为变量输入值的标准输入函数是( )。printf()print()scanf()答案:C3.在scanf()函数调用的格式字符串中,每个格式符的先导字符为( )。#%$答案:B4.在scanf()函数调用的格式字符串中,若使用格式字符串为“%d,%d”,则规定输入的两个数据之间的分隔符为( )。#$%答案:A5.在利用scanf()函数从键盘输入数据
2、时,需要在参数表的开始位置使用相应的格式字符串。答案:正确6.在“scanf(%d %d,&x,&y);”语句所使用的格式字符串中,包含有2个格式符。答案:正确7.在执行“scanf(%d %d,&x,&y);”语句时,需要从键盘上输入2个整数。答案:正确自测练习三:C语句分类 自测练习试卷总分:4 得分:100在C语言中,一条简单语句的结束符是( )。?逗号?冒号分号空格答案:C2.在C语言中,每条复合语句的开始标记字符为( )。(答案:B3.不符合C语言规定的复合语句是( )。;x=0;?y=10?答案:D4.C语言中的选择类语句有两条,它们是( )。if和switchif和elseswi
3、tch和caseelse和case答案:A自测练习三:for循环语句 自测练习试卷总分:6 得分:100当处理问题时的循环次数是确定的,则采用的最合适的循环方式为( )。forwhiledo-whileswitch答案:A2.若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字( )。conststaticcontinuecase答案:A3.已知AZ的ASCII码为6590,当执行“int x=C+5;”语句后x的值为( )。70717273答案:C4.在一条变量定义语句中可以同时定义多个变量。答案:正确5.在一条变量定义语句中,当同时定义多个变量时,各变量之间
4、只能使用逗号分开。答案:正确6.在一条变量定义语句中,定义的变量和赋给它的初值之间不需要使用等号(=)。答案:错误自测练习三:二维数组的定义和使用 自测练习试卷总分:4 得分:100假定有一个定义语句为“int a34=3,4,2,8,6;”,则元素a21的值为( )。0486答案:A2.假定二维数组的定义语句为“int* a35;”,则该数组所占用的存储空间的字节数为( )。120153060答案:D3.在二维数组的定义语句中,数组名后带有两对中括号。答案:正确4.假定二维数组的定义语句为“double aMN;”,则每个数组元素的列下标取值范围在0N-1之间。答案:正确自测练习三:变量 自
5、测练习试卷总分:1 得分:100要定义a和b为两个整型变量,则使用的定义语句为( )。int a;b;?int a,b;?int a b;?int a:b;答案:B自测练习三:变量的作用域 自测练习试卷总分:6 得分:100在C语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的是( )。全局?语句文件?局部答案:B2.函数定义参数表中的每个形参变量,其作用域范围为所在的整个( )。程序?文件函数参数表答案:C3.在函数外定义的变量,若不带有作用域关键字,则它具有( )。全局作用域局部作用域文件作用域函数作用域答案:A4.?对于全局或文件作用域变量,若没有对它进行初始化,则默
6、认的初值为1。答案:错误5.对于全局或文件作用域变量,其定义位置只能在程序文件中所有函数定义之外。答案:正确6.对于不加static标识的局部变量,若没有对它进行初始化,则它的初值是0。答案:错误自测练习三:文本文件的输出访问操作 自测练习试卷总分:6 得分:100在一个文本文件中保存一个实数2.4所占用的字节数为( )。2348答案:B2.向一个文本文件中写入一个字符串的系统函数为( )。fputc()fgets()fputs()fgetc()答案:C3.若一个文本文件的长度为n-1,当以a方式打开时,其写文件指针初始指向的字节位置编号为( )。01n-1n答案:D4.每次只能向文本文件中写
7、入一个字符,不能一次写入一个字符串。答案:错误5.向文本文件中输出数据时,需要调用系统函数fputc()或fputs()。答案:正确6.下面函数的功能是把从键盘上输入的一系列字符保存到文本文件中。该文本文件名为参数fname所指向的字符串。请在横线处填写合适内容。 void xw1(char* fname) ? FILE* fout=fopen(fname,_ ); char ch; printf(输入一系列字符,以字符作为结束标志n); while(1) scanf(%c,&ch); if(ch=) break; fputc(ch,fout); fclose(fout); 答案:w自测练习二
8、: C语言字符集 自测练习试卷总分:4 得分:100在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用答案:正确在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。答案:正确C语言中使用的字符常量,其起止标记符是( )。单引号双引号中括号尖括号答案:A4.C语言中使用的字符串常量,其起止标记符是( )。单引号双引号中括号尖括号答案:B自测练习二:switch开关语句 自测练习试卷总分:4 得分:100?在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成语句( )。forifdowhile答案:B2.每个C语言
9、程序文件的编译错误的类型有( )。2. 在switch语句中,每个保留字case后面的表达式必须是( )。变量种常量一般表达式函数调用答案:B3.执行下面程序的输出结果为_ 。 #include void main() int x=5,y=0; switch(2*x-3) case 4: y+=x; break; case 7: y+=2*x+1; break; case 10: y+=3*x; break; printf(y=%dn,y); 答案:y=114.执行下面程序的输出结果为_ 。 #include void main() int x=9,y=0; switch(x%3) case
10、0: y+=x; case 1: y+=2*x+1; case 2: y+=3*x; break; default: y+=x-1; printf(y=%dn,y); 答案:y=55自测练习二:一维数组的定义和使用 自测练习试卷总分:4 得分:100假定有一个定义语句为“int a10=3,4,2,8,6;”,则元素a3的值为( )。4286答案:C2.在下面字符数组的定义语句中,有语法错误的是( )。char a20=abcdefg;char a=x+y=55.;?char a15=1,2;?char a10=5;答案:D3.在一维数组的定义语句中,可以给数组中每个元素赋初值。答案:正确4.
11、假定一维数组的定义为“double aM;”,则每个数组元素的下标取值范围在1M之间。答案:错误自测练习二:函数的调用 自测练习试卷总分:9 得分:100假定一个函数的原型为int ff(int x),一个整型变量为a,则下面函数调用表达式不正确的是( )。ff(*a)?ff(a)?ff(a+10)ff(3)答案:A2.若用数组名作为函数调用的实参,传递给形参的是( )。数组的首地址?数组中第一个元素的值数组中全部元素的值数组元素的个数答案:A3.假定一个函数原型为int f1(int aN,int n),与数组参数等价的表示为( )。int* a?int* a?int (*a)Nint* a
12、N答案:C4.函数被调用执行中,形参变量的初值由调用该函数时对应的实参值给定。答案:正确5.函数调用参数表中的每个实参只能是常量或变量。答案:错误6.当使用xk4(2,4)调用此函数时,返回值为_ 。 int xk4(int x, int n) /n为大于等于0的整数 int i,p=1,s=1; for(i=1;i=n;i+) p*=x; s+=i*p; return s; 答案:997.假定以-1.0作为结束键盘输入的标志,此函数的功能是求出并返回从键盘上输入的一批实数的_ 。 double xk7() double x,y=0; int n=0; printf(请输入一批实数,直到-1.
13、0为止!n); do scanf(%Lf,&x); if(x=-1.0) break; n+; y+=x; while(1); if(n=0) return y; else return y/n; 答案:平均值8.此函数的功能是把十进制正整数x转换为_ 进制数输出出来_。 void xk10(int x) char a10; int i=0,rem; do rem=x%16; x=x/16; if(rem0) printf(%c,a-i); 答案:十六9.此程序运行后,得到的输出结果为_ 。 #include int wr9(int *a, int n) int i,s=0; for(i=0;
14、iax:ax(a)答案:4.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为( )。ax-a?x:a?x(a)答案:C5.使用结构类型时,只需要使用类型标识符,不需要使用关键字struct。答案:错误6.在结构成员访问运算符中,点运算符(.)为双目运算符。答案:正确7.在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构变量。答案:错误自测练习八:C语言程序的上机操作过程 自测练习试卷总分:6 得分:100C语言源程序文件的扩展名为( )。cppexeobjc答案:D2.每个C语言程序文件的编译错误的类型有( )。1种2种3种4种答案:B3.每个C程序文件在编译时可
15、能出现有警告性错误,其对应的标识符号为( )。warningerrorwarnerr答案:A4.一个C语言程序只能够包含一个程序源文件。答案:错误5.一个C语言程序只能够包含一个用户头文件。答案:错误6.在C语言程序上机操作的过程中,编译程序的操作步骤之后是连接操作。答案:正确自测练习六:使用指针和动态存储分配的程序举例 自测练习试卷总分:2 得分:100执行下面程序的输出结果为_ 。 #include #include void main() int *p=malloc(sizeof(int); *p=20; *p+=30; printf(%dn,*p); 答案:50执行下面程序的输出结果为
16、_ 。 #include #include void main() int *p=calloc(6,sizeof(int); int *t; *p=1; for(t=p+1; tp+6; t+) *t=*(t-1)+3; printf(%dn,*(p+5); 答案:16自测练习六:使用结构的应用编程举例 自测练习试卷总分:4 得分:100此程序运行后,得到的输出结果为_ 。 #include struct Worker char name15; int age; int pay; void main() struct Worker x=wanghua,52,4266; struct Worke
17、r y=x; printf(%dn,x.pay+y.pay); 答案:8532此程序运行后,得到的输出结果为_ 。 #include struct Worker char name15; int age; int pay; void xh1(struct Worker r) r.age+=12; printf(%d ,r.age); ; void main() struct Worker r=abc,25,420; xh1(r); r.age+=15; printf(%dn,r.age); 答案:37 40此程序运行后,得到的输出结果为_ 。 #include struct Worker ch
18、ar name15; int age; int pay; int xh2(struct Worker r1, struct Worker r2) if(r1.age=r2.age) return 1; else return 0; void main() struct Worker a4=abc,25,420,defa,58,638, ghin,49,560,jklt,36,375; struct Worker x= ,49,0; int i; for(i=0; i4; i+) if(xh2(ai,x) break; for(i=0; i4; i+) if(xh2(ai,x) break; 答
19、案:ghin 560此程序运行后,得到的输出结果为_ 。 #include #include #include struct CCC char *a; int n; void main(void) struct CCC x; char* p=XxkComputer; x.n=strlen(p)+1; x.a=malloc(x.n); strcpy(x.a,p); printf(%s %dn,x.a,x.n); void main() struct Worker a4=abc,25,420,defa,58,638, ghin,49,560,jklt,36,375; struct Worker x
20、= ,49,0; int i; for(i=0; i4; i+) if(xh2(ai,x) break; for(i=0; i4; i+) if(xh2(ai,x) break; 答案:XxkComputer 12自测练习六:利用函数编写应用程序举例 自测练习试卷总分:3 得分:100这是一个递归函数,其功能是求出并返回数组an中n个元素之积,请在横线处填。 int ff1(int a, int n) if(n=1) return a0; else return an-1*_ ; 答案:ff1(a,n-1)这是一个含有递归函数的程序,此程序运行后,得到的输出结果为_ 。 #include in
21、t ff1(int a, int n) if(n=1) a0=1; return a0; else an-1=2*ff1(a,n-1); return an-1; void main() int a5; ff1(a,5); printf(%dn, a4); 答案:16这是一个递归函数,其功能是求出并返回两个自然数m和n的最小公倍数,请在横线处填写合适内容。 int ff2(int m, int n, int b) /初始调用时传送给b的值必须为2 if(mb | n=0) printf(%s %sn,a,b); else printf(%s %sn,b,a); 答案:456 123自测练习六:
22、标准输出函数printf()的使用 自测练习试卷总分:10 得分:100用于输出表达式值的标准输出函数是( )。printf()print()scanf()output()?答案:A2.在printf()函数调用的格式字符串中,每个格式符的先导字符为( )。#%$答案:B3.在printf()函数调用的格式字符串中,若使用格式符为“%d”,则对应输出的数据类型为( )。charintfloatdouble答案:B4.在printf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输出的数据类型为( )。charintfloatdouble答案:C5.在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为( )。5436答案
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 定期存款合同模板
- 市场咨询合同范文
- 银行贷款合同补充协议范本
- 洗衣机预售合同补充协议
- 入职承诺诚信宣言
- 个人借款合同的填写说明
- 购买版权服务合同
- 高校校园超市销售合同
- 家居订购购物合同
- 借款合同样本公司与个人
- 气温的变化与分布 完整版课件
- 现在完成时的用法 完整版课件
- 中小学古诗词首
- DB11T 1411-2017 节能监测服务平台建设规范
- 外科学教案-心脏疾病
- 白内障手术流程
- 《快乐的罗嗦》教学反思
- 高处作业吊篮定期检修与保养项目表
- 计调操作实务张建融教授13805741140zhangjltczjnet课件
- 系统辨识课件:第4章 数学模型的最小二乘法辨识
- 【人教版】高一政治必修2导学案:政治生活7.1《处理民族关系的原则:平等、团结、共同繁荣》
评论
0/150
提交评论