admin 管理员组文章数量: 1184232
2024年3月22日发(作者:脚本源码怎么用)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
C
得分
语言程序设计期末考试卷及答案
阅卷人
复核人
8.已知a,b,c为int类型,执行语句:scanf("%d%d%d",&a,&b,&c);使得a为10,b为20,c为30,
以下不正确的输入形式是( )。
...
A)10 B)10 C)10,20,30 D)10 20
20 20 30 30
30
9.已知int x=1,y=2,z=3;,执行下列程序段后,输出的结果是( )。
一、单项选择题。从A、B、C、D四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。
1.一个C语言程序的执行是从( )。
--
-
-
-
-
-
线
-
-
线
-
-
-
-
-
-
-
-
-
号
-
-
-
-
-
-
-
-
-
-
学
-
-
-
-
-
-
--
-
-
-
-
-
-
--
-
-
-
-
-
-
-
-
--
-
-
-
-
-
-
-
-
--
-
-
-
-
-
-
-
-
--
-
-
--
-
-
-
-
-
-
-
-
装
装
-
-
-
-
-
-
-
-
--
-
-
-
-
-
-
-
-
--
-
-
--
-
-
-
-
-
-
-
-
名
-
-
-
-
-
-
-
-
-
-
姓
-
-
-
-
-
-
-
-
-
-
--
-
-
2
-
1
-
--
-
-
-
-
-
-
-
-
--
-
-
--
-
-
-
-
-
-
-
-
--
-
-
-
-
-
-
-
-
--
-
-
-
-
-
-
-
-
--
-
-
--
-
-
-
-
第
第
-
-
--
-
-
-
-
-
-
-
-
级
-
-
-
-
-
-
-
-
-
班
-
-
-
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
A)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
B)本程序的main函数开始,到main函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序的main函数结束
2.下列选项中不属于
...
C语言关键字的是( )。
A)switch B)printf C)default D)case
3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a的值是(
A)24 B) -24 C)4 D)16
4.已知int i;float d;,则正确的表达式是( )。
A)(int d) B)int(d)%i C)(int)d%i D)int(d%i)
5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i的值是( )。
A)5 B)16 C)27 D)38
6.下列选项中合法的字符型常量是( )。
A)"a" B)'n' C)"n" D)a
7.下面程序的运行结果是( )。
#include
void main( )
{ int k = 15;
printf("k = %d,k = %o,k = %xn",k,k,k);
}
A)k = 15,k = 15,k = 15 B)k = 15,k = 17,k = 17
C)k = 15,k = 017,k = 0xf D)k = 15,k = 17,k = f
)。
if(x>y) z=x;x=y;y=z;
printf("%d,%d,%d",x,y,z);
A)1,2,3 B)2,3,3 C)2,3,1 D)2,3,2
10.若变量c为char类型,能正确判断出c为大写字母的表达式是( )。
A)'A'<=c<='Z' B)('A'<=c)||(c<='Z')
C)(A<=c)&&(c<=Z) D)('A'<=c)&&(c<='Z')
11.有以下程序段:
int k=0;
while(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);
}
A)a=1,b=0 B)a=1,b=1 C)a=2,b=1 D)a=2,b=2
13.若有定义int i = 1;,执行语句while ( i < 10 ) i++; 后,i的值为( )。
A)9 B)10 C)11 D)12
14.有说明语句int a[ ]={1,2,3,4,5};,则数组a包括了( )个元素。
A)10 B)5 C)6 D)不确定
15.以下程序段执行后,输出结果是( )。
char str[]="abcn012n";printf("%d",strlen(str));
A)5 B)6 C)7 D)13
16.若有以下定义: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)5 B)6 C)12 D)21
..
18.下述对字符数组的描述中,错误的是( )。
A)字符数组可以存放字符串
B)字符数组中的字符串可以整体输入输出
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
19.设有宏定义#define Y(x) (x)+ 2 ,则下面程序段的运行结果是( )。
int a = 2,b = 2,c = 1;
printf("%dn",a * Y( b + c ) );
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) auto B) extern C) static D) register
24.类型相同的两个指针变量之间不能
..
进行的运算是( )。
A)+ B)- C)= D)==
25.若有说明语句:int i, x[3][4] ;,则不能
..
将x[1][1]的值赋值给变量i的语句是( )。
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) 15 B)48 C)24 D)8
27.设有定义:enum team{ my,your=4,his,her = his+10};
则枚举元素my、your、his、her的值分别是( )。
A)0 1 2 3 B)0 4 0 10 C)0 4 5 15 D)1 4 5 15
28.下面程序的运行结果是( )。
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("%dn",a.u.x);
}
A)4 B)0 C)5 D)6
29.表达式11 & 18的值是( )。
A)0 B)1 C)2 D)27
30.当顺利执行了文件关闭操作后,fclose函数的返回值是( )。
A) 0 B)true C) -1 D) 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<回车>时,输出的结果是 。
#include
void main( )
{ char ss[10] ="12345";
gets(ss);
printf(“%sn”,ss);
}
9.下面程序的功能是用函数的递归调用求n!(n≥1),请填空。
float f(int n)
{ if (n==1) return(1);
else return ( );
}
void main( )
{ int n;
scanf("%d",&n);
printf("%.0fn",f(n));
}
10.以下程序执行后的输出结果是 。
void main( )
{ int a = 3,b = 1,t;
t = ( a << 2 ) | b;
printf("%dn",t );
}
得分 阅卷人 复核人
三、程序阅读题(每小题4分,共计20分)。
1.以下程序执行后的输出结果是 。
#include
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;
for ( i = 0;i <10;i ++ )
if(arr[i]<0) k++;
printf("%dn",k );
}
3.以下程序执行后的输出结果是 。
void fun(int a[10])
{int i,j,t;
for (i=0;i<9;i++)
for (j=0;j<9-i;j++)
if (a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t; }
}
void main( )
{int i;
int a[10]={4,3,5,1,0,8,2,6,7,9};
fun(a);
for (i=0;i<10;i++)
printf("%3d",a[i]);
printf("n");
}
4.以下程序执行后的输出结果是 。
#include
struct stu
{ int x;
int *y;
}*p;
int a[2] = {10,20};
struct stu aa[2] = { 150,&a[0],250,&a[1]};
void main( )
{ p = aa;
printf("%dn",(++p)-> x ); }
5.以下程序执行后的输出结果是 。
void swap( int *p1 ,int *p2)
{ int k;
k = *p1;
*p1 = *p2;
*p2 = k;
}
void main( )
{ int a = 3,b = 6,*x = &a,*y = &b;
swap( x,y );
printf("%d,%dn",*x,*y );
}
得分 阅卷人 复核人
版权声明:本文标题:C语言程序设计期末考试卷及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1711058758a586298.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论