(完整版)C语言程序设计期末考试卷及答案.doc,推荐文档
- 格式:docx
- 大小:131.31 KB
- 文档页数:14
..班级姓名学号C 语言程序设计期末考试卷及答案printf("k = %d,k = %o,k = %x\n",k,k,k);}A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知 a,b,c 为 int 类型,执行语句:scanf ( "% d% d% d",& a,& b,& c ) ; 使得 a 为 10,b 为 20,c 为一、单项选择题。
从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题 1 分,共计 30 分)。
30,以下不正确的输入形式是( )。
1.一个 C 语言程序的执行是从()。
A )10B )10C )10,20,30D )10 20A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束20 20 3030B ) 本程序的 main 函数开始,到 main 函数结束30C ) 本程序的 main 函数开始,到本程序文件的最后一个函数结束 9.已知 int x=1,y=2,z=3;,执行下列程序段后,输出的结果是()。
D ) 本程序文件的第一个函数开始,到本程序的 main 函数结束 if(x>y) z=x;x=y;y=z;2. 下列选项中不属于 C 语言关键字的是()。
A )switchB )printfC )defaultD )case3. 设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量 a 的值是()。
A )24B ) -24C )4D )16 4. 已知 int i;float d;,则正确的表达式是()。
A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5. 已知 int i,a;,执行语句 i=(a=3*9,a/5),a+11; 后,变量 i 的值是()。
A )5B )16C )27D )386. 下列选项中合法的字符型常量是()。
A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是()。
#include <stdio.h> void main( ){ int k = 15;第2装线..printf("%d,%d,%d",x,y,z);A )1,2,3B )2,3,3C )2,3,1D )2,3,210. 若变量 c 为 char 类型,能正确判断出 c 为大写字母的表达式是()。
A )'A'<=c<='Z'B )('A'<=c)||(c<='Z')C )(A<=c)&&(c<=Z)D )('A'<=c)&&(c<='Z')11. 有以下程序段:i n t k =0; w h i l e (k =1) k++;while 循环执行的次数是( )。
A )无限次B )有语法错,不能执行C )一次也不执行D )执行 1 次12.以下程序的输出结果是()。
void main( ){int x=1,a=0,b=0;switch(x)..{ case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }C )可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值A )a=1,b=0B )a=1,b=1C )a=2,b=1D )a=2,b=213.若有定义 inti = 1;,执行语句 while ( i < 10 ) i++; 后,i 的值为()。
A )9B )10C )11D )1214.有说明语句 int a[ ]={1,2,3,4,5};,则数组 a 包括了()个元素。
A )10B )5C )6D )不确定15.以下程序段执行后,输出结果是()。
char str[]="abc\n\012\\\n";printf("%d",strlen(str));A )5B )6C )7D )1316. 若有以下定义:float t[5][4];,能正确引用 t 数组元素的表达式是()。
A )t[1][4]B )t[5][0]C )t[0][0]D )t[0,0]17. 执行下列程序段:int i,s = 0;int a[ ][3] = {{1,2},{3,4},{5,6}};for ( i = 0;i < 3;i++ )s = s + a[i][i];则 s 的值是()。
A )5B )6C )12D )2118. 下述对字符数组的描述中,错误的是()。
A )字符数组可以存放字符串B ). 字符数组中的字符串可以整体输入输出.D)不可以用关系运算符对字符数组中的字符串进行比较19.设有宏定义#define Y(x) (x)+ 2 ,则下面程序段的运行结果是()。
int a = 2,b =2,c = 1;printf("%d\n",a* Y( b + c ) );类型应是()。
.A)auto B) extern C) static D) register24.类型相同的两个指针变量之间不能进行的运算是()。
A)+ B)- C)= D)==25.若有说明语句:int i, x[3][4] ;,则不能将x[1][1]的值赋值给变量i 的语句是()。
A)7 B)8 C)9 D)10 20.若用数组名作为函数调用的实参,传递给形参的是()。
A)数组的长度B)数组第一个元素的值C)数组中全部元素的值D)数组的首地址21.下面叙述中,不正确的是()。
A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量 C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效22.若在程序中定义了以下函数:float max( float a ,float b ){ return ( a>b?a:b); }并将其放在主调函数之后,则在调用之前应该对该函数进行声明,以下选项中错误的声明是()。
A)float max( float a,b ); B) float max( float ,float );C) float max( float a ,float b ); D) float max( float x,float y ); 23.要使函数体内的某局部变量能保留函数前一次调用后的值,供下一次调用时继续使用,该变量的存储...A )i = *( *( x + 1 ) + 1 );B )i = x[1][1];C )i = *( *( x + 1 ) );D )i = *( x[1] + 1 );26.有如下程序段:int a[6] = { 1,2,3,4,5,6 };int m,*ptr; ptr = &a[0];m = ( *ptr )*( *( ptr + 2 ) ) *( *( ptr + 4 ) );执行该程序段后,m 的值为()。
A) 15B )48C )24D )827. 设有定义:enum team{ my,your=4,his,her = his+10};则枚举元素 my 、your 、his 、her 的值分别是()。
A )0 1 2 3B )0 4 0 10C )0 4 5 15D )1 4 5 1528. 下面程序的运行结果是()。
union myun{ struct{ int x,y,z; }u; int k; }a; void main( ){ a.u.x = 4;a.u.y = 5;a.u.z = 6;a.k = 0;printf("%d\n",a.u.x); }A )4B )0C )5D )6..29. 表达式 11 & 18 的值是()。
A )0B )1C )2D )27 30.当顺利执行了文件关闭操作后,fclose 函数的返回值是( )。
A) 0B)trueC) -1D) 1二、填空题(每小题 2 分,共计 20 分)。
1.C 语言源程序编译后生成程序,然后经过连接生成可执行程序。
2.实型常量有两种表示方法:小数形式和。
3. rewind 函数的功能是。
4. 若 ch 是字符型变量,与 ch=getchar();功能相同的语句是。
5. 以下程序段要使指针变量 p 指向一个整型的动态存储单元,请填空。
int * p; p = malloc(sizeof(int));6. 已知:int *p,a = 2,b = 1;,则执行程序段 p = &a;a = *p + b; 后,a 的值为。
7. 已知:int x = 1, y = 2, z;,则执行 z = x > y ? ++x : ++y;后,z 的值为 。
8. 当执行下面程序且输入:ABC<回车>时,输出的结果是。
#i n c l u d e<stdio.h> void main( ){ char ss[10] ="12345"; gets(ss);printf(“%s \n”,ss); }9. 下面程序的功能是用函数的递归调用求 n!(n≥1),请填空。
float f(int n).{ if (n==1) return(1);} else return ( );}void main( ){ int n;scanf("%d",&n);printf("%.0f\n",f(n));}10.以下程序执行后的输出结果是。
void main( ){ int a = 3,b = 1,t;t = ( a << 2 ) | b;printf("%d\n",t );}三、程序阅读题(每小题 4 分,共计 20 分)。
1.以下程序执行后的输出结果是。
#include <stdio.h>void main( ){ int i;for ( i = 1;i <5;i++ )putchar(‘#’);.2.以下程序执行后的输出结果是。
void main( ){ int arr[10]={-1,2,3,4,-5,6,7,-8,9,0},i,k = 0;) if(arr[i]<0) k++; .printf("%d\n",k );}3.以下程序执行后的输出结果是f。