当前位置:首页 » 编程语言 » 职专c语言试题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

职专c语言试题

发布时间: 2022-05-10 10:04:55

c语言的模拟试题

1.D
2.A
3.A
4.B
5.C
6.B
7.D
8.B
9.A
10.A
11.B
12.B
13.B
14.A
15.A

② C语言试题

答案:DABAD ACCDB
11. D(十进制数如4,八进制数如04,十六进制数如0x4)
12. A(规定)
13. B(规定)
14. A(第一次输出,先判断4!=0,再n=n-1=3,再执行循环体,此时,先n=n-1=2,再输出2;第二次循环,同理输出为0)
15. D(若return了浮点型,但定义为整型,函数在返回值时要把浮型截取为整型)
16. A(条件非0即为真)
17. C(题目考查字符串常量所占字节数还包括一个字符串结束标志'\0',但本题题干中的int改为char更恰当)
18. C(数组a的长度为7,内容分别是字符:abcdef及'\0',而数组b的长度为6,内容:abcdef)
19. D(strlen()函数的返回值是字符串的有效长度,不算结束标志'\0',而该字符串的有效字符包括6个,分别是:'\t'(即控制字符tab),'x','y','z','\\'(即字符\)'\n'(即控制字符换行))
20. B(当i=0时,x++得1,进入内层for循环,该循环功能是j为奇数时x加1,所以当j=1及3时x自增了共两次,此时x得3,然后又x++得4,第二次大循环即当i=1时,同理,x的值又增了4,最终得8)

③ 一些C语言求职笔试题2

19、一个队列入列顺序是1,2,3,4,则输出顺序是		
a、4321b、1234c、1432d、3241
队列是先进先出的,所以答案是B、1234

20、若进栈顺序为1,2,3,4,假定进栈和出栈可以穿插进行,
则可能的出栈顺序为:
a、2413b、3142c、3412d、1234
答案是:D。分析过程如下:
A,第一个为2第二个为4,可以确定栈中是3,1所以应该是2431
B,第一个为3,则栈中2,1。第二个可能是24,但肯定不是1
C,第一个为3,第二个为4,则栈中是2,1,所以应该是3421
D,由于进栈和出栈可以穿插进行,所以1进,1出,2进,2出,3进,3出,4进,4出。

21、算法的空间复杂度指
a、算法程序的长度
b、算法程序的指令条数
c、算法程序占的存储空间
d、算法执行过程中所需的存储空间
答案是D,因为,空间复杂度指的就是:程序执行过程中由于需要,所申请的内存空间。

22、某数列有1000个各不相同的单元,有低到高排列,要对该数进行二分法检索
,最坏的情况下,需要检查多少个单元
a、1000b、10c、100d、500
答案是B,
因为,因为2^9=512,不够检索完1000个,
那么:2^10=1024,就够检索完1000个了。
二分查找次数以2为基数,2的10次方为1024,
完全可以查找到,所以最多只需要10次即可。

23、已知数组A中,每个元素A[I][J]在存储时要占3个字节,设I从0变到4,
J从0到9,分配内存从地址SA开始连续按行存储分配的。问:A[4][7]的起始地址为:
a、SA+84b、SA+99c、SA+120d、SA+141
答案是D,
因为,数组的首个元素也就是数组的首地址是A[0][0],
那么A[4][7]就是第5行的第8列,一个元素3个字节,
那么一行(J最大为9,就是10列)10*3=30个字节,
前4行4*30=120,再加上7个7*3,
结果就是:4*10*3+7*3=141。24、使用双向链表存放数据的优点是
a、提高检索速度b、方便的插入和删除数据
c、节约存储空间d、很快回收存储空间
答案是B,因为,
链表优点:
1)插入和删除元素不需要移动其余元素,效率高;
2)不要求连续空间,空间利用效率高
链表缺点:
1)不提高随机访问元素的机制
2)查找元素和搜索元素的效率低


25、若某链表最常用的操作是在最后一个结点之后插入一个结点并删除最后一个
结点,则采用____存储方式最省时间
a、单链表
b、双链表
c、带头节点的双循环链表
d、单循环链表
答案是C,因为,
双循环链表能够通过头结点的前驱就是尾结点,能够迅速找到尾结点,然后进行插入和删除操作


