上嵌《嵌入式c高级编程》考试试卷a
一、选择题(1.5*20)
1)下列数据结构中,按先进后出原则组织数据的是( )
a)线性链表 b)栈
c)循环链表 d)顺序表
2)下列表达式中,结果为5的是 (
a)6*5%6
b)5*-2+15
c)5+75%10
d)6+-2/3
3)关于c语言的主函数描述正确的是 (
a)c程序可以有多个main函数
b)c程序必有一个而且只能有一个main函数
c)c程序可以没有main函数
d)c程序的执行不一定在main函数开始执行
4)已知x,y,z均为整型变量,且值均为1,则执行语句++x||+y&&+z;后,表达式x+y的值为 (
a)1 b)2
c)3 d)4
5)若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是 (
a)9 b)8
c)3 d)2
6)下列关于栈的描述正确的是 (
a)在栈中只能插入元素而不能删除元素
b)在栈中只能删除元素而不能插入元素
c)栈是特殊的线性表,只能在一端插入或删除元素
d)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
7)阅读下列程序,则执行结果是 (
#include ""
main()
int a=0,b=0,c=0,i;
for(i=0;i<4;i++)
switch(i)
case 0:a=i++;
case 1:b=i++;
case 2:c=i++;
case 3:i++;
printf("%d,%d,%d,%d\n",a,b,c,i);
a)0,1,3,4
b)1,2,3,4
c)0,1,2,5
d)0,2,3,4
8)以下描述错误的是 (
a)c程序中,函数可以直接或间接的调用自己
b)函数调用时,函数名必须与所调用的函数名字完全一致
c)函数说明语句中的类型必须与函数返回值的类型一致
d)实参数可以与形参个数不一致
9)阅读下面程序,则执行后的结果为 (
#include ""
int fun1()
int k=20;
return k;
int fun2()
int a=15;
return a;
fun3(int a,int b)
int k;
k=(a-b)*(a+b);
printf("%d\n",k);
main()
fun3(fun1(),fun2())
a)0 b)184
c)175
d)编译不通过
10)以下对一维数组c进行正确的定义初始化的语句是( )
a)int c[10]=0;
b)int c[10]=*10;
c)int c[1]=;
d)int c[10]=;
11)阅读下列程序,则执行后输出的结果是( )
#include ""
int k=1;
fun(int k)
k++;k=k*6;
main()
fun(k);
printf("%d\n",k);
a)1 b)2
c)6 d)12
12)现有如下程序段
#include ""
void fun(int *a, int *b, int *c)
c=*a+*b;
main()
int a[2]=,c;
fun(a,a+1,&c);
printf("%d\n",c);
则程序的输出结果为 (
a)23 b)12
c)0 d)35
13)若有以下语句,则正确的描述是 (
char a[]=toyou";
char b[]=
a)a数组和b数组的长度相同
b)a数组长度小于b数组长度
c)a数组长度大于b数组长度
d)a数组等价于b数组
14)已知:char a[15],b[15]=;则在程序中能将字符串i love china赋给数组a的正确语句是 (
a)a="i love china";
b)strcpy(b,a);
c)a=b;
d)strcpy(a,b);
15)阅读下面程序,则执行后的结果为 (
#include ""
main()
char *str="abcdefghijklmnopq";
while(*str++!e′);
printf("%c\n",*str);
a)f b)a
c)e d)q
16)现有如下程序段
#include ""
int fun(int k,int *m);
if(k%3)
m=k*k;
else m=k/3;
main()
int (*p)(int,int *)m;
p=fun;
*p)(78,&m);
printf("%d\n",m);
则程序段的输出结果为 (
a)24 b)25
c)26 d)27
17)阅读下列程序,则执行后的输出结果为 (
#include ""
fun(int x)
if(x/2>0)fun(x/2);
printf("%d",x%2);
main()
fun(20);
putchar(’′);
a)11100
b)10100
c)10101
d)10110
18)阅读如下程序段,则执行后程序的输出结果是 (
#include <>
main()
struct a
int x;
int y;
num[2]=,
printf("%d\n",num[0].x / num[0].y * num[1].y);
a)0 b)28
c)20 d)5
19)阅读下列程序段
#include ""
typedef struct aa
int a;
struct aa *next;
m; void set(m *k, int i, int *b)
int j, d=0;
for(j=1; j;
set(k,5,d);
p=k+1;
printf("%d\n",table);
则下面的表达式在table处,能使程序执行后,打印输出数据45的是 (
a)p->next->a
b)++p->a
c)(*p).a++
d)p++-a
20)阅读下面程序,程序实现的功能是(在当前盘符下已经存在) (
#include ""
void main()
file *fp;
int a[10], p=a;
fp=fopen(""w");
while( strlen(gets(p))>0 )
fputs(a,fp);
fputs("\n",fp);
fclose(fp);
a)从键盘输入若干行字符,按行号倒序写入文本文件中
b)从键盘输入若干行字符,取前2行写入文本文件中
c)从键盘输入若干行字符,第一行写入文本文件中
d)从键盘输入若干行字符,依次写入文本文件中
二、填空题(2×12分)
1)阅读下面程序,则在执行时候的输出为 _1,2
#include ""
main()
int x=1, y=2, z=0;
if(x=2)
z=x,x=y,y=z;
printf("%d,%d\n",x,y);
2)语句printf("%d\n",′h′-′0′+64);的执行结果为_88
3)阅读下面程序,则程序的执行结果为___10___
#include ""
fun(int x)
x=50;
main()
int a=10;
fun(a);
printf("%d\n",a);
4)以下程序的输出结果是___12,1
int fun(int x, int y, int *p, int *q)
p=x*y;
*q=x/y;
main()
int a,b,c,d;
a=4;b=3;
fun(a,b,&c,&d);
printf("%d,%d\n",c,d);
5)下面程序是求出数组arr的两条对角线上元素之和,请填空。
#include ""
main()
int arr[3][3]=,a=0, b=0, i, j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if( _i==j
a=a+arr[i][j];
for(i=0;i<3;i++)
forj=2j>=0; j--)
ifj==2-i
b=b+ arr[i][j];
printf("%d,%d\n",a,b);
6)下面程序的功能是:对字符串从小到大进行排序并输出,请填空。
#include ""
#include ""
sort(char *a[],int n)
C 高级编程
第六章熟悉类与对象。6.1 电子 示例介绍。6.2 编写类。6.2.1 类定义。1.方法与成员。2.访问控制。3.声明的顺序。6.2.2 定义方法。1.访问数据成员。2.调用其他方法。指针。6.2.3 使用对象。1.堆栈中的对象。2.堆中的对象 6.3 对象的生命周期。6.3.1 创建对象。1.编写...
高级C 编程题库
高级语言程序设计 编程题。1.从键盘输入3个整数,求其中的最大数和最小数,并输出结果。2.从键盘上输入一个3 3的整数矩阵,求其各行的平均值并输出,输出时保留两位小数。3.输出x2的值,x取值从0到10。4.从键盘上输入一个3 4的整数矩阵,要求输出其最大元素的值,以及它的行号和列号。5.编写一个程...
c高级编程指南
第1章文件结构。每个c c程序通常分为两个文件。一个文件用于保存程序的声明 declaration 称为头文件。另一个文件用于保存程序的实现 implementation 称为定义 definition 文件。c c程序的头文件以 h 为后缀,c程序的定义文件以 c 为后缀,c 程序的定义文件通常以...