当前位置:文档之家› 海同《嵌入式C高级编程》考试试卷

海同《嵌入式C高级编程》考试试卷

海同《嵌入式C高级编程》考试试卷海同《嵌入式C高级编程》考试试卷
一、选择题(2*50)
(1)有以下定义,则变量today占的字节数为( )D
struct date
{
int year; int month; int day;
} today;
A、6 B、8 C、10 D、12

(2)有以下结构体说明和变量定义,如图所示:
struct node
{int data; struct node *next;} *p,*q,*r;
现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是( )D
A、p->next=q->next;
B、p->next=p->next->next;
C、p->next=r;
D、p=q->next;

(3)以下函数返回a所指数组中最小值所在的下标值,在下划线处应填入的是( )D
fun(int *a,int n)
{
int i,j = 0,p;
p = j;
for( i = j; i < n; j++)
if(a[i] < a[p])______;

return(p);
}
A、i=p
B、a[p]=a[i]
C、p=j
D、p=i

(4)下列程序的输出结果是( )D
char p1[15]=“abcd”, *p2=“ABCD”, str[50]=“xyz”;
strcpy(str+2,strcat(p1+2,p2+1));
printf(“%s”,str);
A、xyabcAB B、abcABz C、 ABabcz D、 xycdBCD
(5)若程序中定义了以下函数
double myadd(double a,double b) {return(a+b);}
并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是( )A
A、double myadd(double a, b);
B、double myadd(double,double);
C、double myadd(double b, double a);
D、double myadd(double x, double y);

(6)下面程序的功能是输出以下形式的金字塔图案:
*
***
*****
*******
main()
{ int i,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=4-i;j++)printf(" ");
for(j=1;j<=______;j++)printf("*");
printf("\n");
}
}
在下划线处应填入的是( )B
A、i
B、2*i-1
C、2*i+1
D、i+2

(7)定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};
 则语句for(i=0;i<3;i++) printf(“%d ”,x[i][2-i]); 的输出结果是( )A
A、 1 5 9 B、1 4 7 C、3 5 7 D、3 6 9

(8)设有如下的程序段
char str[]="Hello";
char *ptr;
ptr=str;
执行完上面的程序段后,*(ptr+5)的值为( )B
A、'o'
B、'\0'
C、不确定的值
D、'o'的地址

(9)若要打开A盘上的user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( )B
A、fopen("A:\user\abc.txt","r")
B、fopen("A:\\user\\abc.txt","r+")
C、fopen("A:\user\abc.txt","rb")
D、fopen("A:\\user\\abc.txt","w")

(10)数组定义为“int a[4][5];”,下列哪一个引用是错误的( )D
A、*a B、*(*(a+2)+3) C、&a[2][3] D、++a

(11)数组定义为“int a[4][5];”,引用“*(*a+1)+2”表示( )

C
A、a[1][0]+2
B、a数组第1行第2列元素的地址
C、a[0][1]+2
D、a数组第1行第2列元素的值

(12)假如指针p已经指向某个整型变量x,则(*p)++相当于( )B
A、p++ B、x++ C、*(p++) D、&x++

(13)下列语句定义p为指向float类型变量d的指针,其中哪一个是正确的( )B
A、float d,*p=d; B、float d,*p=&d; C、float *p=&d,d; D、float d,p=d;

(14)main()
{
char s[20]=“china\0hello\n”;
printf(“%s”, s);
}
执行时的输出结果是( )A
A、china
B、china\0hello\n
C、china\0hello
D、china
hello

(15)有声明及定义如下:
struct student {long num; char name[20]; char sex; float score;}stu1; struct
student *p=&stu1;
则下面对stu1中的成员num表示错误的是( )B
A、stu1.num B、stu1->num C、(*p).num D、p->num

(16)请读程序
#define ADD(x) x+x
main()
{int m=1,n=2,k=3; int sum=ADD(m+n)*k;
printf(“sum=%d”,sum);}
上面程序的运行结果是( )B
A、sun=9 B、sum=10 C、sum=12 D、sum=18

(17)C语言的编译系统对宏命令的处理是( )D
A、在程序运行时进行的
B、在程序连接时进行的
C、和C程序中的其它语句同时进行编译的
D、在对源程序中其它成份正式编译之前进行的

(18)定义带参数的宏“#define jh(a,b,t) t=a;a=b;b=t”,使两个参数a、b的值交换,下列表述中哪个是正确的( )D
A、不定义参数a和b将导致编译错误
B、不定义参数a、b、t将导致编译错误
C、不定义参数t将导致运行错误
D、不必定义参数a、b、t类型

(19)若有说明:int *p,m=5,n;以下正确的程序段是( )D
A、p=&n; scanf(“%d”,&p);
B、p=&n; scanf(“%d”,*p);
C、scanf(“%d”,&n); *p=n;
D、p=&n; *p=m;

(20)下面程序段的运行结果是( )C
char *s =”abcde”; s+=2; printf(“%d”,s);
A、cde B、字符’c’ C、字符’c’的地址 D、无确定的输出结果

(21)下面程序的运行结果是( )B
#include
#include
main( )
{char *s1=”AbDeG”; char *s2=”AbdEg”;
s1+=2;s2+=2;
printf(“%d\n”,strcmp(s1,s2));}
A、正数 B、负数 C、零 D、不确定的值

(22)若函数的形参为没有指定大小的一维数组,函数的实参是一维数组名,则传递给函数的是( )C
A、实参数组的大小
B、形参数组的大小
C、实参数组的首地址
D、实参数组各元素的值

