易妖游戏网
您的当前位置:首页C语言程序设计期末试题

C语言程序设计期末试题

来源:易妖游戏网


C语言程序设计测试题

一.选择题:(每题2分,共30分)

1.C语言中,运用对象必须是整型数的运算符是(A) A) % B) / C) % 和/ D)** 2.以下选项中,合法的用户标识符是(A)

A) float B) printf C) when? D) random%2

3.若已定义x和y为double 类型,则表达式x=1, y=x+3/2的值是(C) A) 1 B) 2 C) 2.0 D)2.5

4.在C语言中,5种基本数据类型的存储空间长度的排列顺序为(A) A) char5.假设所有变量均为整型,则表达式(a=2, b=5, B++, a+b)的值是(A) A) 7 B) 8 C) 6 D) 2 6.在一个C语言程序中(B)

A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现 C)main 函数必须出现在所有函数之后 D)main 函数必须出现在固定位置 7.putchar ( )函数可以向终端输出一个(D) A)整型变量表达式值 B)实型变量值

C)字符串 D)字符或字符型变量值 8为表示关系x=y=z, 应使用C语言表达式(A) A) (x>y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y)& (y>=z) 9.已知ch 是字符型变量,下面不正确的赋值语句是(D) A) ch=’7’+’9’; B)ch=’\\0’; C)ch=’a+b’; D)ch=’5+9’;

10.下列关于单目运算符++, —的叙述中正确的是(D) A)它们的运算对象可以是任何变量和常量

B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量;

C. 它们的运算对象可是int型变量,但不能是double型变量和float型变量;

D. 它们的运算对象可以是char型变量、int型变量和float型变量; 11. 设int a[][4]={1,2,3,4,5,6,7,8,9}; 则数组a的第一维的大小是(D) A. 2 B. 3 C.4 D.无确定值 12. 若已定义:以下正确的描述是(B)

A. continue语句的作用是结束整个循环的执行; B. 只能在循环体内和switch语句体内使用break语句; C. 在循环体内使用break语句或continue语句的作用相同; D. 从多层循环嵌套中退出时,只能使用goto语句; 13. 以下语句中,错误的是(D)

A. int a [] = {1, 2}; B. char*a [3]; C. char s [10] =”test”; D. int n=5, a[n]; 14. 以下程序的运行结果是(D) #define MAX (x, y) (x)>(y)? (x):(y) main()

{int i=10, j=15, k;

K=10*MAX(i,j); printf=(“%d\\n”, k); }

A. 10 B.15 C.100 D.150

15. 若要用fopen函数打开一个新的二进制文件,要求该文件既能读也能写,则文件方式字符串应是(B)

A. “ab++” B .”wb++” C .”rb++” D .”ab” 二、 填空题:

1. 有以下定义:int w[100]; 则w数组元素下标的上限为(0), 下限为(99).

2. 设a=3,b=4,c=5,则表达式a||b+c&&b==c 的值(1). 3. 表达式a=1,a+1, a++ 的值是(2).

4. 若用数组名作为函数调用的实参,传递给形参的是(数组的首元素的地址).

5. 定义结构体类型的关键字是(struct)。

6. 设a、b、c为整型数,且a=2,b=3,c=4,则执行完成以下语句: a*=16+(b++)-(++c);后,a的值是(28),c的值是(5).

7.被调用函数在执行结束时,这个函数中定义的(指针变量)类型的变量不被释放。

8. 若二维数组a有m列,则在a[i][j]前的元素个数为(mi+j)。

三、读程序写结果。 1、设有如下程序段: int i=0,sum=1; do

{ sum+=i++;} while(i<6); printf(“%\\n”,sum);

上述程序的输出结果是(16) 2、以下程序的输出结果是(10) main()

{int arr[]=30,25,20,15,10,5}:*p=arr; p++;

printf(“%d\\n”,*(p+3));};

3、下面程序的运行结果是(i=7,j=6,x=7) #include main0

{int i=2,x=5,j=7; fun(j,6);

printf(“i=%d;j=%d,x=%d\\n”,I,j,x);}

fun(int i,int j) {int x=7;

printf(“i=%d;j=%d;x=%d\\n”,i,j,x);}

4、下面程序的运行结果是;(AINO JKL MNO GHI) main0 {int j;

for(j=4;j>=2;j-) switch(j)

{case 0:printf(“%4s”,”ABC”); {case 1:printf(“%4s”,”DEF”); {case 2:printf(“%4s”,”GHI”); {case 3:printf(“%4s”,”JKL”); {default:printf(“%4s”,”MNO”); }

printf(“\\n”); }

5.下面程序的运行结果是: #include main() {

int i, j, k;

for (i=1; i<=4; i++) {for (k=1;k =i; k++) printf (“ ”); for (j=1;j<=5;j++)

printf (“*”); printf (“\\n”);} }

四、程序填充题

1.输入两个实数a和b,然后交换它们的值, #include

最后输出。

main()

{ float a,b ; float temp;

printf(“请输入a和b的值:”); scanf(“%d%d”,&a,&b );

temp=a; a=b ; b=temp ;

printf(“交换后,a=%d,b=%d”,a,b ); }

2.打印输出3——100之间的所有素数。素数即除1和其本身外没有其他约数的自然数。 #include main()

{int i,j;

for(i=3,i<=100 ;i+=2)

{for(j=2 ;j<=i;j++)if(i%j=0)break; _________

printf(“%5d”,i); } 五、编程题:

1、打印“水仙花数”。所谓“水仙花数”,是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33(课本p140)

2、请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方之和,并用主函数来调用fun 函数,完成整个程序。 解:程序如下: #include

#include void main() {void fun (int x); int a;

scanf(\"%d\fun (a);}

void fun (int x)

{int i,k,j=0,q=1,a[100],sum=0; for(k=3;k<=x;k++) {for (i=2;iif(q==1) a[j++]=k;q=1;} for(j=j-1;j>=0;j--) sum=sqrt(a[j]); printf(\"%d\\n\}

因篇幅问题不能全部显示,请点此查看更多更全内容