1、#*华为1.static 有什么用途?(请至少说明两种)1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内(但在函数体外) ,一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。3) 不存在指向空值的引用,但是存在指向空值的指针。3.描述实时系统的基本特性在特定时间内完成特定的
2、任务,实时性与可靠性。4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈。5.什么是平衡二叉树?左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于 1。6.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。7.什么函数不能声明为虚函数?constructor 函数不能声明为虚函数。8.冒泡排序算法的时间复杂度是什么?时间复杂度是 O(n2)。9.写出 float x 与“零值”比较的 if 语句。if(x0.000001p=h;for(i=0;inext = s;printf(“Please input the information
3、 of the student: name sex no age n“);scanf(“%s %c %d %d“,s-name,s-next = NULL;p = s;printf(“Create successful!“);return(h);void deletelist(struct stu *s,int a)struct stu *p;while(s-age!=a)p = s;s = s-next;if(s=NULL)printf(“The record is not exist.“);elsep-next = s-next;printf(“Delete successful!“);#
4、*void display(struct stu *s)s = s-next;while(s!=NULL)printf(“%s %c %d %dn“,s-name,s-sex,s-no,s-age);s = s-next;int main()struct stu *s;int n,age;printf(“Please input the length of seqlist:n“);scanf(“%d“,s = creatlist(n);display(s);printf(“Please input the age:n“);scanf(“%d“,deletelist(s,age);display
5、(s);return 0;2、实现一个函数,把一个字符串中的字符从小写转为大写。#include “stdio.h“#include “conio.h“void uppers(char *s,char *us)#*for(;*s!=0;s+,us+)if(*s=a /*判断正整数是否溢出*/ if (*p-0) (4294967295-(nNumber*10) return 4; nNumber = (*p-0) + (nNumber * 10); p+; /*将数字逆序组合,直接抄楼上高手的代码,莫怪,呵呵*/ n = nNumber; while(n) /*判断正整数是否溢出*/ if (
6、n%10) (4294967295-(nTemp*10) return 3; nTemp = nTemp*10 + n%10; n /= 10; #*/*比较逆序数和原序数是否相等*/ if (nNumber != nTemp) return 3; return 0; 方法二 /* - 功能: 判断字符串是否为回文数字 实现: 先得到字符串的长度,再依次比较字符串的对应位字符是否相同 输入: char *s:待判断的字符串 输出: 无 返回: 0:正确;1:待判断的字符串为空;2:待判断的字符串不为数字; 3:字符串不为回文数字 - */ unsigned IsSymmetry_2(char *s) char *p = s; int nLen = 0; int i = 0; /*判断输入是否为空*/ if (*s = 0) return 1;