c语言复习题--2015-10-3

上传人:第*** 文档编号:34002536 上传时间:2018-02-19 格式:DOCX 页数:12 大小:52.40KB
返回 下载 相关 举报
c语言复习题--2015-10-3_第1页
第1页 / 共12页
c语言复习题--2015-10-3_第2页
第2页 / 共12页
c语言复习题--2015-10-3_第3页
第3页 / 共12页
c语言复习题--2015-10-3_第4页
第4页 / 共12页
c语言复习题--2015-10-3_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《c语言复习题--2015-10-3》由会员分享,可在线阅读,更多相关《c语言复习题--2015-10-3(12页珍藏版)》请在金锄头文库上搜索。

1、1C 语言程序设计 -复习题一、 填空1. 一个 C 源程序中至少应包含一个 main 函数。2. a 是整型变量,则执行表达式 a=25/3%3 后 a 的值为。 2 3. C 语言中的数组必须先 定义 ,然后使用。4. 如果需要从被调用函数返回一个函数值,被调用函数必须包含return 语句。5. 一个 C 语言程序的执行起点是_ main 函数(或主函数)_。6. 设 int x=3,y=5; 则执行 printf(%dn,x后输出 _1_。7. 定出公式 对应的 C 语言表达式_1.0/2*(x+sqrt(x+y)xy521/(5*x)_。8. 若函数调用语句为 f(a,b,f(a+b

2、,a-b,b);,则函数 f 的参数个数是_3_。9. 设 int a=2;,则执行 a+=a*=15;后,变量 a 的值是_60_。10. 设 double y45;,则数组 y 中元素的个数是_20_。11. 设 int x=7,y=3; 则表达式 x%y+x/y 的值是_3_。12. 设 char s =apple;,则执行 printf(%dn,strlen(s);后输出的值是_5_ 。13. 若有定义 int a35;则排列在数组中的第 9 个元素是( a13 ) 。14. strlen(How are youn)的值是( 12 )。15. C 语言中字符串结束的标志是 ( 0 )。

3、16. 写出一个名为 s 的单精度实型一维数组,长度是 6,所有元素初值均为 0,其数组定义语句是( float s6=0; )。17. strcmp(how,How)的值是( 32 或0 ) 。18. 若 a=2.8+7%3*11%2/4,a 的值是( 2.8 )19. 若 a= 5/2+5.0/2+7%6,a 的值是( 5.5 )20. 若 a=12,a*=2+3 a 的值是( 60 )21. 若 a=3,b=4,c=5,a+bc&b= =c 表达式的值是 ( 0 )22. 设 a=1,b=2,c=3,d=4,m=n=1,有表达式(m=ab)&(n=cd) ,表达式后 m,n 的值是( m

4、=0, n=1 )23. 设 int b=7;float a=2.5,c=4.7;求下面表达式的值是 ( 4.5 2)a+(int)(b/2*(int)(a+c)/2)%4二、 判断题1. 若定义的函数没有参数,则函数名后的圆括号可以省略。( )2. 函数的函数体可以是空语句( ) 。3. 只有 main 函数才能调用其他函数。 ( )4. return 语句中表达式的类型必须与函数定义的类型一致。 ( )5. 函数的实参和形参可以是相同的名字。 ( )6. 函数调用中,形参与实参的类型和个数必须保持一致。 ( )7. 外部类型的变量只能定义一次,但可在不同地方声明多次。 ( )8. 外部类型

5、的变量作用范围大,编程中应多用外部变量。 ( )9. 预处理命令行必须以开头,且最后要用分号结尾。 ( )10. 宏命令的处理占用编译时间,而不占用运行时间。 ( )三、 选择题(单选)1. 已知字符a 的 ASCII 码为 97 ,执行下列语句的输出是_D_。printf (%d, %c, b, b+1 ) ; (A) 98, b (B)语句不合法 (C) 98, 99 (D) 98, c 2. 有定义语句:int a=1,b=2,c=3,x;则以下选项中各程序段执行后, x的值不为 3 的是 C 。(A) if(cb) B、if(strcmp(a,b) C、if (strcmp(b,a)0

6、)D、if (strcmp(a,b)0)17. 使用语句 scanf(“a=%f,b=%d”,输入数据时,正确的数据输入是:(A)A、a=2.2,b=3 B、a=2.2 b=3 C、2.2 3 D、2.2,3418. 表示关系 12c2.a D、p.c2.a 21. 一个 C 语言程序是由( C ) 组成的。A主程序 B子程序 C函数 D过程22. 2转换说明符%x 的输出形式是( C ) 。A十进制 B八进制 C十六进制 D二进制23. 若 a、b 均为 int 型变量,且 a=100,则关于循环语for(b=100;a!=b;+a,+b)printf (“-”);的正确说法是(C) 。A循

7、环体只执行一次 B死循环C循环体一次也不执行 D输出-24. 若 x、y、 z 均为 int 型变量,则执行下列语句后的 z 值为 ( A ) 。 x=1; y=2; z=3; z=(xy)?z :y ; z = (z=1;n-),下列语句实现将 S2 所指字符数组中前 n 个字符复制到 S1 所指字符数组中,其中代码不正确的是( D ) 。A*S1+=*S2+ BS1n-1=S2n-1C*(S1+n-1)=*(S2+n-1) D*(+S1)=*( +S2)37. 调用函数的实参与被调用函数的形参应该有如下关系( D ) 。6A只要求实参和形参个数相等 B只要求形参和实参顺序相同C只要求实参和

8、形参数据类型相同 D上述三点均需具备38. 联合体成员的数据类型 ( B ) 。A相同 B可以不同也可以相同 C长度一样 D是结构体变量39. 由系统分配和控制的标准输出文件为( D ) 。A键盘 B磁盘 C打印机 D显示器40. C 语言标准库函数 fread(fd,buffer,n)的功能是( A ) 。A从文件 fd 中读取长度不超过 n 个字节的数据送入buffer 指向的内存区域B从文件 fd 中读取长度不超过 n-1 个字节的数据送入buffer 指向的内存区域C从文件 fd 中读取长度不超过 n 个字符送入 buffer 指向的内存区域D从文件 fd 中读取长度不超过 n-1 个

9、字符送入 buffer 指向的内存区域41. 下列选项中不正确的常数的选项是(D) 。、0x12F 、-1.23E-2 、12.0 、 038842. 下面正确的字符常量是(B) 。、a 、 、n 、37643. 下面正确的字符串常量是(C) 。、a 、376 、n 、37644. 表达式A+4*25.0-b的正确结果是( B) 。、67 、67.0 、不确定 、67L45. 执行 printf(%x,100);后的输出结果是(C) 。、100 、0x100 、0X64 、6446. 已知 m=48,ch=a,n=0;则表达式(m=n&chy?1:1.5);后的输出结果是( D) 。、语法错误

10、 、1 、1.5 、1.50000049. 能表示条件 0x100 的表达式是(D) 。、0=0,x=0&x=0&ch=0&ch=0|chc&a+cb&b+ca【6】 a=b|b=c|a=c【7】 a*a+b*b=c*c|b*b+c*c=a*a|a*a+c*c=b*b9else printf(4);else printf(5);3. 下列程序是求 1+1/2+1/4+1/50 的值。#include “stdio.h”main( ) int i=2;float sum=1;while (_【8】_) sum=sum+1.0/i;_【9】_;printf(“sum=%f”, sum);六、 程序

11、修改题(本题共*小题,共*分)请在注释“ERROR”处修改程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序结构!答案需写出整行语句。1. 用指针变量输出数值。#include void main()int a =1,2,3,4,5,6,7,8,9,10,*p; *p=a; /* ERROR1 */ p=a;printf(%fn,*p+9); /* ERROR2 */ printf(%dn,*(p+9)2. 利用函数求两个整数的最大公约数。#include void main() int gcd(int a, int b); int a,b,ab

12、d;printf(intput data a b:n);scanf(%d,%d,a,b); /* ERROR3 */ scanf(%d,%d,abd=gcd(a,b); printf(abd=%dn,abd);【8】 i1e-5)e+=item1;item1 = item2;njie = 1;for(i = 1;i#include#define N 10#define LEN 8111int main()char strNLEN;char tLEN;int i,j,k;for(i=0;i void main() int b(int x ,int n);int sum=0; int a5=1,2

13、,3,4,5; sum=b(a,5); printf(sum=%dn,sum); int b(int x,int n) int i,sum=0;for(i=0;ivoid main() int i,j,k,a33,b32,c32; printf(输入矩阵 A:n);for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d, printf(输入矩阵 B:n);for(i=0;i3;i+) for(j=0;j2;j+) scanf(%d, printf(AB 相乘后得矩阵 C:n);for(i=0;i3;i+) for(j=0;j2;j+) cij=0; for(k=0;k3;k+) cij+=aik*bkj; 13printf(%d ,cij); printf(n);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号