一、选择题
1、
算法的复杂度主要包括算法的时间复杂度和空间复杂度,算法的时间复杂度是指__________。
A.算法程序中的指令条数 B.算法程序的长度
C.算法程序所占的存储空间 D.算法执行过程中所需要的基本运算次数
2、
C语言程序的基本单位是__________。
A.字节
B.函数 C.语句 D.字符
3、
若变量a,i已正确定义,且i己正确赋值,合法的C语言语句是__________。
A.a=int(i); B.a==0 C.++i; D.a=a++=2;
二、填空题
1、
在C语言中,文件的打开方式决定对该文件所能进行的操作权限,文件打开方式参数_____ 1 _____以只读方式打开一个文本文件,_____ 2 _____ 以写方式打开一个文本文件,_____ 3 _____ 以读/写方式打开一个文本文件,_____ 4 _____以在文件后面添加数据方式打开文本文件。
三、综合应用题
1、
输入三角形的三边a、b、c,判断a、b、c能否构成三角形,如果能够构成三角形则判断为何种类型的三角形:等腰三角形、等边三角形、直角三角形、等腰直角二角形、一般三角形。
说明:
―般三角形:两条边长之和大于第三条边长;
等腰三角形:两条边长相等;
等边三角形:三条边长相等;
直角三角形:两条边长的平方和等于第三条边长的平方。
#include
#include
main()
{
float a,b,c;
printf("请输入三角形边长");
scanf("%f%f%f",&a,&b,&c);
if( _____ 1 _____ )
printf ("不能构成三角形n");
else
if ( _____ 2 _____ )
if ((a==b)||(b==c)||(c==a))
printf("等腰直角三角形n");
else
printf ("直角三角形n");
else
if( _____ 3 _____ )
printf ("等边三角形n");
else
if ( _____ 4 _____ )
printf ("等腰三角形n");
else
printf ("一般三角形n");
}
四、写程序结果
1、
#include
main()
{
int i=0,j=1,z=2;
if((j++||z++)&&i++);
printf("%d,",i);
printf("%d,%dn",j,z);
}
运行结果是____________________。
2、
#include
main()
{
int n='b';
switch(++n)
{
default :
printf ("error");
break;
case 'a':
case 'A':
case 'b':
case 'B':
printf ("pass");
break;
case 'c':
case 'C':
printf ("good");
case 'd':
case 'D':
printf ("luck");
}
}
运行结果是____________________。
3、
#include
main()
{
int i,j;
for(i=0; i
运行结果是____________________。
4、
#include
int f(int x[],int n)
{
int i,r=1;
for(i=0;i
运行结果是____________________。
5、
#include
int *f(int *x,int *y)
{
if(*x
运行结果是____________________。
五、程序填空
1、
函数sum(n)使用递归完成表达式的运算:sum(n)=l*2+2*3+…+n*(n+l)
int sum(n)
{
if(n=l)
return _____ 1 _____;
else
return _____ 2 _____;
}
2、
函数insert(charstrl[],charstr2[],int
idx)实现在字符串str1中的第idx个字符后插入字符串str2,如下程序的输出为:abkkkcd
#include
void insert(char strl[],char str2[],int idx)
{
char *p,*q;
p=strl;
int i=0;
for(i=0; i=p)
{
*(q+1)=*q;
_____ 4 _____ ;
}
q++;
*q=*str2;
str2++;
_____ 5 _____ ;
}
}
main()
{
char a[10]="abcd";
char b[5]="kkk";
insert(a,b,2);
printf("%s",a);
}
六、改错
1、
下面函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。以下程序只允许修改两行。
#include
void fun (char s[ ])
{
int i=0,j=0;
for( ; s[i]!=''; i++)
if(s[i]>='0' & s[i]
2、
函数creatList()用于从键盘读入整数,并根据输入的顺序建立链表,当输入-1时结束键盘读取,链表创建完成,其中-1不存入链表,头节点不存储数据,在main函数中调用0 creatList()函数创建链表,随后遍历链表输出链表所保存的数据。以下程序只允许修改三行。
#incIude
struct Node
{
int data;
struct Node *next;
};
struct Node *creatList()
{
struct Node p,q,head;
int a;
head=(struct Node *) malloc(sizeof(struct Node));
p=q=head;
printf("Input an integer number,enter -1 to end:n");
scanf("%d",&a);
while(a!=-1)
{
p=(struct Node *)malloc(sizeof(struct Node));
p->data=a;
q->next=p;
q=p;
p->next=NULL;
scanf("%d",&a);
}
return head;
}
int main()
{
struct Node *head,*p;
head=creatList();
p=head->next;
while(p)
{
printf("%dn",p->data);
p->next=p;
}
return 0;
}
七、程序设计题
1、
以字符串的形式输入一个浮点数的字符串,通过程序转换成对应的浮点数,需要考虑输入数据的正负。
说明:字符“0”比数字0的ASCII值大48。
#include
#define N 12
main()
{
char src[N],ch;
int i,count=0,j;
gets(src);
int isPositive=1, isBeforeDecimaIPoint=1;
/*ispositive用于标识正负,isBeforeDecimaIPoint用于标识小数点前后*/
double result=0;
for(i=0; i='0' && ch
参考答案:
一、选择题
1—3 D、B、C
二、填空题
1、r、w、r+、a
三、综合应用题
1、(a+b
2、(a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)
3、(a==b)&&(a==c)
4、(a==b)||(b==c)||(c==a)
四、写程序结果
1、 1,2,2 2、 goodluck 3、 j=6 i=5 4、 42
5、 6,7,6
五、程序填空
1、 1*2 2、sum(n-1)+n*(n+1)
3、 q++ 4、q– 5、
六、改错
1、
L06 if(s[i]>=’0′ && s[i]
L09 j++;
2、
L01 #include
L09 struct Node *p, *q, *head;
L34 p=p->next;
七、程序设计题
1、 result=result*10+(ch-‘0’) 2、 count++
3、 temp=temp/10 4、 result+=temp*(ch-‘0’)
5、 result=-result
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 就业内推 | 阿里云专场,CCIE、RHCE认证优先,30k+16薪
01 阿里云 招聘岗位:网络工程师 职责描述: 云产品技术服务家岗位聚焦于多集群、分布式的云计算场景下,云产品问题的技术支持工作。1、为客户提供云产品的技术支持,负责疑难问题的快速定位、分析解决;2、与后端技术团队对接,根据客户反馈的问题推动云产品Bug修复、…