井冈山大学2022年C语言期末复习题
本试卷为井冈山大学2022年C语言期末复习题,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言期末复习题
一、单项选择题 (共50题,每题2分,共计100分)
( B )
1、若有以下程序段: int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf("%d,%d,%a",a,b,c);执行后的输出结果是________。
( B )
2、与"y=(x>0?1:x<0?-1:0)";的功能相同的if语句是________。
( D )
3、以下c语言用户标识符中,不合法的是________。
( A )
4、在c语言中,存储一个字符型、整型、单精度实型变量所需的空间是________。型、单精度实型变量所需的空间是________。
( B )
5、在c语言程序中可用做用户标识符的是________。
( B )
6、下列表达式的结果正确的是________。 int a,b,c,d; a=b=c=d=2; d=a+1==3?b=a+2:a+3; printf("%d\n",d);
( B )
7、不能把字符串:hello!赋给数组b的语句是________。
( C )
8、以下for循环是________。 for(x=0,y=0;(y!=123) && (x<4);x++)
( D )
9、对下面程序段,描述正确的是________。 for(t=1;t<=100;t++)
{
scanf("%d",&x);
if (x<0) continue;
printf("%d\n",t);
}
( C )
10、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是________。
( A )
11、a,b均为整数,且b!=0,则表达式a/b*b+a%b的值是________。
( B )
12、有以下程序
main()
{
char p[]={'a', 'b', 'c'} , q[10]={'a', 'b', 'c'} ;
printf("%d %d\n", strlen(p), strlen(q));
}
以下叙述中正确的是________。
( B )
13、有以下程序
main()
{
int s=0,a=1,n;
scanf("%d",&n);
do
{
s+=1;
a=a-2;
}
while(a!=n);
printf("%d\n",s);
}
若要使程序的输出值为2,则应该从键盘给n输入的值是________。
( D )
14、若定义:int a=511,*b=&a; 则printf("%d\n",*b);
的输出结果为
( D )
15、要求函数的功能是交换 x 和 y 中的值,且通过正确调用返回交换结果 . 能正确执行 此功能的函数是______。
( D )
16、有如下定义
struct person
{
char name[9] ;
int age ;
};
struct person class[10]={" johu" , 17 , "paul" , 19 , "mary" , 18 , "adam" , 16};
根据上述定义,能输出字母 m 的语句是______。
( C )
17、以下对 c 语言中共用体类型数据的叙述正确的是______。
( C )
18、下列各项关于变量的描述中正确的是________。
( D )
19、整型变量x和y的值相等,且为非0值,则以下选项中结果为0的表达式是______。
( D )
20、计算机病毒是一段程序,一般隐藏在______中。
( D )
21、若有以下定义,则能使值为3的表达式是 int k=7,x=12;
( A )
22、表示关系x<=y<=z的c语言表达式为______。
( C )
23、下列关于形参的说法,正确的是________。
( B )
24、以下合法的赋值语句是______。
( D )
25、若有下面的说明和定义,则sizeof(struct aa)的值是________。
struct aa {
int rl;
double r2;
float r3;
union uu {
char u1[5];
long u2[2];
} ua;
} mya;
( B )
26、以下叙述中不正确的是________。
( C )
27、以下选项中属于c语言数据类型的是________。
( D )
28、有以下程序:
#include<stdio.h>
main()
{
int i=0,a=0;
while(i<20)
{
for(;;)
{
if((i%5)==0)break;
else i--;
}
i+=13,a+=i;
}
printf("%d\n",a);
}
程序的输出结果是________。
( A )
29、有以下程序:
#include<stdio.h>
main() {
int c;
while((c=getchar())!=’\n’)
switch(c-’3’) {
case 0: case 1:putchar(c+4);
case 2:putchar(c+4);
break;
case 3:putchar(c+3);
case 4:putchar(c+3);
break;
}
printf("\n");
}
从第一列开始输入数据(<cr>代表一个回车符):3845<cr>,则程序输出结果为________。
( B )
30、定义如下变量和数组: int k; int a[3][3]= {9,8,7,6,5,4,3,2,1}; 则下面语句的输出结果是________。
for(k=0;k<3;k++) printf("%d",a[k][k]);
( D )
31、下面关于函数依赖的叙述中,不正确的是________。
( D )
32、以下正确的字符串常量是________。
( D )
33、分析下列程序,其最终执行结果是______。
main()
{
int n[3],i,j,k;
for(i=0;i<3;i++)n[i]=o;
k=2;
for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]-1;
printf("%d\n",n[0]);
}
( D )
34、设函数定义如下: float f1(float a,float b)
{
return(a+b);
}
若有float x=1.1,y=2.2;
,则以下语句中正确的函数调用是________。
( C )
35、下列字符数组长度为5的是________。
( C )
36、下列选项中,哪一项不是c语言的关键字________。
( C )
37、下列选项中,表示字符串末尾的结束标志是________。
( D )
38、关于数组的定义与初始化,下列哪一项是错误的( )
( C )
39、有如下程序
main( )
{
int a=7,b=5,c=9;
if(a<b)if(b<0) c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是______。
( D )
40、假定int类型变量占用4个字节,若有定义:int x[10]= {0,2,4}则数组x在内存中所占字节数是______。
( B )
41、能正确表示a≥10或a≤0的关系表达式是________。
( C )
42、若下列语句组,则输出结果是________。
int x=-1;
if(x++<0) printf("%d",--x);
printf("%d",x++);
( B )
43、有以下程序
main()
{
int a[3][2]={0},(*ptr)[2],i,j;
for(i=0;i<2;i++)
{
ptr=a+i;
scanf("%d",ptr);
ptr++;
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++) printf("%2d",a[i][j]);
printf("\n");
}
}
若运行时输入:1 2 3<回车>,则输出结果是______。
( D )
44、宏定义是最常用的预处理功能之一,它用于将一个标识符定义为一个______
( B )
45、若有下列定义,则对a数组元素地址的正确引用是________。 int a[5],*p=a;
( A )
46、设a=3,b=2,则表达式a^b>>2的值的二进制表示为________。
( A )
47、在c 语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个______。
( D )
48、以下叙述正确的是()。
( B )
49、若执行 fopen 函数时发生错误,则函数的返回值是()。
( B )
50、设 p1 和 p2 是指向同一个字符串的指针变量,c 为字符变量,则以下不能正确执行的赋值语句是()。
相关标签:
- C语言
- 井冈山大学
- 期末复习题