26、在理想情况下,散列表中查找元素所需比较次数为:
a、nb、0c、n/2d、1
答案是D,因为,
散列方法不同于顺序查找、二分查找、二叉排序树及B-树上的查找。
它不以关键字的比较为基本操作,采用直接寻址技术。
在理想情况下,无须任何比较就可以找到待查关键字,查找的期望时间为O(1)。

27、Ethernet属于数据链路层协议
答案是正确的。因为:
数据链路层的主要协议有:
(1)Point-to-PointProtocal;PPP点到点
(2)Ethernet;以太网
(3)High-LevelDataLinkControlProtocal;HDLC高级链路控制协议
(4)FrameRelay;帧中继
(5)AsynchronousTransferMode;ATM


28、普通交换机和路由器工作在
a、数据链路层和传输层
b、链路层和网络层
c、都是网络层
d、网络层和传输层
答案是B,因为,
交换机主要工作在数据链路层(第二层)
路由器工作在网络层(第三层)。29、以太网的MTU值为
a、500b、1492c、1500d、1982
答案是C,因为
最大传输单元MTU=1500是国际规定的默认值,
是一个经过实验得到的可以最大效率传输数据的值。
倘若大于1500,数据传输速度就会变慢;
若小于1500,链路又得不到充分利用,减小了效率。


30、在一个WindowsSDK的基本应用程序框架中,有如下消息循环:
while(GetMessage(&Msg,NULL,0,0){
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
下面哪个消息使得该消息循环退出运行,从而终止整个应用程序的运行
a、WM_DESTROY b、WM_QUITc、WM_CLOSR d、WM_CREATE
答案是B,因为
WM_CLOSE:关闭应用程序窗口
WM_DESTROY:关闭应用程序
WM_QUIT:关闭消息循环
只有关闭了消息循环,应用程序的进程才真正退出(在任务管理器里消失)。


31、进程和线程最主要的区别:
a、CPU调度方式不同b、优先级不同
c、程序入口不同d、进程有独立的地址空间,线程共享地址空间
答案是D,
进程和线程的主要差别在于它们是不同的操作系统资源管理方式。
进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,
而线程只是一个进程中的不同执行路径。
线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,
一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,
但在进程切换时,耗费资源较大,效率要差一些。


32、以下哪项不适合用于进程间通讯
a、socketb、Pipec、共享内存d、全局变量
答案是D,


Windows中进程间通信方式有:
File,管道(Pipe),命名管道(namedpipe),信号(Signal),消息队列(Messagequeue),
共享内存(sharedmemory),内存映射(memory–mappedfile),信号量(semaphore),
套接口(Socket),命名事件。临界区事实上应该算是由信号量来保证的。
全局变量不能用于进程间通讯。

④ C语言试题C(速求)

一、 单项选择题(共20分,每题2分)
1. 下列叙述正确的是__D______
A)不能使用do…while语句构成的循环
B)do…while语句构成的循环,必须用break语句才能退出
C)do…while语句构成的循环,当while语句中表达式值为非零时结束循环
D)do…while语句构成的循环,当while语句中的表达式值为零时结束循环
2. 下列描述中正确的是____A____
A)字符型数组中可以存放字符串
B)不可以对字符串进行整体输入、输出
C)可以对整型数组进行整体输入、输出
D)可以在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
3. 结构化程序设计强调的是____B_____
A)程序的执行的速度 B)程序的易读性
C)程序的经济性 D)程序的正确性
4. 一个良好的算法由下面的基本结构组成,但不包括___D_______
A)顺序结构 B)选择结构C)循环结构D)跳转结构
5. 以下叙述中正确的是____C____
A)C语言是一种低级语言
B)C语言执行效率比汇编语言更高
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)C语言出现的最晚,具有其他语言的一切优点
6. 在C语言中,引用数组元素时,其数组下标的数据类型允许是___C_____
A)字符 B)数组名
C)整型常量或整型表达式 D)逻辑表达式
7. 若有下面的程序段:
char s[]="china";
char *p;
p=s;
则下列叙述正确的是___C_____
A)*p与s相等
B)p与s[0]相等
C)p与s相等
D)*p与&s[0]相等
8. 在C语言中,不正确的int类型的常数是____全对____
A)-32778 B)32767 C)037 D)0xAFFFF
9. 在C语言中,退格符是 D
A)\n B)\t C)\f D)\b
10. 表达式X+=Y*Z+8等价于___A_____。
A)X=X+Y*Z+8
B)X=X*Y*Z+X*8
C)X=X*Y*8+X
D)X=Y+Z+8

