C程序设计复习含答案1 联系客服

发布时间 : 星期三 文章C程序设计复习含答案1更新完毕开始阅读024540efe45c3b3567ec8bd5

} i++;

} while(i<4);

}

A.AA B.AAA C.AAAA D.AAAAA 31.下述程序运行后,输出的结果是( B ) #include “stdio.h” main()

{int m,n,sum=0;

for(m=1;m<=3;m++) for(n=1;n<=3;n++)

if(m==n) sum=sum+m*n; else continue; printf(“%d\\n”,sum); }

A.18 B.14 C.12 D.6

测试题1

一、 选择题(每小题1分,共20分)

1. 把C语言编写的源程序转换成目标程序的过程称为: ( B) A.编辑 B.编译 C。连接 D。汇编 2. 以下C语言合法的标识符是:( C)

A.5h4 B.J5E-10 C. int3 D. *p

3. 下列数据中,符合C语言十进制整形常量的是: (D ) A.09876 B。0x9876 C. 9e4 D. -9876 4. C语言中运算对象为整形数的运算符是: (A ) A.% B。/ C. = D. *=

5. 占用内寸2个字节的数据类型说明符是:(B ) A.char B. int C. float D.double 6. 设int a=20;则表达式a/=a+a运算后a的值是:(A ) A. 0 B. 1 C. 20 D.40

7. 若a,b为int型变量,则执行以下语句后,a的值是:(B ) a=1; b=10; do{b-=a; a++} while(b--<0); A. 4 B. 2 C. 1 D. 3

8. 若x,y,z,m,n均为int 型变量,则执行下面语句后的z值是:(D ) m=10; n=5;

x=(--m==n++)? --m : ++n; y=m++; z=n;

A. 5 B. 10 C. 6 D.7 9. C语言中符合选择结构型的语句是:(C ) A.y=a*x + y; B. while(x>0) Y=a * x +y; C. if(x>=0) D. for(; x>0; ) While(x>0) y= a * x + y; y= a * x +y;

10. 在for, while, do – while的循环语句中,用于中断结束循环的语句是:( A)

A.break B. continue C. switch D. if

11. 设有数据定义语句:char string1[10]=”ABCDE”, string2[10]=”xyz”; 执行语句:printf(“%d”,strlen(strcpy(string1,string2)));后的输出结果是:( D)

A. 9 B. 8 C. 5 D. 3

12. 执行下列程序段后,i的正确结果是:(D) int i=10; switch(i) {

case 9: i+=1; case 10: i++; case 11: ++i; default: i+=i; }

A. 10 B. 11 C. 12 D. 24 13. 函数调用返回值的类型取决于:( D )

A.函数return语句中返回值的类型 B。形参的类型

C.实参的类型 D。该函数的定义类型 14. 设有函数A和函数B,函数的嵌套调用是指:( B)

A.函数A调用函数B B. 主函数调用函数A,函数A又调用函数B C.函数B调用函数B D. 函数B调用A,而函数A又调用函数B 15. 设数组定义为int a[5];则正确引用数组元素的是:(A ) A. a[0] B. a[5] C. a[2,3] D. *a

16. 设初始化语句char s[4]=”123”;则数组元素s[3]的值是:(C ) A.‘1’ B。‘3’ C。‘\\0’ D。非法 17. 设定义一个结构类型如下: struct student {

char name[10]; char address[50]; long post; long tel; }

则在定义该结构变量struct student Li后,系统分配给变量Li的内存单元字节数是:(C )

A. 4 B。62 C。68 D。102

18. 如果某变量在定义时,省略了存储类型,则默认的存储类型是:(A ) A. auto B. void C. extern D. static

19. 设有语句定义:int x[]={1, 3, 5, 7, 9, 11, 13}, *p=x;不能正确引用数组x的合法元素的表达式是:( B)

A. *(p--) B. *(--p) C. *(p++) D. *(++p)

20. 设a=5, b= 6, c=7, d=8, m=2, n=2, 执行(m=a>b)&&(n=c>d)后,n的值是:(B)

A. 1 B. 2 C. 3 D.4 二、 填空题(每空0.5分,工20分)

