中国民航大学C语言期末题目
本试卷为中国民航大学C语言期末题目,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言期末题目
一、单项选择题 (共50题,每题2分,共计100分)
( B )
1、下列说法不正确的是________。
( A )
2、下列叙述中正确的是________。
( A )
3、以下选项中不合法的用户标识符是________。
( B )
4、下列叙述中不正确的是________。
( A )
5、根据c语言的语法规则,下列________个是不合法标识符。
( B )
6、设有字符串a="he has 钱!",则该字符串的长度为( )。
( C )
7、下列程序执行后的输出结果是________。
main()
{
char x=0xffff;
printf("%d\n",x--);
}
( B )
8、以下叙述中错误的是________。
( A )
9、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值:
( C )
10、以下叙述中不正确的是________。
( C )
11、若有说明和语句 int a=5; a++; 此处表达式a++的值是________。
( A )
12、若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是________。
( C )
13、下列四组选项中,正确的c语言标识符是________。
( D )
14、已知 short int 类型变量占用两个字节 , 若有定义 : short int x[10]={ 0,2,4 }; 则数组 x 在内存中所占字节数是 __________.
( B )
15、下列定义数组的语句,正确的是________。
( D )
16、设int a=0; 错误的语句是________。
( C )
17、有以下程序段
typedef struct node
{
int data;
struct node * next;
}
* node;
node p;
以下叙述中正确的是________。
( B )
18、若变量已正确定义并赋值,以下符合c语言语法的表达式是________。
( D )
19、下列关于函数参数的叙述中,正确的是________。
( C )
20、下列数中为八进制的是______。
( A )
21、for循环的循环次数________。
( C )
22、下列各进制的整数中,______表示的值最大。
( B )
23、下列不属于简单数据类型的是________。
( A )
24、设有定义 double a[10],*s=a; 以下能够代表数组元素a[3]的是______。
( D )
25、以下程序的输出结果是______。
main()
{
char a[]="programming",b[]="language";
char *p1,*p2;
int i;
p1=a;
p2=b;
for(i=0;i<7;i++)
if(*(p1+i)==*(p2+i))
printf("%c",*(p1+i));
}
( B )
26、有以下程序
#include<string.h>
main()
{
char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde";
strcat(p,r);
strcpy(p+strlen(q),q);
printf("%d\n",strlen(p));
}
程序运行后的输出结果是________。
( B )
27、有下列程序:
main()
{
int i,j;
for(i=1;i<4;i++)
{
for(j=i;j<4;j++) printf("%d*%d=%d",i,j,i*j);
printf("\n");
}
}
程序运行后的输出结果是________。
( B )
28、有以下程序:
struct stu
{
char num[10];
float score[3];
};
main()
{
struct stu s[3]={{"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}},*p=s;
int i;
float sum=0;
for(i=0;i<3;i++ ){
sum=sum+p->score[i];
}
printf("%6.2f\n",sum);
}
程序运行后的输出结果是________。
( C )
29、下面语句的输出结果是_______。 printf("%d\n",strlen("\t\"\065\xff\n"));
( B )
30、有以下程序
#include <stdio.h>
main ()
{
int a = 5, b = 4, c = 3, d = 2;
if (a > b > c)
printf ("%d\n", d);
else if ((c - 1 >= d) == 1)
printf ("%d\n", d + 1);
else
printf ("%d\n", d + 2);
}
执行后输出的结果是________。
( A )
31、下列语句中正确的是________。
( C )
32、下面各语句行中,能正确进行给字符串赋值操作的语句行是______。
( B )
33、以下叙述中错误的是______。
( C )
34、设x为整型变量,和表达式"!(!x)"值完全相同的表达式是________。
( C )
35、使下列程序段输出"123,456,78",键盘输入数据,正确的输入是________ 。 int i,j,k scanf("%d,%3d%d",&i,&j,&k);
printf("%d,%d,%d\n",i,j,k);
( D )
36、以下对一维数组c 进行正确的定义初始化的语句是________。
( D )
37、下列while 循环,将执行
int i=4;
while(--i) printf("%d",i);
( C )
38、设有如下定义:int ix=10,iy=3,iz;
则语句printf("%d\n",iz=(ix%iy,ix/iy));
的输出结果是________。
( D )
39、已定义以下函数int fun( int *p)
{
return *p;
}
则fun函数返回值足
( A )
40、以下叙述中错误的是________。
( B )
41、有以下程序
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<回车>,则输出结果是______。
( B )
42、c语言中,数组名代表________。
( B )
43、以下对枚举类型名的定义中正确的是________。
( A )
44、若变量均已正确定义并赋值,以下合法的c语言赋值语句是________。
( A )
45、c语言的if语句嵌套时,if与else的配对关系是________。
( C )
46、关于return语句,下列正确的说法是________。
( A )
47、以下不是无限循环的语句为________。
( D )
48、static char str[10]="China";数组元素个数为()。
( B )
49、以下语句中,不能实现回车换行的是()。
( A )
50、若有如下定义和语句,且 0<=i<5,下面( )是对数值为 3 数组元素的引用
int a[]={1,2,3,4,5},*p,i;
p=a;
相关标签:
- C语言
- 中国民航大学
- 期末题目