在平平淡淡的日常中,我们会经常接触并使用试题,借助试题可以更好地考查参试者所掌握的知识和技能。你知道什么样的试题才能切实地帮助到我们吗?下面是小编收集整理的C语言测试题,欢迎大家借鉴与参考,希望对大家有所帮助。
C语言测试题1
(1)下面关于算法说法错误的是_______。
a. 算法最终必须由计算机程序实现
b. 为解决某问题的算法同为该问题编写的程序含义是相同的
c. 算法的可行性是指指令不能有二义性
d. 以上几个都是错误的
(2)下面说法错误的是______.
a. 算法原地工作的含义是指不需要任何额外的辅助空间
b. 在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法
c. 所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
d. 同一个算法,实现语言的级别越高,执行效率就越低
(3)在下面的程序段中,对x的赋值语句的频度为_____。
for (int i; i
{ for (int j=o; j
{ x:=x+1;
} }
a. 0(2n) b. 0(n) c. 0(n2) d. O(log2n)
(4)下面说法正确的是______。
a. 数据元素是数据的最小单位;
b. 数据元素是数据的`最小单位;
c. 数据的物理结构是指数据在计算机内的实际存储形式
d. 数据结构的抽象操作的定义与具体实现有关
(5)下面说法正确的是_______。
a. 在顺序存储结构中,有时也存储数据结构中元素之间的关系
b. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高
c. 数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立
d. 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构
C语言测试题2
(1)下面说法错误的是_____。
a. 静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i无关。
b. 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
c. 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
d. 静态链表就是一直不发生变化的链表。
(2)在双向链表指针p的结点前插入一个指针q的.结点操作是______。
a. p->Llink=q; q->Rlink=p; p->Llink->Rlink=q; q->Llink=q;
b. p->Llink=q; p->Llink->Rlink=q; q->Rlink=p; q->Llink=p->Llink;
c. q->Rlink=p; q->Llink=p->Llink; p->Llink->Rlink=q; p->Llink=q;
d. q->Llink=p->Llink; q->Rlink=q; p->Llink=q; p->Llink=q;
(3)下面说法正确的是______。
a. 顺序存储结构的主要缺点是不利于插入或删除操作;
b. 线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的;
c. 顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好;
d. 顺序存储方式只能用于存储线性结构。
(4)下面说法正确的是______。
a. 线性表只能用顺序存储结构实现。
b. 为了很方便的插入和删除数据,可以使用双向链表存放数据。
c. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
d. 链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
(5)下面说法正确的是_________。
a. 数据元素是数据的最小单位。
b. 队列逻辑上是一个下端口和上端能增加又能减少的线性表。
c. 任何一个递归过程都可以转换成非递归过程。
d. 只有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈。
C语言测试题3
1: 第1题请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。
答案:
void fun(int a,int b,long *c)
{*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}
2: 第2题请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。
答案:
float fun(float *a,int n)
{float ave=0.0;
int i;
for(i=0;i
ave+=a;
ave/=n;
return ave;}
3: 第3题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。
答案:
void fun(char *a)
{int i=0;
char *p,*q;
p=q=a;
while(*p)
p++;
p--;
while(*p==‘*’)
p--;
while(q<=p)
{a=*q;
i++;
q++;}
a=‘’;}
4: 第4题请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
答案:
void fun(int a,int b,long *c)
{c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}
5: 第5题 n名学生的成绩已在主函数中放入一个带头节点的`链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
答案:
double fun(strec *h)
{double aver=0.0;
while(h!=null)
{aver+=h->s;
hy=h->next;}
aver/=n;
return aver;}
6: 第6题请编写函数fun,计算并输出给定10个数的方差。
答案:
double fun(double x[10])
{int i,j;
double s=0.0,s1=0.0;
for(i=0;i<10;i++)
s1+=x;
s1/=10;
for(j=0;j<10;j++)
s+=(x[j]-s1)*(x[j]-s1);
s/=10;
s=pow(s,0.5);
return s;}
7: 第7题请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。
答案:
void fun(int a,int b,long *c)
{*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}
C语言测试题4
(1) 下述_____是顺序存储结构的优点。
a. 存储密度大
b. 插入运算方便
c. 删除运算方便
d. 可方便地用于各种逻辑结构的存储表示
(2)下面关于线性表的叙述中,错误的是_____。
a. 线性表采用顺序存储,必须占用一片连续的存储单元
b. 线性表采用顺序存储,便于进行插入和删除操作
c. 线性表采用链接存储,不必占用一片连续的存储单元
d. 线性表采用链接存储,便于插入和删除操作
(3) 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用_______存储方式最节省时间。
a. 顺序表 b. 双链表 c. 带头结点的双循环链表 d. 单循环链表
(4)静态链表中指针表示的是______。
a. 内存地址 b. 数组下标 c. 下一元素地址 d. 左、右孩子地址
(5)下面的叙述不正确的是_______。
a. 线性表在链式存储时,查找第i个元素的时间同i的`值成正比
b. 线性表在链式存储时,查找第i个元素的时间同i的值无关
c. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比
d. 线性表在顺序存储时,查找第i个元素的时间同i的值无关
- 相关推荐
【C语言测试题】相关文章:
c语言练习试题11-14
c语言试题及答案08-18
C语言应聘简历模板08-21
c语言实践报告03-14
c语言的学习心得09-27
C语言学习心得07-27
c语言学习总结通用03-03
c语言实践报告范文03-21
c语言心得体会05-12
初识c语言实验总结09-30