(23)若希望C源程序中定义的全局变量能被其他源文件使用,则该变量的存储类型应是( )D
A、auto B、static C、register D、extern

(24)下面判断正确的是( )C
A、char *a =”china”; 等价于char *a; *a=”china”;
B、char str[10] ={“china”

}; 等价于char str[10] ; str[]={“china”};
C、char *s =”china”; 等价于char *s; s=”china”;
D、char c[4] =”abc” ,d[4]=”abc”;等价于char c[4] =d[4]=”abc”;

(25)下面程序段的运行结果是( )C
{
char c[ ]="aab\0cc";
for(i=0;i<=6;i++)
printf(“%c”,c[i]);
printf("11");
}
A、aab11 B、aab╚╛11 C、aabcc11 D、aab╚╛cc11

(26)已知下面程序段
{
char c[10];
scanf("%s",c);printf("%s",c);
}
当执行程序时输入a bb cc<回车>,输出结果是( )A
A、a B、a bb C、a bb cc D、a b

(27)以下叙述中正确的是( )A
A、C程序的main函数可以没有参数
B、C程序的main函数必须有参数
C、C程序的main函数必须放在程序的一开始
D、C程序的main函数的位置是确定的

(28)函数f定义如下,执行语句“m=f(5);”后,m的值应为( )B
int f(int k)
{
if(k==0||k==1)
return 1;
else
return f(k-1)+f(k-2); }
A、 3 B、 8 C、 5 D、 13

(29)函数f定义如下,执行语句“sum=f(5)+f(3);”后,sum的值应为( )C
int f(int m)
{
static int i=0; int s=0;
for(;i<=m;i++) s+=i; return s;
}
A、 21 B、 16 C、 15 D、 8

(30)在C语言中, char型数据在内存中的存储形式是( )D
A、补码 B、 反码 C、 原码 D、ASCII码

(31)在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为( )D
A、 length+1 B、 first+length C、(first+length-1)%MS D、 (first+length)%MS

(32) 算法的空间复杂度是指( )A
A、算法在执行过程中所需要的计算机存储空间
B、算法所处理的数据量
C、算法程序中的语句或指令条数
D、算法在执行过程中所需要的临时工作单元数

(33)关于void 指针,下列说法正确的是( )C
A、void 指针就是未指向任何数据的指针
B、void 指针就是已定义而未初始化的指针
C、指向任何类型数据的指针可直接赋值给一个void 指针
D、void 指针值可直接赋给一个非void 指针


(34)以下对二维数组a进行正确初始化的是( )B
A、 int a[2][3]={{1,2},{3,4},{5,6}};
B、int a[ ][3]={1,2,3,4,5,6};
C、 int a[2][ ]={1,2,3,4,5,6};
D、 int a[2][ ]={{1,2},{3,4}};

(35)当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是( )B
A、直接按系统设定的标准方式搜索目录
B、先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C、仅仅搜索源程序所在目录
D、搜索当前逻辑盘上的所有目录


(36)在位运算中,操作数每右移一位,其结果相当于( )B
A、操作数乘以2 B、操作

数除以2 C、操作数乘以4 D、操作数除以4


(37) 下列数据结构中,能够按照“先进后出”原则存取数据的是( )B
A、循环队列 B、栈 C、队列 D、二叉树

(38) 以下程序:
#include
void main()
{
char grade;
scanf(”%c”,&grade);
switch(grade)
case ’A’: printf(”优秀”);
case ’B’: printf(”良好”);
default:printf(”中等”);
}
如果输入’A’,问输出什么( )C
A、优秀 B、优秀良好 C、优秀良好中等 D、都不是

(39)下列描述中不正确的是( )C
A、字符型数组中可能存放字符串。
B、可以对字符型数组进行整体输入、输出。
C、可以对整型数组进行整体输入、输出。
D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

(40)以下程序的输出结果是( )C
char str[15]=“hello!”;
printf(“%d\n”,strlen(str));
A、 15 B、14 C、7 D、6

(41)在C程序中有如下语句:char *func(int x,int y);它是( )C
A、对函数func的定义 B、对函数func的调用。
C、对函数func的原型说明 D、不合法的。

(42)以下程序的输出结果是( )A
int a=5;
float x=3.14;
a*=x*(‘E’ - ‘A’);
printf(“%f\n”,(float)a);
A、 62.000000 B、62.800000 C、 63.000000 D、 62

(43)若执行完成下列语句:
int a=3,b=6,c;
c=a∧b<<2;
则变量c的二进制值为 ( )D
A 、00011100 B 、00010100 C 、0001000 D 、00011011

(44)表达式1&3&5&7的值为( )A
A、1 B、3 C 、5 D、7

(45)若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示( )A
A、已读到此文件末尾 B、未读到此文件的末尾
C、此文件已关闭 D 、此文件尚未被打开

(46)函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为 ( )B
A、1 B 、2 C 、4 D 、5

(47)为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系C
A、缩排位置相同的if B、在其之前未配对的if
C、在其之前未配对的最近的if D、同一行上的if

(48) 以下对枚举类型名的定义中正确的是 ( )B
A、enum s={a,b,c}
B、enum s {a=9,b=2,c}
C、enum s={′a′, ′b′, ′c′}
D、enum s{′a′, ′b′, ′c′}

(49)语句printf(″s\\t″)的输出结果为( )B
A、s\\t B 、s\t C

、s\ D 、s

(50)以下运算符中,运算对象必须是整型的是( )B
A 、 / B 、%= C、 != D、〈=

相关主题
文本预览
相关文档 最新文档