1. C语言有__整型__、__实型__、___字符型_、__字符串_、符号等5种基本类型的常量。

2. 转义字符是由___\\______符号开头的特殊字符或若干个数字组成的。 3. ++和——属于___单目___运算符。

4. 在逻辑运算符中,只有___!__运算符的优先级高于算术运算符。

5. C语言程序设计的三种基本结构是___顺序___、___选择___、__循环__。 6. 能表达“2020)||(x<-100)__。

7. 设变量的定义如下:char a; int b; float c; double d;则表达式a * b + c/d值的类型为:___double______。 8. 设int k, i=3, j=4;则执行k=(++i)+(j--);语句后k, i和j的值分别为___8___、____4_____、_____3____。

9. C语言中规定逻辑表达式的真值为:__1(非零)__、假值为__0(零)__。 10. for语句的定义形式为:for(___循环变量初值___、__循环条件__、__循环变量增值__)。 11. 若a=1, b=2,表达式a+=b-=a*=a+b之值为___2___;表达式(a2之值为__1__;表达式c=a+3,b=c+(a+b)之值为__7__;表达式a+2==b?(c=0) : (d=1)之值为__1__;

12. C语言的函数主要由__函数的说明部分__和__函数体__两部分组成。 13. C语言中调用函数时,函数参数的传递方式主要有__值传递__、__地址传递___。

14. 若使用库函数,一般应在本文件开头处用___#include___命令将有关库函数所用到的信息包含到本文件中来。

15. 设char c[]={“China”},则字符数组c有___6___个元素。

16. 定义结构变量首先应该定义___结构类型__,然后才能定义结构变量。 17. 设int a=5, *p=&a;该定义语句中的指针标识符是__p__;*p的值是__5__。

18. 从变量的作用域来分,变量可分为___全局变量___和___局部变量___;从变量的存在时间或内存存放的区域来分,变量可分为___静态存储变量__和__动态存储变量__。

19. C语言对文件的操作必须按照打开文件、__对文件进行读/写__、__关闭文件__三步进行。

20. 在函数体内出现调用该函数本身时,它就是___递归调用__函数。 三、 判断题(正确的:画“√”;错误的:画“×”,每小题1分,共10分) 1. C语言是一种面向机器的语言。(× )

2. 在C语言中无论什么语句后面都必须加上“;”号。(√ ) 3. Y=X2+1是C语言合法的表达式。(× )

4. 在编写C语言的子函数中允许使用多条return语句。(√ ) 5. C语言允许局部变量与全局变量同名。(√ ) 6. IF是C语言的保留字,又称关键字。(× )if 7. do-while语句是先执行循环体,再判断条件,当条件满足时继续执行循环体。(√ )

8. C语言的数组元素下标允许是任何类型的表达式。(× ) 9. C语言中不能将一个结构变量作为一个整体进行输入/输出。(√ ) 10. C语言中一个指针变量只能指向相同类型的变量的地址。(√ ) 四、 程序填空(每小题5分,共15分) 1.[程序说明]从读入的整数中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。

[程序]#include “stdio.h” main()

{__int___ n, i, j;

printf(“Enter INT number, with 0 to end\\n”); i=j=0;

scanf(“%d”,&n); while(____n!=0_____) {

if(n>0) i=____i+1_____; if(n<0) j=____j+1_____; ____ scanf(“%d”,&n)_____; }

printf(“i=M j=M\\n”, i, j); } 2.[程序说明]把一个十进制数转换成二进制数,所得二进制数的每一位放在一维数组中,二进制的最低位在下标为0的元素中,输出此二进制数。 [程序] #include “stdio.h” main()

{ int b[16], x, k, r, i; scanf(“%d”,&x);

printf(m binary num is:\\n”,x); k=-1; do {

r=x%_____2____; b[____++k_____]=r; x/=____2____; }while(____x!=0_____);

for(k=1; ____i>=0_____; i--) printf(%ld”, b[i]); printf(“\\n”); } 3.[程序说明]找出数组中最大值和此元素的下标。

程序]#include “stdio.h” main()

{ int a[10], *p, *s, i; for(i=0; i<10; i++)