二、判断题。(共10分,每题1分)
1. C语言程序的编译单位是函数。(√ )
2. #include“stu.h”和#include <stu.h>没有区别。(X )
3. printf函数的输出表列参数中%d表示按整数输出。(√ )
4. 逻辑非运算的运算符是!。(√ )
5. 在定义全局变量时,static关键字不能省略。( x )
6. strlen()函数的作用是拷贝字符串。(x )
7. 计算时,表达式中的条件运算符优先于赋值运算符。(√ )
8. break命令可以用来跳出当前的switch结构。( √ )
9. 字符串不能作为函数参数使用。(X )
10. register变量是在内存中划分的。( X) ---------cpu寄存区

⑤ 求C语言基础知识试题~急!!!

◆ 基本要求

1.熟悉 Visual C++ 6.0 集成开发环境。

2.掌握结构化程序设计的方法,具有良好的程序设计风格。

3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。

4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力

◆ 考试内容

一、C语言程序的结构

1.程序的构成,main函数和其他函数。

2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。

3.源程序的书写格式。

4.C语言的风格。

二、数据类型及其运算

1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。

2.C运算符的种类、运算优先级和结合性。

3.不同类型数据间的转换与运算。

4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

三、基本语句

1.表达式语句,空语句,复合语句。

2.输入输出函数的调用,正确输入数据并正确设计输出格式。

四、选择结构程序设计

1.用if语句实现选择结构。

2.用switch语句实现多分支选择结构。

3.选择结构的嵌套。

五、循环结构程序设计

1.for循环结构。

2.while和do-while循环结构。

3.continue语句和break语句。

4.循环的嵌套。
六、数组的定义和引用

1.一维数组和二维数组的定义、初始化和数组元素的引用。

2.字符串与字符数组。

七、函数

1.库函数的正确调用。

2.函数的定义方法。

3.函数的类型和返回值。

4.形式参数与实在参数,参数值传递。

5.函数的正确调用,嵌套调用,递归调用。

6.局部变量和全局变量。

7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。

八、编译预处理

1.宏定义和调用(不带参数的宏,带参数的宏)。

2.“文件包含”处理。

九、指针

1.地址与指针变量的概念,地址运算符与间址运算符。

2.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。

3.用指针作函数参数。

4.返回地址值的函数。

5.指针数组,指向指针的指针。

十、结构体(即“结构”)与共同体(即“联合”)

1.用typedef说明一个新类型。

2.结构体和共用体类型数据的定义和成员的引用。

3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。

十一、位运算

1.位运算符的含义和使用。

2.简单的位运算。

十二、文件操作

只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。

1.文件类型指针(FILE类型指针)。

2.文件的打开与关闭(fopen,fclose)。

3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。

◆ 考试方式

1.笔试:90分钟,满分100分,其中含公共基础知识部分的30分。

2.上机:90分钟,满分100分

3、上机操作包括:

(1)填空。

(2)改错。

(3)编程
推荐复习教材《C程序设计》谭浩强主编

⑥ 求c语言试题及答案!急啊!

c语言考试题(一)

一、 单项选择题(每题2分,共20分)
1、以下选项中属于C语言的数据类型是( )
A.复数型 B.逻辑型 C.集合型 D.双精度型
2、一个C程序的执行是从( )
A.main()函数开始,直到main()函数结束 B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束 D.main()函数开始,直到最后一个函数结束
3、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是( )
A.3 B.0C.-12D.9
4、若有 char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。
A.cd\0e B.'c''d' C.cd D.cd e
5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;则下列表达式不是4的是 ( )。
A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a[0][3]
6、以下有宏替换不正确的叙述( ).
A.宏替换不占用运行时间 B.宏名无类型
C.宏替换只是字符串替换 D.宏名必须用大写字母表示
7、执行char str[10]=”Ch\nina”; strlen(str)的值是( )
A.5 B.6 C.7 D.9
8、下面程序的输出结果是:( )
#define POWER(x) (x*x)
main()
{int i=4; printf("%d",POWER(i-2)); }
A. -9 B. -7 C. 5 D. -6
9、在定义int a[3][4][2];后,第10个元素是( )
A.a[2][1][2] B.a[1][0][1] C.a[2][0][1] D.a[2][2][1]
10、下面程序的输出结果是:( )
typedef struct
{long x[2];<br>short y[4];<br>char z[8];<br>}MYTYPE;
MYTYPE a;
main()
{ printf("%d\n",sizeof(a));}
A. 2 B. 8 C. 14 D. 24
二、 填空题(每空1分,共11分)
1、字符串"A"在内存中占用的字节数为 。
2、C语言中的标识符只能由字母、下划线和 组成。
3、若有定义语句“ int a=25,b=14,c=19;",以下语句的执行结果是
if(a++<=25&&b--<=2&&c++) printf("***a=%d,b=%d,c=%d\n",a,b,c);
else printf("###a=%d,b=%d,c=%d\n",a,b,c);
4、有如下定义a[]="B\172\\\'a%%";则执行语句printf("%d",strlen(a));的结果为 。
5、若有定义:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i; for(i=0;i<4;i++) p[i]=&a[i*3];则*(*(p+1)+2)的值为 ,*p[2]的值为 。若数组的首地址为2000,则p[1]指向的地址为 。
6、设a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y 的结果是 。
7、设x、y都是int型变量,初值都为1,则执行表达式:--x&&y++后,y的值为 。
8、语句for(i=1;i==10;i++)continue;循环的次数是 。
9、以下程序输出 。
main()
{enum em {em1=3,em2=1,em3};
char *aa[]={"AA","BB","CC","DD"}; printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
三、 写程序结果(每题5分,共35分)

1、#include
main()
{int x,y,z;<br>x=1,y=2,z=3; x+=y+=z;<br>printf("1:%d\n",z+=x>y?x++:y++);<br>x=0x02ff;y=0xff00;<br>printf("2:%d\n",(x&y)>>4|0x005f);<br>x=y=z=-1; ++x||++y&&++z;<br>printf("3:%d,%d,%d\n",x,y,z);<br>}
2、#define f(x) x*x
main()
{int a=6,b=2,c;<br>c=f(a+b)/f(b);<br>printf(“%d\n”,c);<br>}
3、fun(int k)
{ printf("%d",k);
if(k>0)
fun(k-1);
}
main( )
{ int w=5; fun(w); printf("\n"); }
4、#include
main()
{int x=1,y=0;<br>switch(x)<br>{ case 1:<br>switch(y)<br>{ case 0:printf(“first\n”);break;<br>case 1:printf(“second\n”);break;<br>}
case 2:printf(“third\n”);
}
}
5、#include
main()
{ int k=4;
func(k); func(k);
}
func(int a)
{ static int m=0;
m+=a;
printf("%d",m);
}
6、struct st
{ int x;
int *y;
}*p;
int s[]={30,20};
struct st a[]={1,&s[0],2,&s[1]};
main()
{ p=a; printf("%d,",p->x);
printf("%d\n",++(*(++p)->y));
}
7、假定在当前盘目录下有2个文本文件,其名称和内容如下:
文件名: a1.txt a2.txt
内容: ABCDEF# abcdef#
#include "stdio.h"
main()
{FILE *fp;<br>void fc();<br>if((fp=fopen("a1.txt","r"))==NULL)<br>{printf("Can not open file!\n"); exit(1);}
else{fc(fp);fclose(fp);}
if((fp=fopen("a2.txt","r"))==NULL)
{printf("Can not open file!\n"); exit(1);}
else{fc(fp);fclose(fp);}
}
void fc(fp1)
FILE *fp1;
{char c;<br>while((c=fgetc(fp1))!='#')putchar(c);<br>}

四、 程序填空(每空2分,共14分)

1、下面程序求矩阵a的主对角线元素之和,请填空。
main()
{ int a[3][3]={2,4,6,8,10,12,14,16,18};
int sum=0,i,j;
for(i=0;i<3; ① )
for(j=0; ② ;j++)
if(i= =j) sum=sum+ ③ ;
printf("sum=%d\n",sum);
}
2、下列函数coy把字符数组S2中的全部字符复制到字符数组S1中, 复制时’\0’也要复制过去,’\0’后面的字符不用。
coy(char s1[],char s2[])
{ int i;
for(i=0;s2[i]!= ① ;i++)
s1[i]=s2[i];
② ;
}
3、下面程序的功能是将字符串a中的下标为奇数的元素由小到大排序,其他元素不变,请填空。
main()
{ char a[]="students",t; int i,j;
for(i=1;i<7;i+=2)
for(j=i+2;j<8; ① )
if( ② )
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
}

c语言考试题(二)

一. 填空题(每题2分,共20分)
1. C语言基本数据类型有:_______________________________;
构造类型有:_____________________________________。 P.13

2. C语言源程序注注释符号是:________________________________,
为表明层次结构,C语言源程序通常采用_____________________格式编写。P.4

3. 源程序TEST.C经编译产生的目标文件是:________________________;
经连接处理后,产生的可执行文件是:__________________________。

4. strlen(“1234 \ 0xy)的值为:_____________________________;
sizeof(float)的值为:____________________________

5. 二维数组a[10] [50]最后一行的首地址为:_________________________;
最后一个元素的首地址为:____________________________________。

6. C标准库函数中,数学函数的原型在:________________头文件中,自定义头文件D :\ MYC \ MY . H应如何包含到源程序文件中:_________________________。P.130

7. 已知函数定义为:int stat(inta,float *p)
{……………}
则此函数的两个参数类型分别是_______________ 、 _____________________。

8. 设int x,y,z=4;
x=y=++z;
x=(y>z)?x+2;x++;则x的值是:_________;
设int a=0,b=0,c=0;c=++a | | b++; ,则a、b、c值分别是:_____________。

9. 与if (x=0) 等价的写法是if ( ! x );
判断两个(float)变量x,z是否相等一般:if ( fabc(x-z)<1e-6 )。

10.已知赋值语句zhang.year=1985;可判断zhang是_______________类型的变量;
定义文件指针的C语句是:_________________________________。

二. 单项选择题 (每题1分,共10分)
1. 组成C程序的基本单位是____________________________。
A.函数 B.标识符 C.表达式 D.语句

2. 设int类型的数据长度为2字节,则该类型数据的取值范围是__________________。
A.0至65536 B.0至65535
C.-32767至32768 D.-32768至32767

3. 在C语言中,逻辑值“真”是用_____________________表示的。
A.预定义为真值的宏 B.非零数
C.正数 D.非零整数

4. C语言对于嵌套if语句规定else总是与_____________________匹配。
A.与最外层的if B.与之前最近的if
C.与之前最近的不带else的if D.与最近的{ }之前的if

5. 数组定义char a[10]={`a`,`b`,`c`}:包括了几个元素____________________。
A.3 B.9 C.4 D.10

6. 数组名作为实参传给被调用的函数时,形参获得的是_____________________。
A.该数组第一个元素的值 B.该数组所有元素的值
C.该数组第一个元素的首地址 D.该数组所有元素的首地址

7. 为表示关系x ≥ y ≥z,正确的C语言表达式为_________________________。
A.(x>=>y>=z) B.(x>=y)AND(y>=z)
C.(x>=y)&&(y>=z) D.(x>y)&(y>=z)

8. 根据定义int a[ ]={1,2,3},i,*p=a; 从语法分析_________________是不正确的。
A. a[p-a] B.*(&a) C.p D.*(*(a+i))

9. 若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为____________________________。
A.12 34 B.12,34 C.1234 D.12:34

10.union uex {int i;float f;char c;}ex;则sizeof(ex)的值是____________________。
A.4 B.5 C.6 D.7

三. 分析程序,写出运行结果。(每题4分,共20分)
1. 源程序如下,运行时假定键盘输入字符串为``2004``
#include
void main(void)
{
int n=0;
char c;
while( (c=getchar( )) ! =`\n` ) /*字符型数字*/
{
if (c>=`0`&&c<=`9` )
n = n*10 + c- `0` ; /*数字*/
}
printf(“value=%d|n” ,n);
}
结果为: value=2004 。

2. 源程序如下:
#include
void main(void)
{
int num[9]={399,398,397,396,395,299,290,311,301};
int score[9]={81,85,59,77,90,66,89,93,73};
int iMax,iPos,i;
iPos=0;
iMax=score[iPos];
for(i=1;i<9;i++)
if(score>iMax)
{
iPos=i;
iMax=score[iPox];
}
printf(“num=%d,score=%d”,num[iPos];score[iPos]);

结果为: num=311, score=93 。

3. 源程序如下,运行时假定键盘输入数据为:1 2 3 4 5 6 7 8 9 10
#include
void main(void)
{
int i,a[10];
int *p;
p=a;
for(i=0;i<10;i++)
scanf(“%d“,p++);
for(p=a;p< SPAN>;p++)
if (*p%2)printf(“%3d”,*p);
}
结果为: 1 3 5 7 9 。

4. 源程序如下,两次运行,分别输入数据13和21
#include
#include
void main(void)
{
int n,s;
scant (“%d”,&n);
s=panan( n);
if(s==1)printf(“yes\n”);
else printf(“no\n);
}
int panan(int n)
{
int k,j;
k=(int)sqrt((double)n);
for(j=2;j<=k,j++)
{
if(n%j==0) break;
}
if(j>k) retum(1);
else retum(0);
}
结果为 yes
no

5.源程序如下,运行时假定键盘输入字符为:AxByCz
#include
#include
void main(void)
{
char str[80];
int i;
gets(str);
for(i=0;str!=`\0`;i++)
if(str>=`a`&&str<=`z`) str-=32;
else if (str>=`A`&&str<=`Z`) str+=32;
puts(str);
}
结果为: aXbYcZ 。

四. 下列程序中每个划线处有一个错误,改正划线 中的错误,使其实现题目要求。(每体4分,共20分)
1. 求 s=1+2+3+、、、、、、、+100
include 改正为_________________________。
void sum (void) 改正为_________________________。
{
int s,i;
for (s=0,i=1;i<=100;i++)
{
s=s+ i ++; 改正为__________________________。
}
printf (“s=%f”,s) 改正为__________________________。
}

2. 源程序实现求x
#include
double pow(float . int) 改正为_________________________。
void main(void)
{
int i, n;
float x;
scanf (“%f,%d”,&x,&n);
for (i=1; i<9;i++)
printf(“%d,%e\n”, i, pow(i,x);
} 改正为______________________。
double v v pow(float x, int n)
{
int i;
double p=0; 改正为______________________。
for (i=1; i< i++)>改正为_______________________。
p*=x;
retum(p);
}

3. 源程序实现排升序。
#include
void main(void)
{
int i, j, iMin, a[10]={4,3,5,1,10,12,2,6,7,9}, iTemp;
for (i=0; i<9; i++)
{
iMin=0; 改正为_______________________。
for (j=i+1; j<10;j++)
if(a[iMin]< iMin="j;">改正为_______________________。

if (iMin==i) 改正为_________________________。
{ iTemp=a;
a[iMin]=a; 改正为_________________________。
a[iMin]=iTemp;
}
}
for(i=0; i<10; i++)
printf(“%4d”, a):
}

4. 源程序为求平均值。
#include
void main(void)
{
int i, sum; 改正为____________________。
float avg;
int sc[10], *p=sc;
for (i=0, i<10; i++) 改正为____________________。
{
scanf(“%d”, p++);
sum+= *p; 改正为____________________。
}
avg = sum/ 10; 改正为___________________。
printf(“avg=%f”, avg);
}
5. 源程序求 eX=1+x+x2/2!+……+xn/n!前n+1项之和
#include
void main(void>
{
float exp , x , t;
int i, n;
scanf(“%f, %d”,&x, &n);
t=0; 改正为___________________。
exp=1.0;
for(i=1 ; i<=n; i++)
{
if(t<1e-6) loop; 改正为__________________。
t+=x/i; 改正为___________________。
exp*=t; 改正为___________________。
}
printf(“\n%15.6f”, exp);
}
五. 编程题 (每题6分,共30分)
1. 根据以下程序框架,编写子函数,实现交换两个整型变量x和y的值。
#include
void swap (int *, int *);
void main (void)
{
int x, y;
scanf(“%d, %d”, &x, &y);
swap( &x, &y);
printf(“%d, %d”, x, y);
}
void swap( )
{

}

2. 设某班人数36人,参加C语言考试,用一维数组score[36]存放考试成绩,已给出一部分程序,完善以下程序,使其实现统计并输出不及格人数及百分比。
#include
void main (void)
{ int i;
float scoer[36], precent;
int count=0;
for (i=0; i<36; i++)
{
scanf(“%f”, &score);

}

3. 完善以下程序使其实现由键盘任意输入一串字符,统计其中大写字母个数iA、小写字母个数ia、其他字符个数iother。
#include
#include
void main (void)
{
char str [80];
int i, iA=0, ia=0, iother=0;

}

4. 完善以下程序使其实现求方阵主和辅对角线元素之和及其转置矩阵,设方阵用二维数组a表示,转置矩阵用t表示,sl和s2表示主和辅对角线元素之和。
#include
void main(void)
{
int a[3] [3]={1,3,5,7,9,11,13,15,11};
int i, j, s1, s2;
int t[3] [3];
printf(“%d, %d,\n”,s1, s2);
for(i=0; i<3; i++)
for(j=0; j<3; j++)
printf(“%3d”, t [j]);
}

5. 已知字符数组str[80],编写返回指针的子函数,实现在其中查找字符ch首次出现的位置。
#include
#include
#include
char *lstrchar(char*, char);
void main(void)
{
char c, *p, str[80];
gets (str);
scanf(“%c”, &c);
p=lstrchar(str,c);
if(p==NULL) printf(“char %c not found\n”c);
else printf(“The position is %d”, p-str);
char “lstrchar( )
{ }

历年全国计算机二级考试c语言真题及答案
http://jsj.lsxy.com/UploadFiles/20064222324839.rar

⑦ 一些C语言求职笔试题

1.B 2.B 3.B 4.B 5.C 6.D 7.不懂
9.A 10.C 11.D 12.C 13.D 14.B
15.不懂 16.D 17.D 18.D 19.B

C++部分我很有把握,考定义部分看自己的感觉

⑧ c语言试题

++ 6.0 集成开发环境。

2.掌握结构化程序设计的方法,具有良好的程序设计风格。

3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。

4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力

◆ 考试内容

一、C语言程序的结构

1.程序的构成,main函数和其他函数。

2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。

3.源程序的书写格式。

4.C语言的风格。

二、数据类型及其运算

1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。

2.C运算符的种类、运算优先级和结合性。

3.不同类型数据间的转换与运算。

4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

三、基本语句

1.表达式语句,空语句,复合语句。

2.输入输出函数的调用,正确输入数据并正确设计输出格式。

四、选择结构程序设计

1.用if语句实现选择结构。

2.用switch语句实现多分支选择结构。

3.选择结构的嵌套。

五、循环结构程序设计

1.for循环结构。

2.while和do-while循环结构。

3.continue语句和break语句。

4.循环的嵌套。

六、数组的定义和引用

1.一维数组和二维数组的定义、初始化和数组元素的引用。

2.字符串与字符数组。

七、函数

1.库函数的正确调用。

2.函数的定义方法。

3.函数的类型和返回值。

4.形式参数与实在参数,参数值传递。

5.函数的正确调用,嵌套调用,递归调用。

6.局部变量和全局变量。

7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。

八、编译预处理

1.宏定义和调用(不带参数的宏,带参数的宏)。

2.“文件包含”处理。

九、指针

1.地址与指针变量的概念,地址运算符与间址运算符。

2.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。

3.用指针作函数参数。

4.返回地址值的函数。

5.指针数组,指向指针的指针。

十、结构体(即“结构”)与共同体(即“联合”)

1.用typedef说明一个新类型。

2.结构体和共用体类型数据的定义和成员的引用。

3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。

十一、位运算

1.位运算符的含义和使用。

2.简单的位运算。

十二、文件操作

只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。

1.文件类型指针(FILE类型指针)。

2.文件的打开与关闭(fopen,fclose)。

3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。

◆ 考试方式

1.笔试:90分钟,满分100分,其中含公共基础知识部分的30分。

2.上机:90分钟,满分100分

3、上机操作包括:

(1)填空。

(2)改错。

(3)编程。
另外,虚机团上产品团购,超级便宜

⑨ 谁有c语言经典题目

设计原理:主要利用函数调用来完成
设计方案及流程:
S1:定义变量,数组
S2:调用input函数,输入10个职工的姓名和职工号,返回到主函数
S3:调用sort函数,用“起泡法”对职工号和姓名按从大到小排序返回主函数
S4:输入一个职工号,调用search函数,折半查找法找到该职工,并输出职工号和职工姓名
四、 实验步骤(包括主要步骤、代码分析等)
#include<stdio.h>
#include<string.h>
#define N 10
void main()
{
void input(int num[],char name[][8]);
void sort(int num[],char name[][8]);
void search(int n,int num[],char name[][8]);
int num[N],number,flag=1,c;
char name[N][8];
input(num,name);
sort(num,name);
while(flag==1)
{
printf("\ninput number to look for:");
scanf("%d",&number);
search(number,num,name);
printf("continue or not(Y/N)?");
getchar();
c=getchar();
if(c=='N'||c=='n')
flag=0;
}
}
void input(int num[],char name[][8])
{
int i;
for(i=0;i<N;i++)
{
printf("\ninput No.:");
scanf("%d",&num[i]);
printf("input name:");
getchar();
gets(name[i]);
}
}
void sort(int num[],char name[][8])
{
int i,j,templ;
char temp2[8];
for(j=0;j<N-1;j++)
for(i=0;i<N-1-j;i++)
if(num[i]>num[i+1])
{
templ=num[i];
strcpy(temp2,name[i]);
num[i]=num[i+1];
strcpy(name[i],name[i+1]);
num[i+1]=templ;
strcpy(name[i+1],temp2);
}
printf("\n result:\n");
for(i=0;i<N;i++)
printf("\n %5d%10s",num[i],name[i]);
}
void search(int n,int num[],char name[][8])
{
int top,bott,mid,loca,sign;
top=0;
bott=N-1;
loca=0;
sign=1;
if((n<num[0])||(n>num[N-1]))
loca=-1;
while((sign==1)&&(top<=bott))
{
mid=(bott+top)/2;
if(n==num[mid])
{
loca=mid;
printf("No.%d,his name is %s.\n",n,name[loca]);
sign=-1;
}
else if(n<num[mid])
bott=mid-1;
else top=mid+1;
}
if(sign==1||loca==-1)
printf("can not find%d.\n",n);
}
五、 结果分析与总结
结果分析:
input No.:1
input name:li
input No.:2
input name:wang
input No.:5
input name:liu
input No.:8
input name:ma
input No.:4
input name:chen
input No.:10
input name:zhou
input No.:12
input name:zhang
input No.:6
input name:xie
input No.:23
input name:yuan
input No.:34
input name:lu
result:
1 li
2 wang
4 chen
5 liu
6 xie
8 ma
10 zhou
12 zhang
23 yuan
34 lu
input number to look for:3
can not find 3.
continue or not(Y/N)?y
input number to look for:6
No.6,his name is xie.
continue or not(Y/N)?n

⑩ C语言的一些试题

1.a
a=7/2(=3)

4.c
看一下scanf的定义

5.c
"222"是字符串

6.a
没有转义

8.b
'\0'是字符串结束标志

9.b
试过了,没想通

10.d
没有理由

11.c
逻辑与

12.b
y=*&a就是y=a

13.b
++在后面

14.a
++a不影响a的地址(vc下不能编译)

15.c
先++x,x为6,(++x==y)成立,又++x为7